From 619c5c65cef9813e465521f7a549dab57b7a9bcb Mon Sep 17 00:00:00 2001 From: Jonas Plum Date: Mon, 8 Jul 2024 00:16:37 +0200 Subject: [PATCH] refactor: improve setup and maintainability (#1067) --- .github/workflows/ci.yml | 119 +- .github/workflows/goreleaser.yml | 32 + .gitignore | 113 +- .golangci.yml | 96 +- .goreleaser.yaml | 30 + CODEOWNERS | 1 - Dockerfile | 12 - Makefile | 48 +- NOTICE | 16 - README.md | 111 +- VERSION | 1 - auth.go | 108 - bootstrapcmd.go | 50 + bus/bus.go | 69 - busservice/busservice.go | 53 - busservice/docker.go | 203 - busservice/job.go | 120 - busservice/result.go | 35 - caql/blevebuilder.go | 155 - caql/blevebuilder_test.go | 60 - caql/builder.go | 322 - caql/errors.go | 8 - caql/function.go | 742 - caql/function_test.go | 392 - caql/interpreter.go | 351 - caql/operations.go | 520 - caql/parser.go | 121 - caql/rql_test.go | 362 - caql/set.go | 139 - caql/set_test.go | 97 - caql/unquote.go | 82 - caql/unquote_test.go | 126 - caql/wildcard.go | 158 - caql/wildcard_test.go | 55 - cmd.go | 78 + cmd/catalyst-dev/images.go | 6 - cmd/catalyst-dev/main.go | 79 - cmd/catalyst/main.go | 42 - cmd/cmd.go | 120 - dag/dag.go | 164 - dag/dag_test.go | 256 - database/artifact.go | 102 - database/automation.go | 100 - database/busdb/busdb.go | 195 - database/busdb/keyed.go | 25 - database/busdb/log.go | 90 - database/dashboard.go | 119 - database/db.go | 241 - database/job.go | 230 - database/migrations/automations/comment.py | 25 - database/migrations/automations/hash.sha1.py | 13 - database/migrations/automations/vt.hash.py | 22 - database/migrations/content.go | 21 - database/migrations/migrations.go | 247 - database/migrations/playbooks/phishing.yml | 85 - database/migrations/playbooks/simple.yaml | 37 - database/migrations/templates/default.json | 79 - database/playbook.go | 160 - database/playbookutils.go | 186 - database/playbookutils_test.go | 147 - database/relationships.go | 51 - database/settings.go | 35 - database/statistics.go | 91 - database/task.go | 67 - database/template.go | 89 - database/template_test.go | 211 - database/ticket.go | 624 - database/ticket_field.go | 295 - database/ticket_task.go | 225 - database/tickettype.go | 102 - database/user.go | 233 - database/userdata.go | 87 - database/userdata_test.go | 176 - definition/CAQLLexer.g4 | 160 - definition/CAQLParser.g4 | 109 - definition/artifacts.yaml | 30 - definition/automation.yaml | 160 - definition/dashboards.yaml | 167 - definition/enterprise/graph.yaml | 52 - definition/enterprise/groups.yaml | 84 - definition/enterprise/rules.yaml | 110 - definition/jobs.yaml | 144 - definition/logs.yaml | 31 - definition/playbooks.yaml | 199 - definition/settings.yaml | 89 - definition/swagger.yaml | 18 - definition/tasks.yaml | 82 - definition/templates.yaml | 104 - definition/tickets.yaml | 1117 -- definition/tickettype.yaml | 121 - definition/userdata.yaml | 94 - definition/users.yaml | 122 - dev/authelia/configuration.yml | 42 - dev/authelia/private.pem | 51 - dev/authelia/users_database.yml | 13 - dev/docker-compose.yml | 40 - dev/nginx.conf | 117 - dev/start_dev.sh | 24 - docs/screenshots/automation.png | Bin 254191 -> 0 bytes docs/screenshots/cond_custom_1.png | Bin 203852 -> 0 bytes docs/screenshots/cond_custom_2.png | Bin 202465 -> 0 bytes .../conditional_custom_field_a.png | Bin 9476 -> 0 bytes .../conditional_custom_field_b.png | Bin 8801 -> 0 bytes docs/screenshots/dashboard.png | Bin 223219 -> 349551 bytes docs/screenshots/details.png | Bin 40432 -> 0 bytes docs/screenshots/phishing_playbook.png | Bin 25747 -> 0 bytes docs/screenshots/playbooks.png | Bin 201614 -> 0 bytes docs/screenshots/playbooks_focus.png | Bin 46562 -> 0 bytes docs/screenshots/roles.png | Bin 28104 -> 0 bytes docs/screenshots/script.png | Bin 83534 -> 0 bytes docs/screenshots/tasks.png | Bin 0 -> 364487 bytes docs/screenshots/template.png | Bin 264037 -> 0 bytes docs/screenshots/ticket.png | Bin 254383 -> 355681 bytes fakedata/records.go | 224 + fakedata/text.go | 106 + file.go | 191 - flags.go | 22 + generate.sh | 39 - generated/api/api.go | 192 - generated/api/server.go | 1235 -- generated/api/static.go | 40 - generated/api/test_api.go | 650 - generated/caql/parser/caql_lexer.go | 535 - generated/caql/parser/caql_parser.go | 2746 --- .../caql/parser/caqlparser_base_listener.go | 88 - generated/caql/parser/caqlparser_listener.go | 76 - generated/catalyst.json | 7225 -------- generated/catalyst.yml | 7339 -------- generated/community.json | 6646 ------- generated/community.yml | 6927 -------- generated/model/model.go | 670 - generated/pointer/pointer.go | 19 - generated/time/time.go | 19 - go.mod | 169 +- go.sum | 2183 +-- hooks/hooks.go | 55 - index/index.go | 87 - index/index_test.go | 94 - main.go | 35 + migrations/0_base.go | 57 + migrations/1_collections.go | 165 + migrations/3_defaultdata.go | 51 + migrations/4_views.go | 70 + migrations/migrations.go | 12 + roles.go | 50 - routes.go | 62 + server.go | 131 - service/automation.go | 49 - service/dashboard.go | 53 - service/job.go | 63 - service/log.go | 14 - service/playbook.go | 49 - service/service.go | 42 - service/settings.go | 50 - service/statistics.go | 11 - service/task.go | 11 - service/template.go | 49 - service/ticket.go | 233 - service/tickettype.go | 49 - service/user.go | 82 - service/userdata.go | 70 - storage/storage.go | 80 - test/data.go | 118 - test/job_test.go | 87 - test/server_test.go | 125 - test/test.go | 227 - test/user_test.go | 73 - ui/.browserslistrc | 3 - ui/.eslintrc.cjs | 15 + ui/.eslintrc.js | 30 - ui/.prettierrc.json | 21 + ui/README.md | 44 +- ui/babel.config.js | 5 - ui/bun.lockb | Bin 0 -> 225732 bytes ui/components.json | 16 + ui/cypress.config.ts | 14 - ui/cypress/e2e/catalyst.cy.js | 152 - ui/cypress/fixtures/user_demo.json | 6 - ui/cypress/fixtures/userdata_demo.json | 5 - ui/cypress/plugins/index.js | 22 - ui/cypress/support/commands.js | 20 - ui/cypress/support/e2e.js | 34 - ui/env.d.ts | 1 + ui/index.html | 13 + ui/jest.config.js | 3 - ui/package.json | 135 +- .../img/icons/android-chrome-192x192.png | Bin 9609 -> 0 bytes .../img/icons/android-chrome-512x512.png | Bin 33814 -> 0 bytes .../icons/android-chrome-maskable-192x192.png | Bin 9609 -> 0 bytes .../icons/android-chrome-maskable-512x512.png | Bin 33814 -> 0 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 5631 -> 0 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 7497 -> 0 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 9004 -> 0 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 2473 -> 0 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 3285 -> 0 bytes ui/public/img/icons/apple-touch-icon.png | Bin 9004 -> 0 bytes ui/public/img/icons/favicon-16x16.png | Bin 601 -> 0 bytes ui/public/img/icons/favicon-32x32.png | Bin 1273 -> 0 bytes .../img/icons/msapplication-icon-144x144.png | Bin 7043 -> 0 bytes ui/public/img/icons/mstile-150x150.png | Bin 7326 -> 0 bytes ui/public/img/icons/safari-pinned-tab.svg | 130 - ui/public/index.html | 15 - ui/public/manifest.json | 76 - ui/public/silent-renew-oidc.html | 9 - ui/src/App.vue | 396 +- ui/{public => src/assets}/favicon.ico | Bin ui/{public => src/assets}/flask.svg | 0 ui/{public => src/assets}/flask_white.svg | 0 ui/src/assets/main.css | 90 + ui/src/client/.npmignore | 1 - ui/src/client/api.ts | 8722 ---------- ui/src/client/base.ts | 71 - ui/src/client/common.ts | 138 - ui/src/client/configuration.ts | 101 - ui/src/client/index.ts | 18 - .../components/AdvancedJSONSchemaEditor.vue | 196 - ui/src/components/AppLink.vue | 64 - ui/src/components/Editor.vue | 115 - ui/src/components/Icon.vue | 34 + ui/src/components/JSONHTML.vue | 20 - ui/src/components/List.vue | 153 - ui/src/components/ShortCut.vue | 15 + ui/src/components/TanView.vue | 23 + ui/src/components/TicketList.vue | 364 - ui/src/components/Timeline.vue | 139 - ui/src/components/User.vue | 63 - ui/src/components/UserDataEditor.vue | 184 - ui/src/components/VJsfCropImg.vue | 85 - ui/src/components/charts/Bar.ts | 20 - ui/src/components/charts/Doughnut.ts | 20 - ui/src/components/charts/Line.ts | 20 - ui/src/components/common/PanelListElement.vue | 22 + .../components/common/ResourceListElement.vue | 49 + ui/src/components/common/UserSelect.vue | 23 + ui/src/components/common/UserSelectList.vue | 72 + ui/src/components/dashboard/OpenTasks.vue | 55 + ui/src/components/dashboard/OpenTickets.vue | 66 + .../components/dashboard/TicketOverTime.vue | 49 + ui/src/components/dashboard/TicketTypes.vue | 38 + .../components/form/JSONSchemaFormFields.vue | 71 + ui/src/components/input/DynamicInput.vue | 90 + ui/src/components/input/DynamicMDEditor.vue | 45 + ui/src/components/input/MDEditor.vue | 100 + ui/src/components/input/MarkdownView.vue | 15 + ui/src/components/layout/SideBar.vue | 62 + ui/src/components/layout/ThreeColumn.vue | 32 + ui/src/components/layout/TwoColumn.vue | 27 + ui/src/components/playbookeditor/EditTask.vue | 273 - ui/src/components/playbookeditor/NewTask.vue | 80 - ui/src/components/playbookeditor/PanZoom.vue | 164 - .../playbookeditor/PlaybookEditor.vue | 235 - .../playbookeditor/PlaybookGraph.vue | 511 - ui/src/components/sidebar/IncidentNav.vue | 102 + ui/src/components/sidebar/NavButton.vue | 63 + ui/src/components/sidebar/NavItem.vue | 86 + ui/src/components/sidebar/NavList.vue | 32 + ui/src/components/sidebar/UserDropDown.vue | 92 + .../components/snippets/ArtifactSnippet.vue | 85 - ui/src/components/snippets/IDSnippet.vue | 60 - ui/src/components/snippets/TicketSnippet.vue | 94 - ui/src/components/ticket/StatusIcon.vue | 28 + ui/src/components/ticket/TicketActionBar.vue | 159 + ui/src/components/ticket/TicketCloseBar.vue | 66 + .../components/ticket/TicketCloseDialog.vue | 75 + .../components/ticket/TicketDeleteDialog.vue | 90 + ui/src/components/ticket/TicketDisplay.vue | 215 + ui/src/components/ticket/TicketHeader.vue | 57 + ui/src/components/ticket/TicketList.vue | 229 + ui/src/components/ticket/TicketListList.vue | 29 + ui/src/components/ticket/TicketNewDialog.vue | 156 + ui/src/components/ticket/TicketPanel.vue | 35 + ui/src/components/ticket/TicketTab.vue | 21 + ui/src/components/ticket/TicketUserSelect.vue | 68 + .../ticket/comment/TicketComment.vue | 124 + .../ticket/comment/TicketCommentInput.vue | 60 + .../ticket/comment/TicketComments.vue | 32 + .../components/ticket/file/FileAddDialog.vue | 82 + .../ticket/file/FileRemoveDialog.vue | 70 + ui/src/components/ticket/file/TicketFiles.vue | 76 + .../components/ticket/link/LinkAddDialog.vue | 113 + .../ticket/link/LinkRemoveDialog.vue | 70 + ui/src/components/ticket/link/TicketLinks.vue | 44 + .../components/ticket/task/TaskAddDialog.vue | 80 + .../ticket/task/TaskRemoveDialog.vue | 70 + ui/src/components/ticket/task/TicketTasks.vue | 114 + .../ticket/timeline/TicketTimeline.vue | 66 + .../ticket/timeline/TicketTimelineInput.vue | 79 + .../ticket/timeline/TicketTimelineItem.vue | 147 + .../components/ticket/timeline/TimeLine.vue | 52 + ui/src/components/ui/accordion/Accordion.vue | 19 + .../ui/accordion/AccordionContent.vue | 25 + .../components/ui/accordion/AccordionItem.vue | 22 + .../ui/accordion/AccordionTrigger.vue | 35 + ui/src/components/ui/accordion/index.ts | 4 + .../ui/alert-dialog/AlertDialog.vue | 19 + .../ui/alert-dialog/AlertDialogAction.vue | 22 + .../ui/alert-dialog/AlertDialogCancel.vue | 25 + .../ui/alert-dialog/AlertDialogContent.vue | 43 + .../alert-dialog/AlertDialogDescription.vue | 23 + .../ui/alert-dialog/AlertDialogFooter.vue | 15 + .../ui/alert-dialog/AlertDialogHeader.vue | 15 + .../ui/alert-dialog/AlertDialogTitle.vue | 20 + .../ui/alert-dialog/AlertDialogTrigger.vue | 11 + ui/src/components/ui/alert-dialog/index.ts | 9 + ui/src/components/ui/alert/Alert.vue | 17 + .../components/ui/alert/AlertDescription.vue | 15 + ui/src/components/ui/alert/AlertTitle.vue | 15 + ui/src/components/ui/alert/index.ts | 23 + ui/src/components/ui/avatar/Avatar.vue | 25 + .../components/ui/avatar/AvatarFallback.vue | 11 + ui/src/components/ui/avatar/AvatarImage.vue | 9 + ui/src/components/ui/avatar/index.ts | 24 + ui/src/components/ui/badge/Badge.vue | 17 + ui/src/components/ui/badge/index.ts | 24 + ui/src/components/ui/button/Button.vue | 27 + ui/src/components/ui/button/index.ts | 31 + ui/src/components/ui/calendar/Calendar.vue | 69 + .../components/ui/calendar/CalendarCell.vue | 30 + .../ui/calendar/CalendarCellTrigger.vue | 42 + .../components/ui/calendar/CalendarGrid.vue | 25 + .../ui/calendar/CalendarGridBody.vue | 11 + .../ui/calendar/CalendarGridHead.vue | 11 + .../ui/calendar/CalendarGridRow.vue | 22 + .../ui/calendar/CalendarHeadCell.vue | 25 + .../components/ui/calendar/CalendarHeader.vue | 25 + .../ui/calendar/CalendarHeading.vue | 28 + .../ui/calendar/CalendarNextButton.vue | 37 + .../ui/calendar/CalendarPrevButton.vue | 37 + ui/src/components/ui/calendar/index.ts | 12 + ui/src/components/ui/card/Card.vue | 15 + ui/src/components/ui/card/CardContent.vue | 15 + ui/src/components/ui/card/CardDescription.vue | 15 + ui/src/components/ui/card/CardFooter.vue | 15 + ui/src/components/ui/card/CardHeader.vue | 15 + ui/src/components/ui/card/CardTitle.vue | 15 + ui/src/components/ui/card/index.ts | 6 + .../components/ui/chart-donut/DonutChart.vue | 121 + ui/src/components/ui/chart-donut/index.ts | 39 + ui/src/components/ui/chart-line/LineChart.vue | 128 + ui/src/components/ui/chart-line/index.ts | 66 + ui/src/components/ui/chart/ChartCrosshair.vue | 48 + ui/src/components/ui/chart/ChartLegend.vue | 55 + .../ui/chart/ChartSingleTooltip.vue | 66 + ui/src/components/ui/chart/ChartTooltip.vue | 40 + ui/src/components/ui/chart/index.ts | 22 + ui/src/components/ui/chart/interface.ts | 64 + ui/src/components/ui/checkbox/Checkbox.vue | 38 + ui/src/components/ui/checkbox/index.ts | 1 + .../components/ui/collapsible/Collapsible.vue | 15 + .../ui/collapsible/CollapsibleContent.vue | 14 + .../ui/collapsible/CollapsibleTrigger.vue | 11 + ui/src/components/ui/collapsible/index.ts | 3 + ui/src/components/ui/command/Command.vue | 36 + .../components/ui/command/CommandDialog.vue | 24 + ui/src/components/ui/command/CommandEmpty.vue | 21 + ui/src/components/ui/command/CommandGroup.vue | 37 + ui/src/components/ui/command/CommandInput.vue | 42 + ui/src/components/ui/command/CommandItem.vue | 32 + ui/src/components/ui/command/CommandList.vue | 34 + .../ui/command/CommandSeparator.vue | 21 + .../components/ui/command/CommandShortcut.vue | 15 + ui/src/components/ui/command/index.ts | 9 + ui/src/components/ui/dialog/Dialog.vue | 19 + ui/src/components/ui/dialog/DialogClose.vue | 11 + ui/src/components/ui/dialog/DialogContent.vue | 53 + .../ui/dialog/DialogDescription.vue | 25 + ui/src/components/ui/dialog/DialogFooter.vue | 13 + ui/src/components/ui/dialog/DialogHeader.vue | 15 + .../ui/dialog/DialogScrollContent.vue | 66 + ui/src/components/ui/dialog/DialogTitle.vue | 25 + ui/src/components/ui/dialog/DialogTrigger.vue | 11 + ui/src/components/ui/dialog/index.ts | 9 + .../ui/dropdown-menu/DropdownMenu.vue | 19 + .../DropdownMenuCheckboxItem.vue | 44 + .../ui/dropdown-menu/DropdownMenuContent.vue | 44 + .../ui/dropdown-menu/DropdownMenuGroup.vue | 11 + .../ui/dropdown-menu/DropdownMenuItem.vue | 33 + .../ui/dropdown-menu/DropdownMenuLabel.vue | 27 + .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 + .../dropdown-menu/DropdownMenuRadioItem.vue | 45 + .../dropdown-menu/DropdownMenuSeparator.vue | 25 + .../ui/dropdown-menu/DropdownMenuShortcut.vue | 15 + .../ui/dropdown-menu/DropdownMenuSub.vue | 19 + .../dropdown-menu/DropdownMenuSubContent.vue | 36 + .../dropdown-menu/DropdownMenuSubTrigger.vue | 37 + .../ui/dropdown-menu/DropdownMenuTrigger.vue | 13 + ui/src/components/ui/dropdown-menu/index.ts | 16 + ui/src/components/ui/form/FormControl.vue | 16 + ui/src/components/ui/form/FormDescription.vue | 18 + ui/src/components/ui/form/FormItem.vue | 24 + ui/src/components/ui/form/FormLabel.vue | 19 + ui/src/components/ui/form/FormMessage.vue | 16 + ui/src/components/ui/form/index.ts | 6 + ui/src/components/ui/form/useFormField.ts | 35 + ui/src/components/ui/input/Input.vue | 33 + ui/src/components/ui/input/index.ts | 1 + ui/src/components/ui/label/Label.vue | 28 + ui/src/components/ui/label/index.ts | 1 + .../ui/pagination/PaginationEllipsis.vue | 27 + .../ui/pagination/PaginationFirst.vue | 33 + .../ui/pagination/PaginationLast.vue | 33 + .../ui/pagination/PaginationNext.vue | 33 + .../ui/pagination/PaginationPrev.vue | 33 + ui/src/components/ui/pagination/index.ts | 6 + ui/src/components/ui/popover/Popover.vue | 15 + .../components/ui/popover/PopoverContent.vue | 49 + .../components/ui/popover/PopoverTrigger.vue | 11 + ui/src/components/ui/popover/index.ts | 3 + .../ui/resizable/ResizableHandle.vue | 43 + .../ui/resizable/ResizablePanelGroup.vue | 30 + ui/src/components/ui/resizable/index.ts | 3 + .../components/ui/scroll-area/ScrollArea.vue | 30 + .../components/ui/scroll-area/ScrollBar.vue | 35 + ui/src/components/ui/scroll-area/index.ts | 2 + ui/src/components/ui/select/Select.vue | 15 + ui/src/components/ui/select/SelectContent.vue | 64 + ui/src/components/ui/select/SelectGroup.vue | 20 + ui/src/components/ui/select/SelectItem.vue | 46 + .../components/ui/select/SelectItemText.vue | 11 + ui/src/components/ui/select/SelectLabel.vue | 14 + .../ui/select/SelectScrollDownButton.vue | 33 + .../ui/select/SelectScrollUpButton.vue | 29 + .../components/ui/select/SelectSeparator.vue | 18 + ui/src/components/ui/select/SelectTrigger.vue | 35 + ui/src/components/ui/select/SelectValue.vue | 11 + ui/src/components/ui/select/index.ts | 11 + ui/src/components/ui/separator/Separator.vue | 27 + ui/src/components/ui/separator/index.ts | 1 + ui/src/components/ui/sheet/Sheet.vue | 19 + ui/src/components/ui/sheet/SheetClose.vue | 11 + ui/src/components/ui/sheet/SheetContent.vue | 58 + .../components/ui/sheet/SheetDescription.vue | 23 + ui/src/components/ui/sheet/SheetFooter.vue | 13 + ui/src/components/ui/sheet/SheetHeader.vue | 13 + ui/src/components/ui/sheet/SheetTitle.vue | 23 + ui/src/components/ui/sheet/SheetTrigger.vue | 11 + ui/src/components/ui/sheet/index.ts | 31 + ui/src/components/ui/switch/Switch.vue | 44 + ui/src/components/ui/switch/index.ts | 1 + ui/src/components/ui/table/Table.vue | 17 + ui/src/components/ui/table/TableBody.vue | 15 + ui/src/components/ui/table/TableCaption.vue | 15 + ui/src/components/ui/table/TableCell.vue | 15 + ui/src/components/ui/table/TableEmpty.vue | 36 + ui/src/components/ui/table/TableFooter.vue | 15 + ui/src/components/ui/table/TableHead.vue | 22 + ui/src/components/ui/table/TableHeader.vue | 15 + ui/src/components/ui/table/TableRow.vue | 19 + ui/src/components/ui/table/index.ts | 8 + ui/src/components/ui/tabs/Tabs.vue | 15 + ui/src/components/ui/tabs/TabsContent.vue | 28 + ui/src/components/ui/tabs/TabsList.vue | 28 + ui/src/components/ui/tabs/TabsTrigger.vue | 30 + ui/src/components/ui/tabs/index.ts | 4 + ui/src/components/ui/textarea/Textarea.vue | 33 + ui/src/components/ui/textarea/index.ts | 1 + ui/src/components/ui/toast/Toast.vue | 29 + ui/src/components/ui/toast/ToastAction.vue | 28 + ui/src/components/ui/toast/ToastClose.vue | 34 + .../components/ui/toast/ToastDescription.vue | 20 + ui/src/components/ui/toast/ToastProvider.vue | 11 + ui/src/components/ui/toast/ToastTitle.vue | 20 + ui/src/components/ui/toast/ToastViewport.vue | 26 + ui/src/components/ui/toast/Toaster.vue | 30 + ui/src/components/ui/toast/index.ts | 37 + ui/src/components/ui/toast/use-toast.ts | 157 + ui/src/components/ui/tooltip/Tooltip.vue | 19 + .../components/ui/tooltip/TooltipContent.vue | 49 + .../components/ui/tooltip/TooltipProvider.vue | 11 + .../components/ui/tooltip/TooltipTrigger.vue | 11 + ui/src/components/ui/tooltip/index.ts | 4 + ui/src/components/ui/v-calendar/Calendar.vue | 361 + ui/src/components/ui/v-calendar/index.ts | 23 + ui/src/lib/pocketbase.ts | 5 + ui/src/lib/types.ts | 132 + ui/src/lib/utils.ts | 14 + ui/src/main.ts | 104 +- ui/src/plugins/vuetify.ts | 74 - ui/src/registerServiceWorker.ts | 34 - ui/src/router/index.ts | 308 +- ui/src/sass/variables.scss.bak | 29 - ui/src/services/api.ts | 80 - ui/src/shims-tsx.d.ts | 13 - ui/src/shims-vue.d.ts | 23 - ui/src/store/catalyst.ts | 18 + ui/src/store/index.ts | 109 - ui/src/store/modules/socket.ts | 64 - ui/src/store/modules/templates.ts | 75 - ui/src/suggestions/grammar/CAQLLexer.interp | 282 - ui/src/suggestions/grammar/CAQLLexer.js | 395 - ui/src/suggestions/grammar/CAQLLexer.tokens | 103 - ui/src/suggestions/grammar/CAQLParser.interp | 178 - ui/src/suggestions/grammar/CAQLParser.js | 1801 -- ui/src/suggestions/grammar/CAQLParser.tokens | 103 - .../suggestions/grammar/CAQLParserListener.js | 108 - ui/src/suggestions/grammar/RQLLexer.interp | 282 - ui/src/suggestions/grammar/RQLLexer.js | 607 - ui/src/suggestions/grammar/RQLLexer.tokens | 103 - ui/src/suggestions/grammar/RQLParser.interp | 178 - ui/src/suggestions/grammar/RQLParser.js | 1866 -- ui/src/suggestions/grammar/RQLParser.tokens | 103 - .../suggestions/grammar/RQLParserListener.js | 108 - ui/src/suggestions/suggestions.ts | 46 - ui/src/types/types.ts | 17 - ui/src/views/API.vue | 48 - ui/src/views/ArtifactPopup.vue | 325 - ui/src/views/Automation.vue | 138 - ui/src/views/AutomationList.vue | 64 - ui/src/views/Dashboard.vue | 254 - ui/src/views/DashboardList.vue | 64 - ui/src/views/DashboardView.vue | 141 + ui/src/views/Graph.vue | 217 - ui/src/views/Group.vue | 13 - ui/src/views/GroupList.vue | 62 - ui/src/views/Home.vue | 219 - ui/src/views/Job.vue | 186 - ui/src/views/JobList.vue | 108 - ui/src/views/LoginView.vue | 70 + ui/src/views/NotFound.vue | 13 - ui/src/views/Playbook.vue | 293 - ui/src/views/PlaybookList.vue | 66 - ui/src/views/Profile.vue | 53 - ui/src/views/Rule.vue | 89 - ui/src/views/RuleList.vue | 63 - ui/src/views/Settings.vue | 177 - ui/src/views/TaskList.vue | 85 - ui/src/views/Template.vue | 94 - ui/src/views/TemplateList.vue | 50 - ui/src/views/Ticket.vue | 1656 -- ui/src/views/TicketList.vue | 77 - ui/src/views/TicketNew.vue | 168 - ui/src/views/TicketType.vue | 126 - ui/src/views/TicketTypeList.vue | 64 - ui/src/views/TicketView.vue | 62 + ui/src/views/User.vue | 138 - ui/src/views/UserData.vue | 44 - ui/src/views/UserDataList.vue | 60 - ui/src/views/UserList.vue | 66 - ui/src/views/embed/Arango.vue | 21 - ui/src/views/embed/Minio.vue | 21 - ui/src/views/embed/Nodered.vue | 21 - ui/tailwind.config.js | 94 + ui/tsconfig.app.json | 14 + ui/tsconfig.json | 50 +- ui/tsconfig.node.json | 19 + ui/ui.go | 6 - ui/ui_test.go | 29 - ui/vite.config.ts | 25 + ui/vue.config.js | 30 - ui/yarn.lock | 14533 ---------------- version.go | 13 - webhooks.go | 142 + websocket.go | 82 - 553 files changed, 11271 insertions(+), 91670 deletions(-) create mode 100644 .github/workflows/goreleaser.yml create mode 100644 .goreleaser.yaml delete mode 100644 CODEOWNERS delete mode 100644 Dockerfile delete mode 100644 NOTICE delete mode 100644 VERSION delete mode 100644 auth.go create mode 100644 bootstrapcmd.go delete mode 100644 bus/bus.go delete mode 100644 busservice/busservice.go delete mode 100644 busservice/docker.go delete mode 100644 busservice/job.go delete mode 100644 busservice/result.go delete mode 100644 caql/blevebuilder.go delete mode 100644 caql/blevebuilder_test.go delete mode 100644 caql/builder.go delete mode 100644 caql/errors.go delete mode 100644 caql/function.go delete mode 100644 caql/function_test.go delete mode 100644 caql/interpreter.go delete mode 100644 caql/operations.go delete mode 100644 caql/parser.go delete mode 100644 caql/rql_test.go delete mode 100644 caql/set.go delete mode 100644 caql/set_test.go delete mode 100644 caql/unquote.go delete mode 100644 caql/unquote_test.go delete mode 100644 caql/wildcard.go delete mode 100644 caql/wildcard_test.go create mode 100644 cmd.go delete mode 100644 cmd/catalyst-dev/images.go delete mode 100644 cmd/catalyst-dev/main.go delete mode 100644 cmd/catalyst/main.go delete mode 100644 cmd/cmd.go delete mode 100644 dag/dag.go delete mode 100644 dag/dag_test.go delete mode 100644 database/artifact.go delete mode 100644 database/automation.go delete mode 100644 database/busdb/busdb.go delete mode 100644 database/busdb/keyed.go delete mode 100644 database/busdb/log.go delete mode 100644 database/dashboard.go delete mode 100644 database/db.go delete mode 100644 database/job.go delete mode 100644 database/migrations/automations/comment.py delete mode 100755 database/migrations/automations/hash.sha1.py delete mode 100644 database/migrations/automations/vt.hash.py delete mode 100644 database/migrations/content.go delete mode 100644 database/migrations/migrations.go delete mode 100644 database/migrations/playbooks/phishing.yml delete mode 100644 database/migrations/playbooks/simple.yaml delete mode 100644 database/migrations/templates/default.json delete mode 100644 database/playbook.go delete mode 100644 database/playbookutils.go delete mode 100644 database/playbookutils_test.go delete mode 100644 database/relationships.go delete mode 100644 database/settings.go delete mode 100644 database/statistics.go delete mode 100644 database/task.go delete mode 100644 database/template.go delete mode 100644 database/template_test.go delete mode 100644 database/ticket.go delete mode 100644 database/ticket_field.go delete mode 100644 database/ticket_task.go delete mode 100644 database/tickettype.go delete mode 100644 database/user.go delete mode 100644 database/userdata.go delete mode 100644 database/userdata_test.go delete mode 100644 definition/CAQLLexer.g4 delete mode 100644 definition/CAQLParser.g4 delete mode 100644 definition/artifacts.yaml delete mode 100644 definition/automation.yaml delete mode 100644 definition/dashboards.yaml delete mode 100644 definition/enterprise/graph.yaml delete mode 100644 definition/enterprise/groups.yaml delete mode 100644 definition/enterprise/rules.yaml delete mode 100644 definition/jobs.yaml delete mode 100644 definition/logs.yaml delete mode 100644 definition/playbooks.yaml delete mode 100644 definition/settings.yaml delete mode 100644 definition/swagger.yaml delete mode 100644 definition/tasks.yaml delete mode 100644 definition/templates.yaml delete mode 100644 definition/tickets.yaml delete mode 100644 definition/tickettype.yaml delete mode 100644 definition/userdata.yaml delete mode 100644 definition/users.yaml delete mode 100644 dev/authelia/configuration.yml delete mode 100644 dev/authelia/private.pem delete mode 100644 dev/authelia/users_database.yml delete mode 100644 dev/docker-compose.yml delete mode 100644 dev/nginx.conf delete mode 100755 dev/start_dev.sh delete mode 100644 docs/screenshots/automation.png delete mode 100644 docs/screenshots/cond_custom_1.png delete mode 100644 docs/screenshots/cond_custom_2.png delete mode 100644 docs/screenshots/conditional_custom_field_a.png delete mode 100644 docs/screenshots/conditional_custom_field_b.png delete mode 100644 docs/screenshots/details.png delete mode 100644 docs/screenshots/phishing_playbook.png delete mode 100644 docs/screenshots/playbooks.png delete mode 100644 docs/screenshots/playbooks_focus.png delete mode 100644 docs/screenshots/roles.png delete mode 100644 docs/screenshots/script.png create mode 100644 docs/screenshots/tasks.png delete mode 100644 docs/screenshots/template.png create mode 100644 fakedata/records.go create mode 100644 fakedata/text.go delete mode 100644 file.go create mode 100644 flags.go delete mode 100644 generate.sh delete mode 100755 generated/api/api.go delete mode 100755 generated/api/server.go delete mode 100755 generated/api/static.go delete mode 100755 generated/api/test_api.go delete mode 100644 generated/caql/parser/caql_lexer.go delete mode 100644 generated/caql/parser/caql_parser.go delete mode 100644 generated/caql/parser/caqlparser_base_listener.go delete mode 100644 generated/caql/parser/caqlparser_listener.go delete mode 100644 generated/catalyst.json delete mode 100644 generated/catalyst.yml delete mode 100644 generated/community.json delete mode 100644 generated/community.yml delete mode 100755 generated/model/model.go delete mode 100755 generated/pointer/pointer.go delete mode 100755 generated/time/time.go delete mode 100644 hooks/hooks.go delete mode 100644 index/index.go delete mode 100644 index/index_test.go create mode 100644 main.go create mode 100644 migrations/0_base.go create mode 100644 migrations/1_collections.go create mode 100644 migrations/3_defaultdata.go create mode 100644 migrations/4_views.go create mode 100644 migrations/migrations.go delete mode 100644 roles.go create mode 100644 routes.go delete mode 100644 server.go delete mode 100644 service/automation.go delete mode 100644 service/dashboard.go delete mode 100644 service/job.go delete mode 100644 service/log.go delete mode 100644 service/playbook.go delete mode 100644 service/service.go delete mode 100644 service/settings.go delete mode 100644 service/statistics.go delete mode 100644 service/task.go delete mode 100644 service/template.go delete mode 100644 service/ticket.go delete mode 100644 service/tickettype.go delete mode 100644 service/user.go delete mode 100644 service/userdata.go delete mode 100644 storage/storage.go delete mode 100644 test/data.go delete mode 100644 test/job_test.go delete mode 100644 test/server_test.go delete mode 100644 test/test.go delete mode 100644 test/user_test.go delete mode 100644 ui/.browserslistrc create mode 100644 ui/.eslintrc.cjs delete mode 100644 ui/.eslintrc.js create mode 100644 ui/.prettierrc.json delete mode 100644 ui/babel.config.js create mode 100755 ui/bun.lockb create mode 100644 ui/components.json delete mode 100644 ui/cypress.config.ts delete mode 100644 ui/cypress/e2e/catalyst.cy.js delete mode 100644 ui/cypress/fixtures/user_demo.json delete mode 100644 ui/cypress/fixtures/userdata_demo.json delete mode 100644 ui/cypress/plugins/index.js delete mode 100644 ui/cypress/support/commands.js delete mode 100644 ui/cypress/support/e2e.js create mode 100644 ui/env.d.ts create mode 100644 ui/index.html delete mode 100644 ui/jest.config.js delete mode 100644 ui/public/img/icons/android-chrome-192x192.png delete mode 100644 ui/public/img/icons/android-chrome-512x512.png delete mode 100644 ui/public/img/icons/android-chrome-maskable-192x192.png delete mode 100644 ui/public/img/icons/android-chrome-maskable-512x512.png delete mode 100644 ui/public/img/icons/apple-touch-icon-120x120.png delete mode 100644 ui/public/img/icons/apple-touch-icon-152x152.png delete mode 100644 ui/public/img/icons/apple-touch-icon-180x180.png delete mode 100644 ui/public/img/icons/apple-touch-icon-60x60.png delete mode 100644 ui/public/img/icons/apple-touch-icon-76x76.png delete mode 100644 ui/public/img/icons/apple-touch-icon.png delete mode 100644 ui/public/img/icons/favicon-16x16.png delete mode 100644 ui/public/img/icons/favicon-32x32.png delete mode 100644 ui/public/img/icons/msapplication-icon-144x144.png delete mode 100644 ui/public/img/icons/mstile-150x150.png delete mode 100644 ui/public/img/icons/safari-pinned-tab.svg delete mode 100644 ui/public/index.html delete mode 100644 ui/public/manifest.json delete mode 100644 ui/public/silent-renew-oidc.html rename ui/{public => src/assets}/favicon.ico (100%) rename ui/{public => src/assets}/flask.svg (100%) rename ui/{public => src/assets}/flask_white.svg (100%) create mode 100644 ui/src/assets/main.css delete mode 100644 ui/src/client/.npmignore delete mode 100644 ui/src/client/api.ts delete mode 100644 ui/src/client/base.ts delete mode 100644 ui/src/client/common.ts delete mode 100644 ui/src/client/configuration.ts delete mode 100644 ui/src/client/index.ts delete mode 100644 ui/src/components/AdvancedJSONSchemaEditor.vue delete mode 100644 ui/src/components/AppLink.vue delete mode 100644 ui/src/components/Editor.vue create mode 100644 ui/src/components/Icon.vue delete mode 100644 ui/src/components/JSONHTML.vue delete mode 100644 ui/src/components/List.vue create mode 100644 ui/src/components/ShortCut.vue create mode 100644 ui/src/components/TanView.vue delete mode 100644 ui/src/components/TicketList.vue delete mode 100644 ui/src/components/Timeline.vue delete mode 100644 ui/src/components/User.vue delete mode 100644 ui/src/components/UserDataEditor.vue delete mode 100644 ui/src/components/VJsfCropImg.vue delete mode 100644 ui/src/components/charts/Bar.ts delete mode 100644 ui/src/components/charts/Doughnut.ts delete mode 100644 ui/src/components/charts/Line.ts create mode 100644 ui/src/components/common/PanelListElement.vue create mode 100644 ui/src/components/common/ResourceListElement.vue create mode 100644 ui/src/components/common/UserSelect.vue create mode 100644 ui/src/components/common/UserSelectList.vue create mode 100644 ui/src/components/dashboard/OpenTasks.vue create mode 100644 ui/src/components/dashboard/OpenTickets.vue create mode 100644 ui/src/components/dashboard/TicketOverTime.vue create mode 100644 ui/src/components/dashboard/TicketTypes.vue create mode 100644 ui/src/components/form/JSONSchemaFormFields.vue create mode 100644 ui/src/components/input/DynamicInput.vue create mode 100644 ui/src/components/input/DynamicMDEditor.vue create mode 100644 ui/src/components/input/MDEditor.vue create mode 100644 ui/src/components/input/MarkdownView.vue create mode 100644 ui/src/components/layout/SideBar.vue create mode 100644 ui/src/components/layout/ThreeColumn.vue create mode 100644 ui/src/components/layout/TwoColumn.vue delete mode 100644 ui/src/components/playbookeditor/EditTask.vue delete mode 100644 ui/src/components/playbookeditor/NewTask.vue delete mode 100644 ui/src/components/playbookeditor/PanZoom.vue delete mode 100644 ui/src/components/playbookeditor/PlaybookEditor.vue delete mode 100644 ui/src/components/playbookeditor/PlaybookGraph.vue create mode 100644 ui/src/components/sidebar/IncidentNav.vue create mode 100644 ui/src/components/sidebar/NavButton.vue create mode 100644 ui/src/components/sidebar/NavItem.vue create mode 100644 ui/src/components/sidebar/NavList.vue create mode 100644 ui/src/components/sidebar/UserDropDown.vue delete mode 100644 ui/src/components/snippets/ArtifactSnippet.vue delete mode 100644 ui/src/components/snippets/IDSnippet.vue delete mode 100644 ui/src/components/snippets/TicketSnippet.vue create mode 100644 ui/src/components/ticket/StatusIcon.vue create mode 100644 ui/src/components/ticket/TicketActionBar.vue create mode 100644 ui/src/components/ticket/TicketCloseBar.vue create mode 100644 ui/src/components/ticket/TicketCloseDialog.vue create mode 100644 ui/src/components/ticket/TicketDeleteDialog.vue create mode 100644 ui/src/components/ticket/TicketDisplay.vue create mode 100644 ui/src/components/ticket/TicketHeader.vue create mode 100644 ui/src/components/ticket/TicketList.vue create mode 100644 ui/src/components/ticket/TicketListList.vue create mode 100644 ui/src/components/ticket/TicketNewDialog.vue create mode 100644 ui/src/components/ticket/TicketPanel.vue create mode 100644 ui/src/components/ticket/TicketTab.vue create mode 100644 ui/src/components/ticket/TicketUserSelect.vue create mode 100644 ui/src/components/ticket/comment/TicketComment.vue create mode 100644 ui/src/components/ticket/comment/TicketCommentInput.vue create mode 100644 ui/src/components/ticket/comment/TicketComments.vue create mode 100644 ui/src/components/ticket/file/FileAddDialog.vue create mode 100644 ui/src/components/ticket/file/FileRemoveDialog.vue create mode 100644 ui/src/components/ticket/file/TicketFiles.vue create mode 100644 ui/src/components/ticket/link/LinkAddDialog.vue create mode 100644 ui/src/components/ticket/link/LinkRemoveDialog.vue create mode 100644 ui/src/components/ticket/link/TicketLinks.vue create mode 100644 ui/src/components/ticket/task/TaskAddDialog.vue create mode 100644 ui/src/components/ticket/task/TaskRemoveDialog.vue create mode 100644 ui/src/components/ticket/task/TicketTasks.vue create mode 100644 ui/src/components/ticket/timeline/TicketTimeline.vue create mode 100644 ui/src/components/ticket/timeline/TicketTimelineInput.vue create mode 100644 ui/src/components/ticket/timeline/TicketTimelineItem.vue create mode 100644 ui/src/components/ticket/timeline/TimeLine.vue create mode 100644 ui/src/components/ui/accordion/Accordion.vue create mode 100644 ui/src/components/ui/accordion/AccordionContent.vue create mode 100644 ui/src/components/ui/accordion/AccordionItem.vue create mode 100644 ui/src/components/ui/accordion/AccordionTrigger.vue create mode 100644 ui/src/components/ui/accordion/index.ts create mode 100644 ui/src/components/ui/alert-dialog/AlertDialog.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogAction.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogCancel.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogContent.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogDescription.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogFooter.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogHeader.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogTitle.vue create mode 100644 ui/src/components/ui/alert-dialog/AlertDialogTrigger.vue create mode 100644 ui/src/components/ui/alert-dialog/index.ts create mode 100644 ui/src/components/ui/alert/Alert.vue create mode 100644 ui/src/components/ui/alert/AlertDescription.vue create mode 100644 ui/src/components/ui/alert/AlertTitle.vue create mode 100644 ui/src/components/ui/alert/index.ts create mode 100644 ui/src/components/ui/avatar/Avatar.vue create mode 100644 ui/src/components/ui/avatar/AvatarFallback.vue create mode 100644 ui/src/components/ui/avatar/AvatarImage.vue create mode 100644 ui/src/components/ui/avatar/index.ts create mode 100644 ui/src/components/ui/badge/Badge.vue create mode 100644 ui/src/components/ui/badge/index.ts create mode 100644 ui/src/components/ui/button/Button.vue create mode 100644 ui/src/components/ui/button/index.ts create mode 100644 ui/src/components/ui/calendar/Calendar.vue create mode 100644 ui/src/components/ui/calendar/CalendarCell.vue create mode 100644 ui/src/components/ui/calendar/CalendarCellTrigger.vue create mode 100644 ui/src/components/ui/calendar/CalendarGrid.vue create mode 100644 ui/src/components/ui/calendar/CalendarGridBody.vue create mode 100644 ui/src/components/ui/calendar/CalendarGridHead.vue create mode 100644 ui/src/components/ui/calendar/CalendarGridRow.vue create mode 100644 ui/src/components/ui/calendar/CalendarHeadCell.vue create mode 100644 ui/src/components/ui/calendar/CalendarHeader.vue create mode 100644 ui/src/components/ui/calendar/CalendarHeading.vue create mode 100644 ui/src/components/ui/calendar/CalendarNextButton.vue create mode 100644 ui/src/components/ui/calendar/CalendarPrevButton.vue create mode 100644 ui/src/components/ui/calendar/index.ts create mode 100644 ui/src/components/ui/card/Card.vue create mode 100644 ui/src/components/ui/card/CardContent.vue create mode 100644 ui/src/components/ui/card/CardDescription.vue create mode 100644 ui/src/components/ui/card/CardFooter.vue create mode 100644 ui/src/components/ui/card/CardHeader.vue create mode 100644 ui/src/components/ui/card/CardTitle.vue create mode 100644 ui/src/components/ui/card/index.ts create mode 100644 ui/src/components/ui/chart-donut/DonutChart.vue create mode 100644 ui/src/components/ui/chart-donut/index.ts create mode 100644 ui/src/components/ui/chart-line/LineChart.vue create mode 100644 ui/src/components/ui/chart-line/index.ts create mode 100644 ui/src/components/ui/chart/ChartCrosshair.vue create mode 100644 ui/src/components/ui/chart/ChartLegend.vue create mode 100644 ui/src/components/ui/chart/ChartSingleTooltip.vue create mode 100644 ui/src/components/ui/chart/ChartTooltip.vue create mode 100644 ui/src/components/ui/chart/index.ts create mode 100644 ui/src/components/ui/chart/interface.ts create mode 100644 ui/src/components/ui/checkbox/Checkbox.vue create mode 100644 ui/src/components/ui/checkbox/index.ts create mode 100644 ui/src/components/ui/collapsible/Collapsible.vue create mode 100644 ui/src/components/ui/collapsible/CollapsibleContent.vue create mode 100644 ui/src/components/ui/collapsible/CollapsibleTrigger.vue create mode 100644 ui/src/components/ui/collapsible/index.ts create mode 100644 ui/src/components/ui/command/Command.vue create mode 100644 ui/src/components/ui/command/CommandDialog.vue create mode 100644 ui/src/components/ui/command/CommandEmpty.vue create mode 100644 ui/src/components/ui/command/CommandGroup.vue create mode 100644 ui/src/components/ui/command/CommandInput.vue create mode 100644 ui/src/components/ui/command/CommandItem.vue create mode 100644 ui/src/components/ui/command/CommandList.vue create mode 100644 ui/src/components/ui/command/CommandSeparator.vue create mode 100644 ui/src/components/ui/command/CommandShortcut.vue create mode 100644 ui/src/components/ui/command/index.ts create mode 100644 ui/src/components/ui/dialog/Dialog.vue create mode 100644 ui/src/components/ui/dialog/DialogClose.vue create mode 100644 ui/src/components/ui/dialog/DialogContent.vue create mode 100644 ui/src/components/ui/dialog/DialogDescription.vue create mode 100644 ui/src/components/ui/dialog/DialogFooter.vue create mode 100644 ui/src/components/ui/dialog/DialogHeader.vue create mode 100644 ui/src/components/ui/dialog/DialogScrollContent.vue create mode 100644 ui/src/components/ui/dialog/DialogTitle.vue create mode 100644 ui/src/components/ui/dialog/DialogTrigger.vue create mode 100644 ui/src/components/ui/dialog/index.ts create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenu.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 ui/src/components/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 ui/src/components/ui/dropdown-menu/index.ts create mode 100644 ui/src/components/ui/form/FormControl.vue create mode 100644 ui/src/components/ui/form/FormDescription.vue create mode 100644 ui/src/components/ui/form/FormItem.vue create mode 100644 ui/src/components/ui/form/FormLabel.vue create mode 100644 ui/src/components/ui/form/FormMessage.vue create mode 100644 ui/src/components/ui/form/index.ts create mode 100644 ui/src/components/ui/form/useFormField.ts create mode 100644 ui/src/components/ui/input/Input.vue create mode 100644 ui/src/components/ui/input/index.ts create mode 100644 ui/src/components/ui/label/Label.vue create mode 100644 ui/src/components/ui/label/index.ts create mode 100644 ui/src/components/ui/pagination/PaginationEllipsis.vue create mode 100644 ui/src/components/ui/pagination/PaginationFirst.vue create mode 100644 ui/src/components/ui/pagination/PaginationLast.vue create mode 100644 ui/src/components/ui/pagination/PaginationNext.vue create mode 100644 ui/src/components/ui/pagination/PaginationPrev.vue create mode 100644 ui/src/components/ui/pagination/index.ts create mode 100644 ui/src/components/ui/popover/Popover.vue create mode 100644 ui/src/components/ui/popover/PopoverContent.vue create mode 100644 ui/src/components/ui/popover/PopoverTrigger.vue create mode 100644 ui/src/components/ui/popover/index.ts create mode 100644 ui/src/components/ui/resizable/ResizableHandle.vue create mode 100644 ui/src/components/ui/resizable/ResizablePanelGroup.vue create mode 100644 ui/src/components/ui/resizable/index.ts create mode 100644 ui/src/components/ui/scroll-area/ScrollArea.vue create mode 100644 ui/src/components/ui/scroll-area/ScrollBar.vue create mode 100644 ui/src/components/ui/scroll-area/index.ts create mode 100644 ui/src/components/ui/select/Select.vue create mode 100644 ui/src/components/ui/select/SelectContent.vue create mode 100644 ui/src/components/ui/select/SelectGroup.vue create mode 100644 ui/src/components/ui/select/SelectItem.vue create mode 100644 ui/src/components/ui/select/SelectItemText.vue create mode 100644 ui/src/components/ui/select/SelectLabel.vue create mode 100644 ui/src/components/ui/select/SelectScrollDownButton.vue create mode 100644 ui/src/components/ui/select/SelectScrollUpButton.vue create mode 100644 ui/src/components/ui/select/SelectSeparator.vue create mode 100644 ui/src/components/ui/select/SelectTrigger.vue create mode 100644 ui/src/components/ui/select/SelectValue.vue create mode 100644 ui/src/components/ui/select/index.ts create mode 100644 ui/src/components/ui/separator/Separator.vue create mode 100644 ui/src/components/ui/separator/index.ts create mode 100644 ui/src/components/ui/sheet/Sheet.vue create mode 100644 ui/src/components/ui/sheet/SheetClose.vue create mode 100644 ui/src/components/ui/sheet/SheetContent.vue create mode 100644 ui/src/components/ui/sheet/SheetDescription.vue create mode 100644 ui/src/components/ui/sheet/SheetFooter.vue create mode 100644 ui/src/components/ui/sheet/SheetHeader.vue create mode 100644 ui/src/components/ui/sheet/SheetTitle.vue create mode 100644 ui/src/components/ui/sheet/SheetTrigger.vue create mode 100644 ui/src/components/ui/sheet/index.ts create mode 100644 ui/src/components/ui/switch/Switch.vue create mode 100644 ui/src/components/ui/switch/index.ts create mode 100644 ui/src/components/ui/table/Table.vue create mode 100644 ui/src/components/ui/table/TableBody.vue create mode 100644 ui/src/components/ui/table/TableCaption.vue create mode 100644 ui/src/components/ui/table/TableCell.vue create mode 100644 ui/src/components/ui/table/TableEmpty.vue create mode 100644 ui/src/components/ui/table/TableFooter.vue create mode 100644 ui/src/components/ui/table/TableHead.vue create mode 100644 ui/src/components/ui/table/TableHeader.vue create mode 100644 ui/src/components/ui/table/TableRow.vue create mode 100644 ui/src/components/ui/table/index.ts create mode 100644 ui/src/components/ui/tabs/Tabs.vue create mode 100644 ui/src/components/ui/tabs/TabsContent.vue create mode 100644 ui/src/components/ui/tabs/TabsList.vue create mode 100644 ui/src/components/ui/tabs/TabsTrigger.vue create mode 100644 ui/src/components/ui/tabs/index.ts create mode 100644 ui/src/components/ui/textarea/Textarea.vue create mode 100644 ui/src/components/ui/textarea/index.ts create mode 100644 ui/src/components/ui/toast/Toast.vue create mode 100644 ui/src/components/ui/toast/ToastAction.vue create mode 100644 ui/src/components/ui/toast/ToastClose.vue create mode 100644 ui/src/components/ui/toast/ToastDescription.vue create mode 100644 ui/src/components/ui/toast/ToastProvider.vue create mode 100644 ui/src/components/ui/toast/ToastTitle.vue create mode 100644 ui/src/components/ui/toast/ToastViewport.vue create mode 100644 ui/src/components/ui/toast/Toaster.vue create mode 100644 ui/src/components/ui/toast/index.ts create mode 100644 ui/src/components/ui/toast/use-toast.ts create mode 100644 ui/src/components/ui/tooltip/Tooltip.vue create mode 100644 ui/src/components/ui/tooltip/TooltipContent.vue create mode 100644 ui/src/components/ui/tooltip/TooltipProvider.vue create mode 100644 ui/src/components/ui/tooltip/TooltipTrigger.vue create mode 100644 ui/src/components/ui/tooltip/index.ts create mode 100644 ui/src/components/ui/v-calendar/Calendar.vue create mode 100644 ui/src/components/ui/v-calendar/index.ts create mode 100644 ui/src/lib/pocketbase.ts create mode 100644 ui/src/lib/types.ts create mode 100644 ui/src/lib/utils.ts delete mode 100644 ui/src/plugins/vuetify.ts delete mode 100644 ui/src/registerServiceWorker.ts delete mode 100644 ui/src/sass/variables.scss.bak delete mode 100644 ui/src/services/api.ts delete mode 100644 ui/src/shims-tsx.d.ts delete mode 100644 ui/src/shims-vue.d.ts create mode 100644 ui/src/store/catalyst.ts delete mode 100644 ui/src/store/index.ts delete mode 100644 ui/src/store/modules/socket.ts delete mode 100644 ui/src/store/modules/templates.ts delete mode 100644 ui/src/suggestions/grammar/CAQLLexer.interp delete mode 100644 ui/src/suggestions/grammar/CAQLLexer.js delete mode 100644 ui/src/suggestions/grammar/CAQLLexer.tokens delete mode 100644 ui/src/suggestions/grammar/CAQLParser.interp delete mode 100644 ui/src/suggestions/grammar/CAQLParser.js delete mode 100644 ui/src/suggestions/grammar/CAQLParser.tokens delete mode 100644 ui/src/suggestions/grammar/CAQLParserListener.js delete mode 100644 ui/src/suggestions/grammar/RQLLexer.interp delete mode 100644 ui/src/suggestions/grammar/RQLLexer.js delete mode 100644 ui/src/suggestions/grammar/RQLLexer.tokens delete mode 100644 ui/src/suggestions/grammar/RQLParser.interp delete mode 100644 ui/src/suggestions/grammar/RQLParser.js delete mode 100644 ui/src/suggestions/grammar/RQLParser.tokens delete mode 100644 ui/src/suggestions/grammar/RQLParserListener.js delete mode 100644 ui/src/suggestions/suggestions.ts delete mode 100644 ui/src/types/types.ts delete mode 100644 ui/src/views/API.vue delete mode 100644 ui/src/views/ArtifactPopup.vue delete mode 100644 ui/src/views/Automation.vue delete mode 100644 ui/src/views/AutomationList.vue delete mode 100644 ui/src/views/Dashboard.vue delete mode 100644 ui/src/views/DashboardList.vue create mode 100644 ui/src/views/DashboardView.vue delete mode 100644 ui/src/views/Graph.vue delete mode 100644 ui/src/views/Group.vue delete mode 100644 ui/src/views/GroupList.vue delete mode 100644 ui/src/views/Home.vue delete mode 100644 ui/src/views/Job.vue delete mode 100644 ui/src/views/JobList.vue create mode 100644 ui/src/views/LoginView.vue delete mode 100644 ui/src/views/NotFound.vue delete mode 100644 ui/src/views/Playbook.vue delete mode 100644 ui/src/views/PlaybookList.vue delete mode 100644 ui/src/views/Profile.vue delete mode 100644 ui/src/views/Rule.vue delete mode 100644 ui/src/views/RuleList.vue delete mode 100644 ui/src/views/Settings.vue delete mode 100644 ui/src/views/TaskList.vue delete mode 100644 ui/src/views/Template.vue delete mode 100644 ui/src/views/TemplateList.vue delete mode 100644 ui/src/views/Ticket.vue delete mode 100644 ui/src/views/TicketList.vue delete mode 100644 ui/src/views/TicketNew.vue delete mode 100644 ui/src/views/TicketType.vue delete mode 100644 ui/src/views/TicketTypeList.vue create mode 100644 ui/src/views/TicketView.vue delete mode 100644 ui/src/views/User.vue delete mode 100644 ui/src/views/UserData.vue delete mode 100644 ui/src/views/UserDataList.vue delete mode 100644 ui/src/views/UserList.vue delete mode 100644 ui/src/views/embed/Arango.vue delete mode 100644 ui/src/views/embed/Minio.vue delete mode 100644 ui/src/views/embed/Nodered.vue create mode 100644 ui/tailwind.config.js create mode 100644 ui/tsconfig.app.json create mode 100644 ui/tsconfig.node.json delete mode 100644 ui/ui.go delete mode 100644 ui/ui_test.go create mode 100644 ui/vite.config.ts delete mode 100644 ui/vue.config.js delete mode 100644 ui/yarn.lock delete mode 100644 version.go create mode 100644 webhooks.go delete mode 100644 websocket.go diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c47f1e6..d9e84d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,10 +4,6 @@ on: pull_request: release: { types: [ published ] } -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} - jobs: lint: name: Lint @@ -15,116 +11,23 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v4 - with: { go-version: '1.21' } - - run: | - mkdir -p ui/dist/img - touch ui/dist/index.html ui/dist/favicon.ico ui/dist/manifest.json ui/dist/img/fake.png - - uses: golangci/golangci-lint-action@v3 - with: { version: 'v1.54' } + with: { go-version: '1.22' } + - uses: oven-sh/setup-bun@v1 + + - run: make build-ui + + - uses: golangci/golangci-lint-action@v6 + with: { version: 'v1.59' } test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: { node-version: '14', cache: 'yarn', cache-dependency-path: 'ui/yarn.lock' } - uses: actions/setup-go@v4 - with: { go-version: '1.21' } - - run: | - mkdir -p ui/dist/img - touch ui/dist/index.html ui/dist/favicon.ico ui/dist/manifest.json ui/dist/img/fake.png - - run: docker compose up --quiet-pull --detach - working-directory: dev - - run: go test -coverprofile=cover.out -coverpkg=./... ./... - - run: go tool cover -func=cover.out - - uses: codecov/codecov-action@v3 + with: { go-version: '1.22' } + - uses: oven-sh/setup-bun@v1 - cypress: - strategy: - matrix: - test: [ tickets, templates, playbooks ] - auth: [ authelia ] - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v4 - with: { go-version: '1.21' } - - uses: actions/setup-node@v4 - with: { node-version: '14' } - # run UI - - run: | - yarn install - yarn serve & - working-directory: ui - - run: curl --head -X GET --retry 60 --retry-all-errors --retry-delay 10 http://localhost:8080 - # run containers - - run: sed -i 's/host.docker.internal/172.17.0.1/g' dev/nginx.conf - - run: docker compose up --quiet-pull --detach - working-directory: dev - if: matrix.auth == 'authelia' - - run: curl --head -X GET --retry 60 --retry-all-errors --retry-delay 10 http://localhost:8082 - if: matrix.auth == 'authelia' - # run catalyst - - run: | - mkdir -p ui/dist/img - touch ui/dist/index.html ui/dist/favicon.ico ui/dist/manifest.json ui/dist/img/fake.png - - run: go mod download - - run: bash start_dev.sh & - working-directory: dev - if: matrix.auth == 'authelia' - - run: curl --head -X GET --retry 60 --retry-all-errors --retry-delay 10 http://localhost:8000 - # run cypress - - uses: cypress-io/github-action@v4 - env: - CYPRESS_AUTH: ${{ matrix.auth }} - CYPRESS_TEST: ${{ matrix.test }} - with: - browser: chrome - working-directory: ui + - run: make build-ui - build-npm: - name: Build npm - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: { node-version: '14', cache: 'yarn', cache-dependency-path: 'ui/yarn.lock' } - - run: yarn install && yarn build - working-directory: ui - - uses: actions/upload-artifact@v3 - with: { name: ui, path: ui/dist, retention-days: 1 } - - build: - if: github.event_name != 'pull_request' - name: Build - runs-on: ubuntu-latest - needs: [ build-npm, test ] - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-go@v4 - with: { go-version: '1.21' } - - uses: actions/download-artifact@v3 - with: { name: ui, path: ui/dist } - - name: Version - if: github.ref_type == 'tag' && github.ref_name != '' - run: | - echo ${{ github.ref_name }} - echo ${{ github.ref_name }} > VERSION - - run: go build -o catalyst ./cmd/catalyst/. - - uses: docker/login-action@v3 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + - run: make test diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml new file mode 100644 index 0000000..a19fe37 --- /dev/null +++ b/.github/workflows/goreleaser.yml @@ -0,0 +1,32 @@ +name: goreleaser + +on: + pull_request: + push: + tags: + - "*" + +permissions: + contents: write + +jobs: + goreleaser: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - + name: Set up Go + uses: actions/setup-go@v5 + - + name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + with: + distribution: goreleaser + version: '~> v2' + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index d7f9689..35ed655 100644 --- a/.gitignore +++ b/.gitignore @@ -1,87 +1,36 @@ -.idea -.antlr - -.DS_Store -uploads -gen - -*.bleve - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ -venv/ -.venv/ -.python-version -.pytest_cache - -# Translations -*.mo -*.pot - -# Django stuff: +# Logs +logs *.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -#Ipython Notebook -.ipynb_checkpoints - -# npm -wwwroot/*.js -typings -dist node_modules +.DS_Store +dist-ssr +coverage +*.local -profile.cov -cover.out +/cypress/videos/ +/cypress/screenshots/ -generated/caql/parser/*.interp -generated/caql/parser/*.tokens +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo + +bin +dist + +pb_data +catalyst +catalyst_data diff --git a/.golangci.yml b/.golangci.yml index 7476894..4349820 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,67 +1,9 @@ run: - go: "1.19" + go: "1.22" timeout: 5m - skip-dirs: - - generated - - internal linters: - enable: - - asciicheck - - containedctx - - decorder - - dogsled - - durationcheck - - errchkjson - - errname - - errorlint - - exhaustive - - exportloopref - - forbidigo - - forcetypeassert - - gci - - gocritic - - godot - - gofmt - - gofumpt - - goheader - - goimports - - gomodguard - - goprintffuncname - - gosec - - grouper - - importas - - ireturn - - misspell - - nakedret - - nilnil - - nlreturn - - nolintlint - - paralleltest - - predeclared - - promlinter - - revive - - tenv - - thelper - - unconvert - - whitespace - + enable-all: true disable: - # go 1.18 - - bodyclose - - contextcheck - - gosimple - - ifshort - - nilerr - - noctx - - rowserrcheck - - sqlclosecheck - - staticcheck - - stylecheck - - tparallel - - unparam - - unused - - wastedassign - # complexity - cyclop - gocognit @@ -72,19 +14,22 @@ linters: # disable - depguard - dupl - - exhaustivestruct + - err113 + - execinquery + - exhaustruct - funlen - gochecknoglobals - gochecknoinits - goconst - godox - - goerr113 - gomnd - gomoddirectives + - ireturn - lll - makezero + - mnd - prealloc - - structcheck + - tagalign - tagliatelle - testpackage - varnamelen @@ -96,28 +41,3 @@ linters-settings: - standard - default - prefix(github.com/SecurityBrewery/catalyst) - ireturn: - allow: - - error - - context.Context - - go-driver.Cursor - - go-driver.Collection - - go-driver.Database - - go-driver.Client - - chi.Router -issues: - exclude-rules: - - path: caql - text: "var-naming: don't use underscores" - - path: database/user.go - text: "G404" - linters: [ gosec ] - - path: caql/function.go - text: "G404" - linters: [ gosec ] - - path: caql - linters: [ forcetypeassert ] - - text: github.com/go-chi/chi/v5.Router - linters: [ ireturn ] - - path: ui/ui.go - linters: [ typecheck ] diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..b1f881f --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,30 @@ +version: 2 + +before: + hooks: + - go mod tidy + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - darwin + +archives: + - format: tar.gz + # this name template makes the OS and Arch compatible with the results of `uname`. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }} + # use zip for windows archives + format_overrides: + - goos: windows + format: zip + +changelog: + sort: asc diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index 5a1a35f..0000000 --- a/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @cugu diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 382ba7a..0000000 --- a/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM ubuntu:23.04 - -RUN apt-get update -y && apt-get -y install curl gnupg2 software-properties-common -RUN curl -OL https://download.arangodb.com/arangodb34/DEBIAN/Release.key -RUN apt-key add Release.key -RUN apt-add-repository 'deb https://download.arangodb.com/arangodb34/DEBIAN/ /' -RUN apt-get update -y && apt-get -y install arangodb3 - -COPY catalyst /app/catalyst -CMD /app/catalyst - -EXPOSE 8000 diff --git a/Makefile b/Makefile index e775977..6af92e8 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,47 @@ -.PHONY: lint -lint: - golangci-lint run ./... +.PHONY: install +install: + @echo "Installing..." + go install github.com/bombsimon/wsl/v4/cmd...@master + go install mvdan.cc/gofumpt@latest + go install github.com/daixiang0/gci@latest .PHONY: fmt fmt: + @echo "Formatting..." + go mod tidy + go fmt ./... gci write -s standard -s default -s "prefix(github.com/SecurityBrewery/catalyst)" . - # gofumpt -l -w . - # wsl --fix ./... \ No newline at end of file + gofumpt -l -w . + wsl -fix ./... || true + cd ui && bun format + +.PHONY: lint +lint: + golangci-lint version + golangci-lint run ./... + +.PHONY: test +test: + @echo "Testing..." + go test -v ./... + cd ui && bun test + +.PHONY: build-ui +build-ui: + @echo "Building..." + cd ui && bun install + cd ui && bun build-only + +.PHONY: dev +dev: + @echo "Running..." + rm -rf catalyst_data + go run . bootstrap + go run . admin create admin@catalyst-soar.com 1234567890 + go run . set-feature-flags dev + go run . fake-data + go run . serve + +.PHONY: dev-ui +serve-ui: + cd ui && bun dev --port 3000 diff --git a/NOTICE b/NOTICE deleted file mode 100644 index 3172bf2..0000000 --- a/NOTICE +++ /dev/null @@ -1,16 +0,0 @@ -The following components are included in this product: - -Badgerodon Collections -https://github.com/badgerodon/collections -Copyright (c) 2012 Caleb Doxsey -Licensed under the MIT License - -go-toposort -https://github.com/philopon/go-toposort -Copyright (c) 2017 Hirotomo Moriwaki -Licensed under the MIT License - -The Go programming language -https://go.dev/ -Copyright (c) 2009 The Go Authors -See https://go.dev/LICENSE for license details. diff --git a/README.md b/README.md index 3b3c3b4..e5720c4 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,84 @@

- Screenshot of the playbook part of a ticket + + + Shows an illustrated sun in light color mode and a moon with stars in dark color mode. + Catalyst

Speed up your reactions

-Website +Website - -The Catalyst Handbook (Documentation) +The Catalyst Handbook (Documentation) - -Try online +Demo

-Catalyst is an incident response platform or SOAR (Security Orchestration, Automation and Response) system. It can help -you to automate your alert handling and incident response procedures. +Catalyst is an incident response platform. +It can help to automate your alert handling and incident response procedures. ## Features ### Ticket (Alert & Incident) Management -![Screenshot of a ticket](docs/screenshots/ticket.png) - -Tickets are the core of Catalyst. They represent alerts, incidents, forensics -investigations, threat hunts or any other event you want to handle in your -organisation. - -### Ticket Templates +Tickets are the core of Catalyst. +They represent alerts, incidents, forensics investigations, +threat hunts or any other event you want to handle in your organisation.
- Screenshot of the playbook part of a ticket + + Screenshot of a ticket +
-Templates define the custom information for tickets. The core information for -tickets like title, creation date or closing status is kept quite minimal and other -information like criticality, description or MITRE ATT&CK information can be -added individually. +### Ticket Types -### Conditional Custom Fields +Templates define the custom information for tickets. +The core information for tickets like title, creation date or closing status is kept quite minimal +and other information like criticality, description or MITRE ATT&CK information can be added individually. + +### Timelines + +Timelines are used to document the progress of an investigation. +They can be used to document the steps taken during an investigation, the findings or the results of the investigation. + +### Tasks + +Tasks are the smallest unit of work in Catalyst. They can be assigned to users and have a status. +Tasks can be used to document the progress of an investigation or to assign work to different users.
- Screenshot of the playbook part of a ticket - Screenshot of the playbook part of a ticket + + Screenshot of the tasks part of a ticket +
-Custom Fields can be dependent on each other. So if you, for example choose -"malware" as an incident type a custom field ask you to define it further as -ransomware, worm, etc. which a "phishing" incident would ask for the number -of received mails in that campaign. +### Custom Fields -### Playbooks - -
- Screenshot of the playbook part of a ticket -
- -Playbooks represent processes that can be attached to tickets. Playbooks can -contain manual and automated tasks. Complex workflows with different workflow -branches, parallel tasks and task dependencies can be modeled. - -### Automations - -
- Screenshot of the playbook part of a ticket -
- -Automations are scripts that automate tasks or enrich artifacts. Automations are -run in their own Docker containers. This enables them to be created in different -scripting languages and run securely in their own environment. +Custom fields can be added to tickets to store additional information. +They can be used to store information like the affected system, the attacker's IP address or the type of malware. +Custom fields can be added to ticket types and are then available for all tickets of this type. ### Dashboards +Catalyst comes with a dashboard that presents the most important information at a glance. +
- Screenshot of the dashboard editor + + Screenshot of the dashboard +
-Catalyst comes with a dashboard editor that allows you to create custom dashboards -for your organisation. Dashboards can be created with line, bar, and pie charts. +### Webhooks + +Catalyst can send webhooks to other systems. +This can be used to trigger actions in other systems and create automated workflows. ### Users -Catalyst has two different types of users, normal users accessing the platform -via OIDC authentication and API keys for external script. A -fine-grained access model is available for both types and allows to define -possible actions for each user. +Catalyst supports authentication via username and password +or via OAuth2 with an external identity provider like Google, GitHub or GitLab. -## License +### More -Copyright (c) 2021-present Jonas Plum - -Portions of this software are licensed as follows: - -* All third party components incorporated into Catalyst are licensed under the - original license provided by the owner of the applicable component. Those - files contain a license notice on top of the file and are listed in the - [NOTICE](NOTICE) file. -* Content outside the above-mentioned files above is - available under the [GNU Affero General Public License v3.0](LICENSE). +Catalyst supports a lot more features like: Links, Files, or Comments on tickets. \ No newline at end of file diff --git a/VERSION b/VERSION deleted file mode 100644 index cb676de..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.0.0-dev diff --git a/auth.go b/auth.go deleted file mode 100644 index 0b3b8f8..0000000 --- a/auth.go +++ /dev/null @@ -1,108 +0,0 @@ -package catalyst - -import ( - "context" - "crypto/sha256" - "errors" - "fmt" - - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -type catalystResolver struct { - database *database.Database -} - -func newCatalystResolver(db *database.Database) *catalystResolver { - return &catalystResolver{ - database: db, - } -} - -func (c *catalystResolver) UserCreateIfNotExists(ctx context.Context, user *maut.User, password string) (err error) { - if user != nil { - if _, err := c.database.UserGet(ctx, user.ID); err == nil { - return nil - } - } - - if user == nil || user.APIKey { - // ignore error, because we don't care if the user already exists - _, _ = c.database.UserCreateSetupAPIKey(ctx, password) - } else { - _, err = c.database.UserCreate(ctx, &model.UserForm{ - Apikey: user.APIKey, - Blocked: user.Blocked, - ID: user.ID, - Roles: user.Roles, - }) - if err != nil { - return err - } - - err = c.database.UserDataCreate(ctx, user.ID, &model.UserData{ - Email: user.Email, - Image: nil, - Name: user.Name, - Timeformat: nil, - }) - } - - return err -} - -func (c *catalystResolver) User(ctx context.Context, userID string) (*maut.User, error) { - user, err := c.database.UserGet(ctx, userID) - if err != nil { - return nil, err - } - - return mapMautUser(user), nil -} - -func (c *catalystResolver) UserAPIKeyByHash(ctx context.Context, key string) (*maut.User, error) { - sha256Hash := fmt.Sprintf("%x", sha256.Sum256([]byte(key))) - user, err := c.database.UserAPIKeyByHash(ctx, sha256Hash) - if err != nil { - return nil, err - } - - return mapMautUser(user), nil -} - -func (c *catalystResolver) UserByIDAndPassword(ctx context.Context, username string, password string) (*maut.User, error) { - user, err := c.database.UserByIDAndPassword(ctx, username, password) - if err != nil { - return nil, err - } - - return mapMautUser(user), nil -} - -func (c *catalystResolver) Role(_ context.Context, roleID string) (r *maut.Role, err error) { - switch roleID { - case "admin": - return Admin, nil - case "engineer": - return engineer, nil - case "analyst": - return analyst, nil - } - - return nil, errors.New("role not found") -} - -func mapMautUser(user *model.UserResponse) *maut.User { - return &maut.User{ - ID: user.ID, - APIKey: user.Apikey, - Blocked: user.Blocked, - // Email: user.Email, // TODO - // Groups: user.Groups, // TODO - // Name: user.Name, // TODO - Roles: user.Roles, - } -} diff --git a/bootstrapcmd.go b/bootstrapcmd.go new file mode 100644 index 0000000..dd1b237 --- /dev/null +++ b/bootstrapcmd.go @@ -0,0 +1,50 @@ +package main + +import ( + "log" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase" + "github.com/pocketbase/pocketbase/migrations" + "github.com/pocketbase/pocketbase/migrations/logs" + "github.com/pocketbase/pocketbase/tools/migrate" + "github.com/spf13/cobra" +) + +func bootstrapCmd(app *pocketbase.PocketBase) *cobra.Command { + return &cobra.Command{ + Use: "bootstrap", + Run: func(_ *cobra.Command, _ []string) { + if err := app.Bootstrap(); err != nil { + log.Fatal(err) + } + + if err := migrateDBs(app); err != nil { + log.Fatal(err) + } + }, + } +} + +type migration struct { + db *dbx.DB + migrations migrate.MigrationsList +} + +func migrateDBs(app *pocketbase.PocketBase) error { + for _, m := range []migration{ + {db: app.DB(), migrations: migrations.AppMigrations}, + {db: app.LogsDB(), migrations: logs.LogsMigrations}, + } { + runner, err := migrate.NewRunner(m.db, m.migrations) + if err != nil { + return err + } + + if _, err := runner.Up(); err != nil { + return err + } + } + + return nil +} diff --git a/bus/bus.go b/bus/bus.go deleted file mode 100644 index ff707be..0000000 --- a/bus/bus.go +++ /dev/null @@ -1,69 +0,0 @@ -package bus - -import ( - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -type ResultMsg struct { - Automation string `json:"automation"` - Data map[string]any `json:"data,omitempty"` - Target *model.Origin `json:"target"` -} - -type RequestMsg struct { - IDs []driver.DocumentID `json:"ids"` - Function string `json:"function"` - User string `json:"user"` -} - -type JobMsg struct { - ID string `json:"id"` - Automation string `json:"automation"` - Origin *model.Origin `json:"origin"` - Message *model.Message `json:"message"` -} - -type DatabaseUpdateType string - -const ( - DatabaseEntryRead DatabaseUpdateType = "read" - DatabaseEntryCreated DatabaseUpdateType = "created" - DatabaseEntryUpdated DatabaseUpdateType = "updated" -) - -type DatabaseUpdateMsg struct { - IDs []driver.DocumentID `json:"ids"` - Type DatabaseUpdateType `json:"type"` -} - -type Bus struct { - ResultChannel *Channel[*ResultMsg] - RequestChannel *Channel[*RequestMsg] - JobChannel *Channel[*JobMsg] - DatabaseChannel *Channel[*DatabaseUpdateMsg] -} - -func New() *Bus { - return &Bus{ - ResultChannel: &Channel[*ResultMsg]{}, - RequestChannel: &Channel[*RequestMsg]{}, - JobChannel: &Channel[*JobMsg]{}, - DatabaseChannel: &Channel[*DatabaseUpdateMsg]{}, - } -} - -type Channel[T any] struct { - Subscriber []func(T) -} - -func (c *Channel[T]) Publish(msg T) { - for _, s := range c.Subscriber { - go s(msg) - } -} - -func (c *Channel[T]) Subscribe(handler func(T)) { - c.Subscriber = append(c.Subscriber, handler) -} diff --git a/busservice/busservice.go b/busservice/busservice.go deleted file mode 100644 index da951f9..0000000 --- a/busservice/busservice.go +++ /dev/null @@ -1,53 +0,0 @@ -package busservice - -import ( - "context" - "log" - - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -type busService struct { - db *database.Database - apiURL string - apiKey string - catalystBus *bus.Bus - network string -} - -func New(apiURL, apikey, network string, catalystBus *bus.Bus, db *database.Database) { - h := &busService{db: db, apiURL: apiURL, apiKey: apikey, network: network, catalystBus: catalystBus} - - catalystBus.RequestChannel.Subscribe(h.logRequest) - catalystBus.ResultChannel.Subscribe(h.handleResult) - catalystBus.JobChannel.Subscribe(h.handleJob) -} - -func busContext() context.Context { - // TODO: change roles? - bot := &maut.User{ID: "bot", Roles: []string{maut.AdminRole}} - - return maut.UserContext(context.Background(), bot, nil) // TODO add permissions ? -} - -func (h *busService) logRequest(msg *bus.RequestMsg) { - var logEntries []*model.LogEntry - for _, i := range msg.IDs { - logEntries = append(logEntries, &model.LogEntry{ - Type: "request", - Reference: i.String(), - Creator: msg.User, - Message: msg.Function, - Created: time.Now().UTC(), - }) - } - - if err := h.db.LogBatchCreate(busContext(), logEntries); err != nil { - log.Println(err) - } -} diff --git a/busservice/docker.go b/busservice/docker.go deleted file mode 100644 index f7c4ec0..0000000 --- a/busservice/docker.go +++ /dev/null @@ -1,203 +0,0 @@ -package busservice - -import ( - "archive/tar" - "bufio" - "bytes" - "context" - "fmt" - "io" - "log" - - "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/client" - "github.com/docker/docker/pkg/stdcopy" - - "github.com/SecurityBrewery/catalyst/database" -) - -func createContainer(ctx context.Context, image, script, data, network string) (string, string, error) { - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - return "", "", err - } - - logs, err := pullImage(ctx, cli, image) - if err != nil { - return "", logs, err - } - - config := &container.Config{ - Image: image, - Cmd: []string{"/script", data}, - WorkingDir: "/home", - AttachStderr: true, - AttachStdout: true, - } - hostConfig := &container.HostConfig{ - NetworkMode: container.NetworkMode(network), - } - resp, err := cli.ContainerCreate(ctx, config, hostConfig, nil, "") - if err != nil { - return "", logs, err - } - - if err := copyFile(ctx, cli, "/script", script, resp.ID); err != nil { - return "", logs, err - } - - return resp.ID, logs, nil -} - -func pullImage(ctx context.Context, cli *client.Client, image string) (string, error) { - reader, err := cli.ImagePull(ctx, image, types.ImagePullOptions{}) - if err != nil { - return "", err - } - defer reader.Close() - - buf := &bytes.Buffer{} - _, err = io.Copy(buf, reader) - - return buf.String(), err -} - -func copyFile(ctx context.Context, cli *client.Client, path string, contentString string, id string) error { - tarBuf := &bytes.Buffer{} - tw := tar.NewWriter(tarBuf) - header := &tar.Header{Name: path, Mode: 0o755, Size: int64(len(contentString))} - if err := tw.WriteHeader(header); err != nil { - return err - } - - if _, err := tw.Write([]byte(contentString)); err != nil { - return err - } - - if err := tw.Close(); err != nil { - return err - } - - return cli.CopyToContainer(ctx, id, "/", tarBuf, types.CopyToContainerOptions{}) -} - -func runDocker(ctx context.Context, jobID, containerID string, db *database.Database) (stdout []byte, stderr []byte, err error) { - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - return nil, nil, err - } - - defer func(cli *client.Client, ctx context.Context, containerID string, options types.ContainerRemoveOptions) { - err := cli.ContainerRemove(ctx, containerID, options) - if err != nil { - log.Println(err) - } - }(cli, ctx, containerID, types.ContainerRemoveOptions{Force: true}) - - if err := cli.ContainerStart(ctx, containerID, types.ContainerStartOptions{}); err != nil { - return nil, nil, err - } - - stderrBuf, err := streamStdErr(ctx, cli, jobID, containerID, db) - if err != nil { - return nil, nil, err - } - - if err := waitForContainer(ctx, cli, containerID, stderrBuf); err != nil { - return nil, nil, err - } - - output, err := getStdOut(ctx, cli, containerID) - if err != nil { - log.Println(err) - } - - return output.Bytes(), stderrBuf.Bytes(), nil -} - -func streamStdErr(ctx context.Context, cli *client.Client, jobID, containerID string, db *database.Database) (*bytes.Buffer, error) { - stderrBuf := &bytes.Buffer{} - containerLogs, err := cli.ContainerLogs(ctx, containerID, types.ContainerLogsOptions{ShowStderr: true, Follow: true}) - if err != nil { - return nil, err - } - go func() { - err := scanLines(ctx, jobID, containerLogs, stderrBuf, db) - if err != nil { - log.Println(err) - - return - } - if err := containerLogs.Close(); err != nil { - log.Println(err) - - return - } - }() - - return stderrBuf, nil -} - -func scanLines(ctx context.Context, jobID string, input io.ReadCloser, output io.Writer, db *database.Database) error { - r, w := io.Pipe() - go func() { - _, err := stdcopy.StdCopy(w, w, input) - if err != nil { - log.Println(err) - - return - } - if err := w.Close(); err != nil { - log.Println(err) - - return - } - }() - s := bufio.NewScanner(r) - for s.Scan() { - b := s.Bytes() - _, _ = output.Write(b) - _, _ = output.Write([]byte("\n")) - - if err := db.JobLogAppend(ctx, jobID, string(b)+"\n"); err != nil { - log.Println(err) - - continue - } - } - - return s.Err() -} - -func waitForContainer(ctx context.Context, cli *client.Client, containerID string, stderrBuf *bytes.Buffer) error { - statusCh, errCh := cli.ContainerWait(ctx, containerID, container.WaitConditionNotRunning) - select { - case err := <-errCh: - if err != nil { - return err - } - case exitStatus := <-statusCh: - if exitStatus.StatusCode != 0 { - return fmt.Errorf("container returned status code %d: stderr: %s", exitStatus.StatusCode, stderrBuf.String()) - } - } - - return nil -} - -func getStdOut(ctx context.Context, cli *client.Client, containerID string) (*bytes.Buffer, error) { - output := &bytes.Buffer{} - containerLogs, err := cli.ContainerLogs(ctx, containerID, types.ContainerLogsOptions{ShowStdout: true, Follow: true}) - if err != nil { - return nil, err - } - defer containerLogs.Close() - - _, err = stdcopy.StdCopy(output, output, containerLogs) - if err != nil { - return nil, err - } - - return output, nil -} diff --git a/busservice/job.go b/busservice/job.go deleted file mode 100644 index b7661d5..0000000 --- a/busservice/job.go +++ /dev/null @@ -1,120 +0,0 @@ -package busservice - -import ( - "encoding/json" - "fmt" - "log" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (h *busService) handleJob(automationMsg *bus.JobMsg) { - ctx := busContext() - - job, err := h.db.JobCreate(ctx, automationMsg.ID, &model.JobForm{ - Automation: automationMsg.Automation, - Payload: automationMsg.Message.Payload, - Origin: automationMsg.Origin, - }) - if err != nil { - log.Println(err) - - return - } - - automation, err := h.db.AutomationGet(ctx, automationMsg.Automation) - if err != nil { - log.Println(err) - - return - } - - if automation.Script == "" { - log.Println("automation is empty") - - return - } - - if automationMsg.Message.Secrets == nil { - automationMsg.Message.Secrets = map[string]string{} - } - automationMsg.Message.Secrets["catalyst_apikey"] = h.apiKey - automationMsg.Message.Secrets["catalyst_apiurl"] = h.apiURL - - scriptMessage, err := json.Marshal(automationMsg.Message) - if err != nil { - log.Println(err) - - return - } - - containerID, logs, err := createContainer(ctx, automation.Image, automation.Script, string(scriptMessage), h.network) - if err != nil { - log.Println(err) - - return - } - - if _, err := h.db.JobUpdate(ctx, automationMsg.ID, &model.JobUpdate{ - Container: &containerID, - Running: true, - Output: job.Output, - Log: &logs, - Status: job.Status, - }); err != nil { - log.Println(err) - - return - } - - var result map[string]any - - stdout, _, err := runDocker(ctx, automationMsg.ID, containerID, h.db) - if err != nil { - result = map[string]any{"error": fmt.Sprintf("error running script %s %s", err, string(stdout))} - } else { - var data map[string]any - if err := json.Unmarshal(stdout, &data); err != nil { - result = map[string]any{"error": string(stdout)} - } else { - result = data - } - } - - h.catalystBus.ResultChannel.Publish(&bus.ResultMsg{Automation: automationMsg.Automation, Data: result, Target: automationMsg.Origin}) - - if err := h.db.JobComplete(ctx, automationMsg.ID, result); err != nil { - log.Println(err) - - return - } -} - -/* -func getAutomation(automationID string, config *Config) (*model.AutomationResponse, error) { - req, err := http.NewRequest(http.MethodGet, config.CatalystAPIUrl+"/automations/"+automationID, nil) - if err != nil { - return nil, err - } - - req.Header.Set("PRIVATE-TOKEN", config.CatalystAPIKey) - - resp, err := http.DefaultClient.Do(req) - if err != nil { - return nil, err - } - defer resp.Body.Close() - - b, err := io.ReadAll(resp.Body) - if err != nil { - return nil, err - } - - var automation model.AutomationResponse - if err := json.Unmarshal(b, &automation); err != nil { - return nil, err - } - return &automation, nil -} -*/ diff --git a/busservice/result.go b/busservice/result.go deleted file mode 100644 index c1357fe..0000000 --- a/busservice/result.go +++ /dev/null @@ -1,35 +0,0 @@ -package busservice - -import ( - "log" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (h *busService) handleResult(resultMsg *bus.ResultMsg) { - if resultMsg.Target != nil { - ctx := busContext() - switch { - case resultMsg.Target.TaskOrigin != nil: - if _, err := h.db.TaskComplete( - ctx, - resultMsg.Target.TaskOrigin.TicketId, - resultMsg.Target.TaskOrigin.PlaybookId, - resultMsg.Target.TaskOrigin.TaskId, - resultMsg.Data, - ); err != nil { - log.Println(err) - } - case resultMsg.Target.ArtifactOrigin != nil: - enrichment := &model.EnrichmentForm{ - Data: resultMsg.Data, - Name: resultMsg.Automation, - } - _, err := h.db.EnrichArtifact(ctx, resultMsg.Target.ArtifactOrigin.TicketId, resultMsg.Target.ArtifactOrigin.Artifact, enrichment) - if err != nil { - log.Println(err) - } - } - } -} diff --git a/caql/blevebuilder.go b/caql/blevebuilder.go deleted file mode 100644 index 547bed6..0000000 --- a/caql/blevebuilder.go +++ /dev/null @@ -1,155 +0,0 @@ -package caql - -import ( - "errors" - "fmt" - "strconv" - - "github.com/SecurityBrewery/catalyst/generated/caql/parser" -) - -var ErrTooComplex = errors.New("unsupported features for index queries, use advanced search instead") - -type bleveBuilder struct { - *parser.BaseCAQLParserListener - stack []string - err error -} - -// push is a helper function for pushing new node to the listener Stack. -func (s *bleveBuilder) push(i string) { - s.stack = append(s.stack, i) -} - -// pop is a helper function for poping a node from the listener Stack. -func (s *bleveBuilder) pop() (n string) { - // Check that we have nodes in the stack. - size := len(s.stack) - if size < 1 { - panic(ErrStack) - } - - // Pop the last value from the Stack. - n, s.stack = s.stack[size-1], s.stack[:size-1] - - return -} - -func (s *bleveBuilder) binaryPop() (any, any) { - right, left := s.pop(), s.pop() - - return left, right -} - -// ExitExpression is called when production expression is exited. -func (s *bleveBuilder) ExitExpression(ctx *parser.ExpressionContext) { - switch { - case ctx.Value_literal() != nil: - // pass - case ctx.Reference() != nil: - // pass - case ctx.Operator_unary() != nil: - s.err = ErrTooComplex - case ctx.T_PLUS() != nil: - fallthrough - case ctx.T_MINUS() != nil: - fallthrough - case ctx.T_TIMES() != nil: - fallthrough - case ctx.T_DIV() != nil: - fallthrough - case ctx.T_MOD() != nil: - s.err = ErrTooComplex - case ctx.T_RANGE() != nil: - s.err = ErrTooComplex - case ctx.T_LT() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s:<%s", left, right)) - case ctx.T_GT() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s:>%s", left, right)) - case ctx.T_LE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s:<=%s", left, right)) - case ctx.T_GE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s:>=%s", left, right)) - case ctx.T_IN() != nil && ctx.GetEq_op() == nil: - s.err = ErrTooComplex - case ctx.T_EQ() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s:%s", left, right)) - case ctx.T_NE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("-%s:%s", left, right)) - case ctx.T_ALL() != nil && ctx.GetEq_op() != nil: - fallthrough - case ctx.T_ANY() != nil && ctx.GetEq_op() != nil: - fallthrough - case ctx.T_NONE() != nil && ctx.GetEq_op() != nil: - s.err = ErrTooComplex - case ctx.T_ALL() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - fallthrough - case ctx.T_ANY() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - fallthrough - case ctx.T_NONE() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - s.err = ErrTooComplex - case ctx.T_LIKE() != nil: - s.err = errors.New("index queries are like queries by default") - case ctx.T_REGEX_MATCH() != nil: - left, right := s.binaryPop() - if ctx.T_NOT() != nil { - s.err = ErrTooComplex - } else { - s.push(fmt.Sprintf("%s:/%s/", left, right)) - } - case ctx.T_REGEX_NON_MATCH() != nil: - s.err = errors.New("index query cannot contain regex non matches, use advanced search instead") - case ctx.T_AND() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s %s", left, right)) - case ctx.T_OR() != nil: - s.err = errors.New("index query cannot contain OR, use advanced search instead") - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 3: - s.err = errors.New("index query cannot contain ternary operations, use advanced search instead") - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 2: - s.err = errors.New("index query cannot contain ternary operations, use advanced search instead") - default: - panic("unknown expression") - } -} - -// ExitReference is called when production reference is exited. -func (s *bleveBuilder) ExitReference(ctx *parser.ReferenceContext) { - switch { - case ctx.DOT() != nil: - reference := s.pop() - - s.push(fmt.Sprintf("%s.%s", reference, ctx.T_STRING().GetText())) - case ctx.T_STRING() != nil: - s.push(ctx.T_STRING().GetText()) - case ctx.Compound_value() != nil: - s.err = ErrTooComplex - case ctx.Function_call() != nil: - s.err = ErrTooComplex - case ctx.T_OPEN() != nil: - s.err = ErrTooComplex - case ctx.T_ARRAY_OPEN() != nil: - s.err = ErrTooComplex - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitValue_literal is called when production value_literal is exited. -func (s *bleveBuilder) ExitValue_literal(ctx *parser.Value_literalContext) { - if ctx.T_QUOTED_STRING() != nil { - st, err := unquote(ctx.GetText()) - if err != nil { - panic(err) - } - s.push(strconv.Quote(st)) - } else { - s.push(ctx.GetText()) - } -} diff --git a/caql/blevebuilder_test.go b/caql/blevebuilder_test.go deleted file mode 100644 index b0ca760..0000000 --- a/caql/blevebuilder_test.go +++ /dev/null @@ -1,60 +0,0 @@ -package caql_test - -import ( - "testing" - - "github.com/SecurityBrewery/catalyst/caql" -) - -func TestBleveBuilder(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - saql string - wantBleve string - wantParseErr bool - wantRebuildErr bool - }{ - {name: "Search 1", saql: `"Bob"`, wantBleve: `"Bob"`}, - {name: "Search 2", saql: `"Bob" AND title == 'Name'`, wantBleve: `"Bob" title:"Name"`}, - {name: "Search 3", saql: `"Bob" OR title == 'Name'`, wantRebuildErr: true}, - {name: "Search 4", saql: `title == 'malware' AND 'wannacry'`, wantBleve: `title:"malware" "wannacry"`}, - } - for _, tt := range tests { - tt := tt - - parser := &caql.Parser{} - - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - expr, err := parser.Parse(tt.saql) - if (err != nil) != tt.wantParseErr { - t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantParseErr) - if expr != nil { - t.Error(expr.String()) - } - - return - } - if err != nil { - return - } - - got, err := expr.BleveString() - if (err != nil) != tt.wantRebuildErr { - t.Error(expr.String()) - t.Errorf("String() error = %v, wantErr %v", err, tt.wantParseErr) - - return - } - if err != nil { - return - } - if got != tt.wantBleve { - t.Errorf("String() got = %v, want %v", got, tt.wantBleve) - } - }) - } -} diff --git a/caql/builder.go b/caql/builder.go deleted file mode 100644 index 62de3b7..0000000 --- a/caql/builder.go +++ /dev/null @@ -1,322 +0,0 @@ -package caql - -import ( - "fmt" - "strconv" - "strings" - - "golang.org/x/exp/slices" - - "github.com/SecurityBrewery/catalyst/generated/caql/parser" -) - -type Searcher interface { - Search(term string) (ids []string, err error) -} - -type aqlBuilder struct { - *parser.BaseCAQLParserListener - searcher Searcher - stack []string - prefix string -} - -// push is a helper function for pushing new node to the listener Stack. -func (s *aqlBuilder) push(i string) { - s.stack = append(s.stack, i) -} - -// pop is a helper function for poping a node from the listener Stack. -func (s *aqlBuilder) pop() (n string) { - // Check that we have nodes in the stack. - size := len(s.stack) - if size < 1 { - panic(ErrStack) - } - - // Pop the last value from the Stack. - n, s.stack = s.stack[size-1], s.stack[:size-1] - - return -} - -func (s *aqlBuilder) binaryPop() (string, string) { - right, left := s.pop(), s.pop() - - return left, right -} - -// ExitExpression is called when production expression is exited. -func (s *aqlBuilder) ExitExpression(ctx *parser.ExpressionContext) { - switch { - case ctx.Value_literal() != nil: - if ctx.GetParent().GetParent() == nil { - s.push(s.toBoolString(s.pop())) - } - case ctx.Reference() != nil: - ref := s.pop() - if ref == "d.id" { - s.push("d._key") - } else { - s.push(ref) - } - // pass - case ctx.Operator_unary() != nil: - s.push(s.toBoolString(s.pop())) - - case ctx.T_PLUS() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s + %s", left, right)) - case ctx.T_MINUS() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s - %s", left, right)) - case ctx.T_TIMES() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s * %s", left, right)) - case ctx.T_DIV() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s / %s", left, right)) - case ctx.T_MOD() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s %% %s", left, right)) - - case ctx.T_RANGE() != nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s..%s", left, right)) - - case ctx.T_LT() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s < %s", left, right)) - case ctx.T_GT() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s > %s", left, right)) - case ctx.T_LE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s <= %s", left, right)) - case ctx.T_GE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s >= %s", left, right)) - - case ctx.T_IN() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - if ctx.T_NOT() != nil { - s.push(fmt.Sprintf("%s NOT IN %s", left, right)) - } else { - s.push(fmt.Sprintf("%s IN %s", left, right)) - } - - case ctx.T_EQ() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s == %s", left, right)) - case ctx.T_NE() != nil && ctx.GetEq_op() == nil: - left, right := s.binaryPop() - s.push(fmt.Sprintf("%s != %s", left, right)) - - case ctx.T_ALL() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s ALL %s %s", left, ctx.GetEq_op().GetText(), right)) - case ctx.T_ANY() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s ANY %s %s", left, ctx.GetEq_op().GetText(), right)) - case ctx.T_NONE() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s NONE %s %s", left, ctx.GetEq_op().GetText(), right)) - - case ctx.T_ALL() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s ALL IN %s", left, right)) - case ctx.T_ANY() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s ANY IN %s", left, right)) - case ctx.T_NONE() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s NONE IN %s", left, right)) - - case ctx.T_LIKE() != nil: - left, right := s.binaryPop() - if ctx.T_NOT() != nil { - s.push(fmt.Sprintf("%s NOT LIKE %s", left, right)) - } else { - s.push(fmt.Sprintf("%s LIKE %s", left, right)) - } - case ctx.T_REGEX_MATCH() != nil: - left, right := s.binaryPop() - if ctx.T_NOT() != nil { - s.push(fmt.Sprintf("%s NOT =~ %s", left, right)) - } else { - s.push(fmt.Sprintf("%s =~ %s", left, right)) - } - case ctx.T_REGEX_NON_MATCH() != nil: - left, right := s.binaryPop() - if ctx.T_NOT() != nil { - s.push(fmt.Sprintf("%s NOT !~ %s", left, right)) - } else { - s.push(fmt.Sprintf("%s !~ %s", left, right)) - } - - case ctx.T_AND() != nil: - left, right := s.binaryPop() - left = s.toBoolString(left) - right = s.toBoolString(right) - s.push(fmt.Sprintf("%s AND %s", left, right)) - case ctx.T_OR() != nil: - left, right := s.binaryPop() - left = s.toBoolString(left) - right = s.toBoolString(right) - s.push(fmt.Sprintf("%s OR %s", left, right)) - - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 3: - right, middle, left := s.pop(), s.pop(), s.pop() - s.push(fmt.Sprintf("%s ? %s : %s", left, middle, right)) - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 2: - right, left := s.pop(), s.pop() - s.push(fmt.Sprintf("%s ? : %s", left, right)) - - default: - panic("unknown expression") - } -} - -func (s *aqlBuilder) toBoolString(v string) string { - _, err := unquote(v) - if err == nil { - ids, err := s.searcher.Search(v) - if err != nil { - panic("invalid search " + err.Error()) - } - - return fmt.Sprintf(`d._key IN ["%s"]`, strings.Join(ids, `","`)) - } - - return v -} - -// ExitOperator_unary is called when production operator_unary is exited. -func (s *aqlBuilder) ExitOperator_unary(ctx *parser.Operator_unaryContext) { - value := s.pop() - switch { - case ctx.T_PLUS() != nil: - s.push(value) - case ctx.T_MINUS() != nil: - s.push(fmt.Sprintf("-%s", value)) - case ctx.T_NOT() != nil: - s.push(fmt.Sprintf("NOT %s", value)) - default: - panic(fmt.Sprintf("unexpected operation: %s", ctx.GetText())) - } -} - -// ExitReference is called when production reference is exited. -func (s *aqlBuilder) ExitReference(ctx *parser.ReferenceContext) { - switch { - case ctx.DOT() != nil: - reference := s.pop() - if s.prefix != "" && !strings.HasPrefix(reference, s.prefix) { - reference = s.prefix + reference - } - s.push(fmt.Sprintf("%s.%s", reference, ctx.T_STRING().GetText())) - case ctx.T_STRING() != nil: - reference := ctx.T_STRING().GetText() - if s.prefix != "" && !strings.HasPrefix(reference, s.prefix) { - reference = s.prefix + reference - } - s.push(reference) - case ctx.Compound_value() != nil: - // pass - case ctx.Function_call() != nil: - // pass - case ctx.T_OPEN() != nil: - s.push(fmt.Sprintf("(%s)", s.pop())) - case ctx.T_ARRAY_OPEN() != nil: - key := s.pop() - reference := s.pop() - - s.push(fmt.Sprintf("%s[%s]", reference, key)) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitCompound_value is called when production compound_value is exited. -func (s *aqlBuilder) ExitCompound_value(_ *parser.Compound_valueContext) { - // pass -} - -// ExitFunction_call is called when production function_call is exited. -func (s *aqlBuilder) ExitFunction_call(ctx *parser.Function_callContext) { - var array []string - for range ctx.AllExpression() { - // prepend element - array = append([]string{s.pop()}, array...) - } - parameter := strings.Join(array, ", ") - - if !slices.Contains(functionNames, strings.ToUpper(ctx.T_STRING().GetText())) { - panic("unknown function") - } - - s.push(fmt.Sprintf("%s(%s)", strings.ToUpper(ctx.T_STRING().GetText()), parameter)) -} - -// ExitValue_literal is called when production value_literal is exited. -func (s *aqlBuilder) ExitValue_literal(ctx *parser.Value_literalContext) { - if ctx.T_QUOTED_STRING() != nil { - st, err := unquote(ctx.GetText()) - if err != nil { - panic(err) - } - s.push(strconv.Quote(st)) - } else { - s.push(ctx.GetText()) - } -} - -// ExitArray is called when production array is exited. -func (s *aqlBuilder) ExitArray(ctx *parser.ArrayContext) { - var elements []string - for range ctx.AllExpression() { - // elements = append(elements, s.pop()) - elements = append([]string{s.pop()}, elements...) - } - s.push("[" + strings.Join(elements, ", ") + "]") -} - -// ExitObject is called when production object is exited. -func (s *aqlBuilder) ExitObject(ctx *parser.ObjectContext) { - var elements []string - for range ctx.AllObject_element() { - key, value := s.pop(), s.pop() - - elements = append([]string{fmt.Sprintf("%s: %v", key, value)}, elements...) - } - // s.push(object) - s.push("{" + strings.Join(elements, ", ") + "}") -} - -// ExitObject_element is called when production object_element is exited. -func (s *aqlBuilder) ExitObject_element(ctx *parser.Object_elementContext) { - switch { - case ctx.T_STRING() != nil: - s.push(ctx.GetText()) - s.push(ctx.GetText()) - case ctx.Object_element_name() != nil, ctx.T_ARRAY_OPEN() != nil: - key, value := s.pop(), s.pop() - - s.push(key) - s.push(value) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitObject_element_name is called when production object_element_name is exited. -func (s *aqlBuilder) ExitObject_element_name(ctx *parser.Object_element_nameContext) { - switch { - case ctx.T_STRING() != nil: - s.push(ctx.T_STRING().GetText()) - case ctx.T_QUOTED_STRING() != nil: - s.push(ctx.T_QUOTED_STRING().GetText()) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} diff --git a/caql/errors.go b/caql/errors.go deleted file mode 100644 index 40acff6..0000000 --- a/caql/errors.go +++ /dev/null @@ -1,8 +0,0 @@ -package caql - -import "errors" - -var ( - ErrStack = errors.New("unexpected operator stack") - ErrUndefined = errors.New("variable not defined") -) diff --git a/caql/function.go b/caql/function.go deleted file mode 100644 index b28a92b..0000000 --- a/caql/function.go +++ /dev/null @@ -1,742 +0,0 @@ -package caql - -import ( - "errors" - "fmt" - "math" - "math/rand" - "sort" - "strings" - "unicode/utf8" - - "github.com/imdario/mergo" - - "github.com/SecurityBrewery/catalyst/generated/caql/parser" -) - -func (s *aqlInterpreter) function(ctx *parser.Function_callContext) { - switch strings.ToUpper(ctx.T_STRING().GetText()) { - default: - s.appendErrors(errors.New("unknown function")) - - // Array https://www.arangodb.com/docs/stable/aql/functions-array.html - case "APPEND": - u := false - if len(ctx.AllExpression()) == 3 { - u = s.pop().(bool) - } - seen := map[any]bool{} - values, anyArray := s.pop().([]any), s.pop().([]any) - - if u { - for _, e := range anyArray { - seen[e] = true - } - } - - for _, e := range values { - _, ok := seen[e] - if !ok || !u { - seen[e] = true - anyArray = append(anyArray, e) - } - } - s.push(anyArray) - case "COUNT_DISTINCT", "COUNT_UNIQUE": - count := 0 - seen := map[any]bool{} - array := s.pop().([]any) - for _, e := range array { - _, ok := seen[e] - if !ok { - seen[e] = true - count++ - } - } - s.push(float64(count)) - case "FIRST": - array := s.pop().([]any) - if len(array) == 0 { - s.push(nil) - } else { - s.push(array[0]) - } - // case "FLATTEN": - // case "INTERLEAVE": - case "INTERSECTION": - iset := NewSet(s.pop().([]any)...) - - for i := 1; i < len(ctx.AllExpression()); i++ { - iset = iset.Intersection(NewSet(s.pop().([]any)...)) - } - - s.push(iset.Values()) - // case "JACCARD": - case "LAST": - array := s.pop().([]any) - if len(array) == 0 { - s.push(nil) - } else { - s.push(array[len(array)-1]) - } - case "COUNT", "LENGTH": - switch v := s.pop().(type) { - case nil: - s.push(float64(0)) - case bool: - if v { - s.push(float64(1)) - } else { - s.push(float64(0)) - } - case float64: - s.push(float64(len(fmt.Sprint(v)))) - case string: - s.push(float64(utf8.RuneCountInString(v))) - case []any: - s.push(float64(len(v))) - case map[string]any: - s.push(float64(len(v))) - default: - panic("unknown type") - } - case "MINUS": - var sets []*Set - for i := 0; i < len(ctx.AllExpression()); i++ { - sets = append(sets, NewSet(s.pop().([]any)...)) - } - - iset := sets[len(sets)-1] - // for i := len(sets)-1; i > 0; i-- { - for i := 0; i < len(sets)-1; i++ { - iset = iset.Minus(sets[i]) - } - - s.push(iset.Values()) - case "NTH": - pos := s.pop().(float64) - array := s.pop().([]any) - if int(pos) >= len(array) || pos < 0 { - s.push(nil) - } else { - s.push(array[int64(pos)]) - } - // case "OUTERSECTION": - // array := s.pop().([]interface{}) - // union := NewSet(array...) - // intersection := NewSet(s.pop().([]interface{})...) - // for i := 1; i < len(ctx.AllExpression()); i++ { - // array = s.pop().([]interface{}) - // union = union.Union(NewSet(array...)) - // intersection = intersection.Intersection(NewSet(array...)) - // } - // s.push(union.Minus(intersection).Values()) - case "POP": - array := s.pop().([]any) - s.push(array[:len(array)-1]) - case "POSITION", "CONTAINS_ARRAY": - returnIndex := false - if len(ctx.AllExpression()) == 3 { - returnIndex = s.pop().(bool) - } - search := s.pop() - array := s.pop().([]any) - - for idx, e := range array { - if e == search { - if returnIndex { - s.push(float64(idx)) - } else { - s.push(true) - } - } - } - - if returnIndex { - s.push(float64(-1)) - } else { - s.push(false) - } - case "PUSH": - u := false - if len(ctx.AllExpression()) == 3 { - u = s.pop().(bool) - } - element := s.pop() - array := s.pop().([]any) - - if u && contains(array, element) { - s.push(array) - } else { - s.push(append(array, element)) - } - case "REMOVE_NTH": - position := s.pop().(float64) - anyArray := s.pop().([]any) - - if position < 0 { - position = float64(len(anyArray) + int(position)) - } - - result := []any{} - for idx, e := range anyArray { - if idx != int(position) { - result = append(result, e) - } - } - s.push(result) - case "REPLACE_NTH": - defaultPaddingValue := "" - if len(ctx.AllExpression()) == 4 { - defaultPaddingValue = s.pop().(string) - } - replaceValue := s.pop().(string) - position := s.pop().(float64) - anyArray := s.pop().([]any) - - if position < 0 { - position = float64(len(anyArray) + int(position)) - if position < 0 { - position = 0 - } - } - - switch { - case int(position) < len(anyArray): - anyArray[int(position)] = replaceValue - case int(position) == len(anyArray): - anyArray = append(anyArray, replaceValue) - default: - if defaultPaddingValue == "" { - panic("missing defaultPaddingValue") - } - for len(anyArray) < int(position) { - anyArray = append(anyArray, defaultPaddingValue) - } - anyArray = append(anyArray, replaceValue) - } - - s.push(anyArray) - case "REMOVE_VALUE": - limit := math.Inf(1) - if len(ctx.AllExpression()) == 3 { - limit = s.pop().(float64) - } - value := s.pop() - array := s.pop().([]any) - result := []any{} - for idx, e := range array { - if e != value || float64(idx) > limit { - result = append(result, e) - } - } - s.push(result) - case "REMOVE_VALUES": - values := s.pop().([]any) - array := s.pop().([]any) - result := []any{} - for _, e := range array { - if !contains(values, e) { - result = append(result, e) - } - } - s.push(result) - case "REVERSE": - array := s.pop().([]any) - var reverse []any - for _, e := range array { - reverse = append([]any{e}, reverse...) - } - s.push(reverse) - case "SHIFT": - s.push(s.pop().([]any)[1:]) - case "SLICE": - length := float64(-1) - full := true - if len(ctx.AllExpression()) == 3 { - length = s.pop().(float64) - full = false - } - start := int64(s.pop().(float64)) - array := s.pop().([]any) - - if start < 0 { - start = int64(len(array)) + start - } - if full { - length = float64(int64(len(array)) - start) - } - - end := int64(0) - if length < 0 { - end = int64(len(array)) + int64(length) - } else { - end = start + int64(length) - } - s.push(array[start:end]) - case "SORTED": - array := s.pop().([]any) - sort.Slice(array, func(i, j int) bool { return lt(array[i], array[j]) }) - s.push(array) - case "SORTED_UNIQUE": - array := s.pop().([]any) - sort.Slice(array, func(i, j int) bool { return lt(array[i], array[j]) }) - s.push(unique(array)) - case "UNION": - array := s.pop().([]any) - - for i := 1; i < len(ctx.AllExpression()); i++ { - array = append(array, s.pop().([]any)...) - } - - sort.Slice(array, func(i, j int) bool { return lt(array[i], array[j]) }) - s.push(array) - case "UNION_DISTINCT": - iset := NewSet(s.pop().([]any)...) - - for i := 1; i < len(ctx.AllExpression()); i++ { - iset = iset.Union(NewSet(s.pop().([]any)...)) - } - - s.push(unique(iset.Values())) - case "UNIQUE": - s.push(unique(s.pop().([]any))) - case "UNSHIFT": - u := false - if len(ctx.AllExpression()) == 3 { - u = s.pop().(bool) - } - element := s.pop() - array := s.pop().([]any) - if u && contains(array, element) { - s.push(array) - } else { - s.push(append([]any{element}, array...)) - } - - // Bit https://www.arangodb.com/docs/stable/aql/functions-bit.html - // case "BIT_AND": - // case "BIT_CONSTRUCT": - // case "BIT_DECONSTRUCT": - // case "BIT_FROM_STRING": - // case "BIT_NEGATE": - // case "BIT_OR": - // case "BIT_POPCOUNT": - // case "BIT_SHIFT_LEFT": - // case "BIT_SHIFT_RIGHT": - // case "BIT_TEST": - // case "BIT_TO_STRING": - // case "BIT_XOR": - - // Date https://www.arangodb.com/docs/stable/aql/functions-date.html - // case "DATE_NOW": - // case "DATE_ISO8601": - // case "DATE_TIMESTAMP": - // case "IS_DATESTRING": - - // case "DATE_DAYOFWEEK": - // case "DATE_YEAR": - // case "DATE_MONTH": - // case "DATE_DAY": - // case "DATE_HOUR": - // case "DATE_MINUTE": - // case "DATE_SECOND": - // case "DATE_MILLISECOND": - - // case "DATE_DAYOFYEAR": - // case "DATE_ISOWEEK": - // case "DATE_LEAPYEAR": - // case "DATE_QUARTER": - // case "DATE_DAYS_IN_MONTH": - // case "DATE_TRUNC": - // case "DATE_ROUND": - // case "DATE_FORMAT": - - // case "DATE_ADD": - // case "DATE_SUBTRACT": - // case "DATE_DIFF": - // case "DATE_COMPARE": - - // Document https://www.arangodb.com/docs/stable/aql/functions-document.html - case "ATTRIBUTES": - if len(ctx.AllExpression()) == 3 { - s.pop() // always sort - } - removeInternal := false - if len(ctx.AllExpression()) >= 2 { - removeInternal = s.pop().(bool) - } - var keys []any - for k := range s.pop().(map[string]any) { - isInternalKey := strings.HasPrefix(k, "_") - if !removeInternal || !isInternalKey { - keys = append(keys, k) - } - } - sort.Slice(keys, func(i, j int) bool { return lt(keys[i], keys[j]) }) - s.push(keys) - // case "COUNT": - case "HAS": - right, left := s.pop(), s.pop() - _, ok := left.(map[string]any)[right.(string)] - s.push(ok) - // case "KEEP": - // case "LENGTH": - // case "MATCHES": - case "MERGE": - var docs []map[string]any - if len(ctx.AllExpression()) == 1 { - for _, doc := range s.pop().([]any) { - docs = append([]map[string]any{doc.(map[string]any)}, docs...) - } - } else { - for i := 0; i < len(ctx.AllExpression()); i++ { - docs = append(docs, s.pop().(map[string]any)) - } - } - - doc := docs[len(docs)-1] - for i := len(docs) - 2; i >= 0; i-- { - for k, v := range docs[i] { - doc[k] = v - } - } - s.push(doc) - case "MERGE_RECURSIVE": - var doc map[string]any - for i := 0; i < len(ctx.AllExpression()); i++ { - err := mergo.Merge(&doc, s.pop().(map[string]any)) - if err != nil { - panic(err) - } - } - s.push(doc) - // case "PARSE_IDENTIFIER": - // case "TRANSLATE": - // case "UNSET": - // case "UNSET_RECURSIVE": - case "VALUES": - removeInternal := false - if len(ctx.AllExpression()) == 2 { - removeInternal = s.pop().(bool) - } - var values []any - for k, v := range s.pop().(map[string]any) { - isInternalKey := strings.HasPrefix(k, "_") - if !removeInternal || !isInternalKey { - values = append(values, v) - } - } - sort.Slice(values, func(i, j int) bool { return lt(values[i], values[j]) }) - s.push(values) - // case "ZIP": - - // Numeric https://www.arangodb.com/docs/stable/aql/functions-numeric.html - case "ABS": - s.push(math.Abs(s.pop().(float64))) - case "ACOS": - v := s.pop().(float64) - asin := math.Acos(v) - if v > 1 || v < -1 { - s.push(nil) - } else { - s.push(asin) - } - case "ASIN": - v := s.pop().(float64) - asin := math.Asin(v) - if v > 1 || v < -1 { - s.push(nil) - } else { - s.push(asin) - } - case "ATAN": - s.push(math.Atan(s.pop().(float64))) - case "ATAN2": - s.push(math.Atan2(s.pop().(float64), s.pop().(float64))) - case "AVERAGE", "AVG": - count := 0 - sum := float64(0) - array := s.pop().([]any) - for _, element := range array { - if element != nil { - count++ - sum += toNumber(element) - } - } - if count == 0 { - s.push(nil) - } else { - s.push(sum / float64(count)) - } - case "CEIL": - s.push(math.Ceil(s.pop().(float64))) - case "COS": - s.push(math.Cos(s.pop().(float64))) - case "DEGREES": - s.push(s.pop().(float64) * 180 / math.Pi) - case "EXP": - s.push(math.Exp(s.pop().(float64))) - case "EXP2": - s.push(math.Exp2(s.pop().(float64))) - case "FLOOR": - s.push(math.Floor(s.pop().(float64))) - case "LOG": - l := math.Log(s.pop().(float64)) - if l <= 0 { - s.push(nil) - } else { - s.push(l) - } - case "LOG2": - l := math.Log2(s.pop().(float64)) - if l <= 0 { - s.push(nil) - } else { - s.push(l) - } - case "LOG10": - l := math.Log10(s.pop().(float64)) - if l <= 0 { - s.push(nil) - } else { - s.push(l) - } - case "MAX": - var set bool - var max float64 - array := s.pop().([]any) - for _, element := range array { - if element != nil { - if !set || toNumber(element) > max { - max = toNumber(element) - set = true - } - } - } - if set { - s.push(max) - } else { - s.push(nil) - } - case "MEDIAN": - array := s.pop().([]any) - var numbers []float64 - for _, element := range array { - if f, ok := element.(float64); ok { - numbers = append(numbers, f) - } - } - - sort.Float64s(numbers) // sort the numbers - - middlePos := len(numbers) / 2 - - switch { - case len(numbers) == 0: - s.push(nil) - case len(numbers)%2 == 1: - s.push(numbers[middlePos]) - default: - s.push((numbers[middlePos-1] + numbers[middlePos]) / 2) - } - case "MIN": - var set bool - var min float64 - array := s.pop().([]any) - for _, element := range array { - if element != nil { - if !set || toNumber(element) < min { - min = toNumber(element) - set = true - } - } - } - if set { - s.push(min) - } else { - s.push(nil) - } - // case "PERCENTILE": - case "PI": - s.push(math.Pi) - case "POW": - right, left := s.pop(), s.pop() - s.push(math.Pow(left.(float64), right.(float64))) - case "PRODUCT": - product := float64(1) - array := s.pop().([]any) - for _, element := range array { - if element != nil { - product *= toNumber(element) - } - } - s.push(product) - case "RADIANS": - s.push(s.pop().(float64) * math.Pi / 180) - case "RAND": - s.push(rand.Float64()) - case "RANGE": - var array []any - var start, end, step float64 - if len(ctx.AllExpression()) == 2 { - right, left := s.pop(), s.pop() - start = math.Trunc(left.(float64)) - end = math.Trunc(right.(float64)) - step = 1 - } else { - middle, right, left := s.pop(), s.pop(), s.pop() - start = left.(float64) - end = right.(float64) - step = middle.(float64) - } - for i := start; i <= end; i += step { - array = append(array, i) - } - s.push(array) - case "ROUND": - x := s.pop().(float64) - t := math.Trunc(x) - if math.Abs(x-t) == 0.5 { - s.push(x + 0.5) - } else { - s.push(math.Round(x)) - } - case "SIN": - s.push(math.Sin(s.pop().(float64))) - case "SQRT": - s.push(math.Sqrt(s.pop().(float64))) - // case "STDDEV_POPULATION": - // case "STDDEV_SAMPLE": - // case "STDDEV": - case "SUM": - sum := float64(0) - array := s.pop().([]any) - for _, element := range array { - sum += toNumber(element) - } - s.push(sum) - case "TAN": - s.push(math.Tan(s.pop().(float64))) - // case "VARIANCE_POPULATION", "VARIANCE": - // case "VARIANCE_SAMPLE": - - // String https://www.arangodb.com/docs/stable/aql/functions-string.html - // case "CHAR_LENGTH": - // case "CONCAT": - // case "CONCAT_SEPARATOR": - // case "CONTAINS": - // case "CRC32": - // case "ENCODE_URI_COMPONENT": - // case "FIND_FIRST": - // case "FIND_LAST": - // case "FNV64": - // case "IPV4_FROM_NUMBER": - // case "IPV4_TO_NUMBER": - // case "IS_IPV4": - // case "JSON_PARSE": - // case "JSON_STRINGIFY": - // case "LEFT": - // case "LENGTH": - // case "LEVENSHTEIN_DISTANCE": - // case "LIKE": - case "LOWER": - s.push(strings.ToLower(s.pop().(string))) - // case "LTRIM": - // case "MD5": - // case "NGRAM_POSITIONAL_SIMILARITY": - // case "NGRAM_SIMILARITY": - // case "RANDOM_TOKEN": - // case "REGEX_MATCHES": - // case "REGEX_SPLIT": - // case "REGEX_TEST": - // case "REGEX_REPLACE": - // case "REVERSE": - // case "RIGHT": - // case "RTRIM": - // case "SHA1": - // case "SHA512": - // case "SOUNDEX": - // case "SPLIT": - // case "STARTS_WITH": - // case "SUBSTITUTE": - // case "SUBSTRING": - // case "TOKENS": - // case "TO_BASE64": - // case "TO_HEX": - // case "TRIM": - case "UPPER": - s.push(strings.ToUpper(s.pop().(string))) - // case "UUID": - - // Type cast https://www.arangodb.com/docs/stable/aql/functions-type-cast.html - case "TO_BOOL": - s.push(toBool(s.pop())) - case "TO_NUMBER": - s.push(toNumber(s.pop())) - // case "TO_STRING": - // case "TO_ARRAY": - // case "TO_LIST": - - // case "IS_NULL": - // case "IS_BOOL": - // case "IS_NUMBER": - // case "IS_STRING": - // case "IS_ARRAY": - // case "IS_LIST": - // case "IS_OBJECT": - // case "IS_DOCUMENT": - // case "IS_DATESTRING": - // case "IS_IPV4": - // case "IS_KEY": - // case "TYPENAME": - } -} - -func unique(array []any) []any { - seen := map[any]bool{} - var filtered []any - for _, e := range array { - _, ok := seen[e] - if !ok { - seen[e] = true - filtered = append(filtered, e) - } - } - - return filtered -} - -func contains(values []any, e any) bool { - for _, v := range values { - if e == v { - return true - } - } - - return false -} - -var functionNames = []string{ - "APPEND", "COUNT_DISTINCT", "COUNT_UNIQUE", "FIRST", "FLATTEN", "INTERLEAVE", "INTERSECTION", "JACCARD", "LAST", - "COUNT", "LENGTH", "MINUS", "NTH", "OUTERSECTION", "POP", "POSITION", "CONTAINS_ARRAY", "PUSH", "REMOVE_NTH", - "REPLACE_NTH", "REMOVE_VALUE", "REMOVE_VALUES", "REVERSE", "SHIFT", "SLICE", "SORTED", "SORTED_UNIQUE", "UNION", - "UNION_DISTINCT", "UNIQUE", "UNSHIFT", "BIT_AND", "BIT_CONSTRUCT", "BIT_DECONSTRUCT", "BIT_FROM_STRING", - "BIT_NEGATE", "BIT_OR", "BIT_POPCOUNT", "BIT_SHIFT_LEFT", "BIT_SHIFT_RIGHT", "BIT_TEST", "BIT_TO_STRING", - "BIT_XOR", "DATE_NOW", "DATE_ISO8601", "DATE_TIMESTAMP", "IS_DATESTRING", "DATE_DAYOFWEEK", "DATE_YEAR", - "DATE_MONTH", "DATE_DAY", "DATE_HOUR", "DATE_MINUTE", "DATE_SECOND", "DATE_MILLISECOND", "DATE_DAYOFYEAR", - "DATE_ISOWEEK", "DATE_LEAPYEAR", "DATE_QUARTER", "DATE_DAYS_IN_MONTH", "DATE_TRUNC", "DATE_ROUND", "DATE_FORMAT", - "DATE_ADD", "DATE_SUBTRACT", "DATE_DIFF", "DATE_COMPARE", "ATTRIBUTES", "COUNT", "HAS", "KEEP", "LENGTH", - "MATCHES", "MERGE", "MERGE_RECURSIVE", "PARSE_IDENTIFIER", "TRANSLATE", "UNSET", "UNSET_RECURSIVE", "VALUES", - "ZIP", "ABS", "ACOS", "ASIN", "ATAN", "ATAN2", "AVERAGE", "AVG", "CEIL", "COS", "DEGREES", "EXP", "EXP2", "FLOOR", - "LOG", "LOG2", "LOG10", "MAX", "MEDIAN", "MIN", "PERCENTILE", "PI", "POW", "PRODUCT", "RADIANS", "RAND", "RANGE", - "ROUND", "SIN", "SQRT", "STDDEV_POPULATION", "STDDEV_SAMPLE", "STDDEV", "SUM", "TAN", "VARIANCE_POPULATION", - "VARIANCE", "VARIANCE_SAMPLE", "CHAR_LENGTH", "CONCAT", "CONCAT_SEPARATOR", "CONTAINS", "CRC32", - "ENCODE_URI_COMPONENT", "FIND_FIRST", "FIND_LAST", "FNV64", "IPV4_FROM_NUMBER", "IPV4_TO_NUMBER", "IS_IPV4", - "JSON_PARSE", "JSON_STRINGIFY", "LEFT", "LENGTH", "LEVENSHTEIN_DISTANCE", "LIKE", "LOWER", "LTRIM", "MD5", - "NGRAM_POSITIONAL_SIMILARITY", "NGRAM_SIMILARITY", "RANDOM_TOKEN", "REGEX_MATCHES", "REGEX_SPLIT", "REGEX_TEST", - "REGEX_REPLACE", "REVERSE", "RIGHT", "RTRIM", "SHA1", "SHA512", "SOUNDEX", "SPLIT", "STARTS_WITH", "SUBSTITUTE", - "SUBSTRING", "TOKENS", "TO_BASE64", "TO_HEX", "TRIM", "UPPER", "UUID", "TO_BOOL", "TO_NUMBER", "TO_STRING", - "TO_ARRAY", "TO_LIST", "IS_NULL", "IS_BOOL", "IS_NUMBER", "IS_STRING", "IS_ARRAY", "IS_LIST", "IS_OBJECT", - "IS_DOCUMENT", "IS_DATESTRING", "IS_IPV4", "IS_KEY", "TYPENAME", -} diff --git a/caql/function_test.go b/caql/function_test.go deleted file mode 100644 index c331fca..0000000 --- a/caql/function_test.go +++ /dev/null @@ -1,392 +0,0 @@ -package caql_test - -import ( - "encoding/json" - "math" - "reflect" - "testing" - - "github.com/SecurityBrewery/catalyst/caql" -) - -func TestFunctions(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - saql string - wantRebuild string - wantValue any - wantParseErr bool - wantRebuildErr bool - wantEvalErr bool - values string - }{ - // https://www.arangodb.com/docs/3.7/aql/functions-array.html - {name: "APPEND", saql: `APPEND([1, 2, 3], [5, 6, 9])`, wantRebuild: `APPEND([1, 2, 3], [5, 6, 9])`, wantValue: jsonParse(`[1, 2, 3, 5, 6, 9]`)}, - {name: "APPEND", saql: `APPEND([1, 2, 3], [3, 4, 5, 2, 9], true)`, wantRebuild: `APPEND([1, 2, 3], [3, 4, 5, 2, 9], true)`, wantValue: jsonParse(`[1, 2, 3, 4, 5, 9]`)}, - {name: "COUNT_DISTINCT", saql: `COUNT_DISTINCT([1, 2, 3])`, wantRebuild: `COUNT_DISTINCT([1, 2, 3])`, wantValue: 3}, - {name: "COUNT_DISTINCT", saql: `COUNT_DISTINCT(["yes", "no", "yes", "sauron", "no", "yes"])`, wantRebuild: `COUNT_DISTINCT(["yes", "no", "yes", "sauron", "no", "yes"])`, wantValue: 3}, - {name: "FIRST", saql: `FIRST([1, 2, 3])`, wantRebuild: `FIRST([1, 2, 3])`, wantValue: 1}, - {name: "FIRST", saql: `FIRST([])`, wantRebuild: `FIRST([])`, wantValue: nil}, - // {name: "FLATTEN", saql: `FLATTEN([1, 2, [3, 4], 5, [6, 7], [8, [9, 10]]])`, wantRebuild: `FLATTEN([1, 2, [3, 4], 5, [6, 7], [8, [9, 10]]])`, wantValue:}, - // {name: "FLATTEN", saql: `FLATTEN([1, 2, [3, 4], 5, [6, 7], [8, [9, 10]]], 2)`, wantRebuild: `FLATTEN([1, 2, [3, 4], 5, [6, 7], [8, [9, 10]]], 2)`, wantValue:}, - // {name: "INTERLEAVE", saql: `INTERLEAVE([1, 1, 1], [2, 2, 2], [3, 3, 3])`, wantRebuild: `INTERLEAVE([1, 1, 1], [2, 2, 2], [3, 3, 3])`, wantValue:}, - // {name: "INTERLEAVE", saql: `INTERLEAVE([1], [2, 2], [3, 3, 3])`, wantRebuild: `INTERLEAVE([1], [2, 2], [3, 3, 3])`, wantValue:}, - {name: "INTERSECTION", saql: `INTERSECTION([1,2,3,4,5], [2,3,4,5,6], [3,4,5,6,7])`, wantRebuild: `INTERSECTION([1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7])`, wantValue: jsonParse(`[3, 4, 5]`)}, - {name: "INTERSECTION", saql: `INTERSECTION([2,4,6], [8,10,12], [14,16,18])`, wantRebuild: `INTERSECTION([2, 4, 6], [8, 10, 12], [14, 16, 18])`, wantValue: jsonParse(`[]`)}, - // {name: "JACCARD", saql: `JACCARD([1,2,3,4], [3,4,5,6])`, wantRebuild: `JACCARD([1,2,3,4], [3,4,5,6])`, wantValue: 0.3333333333333333}, - // {name: "JACCARD", saql: `JACCARD([1,1,2,2,2,3], [2,2,3,4])`, wantRebuild: `JACCARD([1,1,2,2,2,3], [2,2,3,4])`, wantValue: 0.5}, - // {name: "JACCARD", saql: `JACCARD([1,2,3], [])`, wantRebuild: `JACCARD([1, 2, 3], [])`, wantValue: 0}, - // {name: "JACCARD", saql: `JACCARD([], [])`, wantRebuild: `JACCARD([], [])`, wantValue: 1}, - {name: "LAST", saql: `LAST([1,2,3,4,5])`, wantRebuild: `LAST([1, 2, 3, 4, 5])`, wantValue: 5}, - {name: "LENGTH", saql: `LENGTH("🥑")`, wantRebuild: `LENGTH("🥑")`, wantValue: 1}, - {name: "LENGTH", saql: `LENGTH(1234)`, wantRebuild: `LENGTH(1234)`, wantValue: 4}, - {name: "LENGTH", saql: `LENGTH([1,2,3,4,5,6,7])`, wantRebuild: `LENGTH([1, 2, 3, 4, 5, 6, 7])`, wantValue: 7}, - {name: "LENGTH", saql: `LENGTH(false)`, wantRebuild: `LENGTH(false)`, wantValue: 0}, - {name: "LENGTH", saql: `LENGTH({a:1, b:2, c:3, d:4, e:{f:5,g:6}})`, wantRebuild: `LENGTH({a: 1, b: 2, c: 3, d: 4, e: {f: 5, g: 6}})`, wantValue: 5}, - {name: "MINUS", saql: `MINUS([1,2,3,4], [3,4,5,6], [5,6,7,8])`, wantRebuild: `MINUS([1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 7, 8])`, wantValue: jsonParse(`[1, 2]`)}, - {name: "NTH", saql: `NTH(["foo", "bar", "baz"], 2)`, wantRebuild: `NTH(["foo", "bar", "baz"], 2)`, wantValue: "baz"}, - {name: "NTH", saql: `NTH(["foo", "bar", "baz"], 3)`, wantRebuild: `NTH(["foo", "bar", "baz"], 3)`, wantValue: nil}, - {name: "NTH", saql: `NTH(["foo", "bar", "baz"], -1)`, wantRebuild: `NTH(["foo", "bar", "baz"], -1)`, wantValue: nil}, - // {name: "OUTERSECTION", saql: `OUTERSECTION([1, 2, 3], [2, 3, 4], [3, 4, 5])`, wantRebuild: `OUTERSECTION([1, 2, 3], [2, 3, 4], [3, 4, 5])`, wantValue: jsonParse(`[1, 5]`)}, - {name: "POP", saql: `POP([1, 2, 3, 4])`, wantRebuild: `POP([1, 2, 3, 4])`, wantValue: jsonParse(`[1, 2, 3]`)}, - {name: "POP", saql: `POP([1])`, wantRebuild: `POP([1])`, wantValue: jsonParse(`[]`)}, - {name: "POSITION", saql: `POSITION([2,4,6,8], 4)`, wantRebuild: `POSITION([2, 4, 6, 8], 4)`, wantValue: true}, - {name: "POSITION", saql: `POSITION([2,4,6,8], 4, true)`, wantRebuild: `POSITION([2, 4, 6, 8], 4, true)`, wantValue: 1}, - {name: "PUSH", saql: `PUSH([1, 2, 3], 4)`, wantRebuild: `PUSH([1, 2, 3], 4)`, wantValue: jsonParse(`[1, 2, 3, 4]`)}, - {name: "PUSH", saql: `PUSH([1, 2, 2, 3], 2, true)`, wantRebuild: `PUSH([1, 2, 2, 3], 2, true)`, wantValue: jsonParse(`[1, 2, 2, 3]`)}, - {name: "REMOVE_NTH", saql: `REMOVE_NTH(["a", "b", "c", "d", "e"], 1)`, wantRebuild: `REMOVE_NTH(["a", "b", "c", "d", "e"], 1)`, wantValue: jsonParse(`["a", "c", "d", "e"]`)}, - {name: "REMOVE_NTH", saql: `REMOVE_NTH(["a", "b", "c", "d", "e"], -2)`, wantRebuild: `REMOVE_NTH(["a", "b", "c", "d", "e"], -2)`, wantValue: jsonParse(`["a", "b", "c", "e"]`)}, - {name: "REPLACE_NTH", saql: `REPLACE_NTH(["a", "b", "c"], 1 , "z")`, wantRebuild: `REPLACE_NTH(["a", "b", "c"], 1, "z")`, wantValue: jsonParse(`["a", "z", "c"]`)}, - {name: "REPLACE_NTH", saql: `REPLACE_NTH(["a", "b", "c"], 3 , "z")`, wantRebuild: `REPLACE_NTH(["a", "b", "c"], 3, "z")`, wantValue: jsonParse(`["a", "b", "c", "z"]`)}, - {name: "REPLACE_NTH", saql: `REPLACE_NTH(["a", "b", "c"], 6, "z", "y")`, wantRebuild: `REPLACE_NTH(["a", "b", "c"], 6, "z", "y")`, wantValue: jsonParse(`["a", "b", "c", "y", "y", "y", "z"]`)}, - {name: "REPLACE_NTH", saql: `REPLACE_NTH(["a", "b", "c"], -1, "z")`, wantRebuild: `REPLACE_NTH(["a", "b", "c"], -1, "z")`, wantValue: jsonParse(`["a", "b", "z"]`)}, - {name: "REPLACE_NTH", saql: `REPLACE_NTH(["a", "b", "c"], -9, "z")`, wantRebuild: `REPLACE_NTH(["a", "b", "c"], -9, "z")`, wantValue: jsonParse(`["z", "b", "c"]`)}, - {name: "REMOVE_VALUE", saql: `REMOVE_VALUE(["a", "b", "b", "a", "c"], "a")`, wantRebuild: `REMOVE_VALUE(["a", "b", "b", "a", "c"], "a")`, wantValue: jsonParse(`["b", "b", "c"]`)}, - {name: "REMOVE_VALUE", saql: `REMOVE_VALUE(["a", "b", "b", "a", "c"], "a", 1)`, wantRebuild: `REMOVE_VALUE(["a", "b", "b", "a", "c"], "a", 1)`, wantValue: jsonParse(`["b", "b", "a", "c"]`)}, - {name: "REMOVE_VALUES", saql: `REMOVE_VALUES(["a", "a", "b", "c", "d", "e", "f"], ["a", "f", "d"])`, wantRebuild: `REMOVE_VALUES(["a", "a", "b", "c", "d", "e", "f"], ["a", "f", "d"])`, wantValue: jsonParse(`["b", "c", "e"]`)}, - {name: "REVERSE", saql: `REVERSE ([2,4,6,8,10])`, wantRebuild: `REVERSE([2, 4, 6, 8, 10])`, wantValue: jsonParse(`[10, 8, 6, 4, 2]`)}, - {name: "SHIFT", saql: `SHIFT([1, 2, 3, 4])`, wantRebuild: `SHIFT([1, 2, 3, 4])`, wantValue: jsonParse(`[2, 3, 4]`)}, - {name: "SHIFT", saql: `SHIFT([1])`, wantRebuild: `SHIFT([1])`, wantValue: jsonParse(`[]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], 0, 1)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], 0, 1)`, wantValue: jsonParse(`[1]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], 1, 2)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], 1, 2)`, wantValue: jsonParse(`[2, 3]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], 3)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], 3)`, wantValue: jsonParse(`[4, 5]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], 1, -1)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], 1, -1)`, wantValue: jsonParse(`[2, 3, 4]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], 0, -2)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], 0, -2)`, wantValue: jsonParse(`[1, 2, 3]`)}, - {name: "SLICE", saql: `SLICE([1, 2, 3, 4, 5], -3, 2)`, wantRebuild: `SLICE([1, 2, 3, 4, 5], -3, 2)`, wantValue: jsonParse(`[3, 4]`)}, - {name: "SORTED", saql: `SORTED([8,4,2,10,6])`, wantRebuild: `SORTED([8, 4, 2, 10, 6])`, wantValue: jsonParse(`[2, 4, 6, 8, 10]`)}, - {name: "SORTED_UNIQUE", saql: `SORTED_UNIQUE([8,4,2,10,6,2,8,6,4])`, wantRebuild: `SORTED_UNIQUE([8, 4, 2, 10, 6, 2, 8, 6, 4])`, wantValue: jsonParse(`[2, 4, 6, 8, 10]`)}, - {name: "UNION", saql: `UNION([1, 2, 3], [1, 2])`, wantRebuild: `UNION([1, 2, 3], [1, 2])`, wantValue: jsonParse(`[1, 1, 2, 2, 3]`)}, - {name: "UNION_DISTINCT", saql: `UNION_DISTINCT([1, 2, 3], [1, 2])`, wantRebuild: `UNION_DISTINCT([1, 2, 3], [1, 2])`, wantValue: jsonParse(`[1, 2, 3]`)}, - {name: "UNIQUE", saql: `UNIQUE([1,2,2,3,3,3,4,4,4,4,5,5,5,5,5])`, wantRebuild: `UNIQUE([1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5])`, wantValue: jsonParse(`[1, 2, 3, 4, 5]`)}, - {name: "UNSHIFT", saql: `UNSHIFT([1, 2, 3], 4)`, wantRebuild: `UNSHIFT([1, 2, 3], 4)`, wantValue: jsonParse(`[4, 1, 2, 3]`)}, - {name: "UNSHIFT", saql: `UNSHIFT([1, 2, 3], 2, true)`, wantRebuild: `UNSHIFT([1, 2, 3], 2, true)`, wantValue: jsonParse(`[1, 2, 3]`)}, - - // https://www.arangodb.com/docs/3.7/aql/functions-bit.html - // {name: "BIT_CONSTRUCT", saql: `BIT_CONSTRUCT([1, 2, 3])`, wantRebuild: `BIT_CONSTRUCT([1, 2, 3])`, wantValue: 14}, - // {name: "BIT_CONSTRUCT", saql: `BIT_CONSTRUCT([0, 4, 8])`, wantRebuild: `BIT_CONSTRUCT([0, 4, 8])`, wantValue: 273}, - // {name: "BIT_CONSTRUCT", saql: `BIT_CONSTRUCT([0, 1, 10, 31])`, wantRebuild: `BIT_CONSTRUCT([0, 1, 10, 31])`, wantValue: 2147484675}, - // {name: "BIT_DECONSTRUCT", saql: `BIT_DECONSTRUCT(14)`, wantRebuild: `BIT_DECONSTRUCT(14) `, wantValue: []interface{}{1, 2, 3}}, - // {name: "BIT_DECONSTRUCT", saql: `BIT_DECONSTRUCT(273)`, wantRebuild: `BIT_DECONSTRUCT(273)`, wantValue: []interface{}{0, 4, 8}}, - // {name: "BIT_DECONSTRUCT", saql: `BIT_DECONSTRUCT(2147484675)`, wantRebuild: `BIT_DECONSTRUCT(2147484675)`, wantValue: []interface{}{0, 1, 10, 31}}, - // {name: "BIT_FROM_STRING", saql: `BIT_FROM_STRING("0111")`, wantRebuild: `BIT_FROM_STRING("0111")`, wantValue: 7}, - // {name: "BIT_FROM_STRING", saql: `BIT_FROM_STRING("000000000000010")`, wantRebuild: `BIT_FROM_STRING("000000000000010")`, wantValue: 2}, - // {name: "BIT_FROM_STRING", saql: `BIT_FROM_STRING("11010111011101")`, wantRebuild: `BIT_FROM_STRING("11010111011101")`, wantValue: 13789}, - // {name: "BIT_FROM_STRING", saql: `BIT_FROM_STRING("100000000000000000000")`, wantRebuild: `BIT_FROM_STRING("100000000000000000000")`, wantValue: 1048756}, - // {name: "BIT_NEGATE", saql: `BIT_NEGATE(0, 8)`, wantRebuild: `BIT_NEGATE(0, 8)`, wantValue: 255}, - // {name: "BIT_NEGATE", saql: `BIT_NEGATE(0, 10)`, wantRebuild: `BIT_NEGATE(0, 10)`, wantValue: 1023}, - // {name: "BIT_NEGATE", saql: `BIT_NEGATE(3, 4)`, wantRebuild: `BIT_NEGATE(3, 4)`, wantValue: 12}, - // {name: "BIT_NEGATE", saql: `BIT_NEGATE(446359921, 32)`, wantRebuild: `BIT_NEGATE(446359921, 32)`, wantValue: 3848607374}, - // {name: "BIT_OR", saql: `BIT_OR([1, 4, 8, 16])`, wantRebuild: `BIT_OR([1, 4, 8, 16])`, wantValue: 29}, - // {name: "BIT_OR", saql: `BIT_OR([3, 7, 63])`, wantRebuild: `BIT_OR([3, 7, 63])`, wantValue: 63}, - // {name: "BIT_OR", saql: `BIT_OR([255, 127, null, 63])`, wantRebuild: `BIT_OR([255, 127, null, 63])`, wantValue: 255}, - // {name: "BIT_OR", saql: `BIT_OR(255, 127)`, wantRebuild: `BIT_OR(255, 127)`, wantValue: 255}, - // {name: "BIT_OR", saql: `BIT_OR("foo")`, wantRebuild: `BIT_OR("foo")`, wantValue: nil}, - // {name: "BIT_POPCOUNT", saql: `BIT_POPCOUNT(0)`, wantRebuild: `BIT_POPCOUNT(0)`, wantValue: 0}, - // {name: "BIT_POPCOUNT", saql: `BIT_POPCOUNT(255)`, wantRebuild: `BIT_POPCOUNT(255)`, wantValue: 8}, - // {name: "BIT_POPCOUNT", saql: `BIT_POPCOUNT(69399252)`, wantRebuild: `BIT_POPCOUNT(69399252)`, wantValue: 12}, - // {name: "BIT_POPCOUNT", saql: `BIT_POPCOUNT("foo")`, wantRebuild: `BIT_POPCOUNT("foo")`, wantValue: nil}, - // {name: "BIT_SHIFT_LEFT", saql: `BIT_SHIFT_LEFT(0, 1, 8)`, wantRebuild: `BIT_SHIFT_LEFT(0, 1, 8)`, wantValue: 0}, - // {name: "BIT_SHIFT_LEFT", saql: `BIT_SHIFT_LEFT(7, 1, 16)`, wantRebuild: `BIT_SHIFT_LEFT(7, 1, 16)`, wantValue: 14}, - // {name: "BIT_SHIFT_LEFT", saql: `BIT_SHIFT_LEFT(2, 10, 16)`, wantRebuild: `BIT_SHIFT_LEFT(2, 10, 16)`, wantValue: 2048}, - // {name: "BIT_SHIFT_LEFT", saql: `BIT_SHIFT_LEFT(878836, 16, 32)`, wantRebuild: `BIT_SHIFT_LEFT(878836, 16, 32)`, wantValue: 1760821248}, - // {name: "BIT_SHIFT_RIGHT", saql: `BIT_SHIFT_RIGHT(0, 1, 8)`, wantRebuild: `BIT_SHIFT_RIGHT(0, 1, 8)`, wantValue: 0}, - // {name: "BIT_SHIFT_RIGHT", saql: `BIT_SHIFT_RIGHT(33, 1, 16)`, wantRebuild: `BIT_SHIFT_RIGHT(33, 1, 16)`, wantValue: 16}, - // {name: "BIT_SHIFT_RIGHT", saql: `BIT_SHIFT_RIGHT(65536, 13, 16)`, wantRebuild: `BIT_SHIFT_RIGHT(65536, 13, 16)`, wantValue: 8}, - // {name: "BIT_SHIFT_RIGHT", saql: `BIT_SHIFT_RIGHT(878836, 4, 32)`, wantRebuild: `BIT_SHIFT_RIGHT(878836, 4, 32)`, wantValue: 54927}, - // {name: "BIT_TEST", saql: `BIT_TEST(0, 3)`, wantRebuild: `BIT_TEST(0, 3)`, wantValue: false}, - // {name: "BIT_TEST", saql: `BIT_TEST(255, 0)`, wantRebuild: `BIT_TEST(255, 0)`, wantValue: true}, - // {name: "BIT_TEST", saql: `BIT_TEST(7, 2)`, wantRebuild: `BIT_TEST(7, 2)`, wantValue: true}, - // {name: "BIT_TEST", saql: `BIT_TEST(255, 8)`, wantRebuild: `BIT_TEST(255, 8)`, wantValue: false}, - // {name: "BIT_TO_STRING", saql: `BIT_TO_STRING(7, 4)`, wantRebuild: `BIT_TO_STRING(7, 4)`, wantValue: "0111"}, - // {name: "BIT_TO_STRING", saql: `BIT_TO_STRING(255, 8)`, wantRebuild: `BIT_TO_STRING(255, 8)`, wantValue: "11111111"}, - // {name: "BIT_TO_STRING", saql: `BIT_TO_STRING(60, 8)`, wantRebuild: `BIT_TO_STRING(60, 8)`, wantValue: "00011110"}, - // {name: "BIT_TO_STRING", saql: `BIT_TO_STRING(1048576, 32)`, wantRebuild: `BIT_TO_STRING(1048576, 32)`, wantValue: "00000000000100000000000000000000"}, - // {name: "BIT_XOR", saql: `BIT_XOR([1, 4, 8, 16])`, wantRebuild: `BIT_XOR([1, 4, 8, 16])`, wantValue: 29}, - // {name: "BIT_XOR", saql: `BIT_XOR([3, 7, 63])`, wantRebuild: `BIT_XOR([3, 7, 63])`, wantValue: 59}, - // {name: "BIT_XOR", saql: `BIT_XOR([255, 127, null, 63])`, wantRebuild: `BIT_XOR([255, 127, null, 63])`, wantValue: 191}, - // {name: "BIT_XOR", saql: `BIT_XOR(255, 257)`, wantRebuild: `BIT_XOR(255, 257)`, wantValue: 510}, - // {name: "BIT_XOR", saql: `BIT_XOR("foo")`, wantRebuild: `BIT_XOR("foo")`, wantValue: nil}, - - // https://www.arangodb.com/docs/3.7/aql/functions-date.html - // DATE_TIMESTAMP("2014-05-07T14:19:09.522") - // DATE_TIMESTAMP("2014-05-07T14:19:09.522Z") - // DATE_TIMESTAMP("2014-05-07 14:19:09.522") - // DATE_TIMESTAMP("2014-05-07 14:19:09.522Z") - // DATE_TIMESTAMP(2014, 5, 7, 14, 19, 9, 522) - // DATE_TIMESTAMP(1399472349522) - // DATE_ISO8601("2014-05-07T14:19:09.522Z") - // DATE_ISO8601("2014-05-07 14:19:09.522Z") - // DATE_ISO8601(2014, 5, 7, 14, 19, 9, 522) - // DATE_ISO8601(1399472349522) - // {name: "DATE_TIMESTAMP", saql: `DATE_TIMESTAMP(2016, 12, -1)`, wantRebuild: `DATE_TIMESTAMP(2016, 12, -1)`, wantValue: nil}, - // {name: "DATE_TIMESTAMP", saql: `DATE_TIMESTAMP(2016, 2, 32)`, wantRebuild: `DATE_TIMESTAMP(2016, 2, 32)`, wantValue: 1456963200000}, - // {name: "DATE_TIMESTAMP", saql: `DATE_TIMESTAMP(1970, 1, 1, 26)`, wantRebuild: `DATE_TIMESTAMP(1970, 1, 1, 26)`, wantValue: 93600000}, - // {name: "DATE_TRUNC", saql: `DATE_TRUNC('2017-02-03', 'month')`, wantRebuild: `DATE_TRUNC('2017-02-03', 'month')`, wantValue: "2017-02-01T00:00:00.000Z"}, - // {name: "DATE_TRUNC", saql: `DATE_TRUNC('2017-02-03 04:05:06', 'hours')`, wantRebuild: `DATE_TRUNC('2017-02-03 04:05:06', 'hours')`, wantValue: "2017-02-03 04:00:00.000Z"}, - // {name: "DATE_ROUND", saql: `DATE_ROUND('2000-04-28T11:11:11.111Z', 1, 'day')`, wantRebuild: `DATE_ROUND('2000-04-28T11:11:11.111Z', 1, 'day')`, wantValue: "2000-04-28T00:00:00.000Z"}, - // {name: "DATE_ROUND", saql: `DATE_ROUND('2000-04-10T11:39:29Z', 15, 'minutes')`, wantRebuild: `DATE_ROUND('2000-04-10T11:39:29Z', 15, 'minutes')`, wantValue: "2000-04-10T11:30:00.000Z"}, - // {name: "DATE_FORMAT", saql: `DATE_FORMAT(DATE_NOW(), "%q/%yyyy")`, wantRebuild: `DATE_FORMAT(DATE_NOW(), "%q/%yyyy")`}, - // {name: "DATE_FORMAT", saql: `DATE_FORMAT(DATE_NOW(), "%dd.%mm.%yyyy %hh:%ii:%ss,%fff")`, wantRebuild: `DATE_FORMAT(DATE_NOW(), "%dd.%mm.%yyyy %hh:%ii:%ss,%fff")`, wantValue: "18.09.2015 15:30:49,374"}, - // {name: "DATE_FORMAT", saql: `DATE_FORMAT("1969", "Summer of '%yy")`, wantRebuild: `DATE_FORMAT("1969", "Summer of '%yy")`, wantValue: "Summer of '69"}, - // {name: "DATE_FORMAT", saql: `DATE_FORMAT("2016", "%%l = %l")`, wantRebuild: `DATE_FORMAT("2016", "%%l = %l")`, wantValue: "%l = 1"}, - // {name: "DATE_FORMAT", saql: `DATE_FORMAT("2016-03-01", "%xxx%")`, wantRebuild: `DATE_FORMAT("2016-03-01", "%xxx%")`, wantValue: "063, trailing % ignored"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_NOW(), -1, "day")`, wantRebuild: `DATE_ADD(DATE_NOW(), -1, "day")`, wantValue: "yesterday; also see DATE_SUBTRACT()"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_NOW(), 3, "months")`, wantRebuild: `DATE_ADD(DATE_NOW(), 3, "months")`, wantValue: "in three months"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_ADD("2015-04-01", 5, "years"), 1, "month")`, wantRebuild: `DATE_ADD(DATE_ADD("2015-04-01", 5, "years"), 1, "month")`, wantValue: "May 1st 2020"}, - // {name: "DATE_ADD", saql: `DATE_ADD("2015-04-01", 12*5 + 1, "months")`, wantRebuild: `DATE_ADD("2015-04-01", 12*5 + 1, "months")`, wantValue: "also May 1st 2020"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_TIMESTAMP(DATE_YEAR(DATE_NOW()), 12, 24), -4, "years")`, wantRebuild: `DATE_ADD(DATE_TIMESTAMP(DATE_YEAR(DATE_NOW()), 12, 24), -4, "years")`, wantValue: "Christmas four years ago"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_ADD("2016-02", "month", 1), -1, "day")`, wantRebuild: `DATE_ADD(DATE_ADD("2016-02", "month", 1), -1, "day")`, wantValue: "last day of February (29th, because 2016 is a leap year!)"}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_NOW(), "P1Y")`, wantRebuild: `DATE_ADD(DATE_NOW(), "P1Y")`}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_NOW(), "P3M2W")`, wantRebuild: `DATE_ADD(DATE_NOW(), "P3M2W")`}, - // {name: "DATE_ADD", saql: `DATE_ADD(DATE_NOW(), "P5DT26H")`, wantRebuild: `DATE_ADD(DATE_NOW(), "P5DT26H")`}, - // {name: "DATE_ADD", saql: `DATE_ADD("2000-01-01", "PT4H")`, wantRebuild: `DATE_ADD("2000-01-01", "PT4H")`}, - // {name: "DATE_ADD", saql: `DATE_ADD("2000-01-01", "PT30M44.4S"`, wantRebuild: `DATE_ADD("2000-01-01", "PT30M44.4S"`}, - // {name: "DATE_ADD", saql: `DATE_ADD("2000-01-01", "P1Y2M3W4DT5H6M7.89S"`, wantRebuild: `DATE_ADD("2000-01-01", "P1Y2M3W4DT5H6M7.89S"`}, - // {name: "DATE_SUBTRACT", saql: `DATE_SUBTRACT(DATE_NOW(), 1, "day")`, wantRebuild: `DATE_SUBTRACT(DATE_NOW(), 1, "day")`}, - // {name: "DATE_SUBTRACT", saql: `DATE_SUBTRACT(DATE_TIMESTAMP(DATE_YEAR(DATE_NOW()), 12, 24), 4, "years")`, wantRebuild: `DATE_SUBTRACT(DATE_TIMESTAMP(DATE_YEAR(DATE_NOW()), 12, 24), 4, "years")`}, - // {name: "DATE_SUBTRACT", saql: `DATE_SUBTRACT(DATE_ADD("2016-02", "month", 1), 1, "day")`, wantRebuild: `DATE_SUBTRACT(DATE_ADD("2016-02", "month", 1), 1, "day")`}, - // {name: "DATE_SUBTRACT", saql: `DATE_SUBTRACT(DATE_NOW(), "P4D")`, wantRebuild: `DATE_SUBTRACT(DATE_NOW(), "P4D")`}, - // {name: "DATE_SUBTRACT", saql: `DATE_SUBTRACT(DATE_NOW(), "PT1H3M")`, wantRebuild: `DATE_SUBTRACT(DATE_NOW(), "PT1H3M")`}, - // DATE_COMPARE("1985-04-04", DATE_NOW(), "months", "days") - // DATE_COMPARE("1984-02-29", DATE_NOW(), "months", "days") - // DATE_COMPARE("2001-01-01T15:30:45.678Z", "2001-01-01T08:08:08.008Z", "years", "days") - - // https://www.arangodb.com/docs/3.7/aql/functions-document.html - {name: "ATTRIBUTES", saql: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"})`, wantRebuild: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"})`, wantValue: jsonParse(`["_custom", "_key", "foo"]`)}, - {name: "ATTRIBUTES", saql: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"}, true)`, wantRebuild: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"}, true)`, wantValue: jsonParse(`["foo"]`)}, - {name: "ATTRIBUTES", saql: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"}, false, true)`, wantRebuild: `ATTRIBUTES({"foo": "bar", "_key": "123", "_custom": "yes"}, false, true)`, wantValue: jsonParse(`["_custom", "_key", "foo"]`)}, - {name: "HAS", saql: `HAS({name: "Jane"}, "name")`, wantRebuild: `HAS({name: "Jane"}, "name")`, wantValue: true}, - {name: "HAS", saql: `HAS({name: "Jane"}, "age")`, wantRebuild: `HAS({name: "Jane"}, "age")`, wantValue: false}, - {name: "HAS", saql: `HAS({name: null}, "name")`, wantRebuild: `HAS({name: null}, "name")`, wantValue: true}, - // KEEP(doc, "firstname", "name", "likes") - // KEEP(doc, ["firstname", "name", "likes"]) - // MATCHES({name: "jane", age: 27, active: true}, {age: 27, active: true}) - // MATCHES({"test": 1}, [{"test": 1, "foo": "bar"}, {"foo": 1}, {"test": 1}], true) - {name: "MERGE", saql: `MERGE({"user1": {"name": "Jane"}}, {"user2": {"name": "Tom"}})`, wantRebuild: `MERGE({"user1": {"name": "Jane"}}, {"user2": {"name": "Tom"}})`, wantValue: jsonParse(`{"user1": {"name": "Jane"}, "user2": {"name": "Tom"}}`)}, - {name: "MERGE", saql: `MERGE({"users": {"name": "Jane"}}, {"users": {"name": "Tom"}})`, wantRebuild: `MERGE({"users": {"name": "Jane"}}, {"users": {"name": "Tom"}})`, wantValue: jsonParse(`{"users": {"name": "Tom"}}`)}, - {name: "MERGE", saql: `MERGE([{foo: "bar"}, {quux: "quetzalcoatl", ruled: true}, {bar: "baz", foo: "done"}])`, wantRebuild: `MERGE([{foo: "bar"}, {quux: "quetzalcoatl", ruled: true}, {bar: "baz", foo: "done"}])`, wantValue: jsonParse(`{"foo": "done", "quux": "quetzalcoatl", "ruled": true, "bar": "baz"}`)}, - {name: "MERGE_RECURSIVE", saql: `MERGE_RECURSIVE({"user-1": {"name": "Jane", "livesIn": {"city": "LA"}}}, {"user-1": {"age": 42, "livesIn": {"state": "CA"}}})`, wantRebuild: `MERGE_RECURSIVE({"user-1": {"name": "Jane", "livesIn": {"city": "LA"}}}, {"user-1": {"age": 42, "livesIn": {"state": "CA"}}})`, wantValue: jsonParse(`{"user-1": {"name": "Jane", "livesIn": {"city": "LA", "state": "CA"}, "age": 42}}`)}, - // {name: "TRANSLATE", saql: `TRANSLATE("FR", {US: "United States", UK: "United Kingdom", FR: "France"})`, wantRebuild: `TRANSLATE("FR", {US: "United States", UK: "United Kingdom", FR: "France"})`, wantValue: "France"}, - // {name: "TRANSLATE", saql: `TRANSLATE(42, {foo: "bar", bar: "baz"})`, wantRebuild: `TRANSLATE(42, {foo: "bar", bar: "baz"})`, wantValue: 42}, - // {name: "TRANSLATE", saql: `TRANSLATE(42, {foo: "bar", bar: "baz"}, "not found!")`, wantRebuild: `TRANSLATE(42, {foo: "bar", bar: "baz"}, "not found!")`, wantValue: "not found!"}, - // UNSET(doc, "_id", "_key", "foo", "bar") - // UNSET(doc, ["_id", "_key", "foo", "bar"]) - // UNSET_RECURSIVE(doc, "_id", "_key", "foo", "bar") - // UNSET_RECURSIVE(doc, ["_id", "_key", "foo", "bar"]) - {name: "VALUES", saql: `VALUES({"_key": "users/jane", "name": "Jane", "age": 35})`, wantRebuild: `VALUES({"_key": "users/jane", "name": "Jane", "age": 35})`, wantValue: jsonParse(`[35, "Jane", "users/jane"]`)}, - {name: "VALUES", saql: `VALUES({"_key": "users/jane", "name": "Jane", "age": 35}, true)`, wantRebuild: `VALUES({"_key": "users/jane", "name": "Jane", "age": 35}, true)`, wantValue: jsonParse(`[35, "Jane"]`)}, - // {name: "ZIP", saql: `ZIP(["name", "active", "hobbies"], ["some user", true, ["swimming", "riding"]])`, wantRebuild: `ZIP(["name", "active", "hobbies"], ["some user", true, ["swimming", "riding"]])`, wantValue: jsonParse(`{"name": "some user", "active": true, "hobbies": ["swimming", "riding"]}`)}, - - // https://www.arangodb.com/docs/3.7/aql/functions-numeric.html - {name: "ABS", saql: `ABS(-5)`, wantRebuild: `ABS(-5)`, wantValue: 5}, - {name: "ABS", saql: `ABS(+5)`, wantRebuild: `ABS(5)`, wantValue: 5}, - {name: "ABS", saql: `ABS(3.5)`, wantRebuild: `ABS(3.5)`, wantValue: 3.5}, - {name: "ACOS", saql: `ACOS(-1)`, wantRebuild: `ACOS(-1)`, wantValue: 3.141592653589793}, - {name: "ACOS", saql: `ACOS(0)`, wantRebuild: `ACOS(0)`, wantValue: 1.5707963267948966}, - {name: "ACOS", saql: `ACOS(1)`, wantRebuild: `ACOS(1)`, wantValue: 0}, - {name: "ACOS", saql: `ACOS(2)`, wantRebuild: `ACOS(2)`, wantValue: nil}, - {name: "ASIN", saql: `ASIN(1)`, wantRebuild: `ASIN(1)`, wantValue: 1.5707963267948966}, - {name: "ASIN", saql: `ASIN(0)`, wantRebuild: `ASIN(0)`, wantValue: 0}, - {name: "ASIN", saql: `ASIN(-1)`, wantRebuild: `ASIN(-1)`, wantValue: -1.5707963267948966}, - {name: "ASIN", saql: `ASIN(2)`, wantRebuild: `ASIN(2)`, wantValue: nil}, - {name: "ATAN", saql: `ATAN(-1)`, wantRebuild: `ATAN(-1)`, wantValue: -0.7853981633974483}, - {name: "ATAN", saql: `ATAN(0)`, wantRebuild: `ATAN(0)`, wantValue: 0}, - {name: "ATAN", saql: `ATAN(10)`, wantRebuild: `ATAN(10)`, wantValue: 1.4711276743037347}, - {name: "AVERAGE", saql: `AVERAGE([5, 2, 9, 2])`, wantRebuild: `AVERAGE([5, 2, 9, 2])`, wantValue: 4.5}, - {name: "AVERAGE", saql: `AVERAGE([-3, -5, 2])`, wantRebuild: `AVERAGE([-3, -5, 2])`, wantValue: -2}, - {name: "AVERAGE", saql: `AVERAGE([999, 80, 4, 4, 4, 3, 3, 3])`, wantRebuild: `AVERAGE([999, 80, 4, 4, 4, 3, 3, 3])`, wantValue: 137.5}, - {name: "CEIL", saql: `CEIL(2.49)`, wantRebuild: `CEIL(2.49)`, wantValue: 3}, - {name: "CEIL", saql: `CEIL(2.50)`, wantRebuild: `CEIL(2.50)`, wantValue: 3}, - {name: "CEIL", saql: `CEIL(-2.50)`, wantRebuild: `CEIL(-2.50)`, wantValue: -2}, - {name: "CEIL", saql: `CEIL(-2.51)`, wantRebuild: `CEIL(-2.51)`, wantValue: -2}, - {name: "COS", saql: `COS(1)`, wantRebuild: `COS(1)`, wantValue: 0.5403023058681398}, - {name: "COS", saql: `COS(0)`, wantRebuild: `COS(0)`, wantValue: 1}, - {name: "COS", saql: `COS(-3.141592653589783)`, wantRebuild: `COS(-3.141592653589783)`, wantValue: -1}, - {name: "COS", saql: `COS(RADIANS(45))`, wantRebuild: `COS(RADIANS(45))`, wantValue: 0.7071067811865476}, - {name: "DEGREES", saql: `DEGREES(0.7853981633974483)`, wantRebuild: `DEGREES(0.7853981633974483)`, wantValue: 45}, - {name: "DEGREES", saql: `DEGREES(0)`, wantRebuild: `DEGREES(0)`, wantValue: 0}, - {name: "DEGREES", saql: `DEGREES(3.141592653589793)`, wantRebuild: `DEGREES(3.141592653589793)`, wantValue: 180}, - {name: "EXP", saql: `EXP(1)`, wantRebuild: `EXP(1)`, wantValue: 2.718281828459045}, - {name: "EXP", saql: `EXP(10)`, wantRebuild: `EXP(10)`, wantValue: 22026.46579480671}, - {name: "EXP", saql: `EXP(0)`, wantRebuild: `EXP(0)`, wantValue: 1}, - {name: "EXP2", saql: `EXP2(16)`, wantRebuild: `EXP2(16)`, wantValue: 65536}, - {name: "EXP2", saql: `EXP2(1)`, wantRebuild: `EXP2(1)`, wantValue: 2}, - {name: "EXP2", saql: `EXP2(0)`, wantRebuild: `EXP2(0)`, wantValue: 1}, - {name: "FLOOR", saql: `FLOOR(2.49)`, wantRebuild: `FLOOR(2.49)`, wantValue: 2}, - {name: "FLOOR", saql: `FLOOR(2.50)`, wantRebuild: `FLOOR(2.50)`, wantValue: 2}, - {name: "FLOOR", saql: `FLOOR(-2.50)`, wantRebuild: `FLOOR(-2.50)`, wantValue: -3}, - {name: "FLOOR", saql: `FLOOR(-2.51)`, wantRebuild: `FLOOR(-2.51)`, wantValue: -3}, - {name: "LOG", saql: `LOG(2.718281828459045)`, wantRebuild: `LOG(2.718281828459045)`, wantValue: 1}, - {name: "LOG", saql: `LOG(10)`, wantRebuild: `LOG(10)`, wantValue: 2.302585092994046}, - {name: "LOG", saql: `LOG(0)`, wantRebuild: `LOG(0)`, wantValue: nil}, - {name: "LOG2", saql: `LOG2(1024)`, wantRebuild: `LOG2(1024)`, wantValue: 10}, - {name: "LOG2", saql: `LOG2(8)`, wantRebuild: `LOG2(8)`, wantValue: 3}, - {name: "LOG2", saql: `LOG2(0)`, wantRebuild: `LOG2(0)`, wantValue: nil}, - {name: "LOG10", saql: `LOG10(10000)`, wantRebuild: `LOG10(10000)`, wantValue: 4}, - {name: "LOG10", saql: `LOG10(10)`, wantRebuild: `LOG10(10)`, wantValue: 1}, - {name: "LOG10", saql: `LOG10(0)`, wantRebuild: `LOG10(0)`, wantValue: nil}, - {name: "MAX", saql: `MAX([5, 9, -2, null, 1])`, wantRebuild: `MAX([5, 9, -2, null, 1])`, wantValue: 9}, - {name: "MAX", saql: `MAX([null, null])`, wantRebuild: `MAX([null, null])`, wantValue: nil}, - {name: "MEDIAN", saql: `MEDIAN([1, 2, 3])`, wantRebuild: `MEDIAN([1, 2, 3])`, wantValue: 2}, - {name: "MEDIAN", saql: `MEDIAN([1, 2, 3, 4])`, wantRebuild: `MEDIAN([1, 2, 3, 4])`, wantValue: 2.5}, - {name: "MEDIAN", saql: `MEDIAN([4, 2, 3, 1])`, wantRebuild: `MEDIAN([4, 2, 3, 1])`, wantValue: 2.5}, - {name: "MEDIAN", saql: `MEDIAN([999, 80, 4, 4, 4, 3, 3, 3])`, wantRebuild: `MEDIAN([999, 80, 4, 4, 4, 3, 3, 3])`, wantValue: 4}, - {name: "MIN", saql: `MIN([5, 9, -2, null, 1])`, wantRebuild: `MIN([5, 9, -2, null, 1])`, wantValue: -2}, - {name: "MIN", saql: `MIN([null, null])`, wantRebuild: `MIN([null, null])`, wantValue: nil}, - // {name: "PERCENTILE", saql: `PERCENTILE([1, 2, 3, 4], 50)`, wantRebuild: `PERCENTILE([1, 2, 3, 4], 50)`, wantValue: 2}, - // {name: "PERCENTILE", saql: `PERCENTILE([1, 2, 3, 4], 50, "rank")`, wantRebuild: `PERCENTILE([1, 2, 3, 4], 50, "rank")`, wantValue: 2}, - // {name: "PERCENTILE", saql: `PERCENTILE([1, 2, 3, 4], 50, "interpolation")`, wantRebuild: `PERCENTILE([1, 2, 3, 4], 50, "interpolation")`, wantValue: 2.5}, - {name: "PI", saql: `PI()`, wantRebuild: `PI()`, wantValue: 3.141592653589793}, - {name: "POW", saql: `POW(2, 4)`, wantRebuild: `POW(2, 4)`, wantValue: 16}, - {name: "POW", saql: `POW(5, -1)`, wantRebuild: `POW(5, -1)`, wantValue: 0.2}, - {name: "POW", saql: `POW(5, 0)`, wantRebuild: `POW(5, 0)`, wantValue: 1}, - {name: "PRODUCT", saql: `PRODUCT([1, 2, 3, 4])`, wantRebuild: `PRODUCT([1, 2, 3, 4])`, wantValue: 24}, - {name: "PRODUCT", saql: `PRODUCT([null, -5, 6])`, wantRebuild: `PRODUCT([null, -5, 6])`, wantValue: -30}, - {name: "PRODUCT", saql: `PRODUCT([])`, wantRebuild: `PRODUCT([])`, wantValue: 1}, - {name: "RADIANS", saql: `RADIANS(180)`, wantRebuild: `RADIANS(180)`, wantValue: 3.141592653589793}, - {name: "RADIANS", saql: `RADIANS(90)`, wantRebuild: `RADIANS(90)`, wantValue: 1.5707963267948966}, - {name: "RADIANS", saql: `RADIANS(0)`, wantRebuild: `RADIANS(0)`, wantValue: 0}, - // {name: "RAND", saql: `RAND()`, wantRebuild: `RAND()`, wantValue: 0.3503170117504508}, - // {name: "RAND", saql: `RAND()`, wantRebuild: `RAND()`, wantValue: 0.6138226173882478}, - {name: "RANGE", saql: `RANGE(1, 4)`, wantRebuild: `RANGE(1, 4)`, wantValue: []any{float64(1), float64(2), float64(3), float64(4)}}, - {name: "RANGE", saql: `RANGE(1, 4, 2)`, wantRebuild: `RANGE(1, 4, 2)`, wantValue: []any{float64(1), float64(3)}}, - {name: "RANGE", saql: `RANGE(1, 4, 3)`, wantRebuild: `RANGE(1, 4, 3)`, wantValue: []any{float64(1), float64(4)}}, - {name: "RANGE", saql: `RANGE(1.5, 2.5)`, wantRebuild: `RANGE(1.5, 2.5)`, wantValue: []any{float64(1), float64(2)}}, - {name: "RANGE", saql: `RANGE(1.5, 2.5, 1)`, wantRebuild: `RANGE(1.5, 2.5, 1)`, wantValue: []any{1.5, 2.5}}, - {name: "RANGE", saql: `RANGE(1.5, 2.5, 0.5)`, wantRebuild: `RANGE(1.5, 2.5, 0.5)`, wantValue: []any{1.5, 2.0, 2.5}}, - {name: "RANGE", saql: `RANGE(-0.75, 1.1, 0.5)`, wantRebuild: `RANGE(-0.75, 1.1, 0.5)`, wantValue: []any{-0.75, -0.25, 0.25, 0.75}}, - {name: "ROUND", saql: `ROUND(2.49)`, wantRebuild: `ROUND(2.49)`, wantValue: 2}, - {name: "ROUND", saql: `ROUND(2.50)`, wantRebuild: `ROUND(2.50)`, wantValue: 3}, - {name: "ROUND", saql: `ROUND(-2.50)`, wantRebuild: `ROUND(-2.50)`, wantValue: -2}, - {name: "ROUND", saql: `ROUND(-2.51)`, wantRebuild: `ROUND(-2.51)`, wantValue: -3}, - {name: "SQRT", saql: `SQRT(9)`, wantRebuild: `SQRT(9)`, wantValue: 3}, - {name: "SQRT", saql: `SQRT(2)`, wantRebuild: `SQRT(2)`, wantValue: 1.4142135623730951}, - {name: "POW", saql: `POW(4096, 1/4)`, wantRebuild: `POW(4096, 1 / 4)`, wantValue: 8}, - {name: "POW", saql: `POW(27, 1/3)`, wantRebuild: `POW(27, 1 / 3)`, wantValue: 3}, - {name: "POW", saql: `POW(9, 1/2)`, wantRebuild: `POW(9, 1 / 2)`, wantValue: 3}, - // {name: "STDDEV_POPULATION", saql: `STDDEV_POPULATION([1, 3, 6, 5, 2])`, wantRebuild: `STDDEV_POPULATION([1, 3, 6, 5, 2])`, wantValue: 1.854723699099141}, - // {name: "STDDEV_SAMPLE", saql: `STDDEV_SAMPLE([1, 3, 6, 5, 2])`, wantRebuild: `STDDEV_SAMPLE([1, 3, 6, 5, 2])`, wantValue: 2.0736441353327724}, - {name: "SUM", saql: `SUM([1, 2, 3, 4])`, wantRebuild: `SUM([1, 2, 3, 4])`, wantValue: 10}, - {name: "SUM", saql: `SUM([null, -5, 6])`, wantRebuild: `SUM([null, -5, 6])`, wantValue: 1}, - {name: "SUM", saql: `SUM([])`, wantRebuild: `SUM([])`, wantValue: 0}, - {name: "TAN", saql: `TAN(10)`, wantRebuild: `TAN(10)`, wantValue: 0.6483608274590866}, - {name: "TAN", saql: `TAN(5)`, wantRebuild: `TAN(5)`, wantValue: -3.380515006246586}, - {name: "TAN", saql: `TAN(0)`, wantRebuild: `TAN(0)`, wantValue: 0}, - // {name: "VARIANCE_POPULATION", saql: `VARIANCE_POPULATION([1, 3, 6, 5, 2])`, wantRebuild: `VARIANCE_POPULATION([1, 3, 6, 5, 2])`, wantValue: 3.4400000000000004}, - // {name: "VARIANCE_SAMPLE", saql: `VARIANCE_SAMPLE([1, 3, 6, 5, 2])`, wantRebuild: `VARIANCE_SAMPLE([1, 3, 6, 5, 2])`, wantValue: 4.300000000000001}, - - // Errors - {name: "Function Error 1", saql: "UNKNOWN(value)", wantRebuild: "UNKNOWN(value)", wantRebuildErr: true, wantEvalErr: true, values: `{"value": true}`}, - {name: "Function Error 2", saql: "ABS(value, value2)", wantRebuild: "ABS(value, value2)", wantEvalErr: true, values: `{"value": true, "value2": false}`}, - {name: "Function Error 3", saql: `ABS("abs")`, wantRebuild: `ABS("abs")`, wantEvalErr: true}, - } - for _, tt := range tests { - tt := tt - - parser := &caql.Parser{} - - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - expr, err := parser.Parse(tt.saql) - if (err != nil) != tt.wantParseErr { - t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantParseErr) - if expr != nil { - t.Error(expr.String()) - } - - return - } - if err != nil { - return - } - - got, err := expr.String() - if (err != nil) != tt.wantRebuildErr { - t.Error(expr.String()) - t.Errorf("String() error = %v, wantErr %v", err, tt.wantParseErr) - - return - } - if err != nil { - return - } - if got != tt.wantRebuild { - t.Errorf("String() got = %v, want %v", got, tt.wantRebuild) - } - - var myJSON map[string]any - if tt.values != "" { - err = json.Unmarshal([]byte(tt.values), &myJSON) - if err != nil { - t.Fatal(err) - } - } - - value, err := expr.Eval(myJSON) - if (err != nil) != tt.wantEvalErr { - t.Error(expr.String()) - t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantParseErr) - - return - } - if err != nil { - return - } - - wantValue := tt.wantValue - if i, ok := wantValue.(int); ok { - wantValue = float64(i) - } - - valueFloat, ok := value.(float64) - wantValueFloat, ok2 := wantValue.(float64) - if ok && ok2 { - if math.Abs(valueFloat-wantValueFloat) > 0.0001 { - t.Error(expr.String()) - t.Errorf("Eval() got = %T %#v, want %T %#v", value, value, wantValue, wantValue) - } - } else { - if !reflect.DeepEqual(value, wantValue) { - t.Error(expr.String()) - t.Errorf("Eval() got = %T %#v, want %T %#v", value, value, wantValue, wantValue) - } - } - }) - } -} - -func jsonParse(s string) any { - if s == "" { - return nil - } - var j any - err := json.Unmarshal([]byte(s), &j) - if err != nil { - panic(s + err.Error()) - } - - return j -} diff --git a/caql/interpreter.go b/caql/interpreter.go deleted file mode 100644 index 73749c0..0000000 --- a/caql/interpreter.go +++ /dev/null @@ -1,351 +0,0 @@ -package caql - -import ( - "fmt" - "strconv" - "strings" - - "github.com/SecurityBrewery/catalyst/generated/caql/parser" -) - -type aqlInterpreter struct { - *parser.BaseCAQLParserListener - values map[string]any - stack []any - errs []error -} - -// push is a helper function for pushing new node to the listener Stack. -func (s *aqlInterpreter) push(i any) { - s.stack = append(s.stack, i) -} - -// pop is a helper function for poping a node from the listener Stack. -func (s *aqlInterpreter) pop() (n any) { - // Check that we have nodes in the stack. - size := len(s.stack) - if size < 1 { - s.appendErrors(ErrStack) - - return - } - - // Pop the last value from the Stack. - n, s.stack = s.stack[size-1], s.stack[:size-1] - - return -} - -func (s *aqlInterpreter) binaryPop() (any, any) { - right, left := s.pop(), s.pop() - - return left, right -} - -// ExitExpression is called when production expression is exited. -func (s *aqlInterpreter) ExitExpression(ctx *parser.ExpressionContext) { - switch { - case ctx.Value_literal() != nil: - // pass - case ctx.Reference() != nil: - // pass - case ctx.Operator_unary() != nil: - // pass - - case ctx.T_PLUS() != nil: - s.push(plus(s.binaryPop())) - case ctx.T_MINUS() != nil: - s.push(minus(s.binaryPop())) - case ctx.T_TIMES() != nil: - s.push(times(s.binaryPop())) - case ctx.T_DIV() != nil: - s.push(div(s.binaryPop())) - case ctx.T_MOD() != nil: - s.push(mod(s.binaryPop())) - case ctx.T_RANGE() != nil: - s.push(aqlrange(s.binaryPop())) - case ctx.T_LT() != nil && ctx.GetEq_op() == nil: - s.push(lt(s.binaryPop())) - case ctx.T_GT() != nil && ctx.GetEq_op() == nil: - s.push(gt(s.binaryPop())) - case ctx.T_LE() != nil && ctx.GetEq_op() == nil: - s.push(le(s.binaryPop())) - case ctx.T_GE() != nil && ctx.GetEq_op() == nil: - s.push(ge(s.binaryPop())) - case ctx.T_IN() != nil && ctx.GetEq_op() == nil: - s.push(maybeNot(ctx, in(s.binaryPop()))) - case ctx.T_EQ() != nil && ctx.GetEq_op() == nil: - s.push(eq(s.binaryPop())) - case ctx.T_NE() != nil && ctx.GetEq_op() == nil: - s.push(ne(s.binaryPop())) - case ctx.T_ALL() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(all(left.([]any), getOp(ctx.GetEq_op().GetTokenType()), right)) - case ctx.T_ANY() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(anyElement(left.([]any), getOp(ctx.GetEq_op().GetTokenType()), right)) - case ctx.T_NONE() != nil && ctx.GetEq_op() != nil: - right, left := s.pop(), s.pop() - s.push(none(left.([]any), getOp(ctx.GetEq_op().GetTokenType()), right)) - case ctx.T_ALL() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(all(left.([]any), in, right)) - case ctx.T_ANY() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(anyElement(left.([]any), in, right)) - case ctx.T_NONE() != nil && ctx.T_NOT() != nil && ctx.T_IN() != nil: - right, left := s.pop(), s.pop() - s.push(none(left.([]any), in, right)) - case ctx.T_LIKE() != nil: - m, err := like(s.binaryPop()) - s.appendErrors(err) - s.push(maybeNot(ctx, m)) - case ctx.T_REGEX_MATCH() != nil: - m, err := regexMatch(s.binaryPop()) - s.appendErrors(err) - s.push(maybeNot(ctx, m)) - case ctx.T_REGEX_NON_MATCH() != nil: - m, err := regexNonMatch(s.binaryPop()) - s.appendErrors(err) - s.push(maybeNot(ctx, m)) - case ctx.T_AND() != nil: - s.push(and(s.binaryPop())) - case ctx.T_OR() != nil: - s.push(or(s.binaryPop())) - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 3: - right, middle, left := s.pop(), s.pop(), s.pop() - s.push(ternary(left, middle, right)) - case ctx.T_QUESTION() != nil && len(ctx.AllExpression()) == 2: - right, left := s.pop(), s.pop() - s.push(ternary(left, nil, right)) - default: - panic("unknown expression") - } -} - -func (s *aqlInterpreter) appendErrors(err error) { - if err != nil { - s.errs = append(s.errs, err) - } -} - -// ExitOperator_unary is called when production operator_unary is exited. -func (s *aqlInterpreter) ExitOperator_unary(ctx *parser.Operator_unaryContext) { - value := s.pop() - switch { - case ctx.T_PLUS() != nil: - s.push(value.(float64)) - case ctx.T_MINUS() != nil: - s.push(-value.(float64)) - case ctx.T_NOT() != nil: - s.push(!toBool(value)) - default: - panic(fmt.Sprintf("unexpected operation: %s", ctx.GetText())) - } -} - -// ExitReference is called when production reference is exited. -func (s *aqlInterpreter) ExitReference(ctx *parser.ReferenceContext) { - switch { - case ctx.DOT() != nil: - reference := s.pop() - - s.push(reference.(map[string]any)[ctx.T_STRING().GetText()]) - case ctx.T_STRING() != nil: - s.push(s.getVar(ctx.T_STRING().GetText())) - case ctx.Compound_value() != nil: - // pass - case ctx.Function_call() != nil: - // pass - case ctx.T_OPEN() != nil: - // pass - case ctx.T_ARRAY_OPEN() != nil: - key := s.pop() - reference := s.pop() - - if f, ok := key.(float64); ok { - index := int(f) - if index < 0 { - index = len(reference.([]any)) + index - } - - s.push(reference.([]any)[index]) - - return - } - - s.push(reference.(map[string]any)[key.(string)]) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitCompound_value is called when production compound_value is exited. -func (s *aqlInterpreter) ExitCompound_value(_ *parser.Compound_valueContext) { - // pass -} - -// ExitFunction_call is called when production function_call is exited. -func (s *aqlInterpreter) ExitFunction_call(ctx *parser.Function_callContext) { - s.function(ctx) -} - -// ExitValue_literal is called when production value_literal is exited. -func (s *aqlInterpreter) ExitValue_literal(ctx *parser.Value_literalContext) { - switch { - case ctx.T_QUOTED_STRING() != nil: - st, err := unquote(ctx.GetText()) - s.appendErrors(err) - s.push(st) - case ctx.T_INT() != nil: - t := ctx.GetText() - - switch { - case strings.HasPrefix(strings.ToLower(t), "0b"): - i64, err := strconv.ParseInt(t[2:], 2, 64) - s.appendErrors(err) - s.push(float64(i64)) - case strings.HasPrefix(strings.ToLower(t), "0x"): - i64, err := strconv.ParseInt(t[2:], 16, 64) - s.appendErrors(err) - s.push(float64(i64)) - default: - i, err := strconv.Atoi(t) - s.appendErrors(err) - s.push(float64(i)) - } - case ctx.T_FLOAT() != nil: - i, err := strconv.ParseFloat(ctx.GetText(), 64) - s.appendErrors(err) - s.push(i) - case ctx.T_NULL() != nil: - s.push(nil) - case ctx.T_TRUE() != nil: - s.push(true) - case ctx.T_FALSE() != nil: - s.push(false) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitArray is called when production array is exited. -func (s *aqlInterpreter) ExitArray(ctx *parser.ArrayContext) { - array := []any{} - for range ctx.AllExpression() { - // prepend element - array = append([]any{s.pop()}, array...) - } - s.push(array) -} - -// ExitObject is called when production object is exited. -func (s *aqlInterpreter) ExitObject(ctx *parser.ObjectContext) { - object := map[string]any{} - for range ctx.AllObject_element() { - key, value := s.pop(), s.pop() - - object[key.(string)] = value - } - s.push(object) -} - -// ExitObject_element is called when production object_element is exited. -func (s *aqlInterpreter) ExitObject_element(ctx *parser.Object_elementContext) { - switch { - case ctx.T_STRING() != nil: - s.push(ctx.GetText()) - s.push(s.getVar(ctx.GetText())) - case ctx.Object_element_name() != nil, ctx.T_ARRAY_OPEN() != nil: - key, value := s.pop(), s.pop() - - s.push(key) - s.push(value) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -// ExitObject_element_name is called when production object_element_name is exited. -func (s *aqlInterpreter) ExitObject_element_name(ctx *parser.Object_element_nameContext) { - switch { - case ctx.T_STRING() != nil: - s.push(ctx.T_STRING().GetText()) - case ctx.T_QUOTED_STRING() != nil: - st, err := unquote(ctx.T_QUOTED_STRING().GetText()) - if err != nil { - s.appendErrors(fmt.Errorf("%w: %s", err, ctx.GetText())) - } - s.push(st) - default: - panic(fmt.Sprintf("unexpected value: %s", ctx.GetText())) - } -} - -func (s *aqlInterpreter) getVar(identifier string) any { - v, ok := s.values[identifier] - if !ok { - s.appendErrors(ErrUndefined) - } - - return v -} - -func maybeNot(ctx *parser.ExpressionContext, m bool) bool { - if ctx.T_NOT() != nil { - return !m - } - - return m -} - -func getOp(tokenType int) func(left, right any) bool { - switch tokenType { - case parser.CAQLLexerT_EQ: - return eq - case parser.CAQLLexerT_NE: - return ne - case parser.CAQLLexerT_LT: - return lt - case parser.CAQLLexerT_GT: - return gt - case parser.CAQLLexerT_LE: - return le - case parser.CAQLLexerT_GE: - return ge - case parser.CAQLLexerT_IN: - return in - default: - panic("unknown token type") - } -} - -func all(slice []any, op func(any, any) bool, expr any) bool { - for _, e := range slice { - if !op(e, expr) { - return false - } - } - - return true -} - -func anyElement(slice []any, op func(any, any) bool, expr any) bool { - for _, e := range slice { - if op(e, expr) { - return true - } - } - - return false -} - -func none(slice []any, op func(any, any) bool, expr any) bool { - for _, e := range slice { - if op(e, expr) { - return false - } - } - - return true -} diff --git a/caql/operations.go b/caql/operations.go deleted file mode 100644 index 552cb92..0000000 --- a/caql/operations.go +++ /dev/null @@ -1,520 +0,0 @@ -package caql - -import ( - "math" - "regexp" - "sort" - "strconv" - "strings" -) - -// Logical operators https://www.arangodb.com/docs/3.7/aql/operators.html#logical-operators - -func or(left, right any) any { - if toBool(left) { - return left - } - - return right -} - -func and(left, right any) any { - if !toBool(left) { - return left - } - - return right -} - -func toBool(i any) bool { - switch v := i.(type) { - case nil: - return false - case bool: - return v - case int: - return v != 0 - case float64: - return v != 0 - case string: - return v != "" - case []any: - return true - case map[string]any: - return true - default: - panic("bool conversion failed") - } -} - -// Arithmetic operators https://www.arangodb.com/docs/3.7/aql/operators.html#arithmetic-operators - -func plus(left, right any) float64 { - return toNumber(left) + toNumber(right) -} - -func minus(left, right any) float64 { - return toNumber(left) - toNumber(right) -} - -func times(left, right any) float64 { - return round(toNumber(left) * toNumber(right)) -} - -func round(r float64) float64 { - return math.Round(r*100000) / 100000 -} - -func div(left, right any) float64 { - b := toNumber(right) - if b == 0 { - return 0 - } - - return round(toNumber(left) / b) -} - -func mod(left, right any) float64 { - return math.Mod(toNumber(left), toNumber(right)) -} - -func toNumber(i any) float64 { - switch v := i.(type) { - case nil: - return 0 - case bool: - if v { - return 1 - } - - return 0 - case float64: - switch { - case math.IsNaN(v): - return 0 - case math.IsInf(v, 0): - return 0 - } - - return v - case string: - f, err := strconv.ParseFloat(strings.TrimSpace(v), 64) - if err != nil { - return 0 - } - - return f - case []any: - if len(v) == 0 { - return 0 - } - if len(v) == 1 { - return toNumber(v[0]) - } - - return 0 - case map[string]any: - return 0 - default: - panic("number conversion error") - } -} - -// Logical operators https://www.arangodb.com/docs/3.7/aql/operators.html#logical-operators -// Order https://www.arangodb.com/docs/3.7/aql/fundamentals-type-value-order.html - -func eq(left, right any) bool { - leftV, rightV := typeValue(left), typeValue(right) - if leftV != rightV { - return false - } - switch l := left.(type) { - case nil: - return true - case bool, float64, string: - return left == right - case []any: - ra := right.([]any) - max := len(l) - if len(ra) > max { - max = len(ra) - } - for i := 0; i < max; i++ { - var li any - var rai any - if len(l) > i { - li = l[i] - } - if len(ra) > i { - rai = ra[i] - } - - if !eq(li, rai) { - return false - } - } - - return true - case map[string]any: - ro := right.(map[string]any) - - for _, key := range keys(l, ro) { - var li any - var rai any - if lv, ok := l[key]; ok { - li = lv - } - if rv, ok := ro[key]; ok { - rai = rv - } - - if !eq(li, rai) { - return false - } - } - - return true - default: - panic("unknown type") - } -} - -func ne(left, right any) bool { - return !eq(left, right) -} - -func lt(left, right any) bool { - leftV, rightV := typeValue(left), typeValue(right) - if leftV != rightV { - return leftV < rightV - } - switch l := left.(type) { - case nil: - return false - case bool: - return toNumber(l) < toNumber(right) - case int: - return l < right.(int) - case float64: - return l < right.(float64) - case string: - return l < right.(string) - case []any: - ra := right.([]any) - max := len(l) - if len(ra) > max { - max = len(ra) - } - for i := 0; i < max; i++ { - var li any - var rai any - if len(l) > i { - li = l[i] - } - if len(ra) > i { - rai = ra[i] - } - - if !eq(li, rai) { - return lt(li, rai) - } - } - - return false - case map[string]any: - ro := right.(map[string]any) - - for _, key := range keys(l, ro) { - var li any - var rai any - if lv, ok := l[key]; ok { - li = lv - } - if rv, ok := ro[key]; ok { - rai = rv - } - - if !eq(li, rai) { - return lt(li, rai) - } - } - - return false - default: - panic("unknown type") - } -} - -func keys(l map[string]any, ro map[string]any) []string { - var keys []string - seen := map[string]bool{} - for _, a := range []map[string]any{l, ro} { - for k := range a { - if _, ok := seen[k]; !ok { - seen[k] = true - keys = append(keys, k) - } - } - } - sort.Strings(keys) - - return keys -} - -func gt(left, right any) bool { - leftV, rightV := typeValue(left), typeValue(right) - if leftV != rightV { - return leftV > rightV - } - switch l := left.(type) { - case nil: - return false - case bool: - return toNumber(l) > toNumber(right) - case int: - return l > right.(int) - case float64: - return l > right.(float64) - case string: - return l > right.(string) - case []any: - ra := right.([]any) - max := len(l) - if len(ra) > max { - max = len(ra) - } - for i := 0; i < max; i++ { - var li any - var rai any - if len(l) > i { - li = l[i] - } - if len(ra) > i { - rai = ra[i] - } - - if !eq(li, rai) { - return gt(li, rai) - } - } - - return false - case map[string]any: - ro := right.(map[string]any) - - for _, key := range keys(l, ro) { - var li any - var rai any - if lv, ok := l[key]; ok { - li = lv - } - if rv, ok := ro[key]; ok { - rai = rv - } - - if !eq(li, rai) { - return gt(li, rai) - } - } - - return false - default: - panic("unknown type") - } -} - -func le(left, right any) bool { - leftV, rightV := typeValue(left), typeValue(right) - if leftV != rightV { - return leftV <= rightV - } - switch l := left.(type) { - case nil: - return false - case bool: - return toNumber(l) <= toNumber(right) - case int: - return l <= right.(int) - case float64: - return l <= right.(float64) - case string: - return l <= right.(string) - case []any: - ra := right.([]any) - max := len(l) - if len(ra) > max { - max = len(ra) - } - for i := 0; i < max; i++ { - var li any - var rai any - if len(l) > i { - li = l[i] - } - if len(ra) > i { - rai = ra[i] - } - - if !eq(li, rai) { - return le(li, rai) - } - } - - return true - case map[string]any: - ro := right.(map[string]any) - - for _, key := range keys(l, ro) { - var li any - var rai any - if lv, ok := l[key]; ok { - li = lv - } - if rv, ok := ro[key]; ok { - rai = rv - } - - if !eq(li, rai) { - return lt(li, rai) - } - } - - return true - default: - panic("unknown type") - } -} - -func ge(left, right any) bool { - leftV, rightV := typeValue(left), typeValue(right) - if leftV != rightV { - return leftV >= rightV - } - switch l := left.(type) { - case nil: - return false - case bool: - return toNumber(l) >= toNumber(right) - case int: - return l >= right.(int) - case float64: - return l >= right.(float64) - case string: - return l >= right.(string) - case []any: - ra := right.([]any) - max := len(l) - if len(ra) > max { - max = len(ra) - } - for i := 0; i < max; i++ { - var li any - var rai any - if len(l) > i { - li = l[i] - } - if len(ra) > i { - rai = ra[i] - } - - if !eq(li, rai) { - return ge(li, rai) - } - } - - return true - case map[string]any: - ro := right.(map[string]any) - - for _, key := range keys(l, ro) { - var li any - var rai any - if lv, ok := l[key]; ok { - li = lv - } - if rv, ok := ro[key]; ok { - rai = rv - } - - if !eq(li, rai) { - return gt(li, rai) - } - } - - return true - default: - panic("unknown type") - } -} - -func in(left, right any) bool { - a, ok := right.([]any) - if !ok { - return false - } - for _, v := range a { - if left == v { - return true - } - } - - return false -} - -func like(left, right any) (bool, error) { - return match(right.(string), left.(string)) -} - -func regexMatch(left, right any) (bool, error) { - return regexp.Match(right.(string), []byte(left.(string))) -} - -func regexNonMatch(left, right any) (bool, error) { - m, err := regexp.Match(right.(string), []byte(left.(string))) - - return !m, err -} - -func typeValue(v any) int { - switch v.(type) { - case nil: - return 0 - case bool: - return 1 - case float64, int: - return 2 - case string: - return 3 - case []any: - return 4 - case map[string]any: - return 5 - default: - panic("unknown type") - } -} - -// Ternary operator https://www.arangodb.com/docs/3.7/aql/operators.html#ternary-operator - -func ternary(left, middle, right any) any { - if toBool(left) { - if middle != nil { - return middle - } - - return left - } - - return right -} - -// Range operators https://www.arangodb.com/docs/3.7/aql/operators.html#range-operator - -func aqlrange(left, right any) []float64 { - var v []float64 - for i := int(left.(float64)); i <= int(right.(float64)); i++ { - v = append(v, float64(i)) - } - - return v -} diff --git a/caql/parser.go b/caql/parser.go deleted file mode 100644 index a2ec209..0000000 --- a/caql/parser.go +++ /dev/null @@ -1,121 +0,0 @@ -package caql - -import ( - "errors" - "fmt" - "strconv" - - "github.com/antlr/antlr4/runtime/Go/antlr" - - "github.com/SecurityBrewery/catalyst/generated/caql/parser" -) - -type Parser struct { - Searcher Searcher - Prefix string -} - -func (p *Parser) Parse(aql string) (t *Tree, err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("%s", r) - } - }() - // Set up the input - inputStream := antlr.NewInputStream(aql) - - errorListener := &errorListener{} - - // Create the Lexer - lexer := parser.NewCAQLLexer(inputStream) - lexer.RemoveErrorListeners() - lexer.AddErrorListener(errorListener) - stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel) - - // Create the Parser - aqlParser := parser.NewCAQLParser(stream) - - aqlParser.RemoveErrorListeners() - aqlParser.AddErrorListener(errorListener) - aqlParser.SetErrorHandler(antlr.NewBailErrorStrategy()) - if errorListener.errs != nil { - err = errorListener.errs[0] - } - - return &Tree{aqlParser: aqlParser, parseContext: aqlParser.Parse(), searcher: p.Searcher, prefix: p.Prefix}, err -} - -type Tree struct { - parseContext parser.IParseContext - aqlParser *parser.CAQLParser - searcher Searcher - prefix string -} - -func (t *Tree) Eval(values map[string]any) (i any, err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("%s", r) - } - }() - interpreter := aqlInterpreter{values: values} - - antlr.ParseTreeWalkerDefault.Walk(&interpreter, t.parseContext) - - if interpreter.errs != nil { - return nil, interpreter.errs[0] - } - - return interpreter.stack[0], nil -} - -func (t *Tree) String() (s string, err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("%s", r) - } - }() - builder := aqlBuilder{searcher: t.searcher, prefix: t.prefix} - - antlr.ParseTreeWalkerDefault.Walk(&builder, t.parseContext) - - return builder.stack[0], err -} - -func (t *Tree) BleveString() (s string, err error) { - defer func() { - if r := recover(); r != nil { - err = fmt.Errorf("%s", r) - } - }() - builder := bleveBuilder{} - - antlr.ParseTreeWalkerDefault.Walk(&builder, t.parseContext) - - if builder.err != nil { - return "", builder.err - } - - return builder.stack[0], err -} - -type errorListener struct { - *antlr.DefaultErrorListener - errs []error -} - -func (el *errorListener) SyntaxError(_ antlr.Recognizer, _ any, line, column int, msg string, _ antlr.RecognitionException) { - el.errs = append(el.errs, fmt.Errorf("line "+strconv.Itoa(line)+":"+strconv.Itoa(column)+" "+msg)) -} - -func (el *errorListener) ReportAmbiguity(_ antlr.Parser, _ *antlr.DFA, _, _ int, _ bool, _ *antlr.BitSet, _ antlr.ATNConfigSet) { - el.errs = append(el.errs, errors.New("ReportAmbiguity")) -} - -func (el *errorListener) ReportAttemptingFullContext(_ antlr.Parser, _ *antlr.DFA, _, _ int, _ *antlr.BitSet, _ antlr.ATNConfigSet) { - el.errs = append(el.errs, errors.New("ReportAttemptingFullContext")) -} - -func (el *errorListener) ReportContextSensitivity(_ antlr.Parser, _ *antlr.DFA, _, _, _ int, _ antlr.ATNConfigSet) { - el.errs = append(el.errs, errors.New("ReportContextSensitivity")) -} diff --git a/caql/rql_test.go b/caql/rql_test.go deleted file mode 100644 index 61a9cce..0000000 --- a/caql/rql_test.go +++ /dev/null @@ -1,362 +0,0 @@ -package caql_test - -import ( - "encoding/json" - "reflect" - "testing" - - "github.com/SecurityBrewery/catalyst/caql" -) - -type MockSearcher struct{} - -func (m MockSearcher) Search(_ string) (ids []string, err error) { - return []string{"1", "2", "3"}, nil -} - -func TestParseSAQLEval(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - saql string - wantRebuild string - wantValue any - wantParseErr bool - wantRebuildErr bool - wantEvalErr bool - values string - }{ - // Custom - {name: "Compare 1", saql: "1 <= 2", wantRebuild: "1 <= 2", wantValue: true}, - {name: "Compare 2", saql: "1 >= 2", wantRebuild: "1 >= 2", wantValue: false}, - {name: "Compare 3", saql: "1 == 2", wantRebuild: "1 == 2", wantValue: false}, - {name: "Compare 4", saql: "1 > 2", wantRebuild: "1 > 2", wantValue: false}, - {name: "Compare 5", saql: "1 < 2", wantRebuild: "1 < 2", wantValue: true}, - {name: "Compare 6", saql: "1 != 2", wantRebuild: "1 != 2", wantValue: true}, - - {name: "SymbolRef 1", saql: "name", wantRebuild: "name", wantValue: false, values: `{"name": false}`}, - {name: "SymbolRef 2", saql: "d.name", wantRebuild: "d.name", wantValue: false, values: `{"d": {"name": false}}`}, - {name: "SymbolRef 3", saql: "name == false", wantRebuild: "name == false", wantValue: true, values: `{"name": false}`}, - {name: "SymbolRef Error 1", saql: "name, title", wantParseErr: true}, - {name: "SymbolRef Error 2", saql: "unknown", wantRebuild: "unknown", wantValue: false, wantEvalErr: true, values: `{}`}, - - {name: "Misc 1", saql: `active == true && age < 39`, wantRebuild: `active == true AND age < 39`, wantValue: true, values: `{"active": true, "age": 2}`}, - {name: "Misc 2", saql: `(attr == 10) AND foo == 'bar' OR NOT baz`, wantRebuild: `(attr == 10) AND foo == "bar" OR NOT baz`, wantValue: false, values: `{"attr": 2, "foo": "bar", "baz": true}`}, - {name: "Misc 3", saql: `attr == 10 AND (foo == 'bar' OR foo == 'baz')`, wantRebuild: `attr == 10 AND (foo == "bar" OR foo == "baz")`, wantValue: false, values: `{"attr": 2, "foo": "bar", "baz": true}`}, - {name: "Misc 4", saql: `5 > 1 AND "a" != "b"`, wantRebuild: `5 > 1 AND "a" != "b"`, wantValue: true}, - - {name: "LIKE 1", saql: `"foo" LIKE "%f%"`, wantRebuild: `"foo" LIKE "%f%"`, wantValue: true}, - {name: "LIKE 2", saql: `"foo" NOT LIKE "%f%"`, wantRebuild: `"foo" NOT LIKE "%f%"`, wantValue: false}, - {name: "LIKE 3", saql: `NOT "foo" LIKE "%f%"`, wantRebuild: `NOT "foo" LIKE "%f%"`, wantValue: false}, - - {name: "Summand 1", saql: "1 + 2", wantRebuild: "1 + 2", wantValue: 3}, - {name: "Summand 2", saql: "1 - 2", wantRebuild: "1 - 2", wantValue: -1}, - - {name: "Factor 1", saql: "1 * 2", wantRebuild: "1 * 2", wantValue: 2}, - {name: "Factor 2", saql: "1 / 2", wantRebuild: "1 / 2", wantValue: 0.5}, - {name: "Factor 3", saql: "1.0 / 2.0", wantRebuild: "1.0 / 2.0", wantValue: 0.5}, - {name: "Factor 4", saql: "1 % 2", wantRebuild: "1 % 2", wantValue: 1}, - - {name: "Term 1", saql: "(1 + 2) * 2", wantRebuild: "(1 + 2) * 2", wantValue: 6}, - {name: "Term 2", saql: "2 * (1 + 2)", wantRebuild: "2 * (1 + 2)", wantValue: 6}, - - // https://www.arangodb.com/docs/3.7/aql/fundamentals-data-types.html - {name: "Null 1", saql: `null`, wantRebuild: "null"}, - {name: "Bool 1", saql: `true`, wantRebuild: "true", wantValue: true}, - {name: "Bool 2", saql: `false`, wantRebuild: "false", wantValue: false}, - {name: "Numeric 1", saql: "1", wantRebuild: "1", wantValue: 1}, - {name: "Numeric 2", saql: "+1", wantRebuild: "1", wantValue: 1}, - {name: "Numeric 3", saql: "42", wantRebuild: "42", wantValue: 42}, - {name: "Numeric 4", saql: "-1", wantRebuild: "-1", wantValue: -1}, - {name: "Numeric 5", saql: "-42", wantRebuild: "-42", wantValue: -42}, - {name: "Numeric 6", saql: "1.23", wantRebuild: "1.23", wantValue: 1.23}, - {name: "Numeric 7", saql: "-99.99", wantRebuild: "-99.99", wantValue: -99.99}, - {name: "Numeric 8", saql: "0.5", wantRebuild: "0.5", wantValue: 0.5}, - {name: "Numeric 9", saql: ".5", wantRebuild: ".5", wantValue: 0.5}, - {name: "Numeric 10", saql: "-4.87e103", wantRebuild: "-4.87e103", wantValue: -4.87e+103}, - {name: "Numeric 11", saql: "0b10", wantRebuild: "0b10", wantValue: 2}, - {name: "Numeric 12", saql: "0x10", wantRebuild: "0x10", wantValue: 16}, - {name: "Numeric Error 1", saql: "1.", wantParseErr: true}, - {name: "Numeric Error 2", saql: "01.23", wantParseErr: true}, - {name: "Numeric Error 3", saql: "00.23", wantParseErr: true}, - {name: "Numeric Error 4", saql: "00", wantParseErr: true}, - - // {name: "String 1", saql: `"yikes!"`, wantRebuild: `"yikes!"`, wantValue: "yikes!"}, - // {name: "String 2", saql: `"don't know"`, wantRebuild: `"don't know"`, wantValue: "don't know"}, - // {name: "String 3", saql: `"this is a \"quoted\" word"`, wantRebuild: `"this is a \"quoted\" word"`, wantValue: "this is a \"quoted\" word"}, - // {name: "String 4", saql: `"this is a longer string."`, wantRebuild: `"this is a longer string."`, wantValue: "this is a longer string."}, - // {name: "String 5", saql: `"the path separator on Windows is \\"`, wantRebuild: `"the path separator on Windows is \\"`, wantValue: "the path separator on Windows is \\"}, - // {name: "String 6", saql: `'yikes!'`, wantRebuild: `"yikes!"`, wantValue: "yikes!"}, - // {name: "String 7", saql: `'don\'t know'`, wantRebuild: `"don't know"`, wantValue: "don't know"}, - // {name: "String 8", saql: `'this is a "quoted" word'`, wantRebuild: `"this is a \"quoted\" word"`, wantValue: "this is a \"quoted\" word"}, - // {name: "String 9", saql: `'this is a longer string.'`, wantRebuild: `"this is a longer string."`, wantValue: "this is a longer string."}, - // {name: "String 10", saql: `'the path separator on Windows is \\'`, wantRebuild: `"the path separator on Windows is \\"`, wantValue: `the path separator on Windows is \`}, - - {name: "Array 1", saql: "[]", wantRebuild: "[]", wantValue: []any{}}, - {name: "Array 2", saql: `[true]`, wantRebuild: `[true]`, wantValue: []any{true}}, - {name: "Array 3", saql: `[1, 2, 3]`, wantRebuild: `[1, 2, 3]`, wantValue: []any{float64(1), float64(2), float64(3)}}, - { - name: "Array 4", saql: `[-99, "yikes!", [false, ["no"], []], 1]`, wantRebuild: `[-99, "yikes!", [false, ["no"], []], 1]`, - wantValue: []any{-99.0, "yikes!", []any{false, []any{"no"}, []any{}}, float64(1)}, - }, - {name: "Array 5", saql: `[["fox", "marshal"]]`, wantRebuild: `[["fox", "marshal"]]`, wantValue: []any{[]any{"fox", "marshal"}}}, - {name: "Array 6", saql: `[1, 2, 3,]`, wantRebuild: `[1, 2, 3]`, wantValue: []any{float64(1), float64(2), float64(3)}}, - - {name: "Array Error 1", saql: "(1,2,3)", wantParseErr: true}, - {name: "Array Access 1", saql: "u.friends[0]", wantRebuild: "u.friends[0]", wantValue: 7, values: `{"u": {"friends": [7,8,9]}}`}, - {name: "Array Access 2", saql: "u.friends[2]", wantRebuild: "u.friends[2]", wantValue: 9, values: `{"u": {"friends": [7,8,9]}}`}, - {name: "Array Access 3", saql: "u.friends[-1]", wantRebuild: "u.friends[-1]", wantValue: 9, values: `{"u": {"friends": [7,8,9]}}`}, - {name: "Array Access 4", saql: "u.friends[-2]", wantRebuild: "u.friends[-2]", wantValue: 8, values: `{"u": {"friends": [7,8,9]}}`}, - - {name: "Object 1", saql: "{}", wantRebuild: "{}", wantValue: map[string]any{}}, - {name: "Object 2", saql: `{a: 1}`, wantRebuild: "{a: 1}", wantValue: map[string]any{"a": float64(1)}}, - {name: "Object 3", saql: `{'a': 1}`, wantRebuild: `{'a': 1}`, wantValue: map[string]any{"a": float64(1)}}, - {name: "Object 4", saql: `{"a": 1}`, wantRebuild: `{"a": 1}`, wantValue: map[string]any{"a": float64(1)}}, - {name: "Object 5", saql: `{'return': 1}`, wantRebuild: `{'return': 1}`, wantValue: map[string]any{"return": float64(1)}}, - {name: "Object 6", saql: `{"return": 1}`, wantRebuild: `{"return": 1}`, wantValue: map[string]any{"return": float64(1)}}, - {name: "Object 9", saql: `{a: 1,}`, wantRebuild: "{a: 1}", wantValue: map[string]any{"a": float64(1)}}, - {name: "Object 10", saql: `{"a": 1,}`, wantRebuild: `{"a": 1}`, wantValue: map[string]any{"a": float64(1)}}, - // {"Object 8", "{`return`: 1}", `{"return": 1}`, true}, - // {"Object 7", "{´return´: 1}", `{"return": 1}`, true}, - {name: "Object Error 1: return is a keyword", saql: `{like: 1}`, wantParseErr: true}, - - {name: "Object Access 1", saql: "u.address.city.name", wantRebuild: "u.address.city.name", wantValue: "Munich", values: `{"u": {"address": {"city": {"name": "Munich"}}}}`}, - {name: "Object Access 2", saql: "u.friends[0].name.first", wantRebuild: "u.friends[0].name.first", wantValue: "Kevin", values: `{"u": {"friends": [{"name": {"first": "Kevin"}}]}}`}, - {name: "Object Access 3", saql: `u["address"]["city"]["name"]`, wantRebuild: `u["address"]["city"]["name"]`, wantValue: "Munich", values: `{"u": {"address": {"city": {"name": "Munich"}}}}`}, - {name: "Object Access 4", saql: `u["friends"][0]["name"]["first"]`, wantRebuild: `u["friends"][0]["name"]["first"]`, wantValue: "Kevin", values: `{"u": {"friends": [{"name": {"first": "Kevin"}}]}}`}, - {name: "Object Access 5", saql: "u._key", wantRebuild: "u._key", wantValue: false, values: `{"u": {"_key": false}}`}, - - // This query language does not support binds - // https://www.arangodb.com/docs/3.7/aql/fundamentals-bind-parameters.html - // {name: "Bind 1", saql: "u.id == @id && u.name == @name", wantRebuild: `u.id == @id AND u.name == @name`, wantValue: true}, - // {name: "Bind 2", saql: "u.id == CONCAT('prefix', @id, 'suffix') && u.name == @name", wantRebuild: `u.id == CONCAT('prefix', @id, 'suffix') AND u.name == @name`, wantValue: false}, - // {name: "Bind 3", saql: "doc.@attr.@subattr", wantRebuild: `doc.@attr.@subattr`, wantValue: true, values: `{"doc": {"@attr": {"@subattr": true}}}`}, - // {name: "Bind 4", saql: "doc[@attr][@subattr]", wantRebuild: `doc[@attr][@subattr]`, wantValue: true, values: `{"doc": {"@attr": {"@subattr": true}}}`}, - - // https://www.arangodb.com/docs/3.7/aql/fundamentals-type-value-order.html - {name: "Compare 7", saql: `null < false`, wantRebuild: `null < false`, wantValue: true}, - {name: "Compare 8", saql: `null < true`, wantRebuild: `null < true`, wantValue: true}, - {name: "Compare 9", saql: `null < 1`, wantRebuild: `null < 1`, wantValue: true}, - {name: "Compare 10", saql: `null < ''`, wantRebuild: `null < ""`, wantValue: true}, - {name: "Compare 11", saql: `null < ' '`, wantRebuild: `null < " "`, wantValue: true}, - {name: "Compare 12", saql: `null < '3'`, wantRebuild: `null < "3"`, wantValue: true}, - {name: "Compare 13", saql: `null < 'abc'`, wantRebuild: `null < "abc"`, wantValue: true}, - {name: "Compare 14", saql: `null < []`, wantRebuild: `null < []`, wantValue: true}, - {name: "Compare 15", saql: `null < {}`, wantRebuild: `null < {}`, wantValue: true}, - {name: "Compare 16", saql: `false < true`, wantRebuild: `false < true`, wantValue: true}, - {name: "Compare 17", saql: `false < 5`, wantRebuild: `false < 5`, wantValue: true}, - {name: "Compare 18", saql: `false < ''`, wantRebuild: `false < ""`, wantValue: true}, - {name: "Compare 19", saql: `false < ' '`, wantRebuild: `false < " "`, wantValue: true}, - {name: "Compare 20", saql: `false < '7'`, wantRebuild: `false < "7"`, wantValue: true}, - {name: "Compare 21", saql: `false < 'abc'`, wantRebuild: `false < "abc"`, wantValue: true}, - {name: "Compare 22", saql: `false < []`, wantRebuild: `false < []`, wantValue: true}, - {name: "Compare 23", saql: `false < {}`, wantRebuild: `false < {}`, wantValue: true}, - {name: "Compare 24", saql: `true < 9`, wantRebuild: `true < 9`, wantValue: true}, - {name: "Compare 25", saql: `true < ''`, wantRebuild: `true < ""`, wantValue: true}, - {name: "Compare 26", saql: `true < ' '`, wantRebuild: `true < " "`, wantValue: true}, - {name: "Compare 27", saql: `true < '11'`, wantRebuild: `true < "11"`, wantValue: true}, - {name: "Compare 28", saql: `true < 'abc'`, wantRebuild: `true < "abc"`, wantValue: true}, - {name: "Compare 29", saql: `true < []`, wantRebuild: `true < []`, wantValue: true}, - {name: "Compare 30", saql: `true < {}`, wantRebuild: `true < {}`, wantValue: true}, - {name: "Compare 31", saql: `13 < ''`, wantRebuild: `13 < ""`, wantValue: true}, - {name: "Compare 32", saql: `15 < ' '`, wantRebuild: `15 < " "`, wantValue: true}, - {name: "Compare 33", saql: `17 < '18'`, wantRebuild: `17 < "18"`, wantValue: true}, - {name: "Compare 34", saql: `21 < 'abc'`, wantRebuild: `21 < "abc"`, wantValue: true}, - {name: "Compare 35", saql: `23 < []`, wantRebuild: `23 < []`, wantValue: true}, - {name: "Compare 36", saql: `25 < {}`, wantRebuild: `25 < {}`, wantValue: true}, - {name: "Compare 37", saql: `'' < ' '`, wantRebuild: `"" < " "`, wantValue: true}, - {name: "Compare 38", saql: `'' < '27'`, wantRebuild: `"" < "27"`, wantValue: true}, - {name: "Compare 39", saql: `'' < 'abc'`, wantRebuild: `"" < "abc"`, wantValue: true}, - {name: "Compare 40", saql: `'' < []`, wantRebuild: `"" < []`, wantValue: true}, - {name: "Compare 41", saql: `'' < {}`, wantRebuild: `"" < {}`, wantValue: true}, - {name: "Compare 42", saql: `[] < {}`, wantRebuild: `[] < {}`, wantValue: true}, - {name: "Compare 43", saql: `[] < [29]`, wantRebuild: `[] < [29]`, wantValue: true}, - {name: "Compare 44", saql: `[1] < [2]`, wantRebuild: `[1] < [2]`, wantValue: true}, - {name: "Compare 45", saql: `[1, 2] < [2]`, wantRebuild: `[1, 2] < [2]`, wantValue: true}, - {name: "Compare 46", saql: `[99, 99] < [100]`, wantRebuild: `[99, 99] < [100]`, wantValue: true}, - {name: "Compare 47", saql: `[false] < [true]`, wantRebuild: `[false] < [true]`, wantValue: true}, - {name: "Compare 48", saql: `[false, 1] < [false, '']`, wantRebuild: `[false, 1] < [false, ""]`, wantValue: true}, - {name: "Compare 49", saql: `{} < {"a": 1}`, wantRebuild: `{} < {"a": 1}`, wantValue: true}, - {name: "Compare 50", saql: `{} == {"a": null}`, wantRebuild: `{} == {"a": null}`, wantValue: true}, - {name: "Compare 51", saql: `{"a": 1} < {"a": 2}`, wantRebuild: `{"a": 1} < {"a": 2}`, wantValue: true}, - {name: "Compare 52", saql: `{"b": 1} < {"a": 0}`, wantRebuild: `{"b": 1} < {"a": 0}`, wantValue: true}, - {name: "Compare 53", saql: `{"a": {"c": true}} < {"a": {"c": 0}}`, wantRebuild: `{"a": {"c": true}} < {"a": {"c": 0}}`, wantValue: true}, - {name: "Compare 54", saql: `{"a": {"c": true, "a": 0}} < {"a": {"c": false, "a": 1}}`, wantRebuild: `{"a": {"c": true, "a": 0}} < {"a": {"c": false, "a": 1}}`, wantValue: true}, - {name: "Compare 55", saql: `{"a": 1, "b": 2} == {"b": 2, "a": 1}`, wantRebuild: `{"a": 1, "b": 2} == {"b": 2, "a": 1}`, wantValue: true}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html - {name: "Compare 56", saql: `0 == null`, wantRebuild: `0 == null`, wantValue: false}, - {name: "Compare 57", saql: `1 > 0`, wantRebuild: `1 > 0`, wantValue: true}, - {name: "Compare 58", saql: `true != null`, wantRebuild: `true != null`, wantValue: true}, - {name: "Compare 59", saql: `45 <= "yikes!"`, wantRebuild: `45 <= "yikes!"`, wantValue: true}, - {name: "Compare 60", saql: `65 != "65"`, wantRebuild: `65 != "65"`, wantValue: true}, - {name: "Compare 61", saql: `65 == 65`, wantRebuild: `65 == 65`, wantValue: true}, - {name: "Compare 62", saql: `1.23 > 1.32`, wantRebuild: `1.23 > 1.32`, wantValue: false}, - {name: "Compare 63", saql: `1.5 IN [2, 3, 1.5]`, wantRebuild: `1.5 IN [2, 3, 1.5]`, wantValue: true}, - {name: "Compare 64", saql: `"foo" IN null`, wantRebuild: `"foo" IN null`, wantValue: false}, - {name: "Compare 65", saql: `42 NOT IN [17, 40, 50]`, wantRebuild: `42 NOT IN [17, 40, 50]`, wantValue: true}, - {name: "Compare 66", saql: `"abc" == "abc"`, wantRebuild: `"abc" == "abc"`, wantValue: true}, - {name: "Compare 67", saql: `"abc" == "ABC"`, wantRebuild: `"abc" == "ABC"`, wantValue: false}, - {name: "Compare 68", saql: `"foo" LIKE "f%"`, wantRebuild: `"foo" LIKE "f%"`, wantValue: true}, - {name: "Compare 69", saql: `"foo" NOT LIKE "f%"`, wantRebuild: `"foo" NOT LIKE "f%"`, wantValue: false}, - {name: "Compare 70", saql: `"foo" =~ "^f[o].$"`, wantRebuild: `"foo" =~ "^f[o].$"`, wantValue: true}, - {name: "Compare 71", saql: `"foo" !~ "[a-z]+bar$"`, wantRebuild: `"foo" !~ "[a-z]+bar$"`, wantValue: true}, - - {name: "Compare 72", saql: `"abc" LIKE "a%"`, wantRebuild: `"abc" LIKE "a%"`, wantValue: true}, - {name: "Compare 73", saql: `"abc" LIKE "_bc"`, wantRebuild: `"abc" LIKE "_bc"`, wantValue: true}, - {name: "Compare 74", saql: `"a_b_foo" LIKE "a\\_b\\_foo"`, wantRebuild: `"a_b_foo" LIKE "a\\_b\\_foo"`, wantValue: true}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html#array-comparison-operators - {name: "Compare Array 1", saql: `[1, 2, 3] ALL IN [2, 3, 4]`, wantRebuild: `[1, 2, 3] ALL IN [2, 3, 4]`, wantValue: false}, - {name: "Compare Array 2", saql: `[1, 2, 3] ALL IN [1, 2, 3]`, wantRebuild: `[1, 2, 3] ALL IN [1, 2, 3]`, wantValue: true}, - {name: "Compare Array 3", saql: `[1, 2, 3] NONE IN [3]`, wantRebuild: `[1, 2, 3] NONE IN [3]`, wantValue: false}, - {name: "Compare Array 4", saql: `[1, 2, 3] NONE IN [23, 42]`, wantRebuild: `[1, 2, 3] NONE IN [23, 42]`, wantValue: true}, - {name: "Compare Array 5", saql: `[1, 2, 3] ANY IN [4, 5, 6]`, wantRebuild: `[1, 2, 3] ANY IN [4, 5, 6]`, wantValue: false}, - {name: "Compare Array 6", saql: `[1, 2, 3] ANY IN [1, 42]`, wantRebuild: `[1, 2, 3] ANY IN [1, 42]`, wantValue: true}, - {name: "Compare Array 7", saql: `[1, 2, 3] ANY == 2`, wantRebuild: `[1, 2, 3] ANY == 2`, wantValue: true}, - {name: "Compare Array 8", saql: `[1, 2, 3] ANY == 4`, wantRebuild: `[1, 2, 3] ANY == 4`, wantValue: false}, - {name: "Compare Array 9", saql: `[1, 2, 3] ANY > 0`, wantRebuild: `[1, 2, 3] ANY > 0`, wantValue: true}, - {name: "Compare Array 10", saql: `[1, 2, 3] ANY <= 1`, wantRebuild: `[1, 2, 3] ANY <= 1`, wantValue: true}, - {name: "Compare Array 11", saql: `[1, 2, 3] NONE < 99`, wantRebuild: `[1, 2, 3] NONE < 99`, wantValue: false}, - {name: "Compare Array 12", saql: `[1, 2, 3] NONE > 10`, wantRebuild: `[1, 2, 3] NONE > 10`, wantValue: true}, - {name: "Compare Array 13", saql: `[1, 2, 3] ALL > 2`, wantRebuild: `[1, 2, 3] ALL > 2`, wantValue: false}, - {name: "Compare Array 14", saql: `[1, 2, 3] ALL > 0`, wantRebuild: `[1, 2, 3] ALL > 0`, wantValue: true}, - {name: "Compare Array 15", saql: `[1, 2, 3] ALL >= 3`, wantRebuild: `[1, 2, 3] ALL >= 3`, wantValue: false}, - {name: "Compare Array 16", saql: `["foo", "bar"] ALL != "moo"`, wantRebuild: `["foo", "bar"] ALL != "moo"`, wantValue: true}, - {name: "Compare Array 17", saql: `["foo", "bar"] NONE == "bar"`, wantRebuild: `["foo", "bar"] NONE == "bar"`, wantValue: false}, - {name: "Compare Array 18", saql: `["foo", "bar"] ANY == "foo"`, wantRebuild: `["foo", "bar"] ANY == "foo"`, wantValue: true}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html#logical-operators - {name: "Logical 1", saql: "active == true OR age < 39", wantRebuild: "active == true OR age < 39", wantValue: true, values: `{"active": true, "age": 4}`}, - {name: "Logical 2", saql: "active == true || age < 39", wantRebuild: "active == true OR age < 39", wantValue: true, values: `{"active": true, "age": 4}`}, - {name: "Logical 3", saql: "active == true AND age < 39", wantRebuild: "active == true AND age < 39", wantValue: true, values: `{"active": true, "age": 4}`}, - {name: "Logical 4", saql: "active == true && age < 39", wantRebuild: "active == true AND age < 39", wantValue: true, values: `{"active": true, "age": 4}`}, - {name: "Logical 5", saql: "!active", wantRebuild: "NOT active", wantValue: false, values: `{"active": true}`}, - {name: "Logical 6", saql: "NOT active", wantRebuild: "NOT active", wantValue: false, values: `{"active": true}`}, - {name: "Logical 7", saql: "not active", wantRebuild: "NOT active", wantValue: false, values: `{"active": true}`}, - {name: "Logical 8", saql: "NOT NOT active", wantRebuild: "NOT NOT active", wantValue: true, values: `{"active": true}`}, - - {name: "Logical 9", saql: `u.age > 15 && u.address.city != ""`, wantRebuild: `u.age > 15 AND u.address.city != ""`, wantValue: false, values: `{"u": {"age": 2, "address": {"city": "Munich"}}}`}, - {name: "Logical 10", saql: `true || false`, wantRebuild: `true OR false`, wantValue: true}, - {name: "Logical 11", saql: `NOT u.isInvalid`, wantRebuild: `NOT u.isInvalid`, wantValue: false, values: `{"u": {"isInvalid": true}}`}, - {name: "Logical 12", saql: `1 || ! 0`, wantRebuild: `1 OR NOT 0`, wantValue: 1}, - - {name: "Logical 13", saql: `25 > 1 && 42 != 7`, wantRebuild: `25 > 1 AND 42 != 7`, wantValue: true}, - {name: "Logical 14", saql: `22 IN [23, 42] || 23 NOT IN [22, 7]`, wantRebuild: `22 IN [23, 42] OR 23 NOT IN [22, 7]`, wantValue: true}, - {name: "Logical 15", saql: `25 != 25`, wantRebuild: `25 != 25`, wantValue: false}, - - {name: "Logical 16", saql: `1 || 7`, wantRebuild: `1 OR 7`, wantValue: 1}, - // {name: "Logical 17", saql: `null || "foo"`, wantRebuild: `null OR "foo"`, wantValue: "foo"}, - {name: "Logical 17", saql: `null || "foo"`, wantRebuild: `null OR d._key IN ["1","2","3"]`, wantValue: "foo", values: `{"d": {"_key": "1"}}`}, // eval != rebuild - {name: "Logical 18", saql: `null && true`, wantRebuild: `null AND true`, wantValue: nil}, - {name: "Logical 19", saql: `true && 23`, wantRebuild: `true AND 23`, wantValue: 23}, - - {name: "Logical 20", saql: "true == (6 < 8)", wantRebuild: "true == (6 < 8)", wantValue: true}, - {name: "Logical 21", saql: "true == 6 < 8", wantRebuild: "true == 6 < 8", wantValue: true}, // does not work in go - - // https://www.arangodb.com/docs/3.7/aql/operators.html#arithmetic-operators - {name: "Arithmetic 1", saql: `1 + 1`, wantRebuild: `1 + 1`, wantValue: 2}, - {name: "Arithmetic 2", saql: `33 - 99`, wantRebuild: `33 - 99`, wantValue: -66}, - {name: "Arithmetic 3", saql: `12.4 * 4.5`, wantRebuild: `12.4 * 4.5`, wantValue: 55.8}, - {name: "Arithmetic 4", saql: `13.0 / 0.1`, wantRebuild: `13.0 / 0.1`, wantValue: 130.0}, - {name: "Arithmetic 5", saql: `23 % 7`, wantRebuild: `23 % 7`, wantValue: 2}, - {name: "Arithmetic 6", saql: `-15`, wantRebuild: `-15`, wantValue: -15}, - {name: "Arithmetic 7", saql: `+9.99`, wantRebuild: `9.99`, wantValue: 9.99}, - - {name: "Arithmetic 8", saql: `1 + "a"`, wantRebuild: `1 + "a"`, wantValue: 1}, - {name: "Arithmetic 9", saql: `1 + "99"`, wantRebuild: `1 + "99"`, wantValue: 100}, - {name: "Arithmetic 10", saql: `1 + null`, wantRebuild: `1 + null`, wantValue: 1}, - {name: "Arithmetic 11", saql: `null + 1`, wantRebuild: `null + 1`, wantValue: 1}, - {name: "Arithmetic 12", saql: `3 + []`, wantRebuild: `3 + []`, wantValue: 3}, - {name: "Arithmetic 13", saql: `24 + [2]`, wantRebuild: `24 + [2]`, wantValue: 26}, - {name: "Arithmetic 14", saql: `24 + [2, 4]`, wantRebuild: `24 + [2, 4]`, wantValue: 24}, - {name: "Arithmetic 15", saql: `25 - null`, wantRebuild: `25 - null`, wantValue: 25}, - {name: "Arithmetic 16", saql: `17 - true`, wantRebuild: `17 - true`, wantValue: 16}, - {name: "Arithmetic 17", saql: `23 * {}`, wantRebuild: `23 * {}`, wantValue: 0}, - {name: "Arithmetic 18", saql: `5 * [7]`, wantRebuild: `5 * [7]`, wantValue: 35}, - {name: "Arithmetic 19", saql: `24 / "12"`, wantRebuild: `24 / "12"`, wantValue: 2}, - {name: "Arithmetic Error 1: Division by zero", saql: `1 / 0`, wantRebuild: `1 / 0`, wantValue: 0}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html#ternary-operator - {name: "Ternary 1", saql: `u.age > 15 || u.active == true ? u.userId : null`, wantRebuild: `u.age > 15 OR u.active == true ? u.userId : null`, wantValue: 45, values: `{"u": {"active": true, "age": 2, "userId": 45}}`}, - {name: "Ternary 2", saql: `u.value ? : 'value is null, 0 or not present'`, wantRebuild: `u.value ? : "value is null, 0 or not present"`, wantValue: "value is null, 0 or not present", values: `{"u": {"value": 0}}`}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html#range-operator - {name: "Range 1", saql: `2010..2013`, wantRebuild: `2010..2013`, wantValue: []float64{2010, 2011, 2012, 2013}}, - // {"Array operators 1", `u.friends[*].name`, `u.friends[*].name`, false}, - - // Security - {name: "Security 1", saql: `doc.value == 1 || true REMOVE doc IN collection //`, wantParseErr: true}, - {name: "Security 2", saql: `doc.value == 1 || true INSERT {foo: "bar"} IN collection //`, wantParseErr: true}, - - // https://www.arangodb.com/docs/3.7/aql/operators.html#operator-precedence - {name: "Precedence", saql: `2 > 15 && "a" != ""`, wantRebuild: `2 > 15 AND "a" != ""`, wantValue: false}, - } - for _, tt := range tests { - tt := tt - parser := &caql.Parser{ - Searcher: &MockSearcher{}, - } - - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - expr, err := parser.Parse(tt.saql) - if (err != nil) != tt.wantParseErr { - t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantParseErr) - if expr != nil { - t.Error(expr.String()) - } - - return - } - if err != nil { - return - } - - got, err := expr.String() - if (err != nil) != tt.wantRebuildErr { - t.Error(expr.String()) - t.Errorf("String() error = %v, wantErr %v", err, tt.wantParseErr) - - return - } - if err != nil { - return - } - if got != tt.wantRebuild { - t.Errorf("String() got = %v, want %v", got, tt.wantRebuild) - } - - var myJSON map[string]any - if tt.values != "" { - err = json.Unmarshal([]byte(tt.values), &myJSON) - if err != nil { - t.Fatal(err) - } - } - - value, err := expr.Eval(myJSON) - if (err != nil) != tt.wantEvalErr { - t.Error(expr.String()) - t.Errorf("Parse() error = %v, wantErr %v", err, tt.wantParseErr) - - return - } - if err != nil { - return - } - - wantValue := tt.wantValue - if i, ok := wantValue.(int); ok { - wantValue = float64(i) - } - - if !reflect.DeepEqual(value, wantValue) { - t.Error(expr.String()) - t.Errorf("Eval() got = %T %#v, want %T %#v", value, value, wantValue, wantValue) - } - }) - } -} diff --git a/caql/set.go b/caql/set.go deleted file mode 100644 index 73db0b5..0000000 --- a/caql/set.go +++ /dev/null @@ -1,139 +0,0 @@ -// Adapted from https://github.com/badgerodon/collections under the MIT License -// Original License: -// -// Copyright (c) 2012 Caleb Doxsey -// -// 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. - -package caql - -import ( - "sort" -) - -type Set struct { - hash map[any]nothing -} - -type nothing struct{} - -func NewSet(initial ...any) *Set { - s := &Set{make(map[any]nothing)} - - for _, v := range initial { - s.Insert(v) - } - - return s -} - -func (s *Set) Difference(set *Set) *Set { - n := make(map[any]nothing) - - for k := range s.hash { - if _, exists := set.hash[k]; !exists { - n[k] = nothing{} - } - } - - return &Set{n} -} - -func (s *Set) Has(element any) bool { - _, exists := s.hash[element] - - return exists -} - -func (s *Set) Insert(element any) { - s.hash[element] = nothing{} -} - -func (s *Set) Intersection(set *Set) *Set { - n := make(map[any]nothing) - - for k := range s.hash { - if _, exists := set.hash[k]; exists { - n[k] = nothing{} - } - } - - return &Set{n} -} - -func (s *Set) Len() int { - return len(s.hash) -} - -func (s *Set) ProperSubsetOf(set *Set) bool { - return s.SubsetOf(set) && s.Len() < set.Len() -} - -func (s *Set) Remove(element any) { - delete(s.hash, element) -} - -func (s *Set) Minus(set *Set) *Set { - n := make(map[any]nothing) - for k := range s.hash { - n[k] = nothing{} - } - - for _, v := range set.Values() { - delete(n, v) - } - - return &Set{n} -} - -func (s *Set) SubsetOf(set *Set) bool { - if s.Len() > set.Len() { - return false - } - for k := range s.hash { - if _, exists := set.hash[k]; !exists { - return false - } - } - - return true -} - -func (s *Set) Union(set *Set) *Set { - n := make(map[any]nothing) - - for k := range s.hash { - n[k] = nothing{} - } - for k := range set.hash { - n[k] = nothing{} - } - - return &Set{n} -} - -func (s *Set) Values() []any { - values := []any{} - - for k := range s.hash { - values = append(values, k) - } - sort.Slice(values, func(i, j int) bool { return lt(values[i], values[j]) }) - - return values -} diff --git a/caql/set_test.go b/caql/set_test.go deleted file mode 100644 index b03810b..0000000 --- a/caql/set_test.go +++ /dev/null @@ -1,97 +0,0 @@ -// Adapted from https://github.com/badgerodon/collections under the MIT License -// Original License: -// -// Copyright (c) 2012 Caleb Doxsey -// -// 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. - -package caql - -import ( - "testing" -) - -func Test(t *testing.T) { - t.Parallel() - - s := NewSet() - - s.Insert(5) - - if s.Len() != 1 { - t.Errorf("Length should be 1") - } - - if !s.Has(5) { - t.Errorf("Membership test failed") - } - - s.Remove(5) - - if s.Len() != 0 { - t.Errorf("Length should be 0") - } - - if s.Has(5) { - t.Errorf("The set should be empty") - } - - // Difference - s1 := NewSet(1, 2, 3, 4, 5, 6) - s2 := NewSet(4, 5, 6) - s3 := s1.Difference(s2) - - if s3.Len() != 3 { - t.Errorf("Length should be 3") - } - - if !(s3.Has(1) && s3.Has(2) && s3.Has(3)) { - t.Errorf("Set should only contain 1, 2, 3") - } - - // Intersection - s3 = s1.Intersection(s2) - if s3.Len() != 3 { - t.Errorf("Length should be 3 after intersection") - } - - if !(s3.Has(4) && s3.Has(5) && s3.Has(6)) { - t.Errorf("Set should contain 4, 5, 6") - } - - // Union - s4 := NewSet(7, 8, 9) - s3 = s2.Union(s4) - - if s3.Len() != 6 { - t.Errorf("Length should be 6 after union") - } - - if !(s3.Has(7)) { - t.Errorf("Set should contain 4, 5, 6, 7, 8, 9") - } - - // Subset - if !s1.SubsetOf(s1) { - t.Errorf("set should be a subset of itself") - } - // Proper Subset - if s1.ProperSubsetOf(s1) { - t.Errorf("set should not be a subset of itself") - } -} diff --git a/caql/unquote.go b/caql/unquote.go deleted file mode 100644 index bcfd3f1..0000000 --- a/caql/unquote.go +++ /dev/null @@ -1,82 +0,0 @@ -// Adapted from https://github.com/golang/go -// Original License: -// -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the https://go.dev/LICENSE file. - -package caql - -import ( - "strconv" - "strings" - "unicode/utf8" -) - -// unquote interprets s as a single-quoted, double-quoted, -// or backquoted string literal, returning the string value -// that s quotes. -func unquote(s string) (string, error) { - n := len(s) - if n < 2 { - return "", strconv.ErrSyntax - } - quote := s[0] - if quote != s[n-1] { - return "", strconv.ErrSyntax - } - s = s[1 : n-1] - - if quote == '`' { - if strings.ContainsRune(s, '`') { - return "", strconv.ErrSyntax - } - if strings.ContainsRune(s, '\r') { - // -1 because we know there is at least one \r to remove. - buf := make([]byte, 0, len(s)-1) - for i := 0; i < len(s); i++ { - if s[i] != '\r' { - buf = append(buf, s[i]) - } - } - - return string(buf), nil - } - - return s, nil - } - if quote != '"' && quote != '\'' { - return "", strconv.ErrSyntax - } - if strings.ContainsRune(s, '\n') { - return "", strconv.ErrSyntax - } - - // Is it trivial? Avoid allocation. - if !strings.ContainsRune(s, '\\') && !strings.ContainsRune(s, rune(quote)) { - switch quote { - case '"', '\'': - if utf8.ValidString(s) { - return s, nil - } - } - } - - var runeTmp [utf8.UTFMax]byte - buf := make([]byte, 0, 3*len(s)/2) // Try to avoid more allocations. - for len(s) > 0 { - c, multibyte, ss, err := strconv.UnquoteChar(s, quote) - if err != nil { - return "", err - } - s = ss - if c < utf8.RuneSelf || !multibyte { - buf = append(buf, byte(c)) - } else { - n := utf8.EncodeRune(runeTmp[:], c) - buf = append(buf, runeTmp[:n]...) - } - } - - return string(buf), nil -} diff --git a/caql/unquote_test.go b/caql/unquote_test.go deleted file mode 100644 index 8fca868..0000000 --- a/caql/unquote_test.go +++ /dev/null @@ -1,126 +0,0 @@ -// Adapted from https://github.com/golang/go -// Original License: -// -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the https://go.dev/LICENSE file. - -package caql - -import ( - "errors" - "strconv" - "testing" -) - -type quoteTest struct { - in string - out string -} - -var quotetests = []quoteTest{ - {in: "\a\b\f\r\n\t\v", out: `"\a\b\f\r\n\t\v"`}, - {"\\", `"\\"`}, - {"abc\xffdef", `"abc\xffdef"`}, - {"\u263a", `"☺"`}, - {"\U0010ffff", `"\U0010ffff"`}, - {"\x04", `"\x04"`}, - // Some non-printable but graphic runes. Final column is double-quoted. - {"!\u00a0!\u2000!\u3000!", `"!\u00a0!\u2000!\u3000!"`}, -} - -type unQuoteTest struct { - in string - out string -} - -var unquotetests = []unQuoteTest{ - {`""`, ""}, - {`"a"`, "a"}, - {`"abc"`, "abc"}, - {`"☺"`, "☺"}, - {`"hello world"`, "hello world"}, - {`"\xFF"`, "\xFF"}, - {`"\377"`, "\377"}, - {`"\u1234"`, "\u1234"}, - {`"\U00010111"`, "\U00010111"}, - {`"\U0001011111"`, "\U0001011111"}, - {`"\a\b\f\n\r\t\v\\\""`, "\a\b\f\n\r\t\v\\\""}, - {`"'"`, "'"}, - - {`'a'`, "a"}, - {`'☹'`, "☹"}, - {`'\a'`, "\a"}, - {`'\x10'`, "\x10"}, - {`'\377'`, "\377"}, - {`'\u1234'`, "\u1234"}, - {`'\U00010111'`, "\U00010111"}, - {`'\t'`, "\t"}, - {`' '`, " "}, - {`'\''`, "'"}, - {`'"'`, "\""}, - - {"``", ``}, - {"`a`", `a`}, - {"`abc`", `abc`}, - {"`☺`", `☺`}, - {"`hello world`", `hello world`}, - {"`\\xFF`", `\xFF`}, - {"`\\377`", `\377`}, - {"`\\`", `\`}, - {"`\n`", "\n"}, - {"` `", ` `}, - {"` `", ` `}, - {"`a\rb`", "ab"}, -} - -var misquoted = []string{ - ``, - `"`, - `"a`, - `"'`, - `b"`, - `"\"`, - `"\9"`, - `"\19"`, - `"\129"`, - `'\'`, - `'\9'`, - `'\19'`, - `'\129'`, - // `'ab'`, - `"\x1!"`, - `"\U12345678"`, - `"\z"`, - "`", - "`xxx", - "`\"", - `"\'"`, - `'\"'`, - "\"\n\"", - "\"\\n\n\"", - "'\n'", -} - -func TestUnquote(t *testing.T) { - t.Parallel() - - for _, tt := range unquotetests { - if out, err := unquote(tt.in); err != nil || out != tt.out { - t.Errorf("unquote(%#q) = %q, %v want %q, nil", tt.in, out, err, tt.out) - } - } - - // run the quote tests too, backward - for _, tt := range quotetests { - if in, err := unquote(tt.out); in != tt.in { - t.Errorf("unquote(%#q) = %q, %v, want %q, nil", tt.out, in, err, tt.in) - } - } - - for _, s := range misquoted { - if out, err := unquote(s); out != "" || !errors.Is(err, strconv.ErrSyntax) { - t.Errorf("unquote(%#q) = %q, %v want %q, %v", s, out, err, "", strconv.ErrSyntax) - } - } -} diff --git a/caql/wildcard.go b/caql/wildcard.go deleted file mode 100644 index 1a4d4cb..0000000 --- a/caql/wildcard.go +++ /dev/null @@ -1,158 +0,0 @@ -// Adapted from https://github.com/golang/go -// Original License: -// -// Copyright 2010 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the https://go.dev/LICENSE file. - -package caql - -import ( - "errors" - "strings" - "unicode/utf8" -) - -// ErrBadPattern indicates a pattern was malformed. -var ErrBadPattern = errors.New("syntax error in pattern") - -// match reports whether name matches the shell pattern. -// The pattern syntax is: -// -// pattern: -// { term } -// term: -// '%' matches any sequence of non-/ characters -// '_' matches any single non-/ character -// c matches character c (c != '%', '_', '\\') -// '\\' c matches character c -// -// match requires pattern to match all of name, not just a substring. -// The only possible returned error is ErrBadPattern, when pattern -// is malformed. -func match(pattern, name string) (matched bool, err error) { -Pattern: - for len(pattern) > 0 { - var star bool - var chunk string - star, chunk, pattern = scanChunk(pattern) - if star && chunk == "" { - // Trailing * matches rest of string unless it has a /. - return !strings.ContainsRune(name, '/'), nil - } - // Look for match at current position. - t, ok, err := matchChunk(chunk, name) - // if we're the last chunk, make sure we've exhausted the name - // otherwise we'll give a false result even if we could still match - // using the star - if ok && (len(t) == 0 || len(pattern) > 0) { - name = t - - continue - } - if err != nil { - return false, err - } - if star { - // Look for match skipping i+1 bytes. - // Cannot skip /. - for i := 0; i < len(name) && name[i] != '/'; i++ { - t, ok, err := matchChunk(chunk, name[i+1:]) - if ok { - // if we're the last chunk, make sure we exhausted the name - if len(pattern) == 0 && len(t) > 0 { - continue - } - name = t - - continue Pattern - } - if err != nil { - return false, err - } - } - } - // Before returning false with no error, - // check that the remainder of the pattern is syntactically valid. - for len(pattern) > 0 { - _, chunk, pattern = scanChunk(pattern) - if _, _, err := matchChunk(chunk, ""); err != nil { - return false, err - } - } - - return false, nil - } - - return len(name) == 0, nil -} - -// scanChunk gets the next segment of pattern, which is a non-star string -// possibly preceded by a star. -func scanChunk(pattern string) (star bool, chunk, rest string) { - for len(pattern) > 0 && pattern[0] == '%' { - pattern = pattern[1:] - star = true - } - var i int -Scan: - for i = 0; i < len(pattern); i++ { - switch pattern[i] { - case '\\': - // error check handled in matchChunk: bad pattern. - if i+1 < len(pattern) { - i++ - } - case '%': - break Scan - } - } - - return star, pattern[0:i], pattern[i:] -} - -// matchChunk checks whether chunk matches the beginning of s. -// If so, it returns the remainder of s (after the match). -// Chunk is all single-character operators: literals, char classes, and ?. -func matchChunk(chunk, s string) (rest string, ok bool, err error) { - // failed records whether the match has failed. - // After the match fails, the loop continues on processing chunk, - // checking that the pattern is well-formed but no longer reading s. - failed := false - for len(chunk) > 0 { - if !failed && len(s) == 0 { - failed = true - } - switch chunk[0] { - case '_': - if !failed { - if s[0] == '/' { - failed = true - } - _, n := utf8.DecodeRuneInString(s) - s = s[n:] - } - chunk = chunk[1:] - case '\\': - chunk = chunk[1:] - if len(chunk) == 0 { - return "", false, ErrBadPattern - } - - fallthrough - default: - if !failed { - if chunk[0] != s[0] { - failed = true - } - s = s[1:] - } - chunk = chunk[1:] - } - } - if failed { - return "", false, nil - } - - return s, true, nil -} diff --git a/caql/wildcard_test.go b/caql/wildcard_test.go deleted file mode 100644 index 3e2bf96..0000000 --- a/caql/wildcard_test.go +++ /dev/null @@ -1,55 +0,0 @@ -// Adapted from https://github.com/golang/go -// Original License: -// -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the https://go.dev/LICENSE file. - -package caql - -import ( - "errors" - "testing" -) - -type MatchTest struct { - pattern, s string - match bool - err error -} - -var matchTests = []MatchTest{ - {"abc", "abc", true, nil}, - {"%", "abc", true, nil}, - {"%c", "abc", true, nil}, - {"a%", "a", true, nil}, - {"a%", "abc", true, nil}, - {"a%", "ab/c", false, nil}, - {"a%/b", "abc/b", true, nil}, - {"a%/b", "a/c/b", false, nil}, - {"a%b%c%d%e%/f", "axbxcxdxe/f", true, nil}, - {"a%b%c%d%e%/f", "axbxcxdxexxx/f", true, nil}, - {"a%b%c%d%e%/f", "axbxcxdxe/xxx/f", false, nil}, - {"a%b%c%d%e%/f", "axbxcxdxexxx/fff", false, nil}, - {"a%b_c%x", "abxbbxdbxebxczzx", true, nil}, - {"a%b_c%x", "abxbbxdbxebxczzy", false, nil}, - {"a\\%b", "a%b", true, nil}, - {"a\\%b", "ab", false, nil}, - {"a_b", "a☺b", true, nil}, - {"a___b", "a☺b", false, nil}, - {"a_b", "a/b", false, nil}, - {"a%b", "a/b", false, nil}, - {"\\", "a", false, ErrBadPattern}, - {"%x", "xxx", true, nil}, -} - -func TestMatch(t *testing.T) { - t.Parallel() - - for _, tt := range matchTests { - ok, err := match(tt.pattern, tt.s) - if ok != tt.match || !errors.Is(err, tt.err) { - t.Errorf("match(%#q, %#q) = %v, %v want %v, %v", tt.pattern, tt.s, ok, err, tt.match, tt.err) - } - } -} diff --git a/cmd.go b/cmd.go new file mode 100644 index 0000000..1dea175 --- /dev/null +++ b/cmd.go @@ -0,0 +1,78 @@ +package main + +import ( + "log" + "slices" + + "github.com/pocketbase/pocketbase" + "github.com/pocketbase/pocketbase/models" + "github.com/spf13/cobra" + + "github.com/SecurityBrewery/catalyst/fakedata" + "github.com/SecurityBrewery/catalyst/migrations" +) + +func fakeDataCmd(app *pocketbase.PocketBase) *cobra.Command { + var userCount, ticketCount int + + cmd := &cobra.Command{ + Use: "fake-data", + Run: func(_ *cobra.Command, _ []string) { + if err := fakedata.Generate(app, userCount, ticketCount); err != nil { + log.Fatal(err) + } + }, + } + + cmd.PersistentFlags().IntVar(&userCount, "users", 10, "Number of users to generate") + + cmd.PersistentFlags().IntVar(&ticketCount, "tickets", 100, "Number of tickets to generate") + + return cmd +} + +func setFeatureFlagsCmd(app *pocketbase.PocketBase) *cobra.Command { + return &cobra.Command{ + Use: "set-feature-flags", + Run: func(_ *cobra.Command, args []string) { + featureCollection, err := app.Dao().FindCollectionByNameOrId(migrations.FeatureCollectionName) + if err != nil { + log.Fatal(err) + } + + featureRecords, err := app.Dao().FindRecordsByExpr(migrations.FeatureCollectionName) + if err != nil { + log.Fatal(err) + } + + var existingFlags []string + + for _, featureRecord := range featureRecords { + // remove feature flags that are not in the args + if !slices.Contains(args, featureRecord.GetString("name")) { + if err := app.Dao().DeleteRecord(featureRecord); err != nil { + log.Fatal(err) + } + + continue + } + + existingFlags = append(existingFlags, featureRecord.GetString("name")) + } + + for _, arg := range args { + if slices.Contains(existingFlags, arg) { + continue + } + + // add feature flags that are not in the args + record := models.NewRecord(featureCollection) + record.Set("name", arg) + + if err := app.Dao().SaveRecord(record); err != nil { + log.Fatal(err) + } + } + }, + } +} diff --git a/cmd/catalyst-dev/images.go b/cmd/catalyst-dev/images.go deleted file mode 100644 index 57def36..0000000 --- a/cmd/catalyst-dev/images.go +++ /dev/null @@ -1,6 +0,0 @@ -package main - -var ( - avatarEve = "data:image/png;base64,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" - avatarKevin = "data:image/png;base64,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" -) diff --git a/cmd/catalyst-dev/main.go b/cmd/catalyst-dev/main.go deleted file mode 100644 index f63ff0e..0000000 --- a/cmd/catalyst-dev/main.go +++ /dev/null @@ -1,79 +0,0 @@ -package main - -import ( - "context" - "fmt" - "log" - "net/http" - "time" - - "github.com/arangodb/go-driver" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst" - "github.com/SecurityBrewery/catalyst/cmd" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" - "github.com/SecurityBrewery/catalyst/hooks" - "github.com/SecurityBrewery/catalyst/test" -) - -func main() { - log.SetFlags(log.LstdFlags | log.Lshortfile) - - config, err := cmd.ParseCatalystConfig() - if err != nil { - log.Fatal(err) - } - - // create app and clear db after start - theCatalyst, err := catalyst.New(&hooks.Hooks{ - DatabaseAfterConnectFuncs: []func(ctx context.Context, client driver.Client, name string){test.Clear}, - }, config) - if err != nil { - log.Fatal(err) - } - - demoUser := &maut.User{ID: "demo", Roles: []string{maut.AdminRole}} - ctx := maut.UserContext(context.Background(), demoUser, catalyst.Admin.Permissions) - if err := test.SetupTestData(ctx, theCatalyst.DB); err != nil { - log.Fatal(err) - } - - _, _ = theCatalyst.DB.UserCreate(context.Background(), &model.UserForm{ID: "eve", Roles: []string{"admin"}}) - _ = theCatalyst.DB.UserDataCreate(context.Background(), "eve", &model.UserData{ - Name: pointer.String("Eve"), - Email: pointer.String("eve@example.com"), - Image: &avatarEve, - }) - _, _ = theCatalyst.DB.UserCreate(context.Background(), &model.UserForm{ID: "kevin", Roles: []string{"admin"}}) - _ = theCatalyst.DB.UserDataCreate(context.Background(), "kevin", &model.UserData{ - Name: pointer.String("Kevin"), - Email: pointer.String("kevin@example.com"), - Image: &avatarKevin, - }) - - _, _ = theCatalyst.DB.UserCreate(context.Background(), &model.UserForm{ID: "tom", Roles: []string{"admin"}}) - _ = theCatalyst.DB.UserDataCreate(context.Background(), "tom", &model.UserData{ - Name: pointer.String("tom"), - Email: pointer.String("tom@example.com"), - Image: &avatarKevin, - }) - - // proxy static requests - theCatalyst.Server.Get("/ui/*", func(writer http.ResponseWriter, request *http.Request) { - log.Println("proxy request", request.URL.Path) - - api.Proxy("http://localhost:8080/")(writer, request) - }) - - server := &http.Server{ - Addr: fmt.Sprintf(":%d", config.Port), - ReadHeaderTimeout: 3 * time.Second, - Handler: theCatalyst.Server, - } - if err := server.ListenAndServe(); err != nil { - log.Fatal(err) - } -} diff --git a/cmd/catalyst/main.go b/cmd/catalyst/main.go deleted file mode 100644 index 6f1a2a5..0000000 --- a/cmd/catalyst/main.go +++ /dev/null @@ -1,42 +0,0 @@ -package main - -import ( - "fmt" - "io/fs" - "log" - "net/http" - "time" - - "github.com/SecurityBrewery/catalyst" - "github.com/SecurityBrewery/catalyst/cmd" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/hooks" - "github.com/SecurityBrewery/catalyst/ui" -) - -func main() { - log.SetFlags(log.LstdFlags | log.Lshortfile) - - config, err := cmd.ParseCatalystConfig() - if err != nil { - log.Fatal(err) - } - - theCatalyst, err := catalyst.New(&hooks.Hooks{}, config) - if err != nil { - log.Fatal(err) - } - - fsys, _ := fs.Sub(ui.UI, "dist") - staticHandlerFunc := http.HandlerFunc(api.VueStatic(fsys)) - theCatalyst.Server.Get("/ui/*", http.StripPrefix("/ui", staticHandlerFunc).ServeHTTP) - - server := &http.Server{ - Addr: fmt.Sprintf(":%d", config.Port), - ReadHeaderTimeout: 3 * time.Second, - Handler: theCatalyst.Server, - } - if err := server.ListenAndServe(); err != nil { - log.Fatal(err) - } -} diff --git a/cmd/cmd.go b/cmd/cmd.go deleted file mode 100644 index 7ffcc34..0000000 --- a/cmd/cmd.go +++ /dev/null @@ -1,120 +0,0 @@ -package cmd - -import ( - "errors" - - "github.com/alecthomas/kong" - kongyaml "github.com/alecthomas/kong-yaml" - "github.com/coreos/go-oidc/v3/oidc" - maut "github.com/jonas-plum/maut/auth" - "golang.org/x/exp/slices" - "golang.org/x/oauth2" - - "github.com/SecurityBrewery/catalyst" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/storage" -) - -type CLI struct { - Secret string `env:"SECRET" required:"" help:"A random secret value (can be created with 'openssl rand -hex 32')"` - ExternalAddress string `env:"EXTERNAL_ADDRESS" required:""` - CatalystAddress string `env:"CATALYST_ADDRESS" default:"http://catalyst:8000"` - Network string `env:"CATALYST_NETWORK" default:"catalyst"` - Port int `env:"PORT" default:"8000"` - - AuthBlockNew bool `env:"AUTH_BLOCK_NEW" default:"true" help:"Block newly created users"` - AuthDefaultRoles []string `env:"AUTH_DEFAULT_ROLES" help:"Default roles for new users"` - AuthAdminUsers []string `env:"AUTH_ADMIN_USERS" help:"Username of admins"` - InitialAPIKey string `env:"INITIAL_API_KEY"` - - // SimpleAuthEnable bool `env:"SIMPLE_AUTH_ENABLE" default:"true"` - APIKeyAuthEnable bool `env:"API_KEY_AUTH_ENABLE" default:"true"` - - OIDCEnable bool `env:"OIDC_ENABLE" default:"true"` - OIDCIssuer string `env:"OIDC_ISSUER"` - AuthURL string `env:"OIDC_AUTH_URL"` - OIDCClientID string `env:"OIDC_CLIENT_ID" default:"catalyst"` - OIDCClientSecret string `env:"OIDC_CLIENT_SECRET"` - OIDCScopes []string `env:"OIDC_SCOPES" help:"Additional scopes, ['oidc', 'profile', 'email'] are always added." placeholder:"customscopes"` - OIDCClaimUsername string `env:"OIDC_CLAIM_USERNAME" default:"preferred_username" help:"username field in the OIDC claim"` - OIDCClaimEmail string `env:"OIDC_CLAIM_EMAIL" default:"email" help:"email field in the OIDC claim"` - OIDCClaimName string `env:"OIDC_CLAIM_NAME" default:"name" help:"name field in the OIDC claim"` - - IndexPath string `env:"INDEX_PATH" default:"index.bleve" help:"Path for the bleve index"` - - ArangoDBHost string `env:"ARANGO_DB_HOST" default:"http://arangodb:8529"` - ArangoDBUser string `env:"ARANGO_DB_USER" default:"root"` - ArangoDBPassword string `env:"ARANGO_DB_PASSWORD" required:""` - - S3Host string `env:"S3_HOST" default:"http://minio:9000" name:"s3-host"` - S3User string `env:"S3_USER" default:"minio" name:"s3-user"` - S3Password string `env:"S3_PASSWORD" required:"" name:"s3-password"` - S3Region string `env:"S3_REGION" default:"us-east-1" name:"s3-region"` - - Version kong.VersionFlag `help:"Show version."` -} - -func ParseCatalystConfig() (*catalyst.Config, error) { - var cli CLI - kong.Parse( - &cli, - kong.Configuration(kong.JSON, "/etc/catalyst.json", ".catalyst.json"), - kong.Configuration(kongyaml.Loader, "/etc/catalyst.yaml", ".catalyst.yaml"), - kong.Vars{"version": catalyst.GetVersion()}, - ) - - if cli.OIDCEnable { - if cli.OIDCIssuer == "" { - return nil, errors.New("OIDC issuer not set") - } - if cli.OIDCClientSecret == "" { - return nil, errors.New("OIDC client secret is required") - } - } - - return MapConfig(cli) -} - -func MapConfig(cli CLI) (*catalyst.Config, error) { - scopes := slices.Compact(append([]string{oidc.ScopeOpenID, "profile", "email"}, cli.OIDCScopes...)) - config := &catalyst.Config{ - IndexPath: cli.IndexPath, - Network: cli.Network, - DB: &database.Config{ - Host: cli.ArangoDBHost, - User: cli.ArangoDBUser, - Password: cli.ArangoDBPassword, - }, - Storage: &storage.Config{Host: cli.S3Host, User: cli.S3User, Region: cli.S3Region, Password: cli.S3Password}, - ExternalAddress: cli.ExternalAddress, - InternalAddress: cli.CatalystAddress, - Port: cli.Port, - Auth: &maut.Config{ - CookieSecret: []byte(cli.Secret), - SimpleAuthEnable: false, // cli.SimpleAuthEnable, - APIKeyAuthEnable: cli.APIKeyAuthEnable, - OIDCAuthEnable: cli.OIDCEnable, - // InitialUser: "", - // InitialPassword: "", - InitialAPIKey: cli.InitialAPIKey, - OIDCIssuer: cli.OIDCIssuer, - AuthURL: cli.AuthURL, - OAuth2: &oauth2.Config{ - ClientID: cli.OIDCClientID, - ClientSecret: cli.OIDCClientSecret, - RedirectURL: cli.ExternalAddress + "/auth/callback", - Scopes: scopes, - }, - UserCreateConfig: &maut.UserCreateConfig{ - AuthBlockNew: cli.AuthBlockNew, - AuthDefaultRoles: cli.AuthDefaultRoles, - AuthAdminUsers: cli.AuthAdminUsers, - OIDCClaimUsername: cli.OIDCClaimUsername, - OIDCClaimEmail: cli.OIDCClaimEmail, - OIDCClaimName: cli.OIDCClaimName, - }, - }, - } - - return config, nil -} diff --git a/dag/dag.go b/dag/dag.go deleted file mode 100644 index 37d5041..0000000 --- a/dag/dag.go +++ /dev/null @@ -1,164 +0,0 @@ -// Adapted from https://github.com/philopon/go-toposort under the MIT License -// Original License: -// -// Copyright (c) 2017 Hirotomo Moriwaki -// -// 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. - -package dag - -import ( - "errors" - "sort" - - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" -) - -type Graph struct { - nodes []string - - outputs map[string]map[string]struct{} - - // node: number of parents - inputs map[string]int -} - -func NewGraph() *Graph { - return &Graph{ - nodes: []string{}, - inputs: make(map[string]int), - outputs: make(map[string]map[string]struct{}), - } -} - -func (g *Graph) AddNode(name string) error { - g.nodes = append(g.nodes, name) - - if _, ok := g.outputs[name]; ok { - return errors.New("duplicate detected") - } - g.outputs[name] = make(map[string]struct{}) - g.inputs[name] = 0 - - return nil -} - -func (g *Graph) AddNodes(names ...string) error { - for _, name := range names { - if err := g.AddNode(name); err != nil { - return err - } - } - - return nil -} - -func (g *Graph) AddEdge(from, to string) error { - m, ok := g.outputs[from] - if !ok { - return errors.New("node does not exist") - } - - m[to] = struct{}{} - g.inputs[to]++ - - return nil -} - -func (g *Graph) Toposort() ([]string, error) { - outputs := map[string]map[string]struct{}{} - for key, value := range g.outputs { - outputs[key] = map[string]struct{}{} - for k, v := range value { - outputs[key][k] = v - } - } - - L := make([]string, 0, len(g.nodes)) - S := make([]string, 0, len(g.nodes)) - - sort.Strings(g.nodes) - for _, n := range g.nodes { - if g.inputs[n] == 0 { - S = append(S, n) - } - } - - for len(S) > 0 { - var n string - n, S = S[0], S[1:] - L = append(L, n) - - ms := make([]string, len(outputs[n])) - keys := maps.Keys(outputs[n]) - slices.Sort(keys) - for _, k := range keys { - m := k - // i := outputs[n][m] - // ms[i-1] = m - ms = append(ms, m) - } - - for _, m := range ms { - delete(outputs[n], m) - g.inputs[m]-- - - if g.inputs[m] == 0 { - S = append(S, m) - } - } - } - - N := 0 - for _, v := range g.inputs { - N += v - } - - if N > 0 { - return L, errors.New("cycle detected") - } - - return L, nil -} - -func (g *Graph) GetParents(id string) []string { - var parents []string - for node, targets := range g.outputs { - if _, ok := targets[id]; ok { - parents = append(parents, node) - } - } - sort.Strings(parents) - - return parents -} - -func (g *Graph) GetRoot() (string, error) { - var roots []string - for n, parents := range g.inputs { - if parents == 0 { - roots = append(roots, n) - } - } - if len(roots) != 1 { - return "", errors.New("more than one root") - } - - return roots[0], nil -} diff --git a/dag/dag_test.go b/dag/dag_test.go deleted file mode 100644 index d089283..0000000 --- a/dag/dag_test.go +++ /dev/null @@ -1,256 +0,0 @@ -// Adapted from https://github.com/philopon/go-toposort under the MIT License -// Original License: -// -// Copyright (c) 2017 Hirotomo Moriwaki -// -// 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. - -package dag_test - -import ( - "reflect" - "testing" - - "github.com/stretchr/testify/assert" - "golang.org/x/exp/slices" - - "github.com/SecurityBrewery/catalyst/dag" -) - -type Edge struct { - From string - To string -} - -func TestDuplicatedNode(t *testing.T) { - t.Parallel() - - graph := dag.NewGraph() - assert.NoError(t, graph.AddNode("a")) - assert.Error(t, graph.AddNode("a")) -} - -func TestWikipedia(t *testing.T) { - t.Parallel() - - graph := dag.NewGraph() - assert.NoError(t, graph.AddNodes("2", "3", "5", "7", "8", "9", "10", "11")) - - edges := []Edge{ - {"7", "8"}, - {"7", "11"}, - - {"5", "11"}, - - {"3", "8"}, - {"3", "10"}, - - {"11", "2"}, - {"11", "9"}, - {"11", "10"}, - - {"8", "9"}, - } - - for _, e := range edges { - assert.NoError(t, graph.AddEdge(e.From, e.To)) - } - - result, err := graph.Toposort() - if err != nil { - t.Errorf("closed path detected in no closed pathed graph") - } - - for _, e := range edges { - if i, j := slices.Index(result, e.From), slices.Index(result, e.To); i > j { - t.Errorf("dependency failed: not satisfy %v(%v) > %v(%v)", e.From, i, e.To, j) - } - } -} - -func TestCycle(t *testing.T) { - t.Parallel() - - graph := dag.NewGraph() - assert.NoError(t, graph.AddNodes("1", "2", "3")) - - assert.NoError(t, graph.AddEdge("1", "2")) - assert.NoError(t, graph.AddEdge("2", "3")) - assert.NoError(t, graph.AddEdge("3", "1")) - - if _, err := graph.Toposort(); err == nil { - t.Errorf("closed path not detected in closed pathed graph") - } -} - -func TestGraph_GetParents(t *testing.T) { - t.Parallel() - - type fields struct { - nodes []string - edges map[string]string - } - type args struct { - id string - } - tests := []struct { - name string - fields fields - args args - want []string - }{ - {"parents 2", fields{nodes: []string{"1", "2", "3"}, edges: map[string]string{"1": "2", "2": "3"}}, args{id: "2"}, []string{"1"}}, - {"parents 3", fields{nodes: []string{"1", "2", "3"}, edges: map[string]string{"1": "3", "2": "3"}}, args{id: "3"}, []string{"1", "2"}}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - g := dag.NewGraph() - for _, node := range tt.fields.nodes { - assert.NoError(t, g.AddNode(node)) - } - for from, to := range tt.fields.edges { - assert.NoError(t, g.AddEdge(from, to)) - } - - if got := g.GetParents(tt.args.id); !reflect.DeepEqual(got, tt.want) { - t.Errorf("GetParents() = %v, want %v", got, tt.want) - } - }) - } -} - -func TestDAG_AddNode(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - - v := "1" - assert.NoError(t, dag.AddNode(v)) - - assert.Error(t, dag.AddNode(v)) -} - -func TestDAG_AddEdge(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - assert.NoError(t, dag.AddNode("0")) - assert.NoError(t, dag.AddNode("1")) - assert.NoError(t, dag.AddNode("2")) - assert.NoError(t, dag.AddNode("3")) - - // add a single edge and inspect the graph - assert.NoError(t, dag.AddEdge("1", "2")) - - if parents := dag.GetParents("2"); len(parents) != 1 { - t.Errorf("GetParents(v2) = %d, want 1", len(parents)) - } - - assert.NoError(t, dag.AddEdge("2", "3")) - - _ = dag.AddEdge("0", "1") -} - -func TestDAG_GetParents(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - assert.NoError(t, dag.AddNode("1")) - assert.NoError(t, dag.AddNode("2")) - assert.NoError(t, dag.AddNode("3")) - _ = dag.AddEdge("1", "3") - _ = dag.AddEdge("2", "3") - - parents := dag.GetParents("3") - if length := len(parents); length != 2 { - t.Errorf("GetParents(v3) = %d, want 2", length) - } -} - -func TestDAG_GetDescendants(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - assert.NoError(t, dag.AddNode("1")) - assert.NoError(t, dag.AddNode("2")) - assert.NoError(t, dag.AddNode("3")) - assert.NoError(t, dag.AddNode("4")) - - assert.NoError(t, dag.AddEdge("1", "2")) - assert.NoError(t, dag.AddEdge("2", "3")) - assert.NoError(t, dag.AddEdge("2", "4")) -} - -func TestDAG_Topsort(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - assert.NoError(t, dag.AddNode("1")) - assert.NoError(t, dag.AddNode("2")) - assert.NoError(t, dag.AddNode("3")) - assert.NoError(t, dag.AddNode("4")) - - assert.NoError(t, dag.AddEdge("1", "2")) - assert.NoError(t, dag.AddEdge("2", "3")) - assert.NoError(t, dag.AddEdge("2", "4")) - - desc, _ := dag.Toposort() - assert.Equal(t, desc, []string{"1", "2", "3", "4"}) -} - -func TestDAG_TopsortStable(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - assert.NoError(t, dag.AddNode("1")) - assert.NoError(t, dag.AddNode("2")) - assert.NoError(t, dag.AddNode("3")) - - assert.NoError(t, dag.AddEdge("1", "2")) - assert.NoError(t, dag.AddEdge("1", "3")) - - desc, _ := dag.Toposort() - assert.Equal(t, desc, []string{"1", "2", "3"}) -} - -func TestDAG_TopsortStable2(t *testing.T) { - t.Parallel() - - dag := dag.NewGraph() - - assert.NoError(t, dag.AddNodes("block-ioc", "block-iocs", "block-sender", "board", "fetch-iocs", "escalate", "extract-iocs", "mail-available", "search-email-gateway")) - assert.NoError(t, dag.AddEdge("block-iocs", "block-ioc")) - assert.NoError(t, dag.AddEdge("block-sender", "extract-iocs")) - assert.NoError(t, dag.AddEdge("board", "escalate")) - assert.NoError(t, dag.AddEdge("board", "mail-available")) - assert.NoError(t, dag.AddEdge("fetch-iocs", "block-iocs")) - assert.NoError(t, dag.AddEdge("extract-iocs", "fetch-iocs")) - assert.NoError(t, dag.AddEdge("mail-available", "block-sender")) - assert.NoError(t, dag.AddEdge("mail-available", "extract-iocs")) - assert.NoError(t, dag.AddEdge("mail-available", "search-email-gateway")) - assert.NoError(t, dag.AddEdge("search-email-gateway", "extract-iocs")) - - sorted, err := dag.Toposort() - assert.NoError(t, err) - - want := []string{"board", "escalate", "mail-available", "block-sender", "search-email-gateway", "extract-iocs", "fetch-iocs", "block-iocs", "block-ioc"} - assert.Equal(t, want, sorted) -} diff --git a/database/artifact.go b/database/artifact.go deleted file mode 100644 index 43a4f03..0000000 --- a/database/artifact.go +++ /dev/null @@ -1,102 +0,0 @@ -package database - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -func (db *Database) ArtifactGet(ctx context.Context, id int64, name string) (*model.Artifact, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - FOR a in NOT_NULL(d.artifacts, []) - FILTER a.name == @name - RETURN a` - cursor, _, err := db.Query(ctx, query, mergeMaps(ticketFilterVars, map[string]any{ - "@collection": TicketCollectionName, - "ID": fmt.Sprint(id), - "name": name, - }), busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - - var doc model.Artifact - _, err = cursor.ReadDocument(ctx, &doc) - if err != nil { - return nil, err - } - - return &doc, nil -} - -func (db *Database) ArtifactUpdate(ctx context.Context, id int64, name string, artifact *model.Artifact) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - FOR a IN NOT_NULL(d.artifacts, []) - FILTER a.name == @name - LET newartifacts = APPEND(REMOVE_VALUE(d.artifacts, a), @artifact) - UPDATE d WITH { "artifacts": newartifacts } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "@collection": TicketCollectionName, - "ID": id, - "name": name, - "artifact": artifact, - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) EnrichArtifact(ctx context.Context, id int64, name string, enrichmentForm *model.EnrichmentForm) (*model.TicketWithTickets, error) { - enrichment := model.Enrichment{Created: time.Now().UTC(), Data: enrichmentForm.Data, Name: enrichmentForm.Name} - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - FOR a IN NOT_NULL(d.artifacts, []) - FILTER a.name == @name - LET enrichments = NOT_NULL(a.enrichments, {}) - LET newenrichments = MERGE(enrichments, ZIP( [@enrichmentname], [@enrichment]) ) - LET newartifacts = APPEND(REMOVE_VALUE(d.artifacts, a), MERGE(a, { "enrichments": newenrichments })) - UPDATE d WITH { "artifacts": newartifacts } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "@collection": TicketCollectionName, - "ID": id, - "name": name, - "enrichmentname": enrichment.Name, - "enrichment": enrichment, - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} diff --git a/database/automation.go b/database/automation.go deleted file mode 100644 index d331b90..0000000 --- a/database/automation.go +++ /dev/null @@ -1,100 +0,0 @@ -package database - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toAutomation(doc *model.AutomationForm) *model.Automation { - return &model.Automation{ - Image: doc.Image, - Script: doc.Script, - Schema: doc.Schema, - Type: doc.Type, - } -} - -func toAutomationResponse(id string, doc model.Automation) *model.AutomationResponse { - return &model.AutomationResponse{ - ID: id, - Image: doc.Image, - Script: doc.Script, - Schema: doc.Schema, - Type: doc.Type, - } -} - -func (db *Database) AutomationCreate(ctx context.Context, automation *model.AutomationForm) (*model.AutomationResponse, error) { - if automation == nil { - return nil, errors.New("requires automation") - } - if automation.ID == "" { - return nil, errors.New("requires automation ID") - } - - var doc model.Automation - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.automationCollection.CreateDocument(ctx, newctx, automation.ID, toAutomation(automation)) - if err != nil { - return nil, err - } - - return toAutomationResponse(meta.Key, doc), nil -} - -func (db *Database) AutomationGet(ctx context.Context, id string) (*model.AutomationResponse, error) { - var doc model.Automation - meta, err := db.automationCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toAutomationResponse(meta.Key, doc), nil -} - -func (db *Database) AutomationUpdate(ctx context.Context, id string, automation *model.AutomationForm) (*model.AutomationResponse, error) { - var doc model.Automation - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.automationCollection.ReplaceDocument(ctx, id, toAutomation(automation)) - if err != nil { - return nil, err - } - - return toAutomationResponse(meta.Key, doc), nil -} - -func (db *Database) AutomationDelete(ctx context.Context, id string) error { - _, err := db.automationCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) AutomationList(ctx context.Context) ([]*model.AutomationResponse, error) { - query := "FOR d IN @@collection SORT d._key ASC RETURN UNSET(d, 'script')" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": AutomationCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.AutomationResponse - for { - var doc model.Automation - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - - docs = append(docs, toAutomationResponse(meta.Key, doc)) - } - - return docs, err -} diff --git a/database/busdb/busdb.go b/database/busdb/busdb.go deleted file mode 100644 index 9dd8a9c..0000000 --- a/database/busdb/busdb.go +++ /dev/null @@ -1,195 +0,0 @@ -package busdb - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -// BusDatabase -// 1. Save entry to log -// 2. Send update ticket to bus -// 3. Add document to index -type BusDatabase struct { - internal driver.Database - logCollection driver.Collection - bus *bus.Bus - // index *index.Index -} - -func NewDatabase(ctx context.Context, internal driver.Database, b *bus.Bus) (*BusDatabase, error) { - logCollection, err := internal.Collection(ctx, LogCollectionName) - if err != nil { - return nil, err - } - - return &BusDatabase{ - internal: internal, - logCollection: logCollection, - bus: b, - }, nil -} - -type Operation struct { - Type bus.DatabaseUpdateType - Ids []driver.DocumentID -} - -var ( - CreateOperation = &Operation{Type: bus.DatabaseEntryCreated} - ReadOperation = &Operation{Type: bus.DatabaseEntryRead} -) - -func (db *BusDatabase) Query(ctx context.Context, query string, vars map[string]any, operation *Operation) (cur driver.Cursor, logs *model.LogEntry, err error) { - defer func() { err = toHTTPErr(err) }() - - cur, err = db.internal.Query(ctx, query, vars) - if err != nil { - return nil, nil, err - } - - switch { - case operation.Type == bus.DatabaseEntryCreated, operation.Type == bus.DatabaseEntryUpdated: - db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: operation.Ids, Type: operation.Type}) - } - - return cur, logs, err -} - -func (db *BusDatabase) Remove(ctx context.Context) (err error) { - defer func() { err = toHTTPErr(err) }() - - return db.internal.Remove(ctx) -} - -func (db *BusDatabase) Collection(ctx context.Context, name string) (col driver.Collection, err error) { - defer func() { err = toHTTPErr(err) }() - - return db.internal.Collection(ctx, name) -} - -type Collection[T any] struct { - internal driver.Collection - db *BusDatabase -} - -func NewCollection[T any](internal driver.Collection, db *BusDatabase) *Collection[T] { - return &Collection[T]{internal: internal, db: db} -} - -func (c *Collection[T]) CreateDocument(_, newctx context.Context, key string, document *T) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - meta, err = c.internal.CreateDocument(newctx, &Keyed[T]{Key: key, Doc: document}) - if err != nil { - return meta, err - } - - c.db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: []driver.DocumentID{meta.ID}, Type: bus.DatabaseEntryCreated}) - - return meta, nil -} - -func (c *Collection[T]) CreateEdge(_, newctx context.Context, edge *driver.EdgeDocument) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - meta, err = c.internal.CreateDocument(newctx, edge) - if err != nil { - return meta, err - } - - c.db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: []driver.DocumentID{meta.ID}, Type: bus.DatabaseEntryCreated}) - - return meta, nil -} - -func (c *Collection[T]) CreateEdges(ctx context.Context, edges []*driver.EdgeDocument) (meta driver.DocumentMetaSlice, err error) { - defer func() { err = toHTTPErr(err) }() - - metas, errs, err := c.internal.CreateDocuments(ctx, edges) - if err != nil { - return nil, err - } - if errs.FirstNonNil() != nil { - return nil, errs.FirstNonNil() - } - - var ids []driver.DocumentID - for _, meta := range metas { - ids = append(ids, meta.ID) - } - - c.db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: ids, Type: bus.DatabaseEntryCreated}) - - return metas, nil -} - -func (c *Collection[T]) DocumentExists(ctx context.Context, id string) (exists bool, err error) { - defer func() { err = toHTTPErr(err) }() - - return c.internal.DocumentExists(ctx, id) -} - -func (c *Collection[T]) ReadDocument(ctx context.Context, key string, result *T) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - meta, err = c.internal.ReadDocument(ctx, key, result) - - return -} - -func (c *Collection[T]) UpdateDocument(ctx context.Context, key string, update any) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - meta, err = c.internal.UpdateDocument(ctx, key, update) - if err != nil { - return meta, err - } - - c.db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: []driver.DocumentID{meta.ID}, Type: bus.DatabaseEntryUpdated}) - - return meta, nil -} - -func (c *Collection[T]) ReplaceDocument(ctx context.Context, key string, document *T) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - meta, err = c.internal.ReplaceDocument(ctx, key, document) - if err != nil { - return meta, err - } - - c.db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{IDs: []driver.DocumentID{meta.ID}, Type: bus.DatabaseEntryUpdated}) - - return meta, nil -} - -func (c *Collection[T]) RemoveDocument(ctx context.Context, formatInt string) (meta driver.DocumentMeta, err error) { - defer func() { err = toHTTPErr(err) }() - - return c.internal.RemoveDocument(ctx, formatInt) -} - -func (c *Collection[T]) Truncate(ctx context.Context) (err error) { - defer func() { err = toHTTPErr(err) }() - - return c.internal.Truncate(ctx) -} - -func toHTTPErr(err error) error { - if err != nil { - ae := driver.ArangoError{} - if errors.As(err, &ae) { - return &api.HTTPError{Status: ae.Code, Internal: err} - } - - return err - } - - return nil -} diff --git a/database/busdb/keyed.go b/database/busdb/keyed.go deleted file mode 100644 index be98c37..0000000 --- a/database/busdb/keyed.go +++ /dev/null @@ -1,25 +0,0 @@ -package busdb - -import "encoding/json" - -type Keyed[T any] struct { - Key string - Doc *T -} - -func (p *Keyed[T]) MarshalJSON() ([]byte, error) { - b, err := json.Marshal(p.Doc) - if err != nil { - panic(err) - } - - var m map[string]any - err = json.Unmarshal(b, &m) - if err != nil { - panic(err) - } - - m["_key"] = p.Key - - return json.Marshal(m) -} diff --git a/database/busdb/log.go b/database/busdb/log.go deleted file mode 100644 index 6908a53..0000000 --- a/database/busdb/log.go +++ /dev/null @@ -1,90 +0,0 @@ -package busdb - -import ( - "context" - "errors" - "strings" - - "github.com/arangodb/go-driver" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -const LogCollectionName = "logs" - -func (db *BusDatabase) LogCreate(ctx context.Context, logType, reference, message string) (*model.LogEntry, error) { - user, _, ok := maut.UserFromContext(ctx) - if !ok { - return nil, errors.New("no user in context") - } - - logentry := &model.LogEntry{ - Type: logType, - Reference: reference, - Created: time.Now().UTC(), - Creator: user.ID, - Message: message, - } - - doc := model.LogEntry{} - _, err := db.logCollection.CreateDocument(driver.WithReturnNew(ctx, &doc), logentry) - if err != nil { - return nil, err - } - - return &doc, nil -} - -func (db *BusDatabase) LogBatchCreate(ctx context.Context, logentries []*model.LogEntry) error { - var ids []driver.DocumentID - for _, entry := range logentries { - if strings.HasPrefix(entry.Reference, "tickets/") { - ids = append(ids, driver.DocumentID(entry.Reference)) - } - } - if ids != nil { - go db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{ - IDs: ids, - Type: bus.DatabaseEntryCreated, - }) - } - - _, errs, err := db.logCollection.CreateDocuments(ctx, logentries) - if err != nil { - return err - } - err = errs.FirstNonNil() - if err != nil { - return err - } - - return nil -} - -func (db *BusDatabase) LogList(ctx context.Context, reference string) ([]*model.LogEntry, error) { - query := "FOR d IN @@collection FILTER d.reference == @reference SORT d.created DESC RETURN d" - cursor, err := db.internal.Query(ctx, query, map[string]any{ - "@collection": LogCollectionName, - "reference": reference, - }) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.LogEntry - for { - var doc model.LogEntry - _, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, &doc) - } - - return docs, err -} diff --git a/database/dashboard.go b/database/dashboard.go deleted file mode 100644 index eba844f..0000000 --- a/database/dashboard.go +++ /dev/null @@ -1,119 +0,0 @@ -package database - -import ( - "context" - "errors" - "fmt" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - - "github.com/SecurityBrewery/catalyst/caql" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toDashboardResponse(key string, doc *model.Dashboard) *model.DashboardResponse { - return &model.DashboardResponse{ - ID: key, - Name: doc.Name, - Widgets: doc.Widgets, - } -} - -func (db *Database) DashboardCreate(ctx context.Context, dashboard *model.Dashboard) (*model.DashboardResponse, error) { - if dashboard == nil { - return nil, errors.New("requires dashboard") - } - if dashboard.Name == "" { - return nil, errors.New("requires dashboard name") - } - - if err := db.parseWidgets(dashboard); err != nil { - return nil, err - } - - var doc model.Dashboard - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.dashboardCollection.CreateDocument(ctx, newctx, strcase.ToKebab(dashboard.Name), dashboard) - if err != nil { - return nil, err - } - - return toDashboardResponse(meta.Key, &doc), nil -} - -func (db *Database) DashboardGet(ctx context.Context, id string) (*model.DashboardResponse, error) { - var doc model.Dashboard - meta, err := db.dashboardCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toDashboardResponse(meta.Key, &doc), nil -} - -func (db *Database) DashboardUpdate(ctx context.Context, id string, dashboard *model.Dashboard) (*model.DashboardResponse, error) { - if err := db.parseWidgets(dashboard); err != nil { - return nil, err - } - - var doc model.Dashboard - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.dashboardCollection.ReplaceDocument(ctx, id, dashboard) - if err != nil { - return nil, err - } - - return toDashboardResponse(meta.Key, &doc), nil -} - -func (db *Database) DashboardDelete(ctx context.Context, id string) error { - _, err := db.dashboardCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) DashboardList(ctx context.Context) ([]*model.DashboardResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": DashboardCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.DashboardResponse - for { - var doc model.Dashboard - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, toDashboardResponse(meta.Key, &doc)) - } - - return docs, err -} - -func (db *Database) parseWidgets(dashboard *model.Dashboard) error { - for _, widget := range dashboard.Widgets { - parser := &caql.Parser{Searcher: db.Index, Prefix: "d."} - - _, err := parser.Parse(widget.Aggregation) - if err != nil { - return fmt.Errorf("invalid aggregation query (%s): syntax error", widget.Aggregation) - } - - if widget.Filter != nil { - _, err := parser.Parse(*widget.Filter) - if err != nil { - return fmt.Errorf("invalid filter query (%s): syntax error", *widget.Filter) - } - } - } - - return nil -} diff --git a/database/db.go b/database/db.go deleted file mode 100644 index edfd775..0000000 --- a/database/db.go +++ /dev/null @@ -1,241 +0,0 @@ -package database - -import ( - "context" - "errors" - "fmt" - "log" - "time" - - "github.com/arangodb/go-driver" - "github.com/arangodb/go-driver/http" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/database/migrations" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/hooks" - "github.com/SecurityBrewery/catalyst/index" -) - -const ( - Name = "catalyst" - TicketCollectionName = "tickets" - TemplateCollectionName = "templates" - PlaybookCollectionName = "playbooks" - AutomationCollectionName = "automations" - UserDataCollectionName = "userdata" - UserCollectionName = "users" - TicketTypeCollectionName = "tickettypes" - JobCollectionName = "jobs" - SettingsCollectionName = "settings" - DashboardCollectionName = "dashboards" - - TicketArtifactsGraphName = "Graph" - RelatedTicketsCollectionName = "related" -) - -type Database struct { - *busdb.BusDatabase - Index *index.Index - bus *bus.Bus - Hooks *hooks.Hooks - - templateCollection *busdb.Collection[model.TicketTemplate] - ticketCollection *busdb.Collection[model.Ticket] - playbookCollection *busdb.Collection[model.PlaybookTemplate] - automationCollection *busdb.Collection[model.Automation] - userdataCollection *busdb.Collection[model.UserData] - userCollection *busdb.Collection[model.User] - tickettypeCollection *busdb.Collection[model.TicketType] - jobCollection *busdb.Collection[model.Job] - settingsCollection *busdb.Collection[model.Settings] - dashboardCollection *busdb.Collection[model.Dashboard] - - relatedCollection *busdb.Collection[driver.EdgeDocument] - // containsCollection *busdb.Collection -} - -type Config struct { - Host string - User string - Password string - Name string -} - -func New(ctx context.Context, index *index.Index, bus *bus.Bus, hooks *hooks.Hooks, config *Config) (*Database, error) { - name := config.Name - if config.Name == "" { - name = Name - } - - var err error - var client driver.Client - for { - deadline, ok := ctx.Deadline() - if ok && time.Until(deadline) < 0 { - return nil, context.DeadlineExceeded - } - - client, err = getClient(ctx, config) - if err == nil { - break - } - - if errors.Is(err, context.DeadlineExceeded) { - return nil, errors.New("could not load database, connection timed out") - } - - log.Printf("could not connect to database: %s, retrying in 10 seconds\n", err) - time.Sleep(time.Second * 10) - } - - hooks.DatabaseAfterConnect(ctx, client, name) - - arangoDB, err := SetupDB(ctx, client, name) - if err != nil { - return nil, fmt.Errorf("DB setup failed: %w", err) - } - - if err = migrations.PerformMigrations(ctx, arangoDB); err != nil { - return nil, fmt.Errorf("migrations failed: %w", err) - } - - ticketCollection, err := arangoDB.Collection(ctx, TicketCollectionName) - if err != nil { - return nil, err - } - templateCollection, err := arangoDB.Collection(ctx, TemplateCollectionName) - if err != nil { - return nil, err - } - playbookCollection, err := arangoDB.Collection(ctx, PlaybookCollectionName) - if err != nil { - return nil, err - } - relatedCollection, err := arangoDB.Collection(ctx, RelatedTicketsCollectionName) - if err != nil { - return nil, err - } - automationCollection, err := arangoDB.Collection(ctx, AutomationCollectionName) - if err != nil { - return nil, err - } - userdataCollection, err := arangoDB.Collection(ctx, UserDataCollectionName) - if err != nil { - return nil, err - } - userCollection, err := arangoDB.Collection(ctx, UserCollectionName) - if err != nil { - return nil, err - } - tickettypeCollection, err := arangoDB.Collection(ctx, TicketTypeCollectionName) - if err != nil { - return nil, err - } - jobCollection, err := arangoDB.Collection(ctx, JobCollectionName) - if err != nil { - return nil, err - } - settingsCollection, err := arangoDB.Collection(ctx, SettingsCollectionName) - if err != nil { - return nil, err - } - dashboardCollection, err := arangoDB.Collection(ctx, DashboardCollectionName) - if err != nil { - return nil, err - } - - hookedDB, err := busdb.NewDatabase(ctx, arangoDB, bus) - if err != nil { - return nil, err - } - - db := &Database{ - BusDatabase: hookedDB, - bus: bus, - Index: index, - Hooks: hooks, - templateCollection: busdb.NewCollection[model.TicketTemplate](templateCollection, hookedDB), - ticketCollection: busdb.NewCollection[model.Ticket](ticketCollection, hookedDB), - playbookCollection: busdb.NewCollection[model.PlaybookTemplate](playbookCollection, hookedDB), - automationCollection: busdb.NewCollection[model.Automation](automationCollection, hookedDB), - userdataCollection: busdb.NewCollection[model.UserData](userdataCollection, hookedDB), - userCollection: busdb.NewCollection[model.User](userCollection, hookedDB), - tickettypeCollection: busdb.NewCollection[model.TicketType](tickettypeCollection, hookedDB), - jobCollection: busdb.NewCollection[model.Job](jobCollection, hookedDB), - settingsCollection: busdb.NewCollection[model.Settings](settingsCollection, hookedDB), - dashboardCollection: busdb.NewCollection[model.Dashboard](dashboardCollection, hookedDB), - relatedCollection: busdb.NewCollection[driver.EdgeDocument](relatedCollection, hookedDB), - } - - return db, nil -} - -func getClient(ctx context.Context, config *Config) (driver.Client, error) { - conn, err := http.NewConnection(http.ConnectionConfig{Endpoints: []string{config.Host}}) - if err != nil { - return nil, err - } - - client, err := driver.NewClient(driver.ClientConfig{ - Connection: conn, - Authentication: driver.BasicAuthentication(config.User, config.Password), - }) - if err != nil { - return nil, err - } - - if _, err := client.Version(ctx); err != nil { - return nil, err - } - - return client, nil -} - -func SetupDB(ctx context.Context, client driver.Client, dbName string) (driver.Database, error) { - databaseExists, err := client.DatabaseExists(ctx, dbName) - if err != nil { - return nil, fmt.Errorf("could not check if database exists: %w", err) - } - - var db driver.Database - if !databaseExists { - db, err = client.CreateDatabase(ctx, dbName, nil) - } else { - db, err = client.Database(ctx, dbName) - } - if err != nil { - return nil, fmt.Errorf("could not create database: %w", err) - } - - collectionExists, err := db.CollectionExists(ctx, migrations.MigrationCollection) - if err != nil { - return nil, fmt.Errorf("could not check if collection exists: %w", err) - } - - if !collectionExists { - if _, err := db.CreateCollection(ctx, migrations.MigrationCollection, &driver.CreateCollectionOptions{ - KeyOptions: &driver.CollectionKeyOptions{AllowUserKeys: true}, - }); err != nil { - log.Println(err) - } - } - - return db, nil -} - -func (db *Database) Truncate(ctx context.Context) { - _ = db.templateCollection.Truncate(ctx) - _ = db.ticketCollection.Truncate(ctx) - _ = db.playbookCollection.Truncate(ctx) - _ = db.automationCollection.Truncate(ctx) - _ = db.userdataCollection.Truncate(ctx) - _ = db.userCollection.Truncate(ctx) - _ = db.tickettypeCollection.Truncate(ctx) - _ = db.jobCollection.Truncate(ctx) - _ = db.relatedCollection.Truncate(ctx) - _ = db.settingsCollection.Truncate(ctx) - _ = db.dashboardCollection.Truncate(ctx) - // db.containsCollection.Truncate(ctx) -} diff --git a/database/job.go b/database/job.go deleted file mode 100644 index 7a1a880..0000000 --- a/database/job.go +++ /dev/null @@ -1,230 +0,0 @@ -package database - -import ( - "context" - "encoding/json" - "errors" - "fmt" - - "github.com/arangodb/go-driver" - "github.com/docker/docker/client" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/caql" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toJob(doc *model.JobForm) *model.Job { - return &model.Job{ - Automation: doc.Automation, - Payload: doc.Payload, - Origin: doc.Origin, - Running: true, - Status: "created", - } -} - -func (db *Database) toJobResponse(ctx context.Context, key string, doc *model.Job, update bool) (*model.JobResponse, error) { - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - return nil, err - } - defer cli.Close() - - status := doc.Status - - if doc.Running { - inspect, err := cli.ContainerInspect(ctx, key) - if err != nil || inspect.State == nil { - if update { - _, _ = db.JobUpdate(ctx, key, &model.JobUpdate{ - Status: doc.Status, - Running: false, - }) - } - } else if doc.Status != inspect.State.Status { - status = inspect.State.Status - if update { - _, _ = db.JobUpdate(ctx, key, &model.JobUpdate{ - Status: status, - Running: doc.Running, - }) - } - } - } - - return &model.JobResponse{ - Automation: doc.Automation, - ID: key, - Log: doc.Log, - Payload: doc.Payload, - Origin: doc.Origin, - Output: doc.Output, - Status: status, - Container: doc.Container, - }, nil -} - -func (db *Database) JobCreate(ctx context.Context, id string, job *model.JobForm) (*model.JobResponse, error) { - if job == nil { - return nil, errors.New("requires job") - } - - var doc model.Job - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.jobCollection.CreateDocument(ctx, newctx, id, toJob(job)) - if err != nil { - return nil, err - } - - return db.toJobResponse(ctx, meta.Key, &doc, true) -} - -func (db *Database) JobGet(ctx context.Context, id string) (*model.JobResponse, error) { - var doc model.Job - meta, err := db.jobCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return db.toJobResponse(ctx, meta.Key, &doc, true) -} - -func (db *Database) JobUpdate(ctx context.Context, id string, job *model.JobUpdate) (*model.JobResponse, error) { - var doc model.Job - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.jobCollection.UpdateDocument(ctx, id, job) - if err != nil { - return nil, err - } - - return db.toJobResponse(ctx, meta.Key, &doc, true) -} - -func (db *Database) JobLogAppend(ctx context.Context, id string, logLine string) error { - query := `LET d = DOCUMENT(@@collection, @ID) - UPDATE d WITH { "log": CONCAT(NOT_NULL(d.log, ""), @logline) } IN @@collection` - cur, _, err := db.Query(ctx, query, map[string]any{ - "@collection": JobCollectionName, - "ID": id, - "logline": logLine, - }, &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%s", JobCollectionName, id)), - }, - }) - if err != nil { - return err - } - defer cur.Close() - - return nil -} - -func (db *Database) JobComplete(ctx context.Context, id string, out any) error { - query := `LET d = DOCUMENT(@@collection, @ID) - UPDATE d WITH { "output": @out, "status": "completed", "running": false } IN @@collection` - cur, _, err := db.Query(ctx, query, map[string]any{ - "@collection": JobCollectionName, - "ID": id, - "out": out, - }, &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%s", JobCollectionName, id)), - }, - }) - if err != nil { - return err - } - defer cur.Close() - - return nil -} - -func (db *Database) JobDelete(ctx context.Context, id string) error { - _, err := db.jobCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) JobList(ctx context.Context) ([]*model.JobResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": JobCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.JobResponse - for { - var doc model.Job - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - - job, err := db.toJobResponse(ctx, meta.Key, &doc, false) - if err != nil { - return nil, err - } - - docs = append(docs, job) - } - - return docs, err -} - -func publishJobMapping(id, automation string, contextStructs *model.Context, origin *model.Origin, payloadMapping map[string]string, db *Database) error { - msg, err := generatePayload(payloadMapping, contextStructs) - if err != nil { - return fmt.Errorf("message generation failed: %w", err) - } - - db.bus.JobChannel.Publish(&bus.JobMsg{ - ID: id, - Automation: automation, - Origin: origin, - Message: &model.Message{ - Context: contextStructs, - Payload: msg, - }, - }) - - return nil -} - -func generatePayload(msgMapping map[string]string, contextStructs *model.Context) (map[string]any, error) { - contextJSON, err := json.Marshal(contextStructs) - if err != nil { - return nil, err - } - - automationContext := map[string]any{} - err = json.Unmarshal(contextJSON, &automationContext) - if err != nil { - return nil, err - } - - parser := caql.Parser{} - msg := map[string]any{} - for arg, expr := range msgMapping { - tree, err := parser.Parse(expr) - if err != nil { - return nil, err - } - - v, err := tree.Eval(automationContext) - if err != nil { - return nil, err - } - msg[arg] = v - } - - return msg, nil -} diff --git a/database/migrations/automations/comment.py b/database/migrations/automations/comment.py deleted file mode 100644 index 6a5c9bf..0000000 --- a/database/migrations/automations/comment.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import sys - -subprocess.call( - [sys.executable, "-m", "pip", "install", "requests"], - stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, -) - -import json -import requests - - -def run(msg): - if "ticket" in msg["context"]: - headers = {"PRIVATE-TOKEN": msg["secrets"]["catalyst_apikey"]} - url = "%s/tickets/%d/comments" % (msg["secrets"]["catalyst_apiurl"], msg["context"]["ticket"]["id"]) - data = {'message': msg["payload"]["default"], 'creator': 'automation'} - requests.post(url, json=data, headers=headers).json() - - return {"done": True} - - -print(json.dumps(run(json.loads(sys.argv[1])))) diff --git a/database/migrations/automations/hash.sha1.py b/database/migrations/automations/hash.sha1.py deleted file mode 100755 index 799ba06..0000000 --- a/database/migrations/automations/hash.sha1.py +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env python - -import sys -import json -import hashlib - - -def run(msg): - sha1 = hashlib.sha1(msg['payload']['default'].encode('utf-8')) - return {"hash": sha1.hexdigest()} - - -print(json.dumps(run(json.loads(sys.argv[1])))) diff --git a/database/migrations/automations/vt.hash.py b/database/migrations/automations/vt.hash.py deleted file mode 100644 index 270c605..0000000 --- a/database/migrations/automations/vt.hash.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python - -import subprocess -import sys - -subprocess.call( - [sys.executable, "-m", "pip", "install", "requests"], - stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, -) - -import json -import requests - - -def run(msg): - api_key = msg['secrets']['vt_api_key'].encode('utf-8') - resource = msg['payload']['default'].encode('utf-8') - params = {'apikey': api_key, 'resource': resource} - return requests.get("https://www.virustotal.com/vtapi/v2/file/report", params=params).json() - - -print(json.dumps(run(json.loads(sys.argv[1])))) diff --git a/database/migrations/content.go b/database/migrations/content.go deleted file mode 100644 index 80042a4..0000000 --- a/database/migrations/content.go +++ /dev/null @@ -1,21 +0,0 @@ -package migrations - -import _ "embed" - -//go:embed templates/default.json -var DefaultTemplateSchema string - -//go:embed automations/hash.sha1.py -var SHA1HashAutomation string - -//go:embed automations/vt.hash.py -var VTHashAutomation string - -//go:embed automations/comment.py -var CommentAutomation string - -//go:embed playbooks/phishing.yml -var PhishingPlaybook string - -//go:embed playbooks/simple.yaml -var SimplePlaybook string diff --git a/database/migrations/migrations.go b/database/migrations/migrations.go deleted file mode 100644 index 7881ebe..0000000 --- a/database/migrations/migrations.go +++ /dev/null @@ -1,247 +0,0 @@ -package migrations - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" -) - -const MigrationCollection string = "migrations" - -type Migration interface { - MID() string - Migrate(ctx context.Context, driver driver.Database) error -} - -func generateMigrations() ([]Migration, error) { - // content here should never change - return []Migration{ - &createCollection{ID: "create-log-collection", Name: "logs", DataType: "log", Schema: `{"properties":{"created":{"format":"date-time","type":"string"},"creator":{"type":"string"},"message":{"type":"string"},"reference":{"type":"string"}},"required":["created","creator","message","reference"],"type":"object"}`}, - &createCollection{ID: "create-ticket-collection", Name: "tickets", DataType: "ticket", Schema: `{"properties":{"artifacts":{"items":{"properties":{"enrichments":{"additionalProperties":{"properties":{"created":{"format":"date-time","type":"string"},"data":{"example":{"hash":"b7a067a742c20d07a7456646de89bc2d408a1153"},"properties":{},"type":"object"},"name":{"example":"hash.sha1","type":"string"}},"required":["created","data","name"],"type":"object"},"type":"object"},"name":{"example":"2.2.2.2","type":"string"},"status":{"example":"Unknown","type":"string"},"type":{"type":"string"}},"required":["name"],"type":"object"},"type":"array"},"comments":{"items":{"properties":{"created":{"format":"date-time","type":"string"},"creator":{"type":"string"},"message":{"type":"string"}},"required":["created","creator","message"],"type":"object"},"type":"array"},"created":{"format":"date-time","type":"string"},"details":{"example":{"description":"my little incident"},"properties":{},"type":"object"},"files":{"items":{"properties":{"key":{"example":"myfile","type":"string"},"name":{"example":"notes.docx","type":"string"}},"required":["key","name"],"type":"object"},"type":"array"},"modified":{"format":"date-time","type":"string"},"name":{"example":"WannyCry","type":"string"},"owner":{"example":"bob","type":"string"},"playbooks":{"additionalProperties":{"properties":{"name":{"example":"Phishing","type":"string"},"tasks":{"additionalProperties":{"properties":{"automation":{"type":"string"},"closed":{"format":"date-time","type":"string"},"created":{"format":"date-time","type":"string"},"data":{"properties":{},"type":"object"},"done":{"type":"boolean"},"join":{"example":false,"type":"boolean"},"payload":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"example":"Inform user","type":"string"},"next":{"additionalProperties":{"type":"string"},"type":"object"},"owner":{"type":"string"},"schema":{"properties":{},"type":"object"},"type":{"enum":["task","input","automation"],"example":"task","type":"string"}},"required":["created","done","name","type"],"type":"object"},"type":"object"}},"required":["name","tasks"],"type":"object"},"type":"object"},"read":{"example":["bob"],"items":{"type":"string"},"type":"array"},"references":{"items":{"properties":{"href":{"example":"https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2017-0144","type":"string"},"name":{"example":"CVE-2017-0144","type":"string"}},"required":["href","name"],"type":"object"},"type":"array"},"schema":{"example":"{}","type":"string"},"status":{"example":"open","type":"string"},"type":{"example":"incident","type":"string"},"write":{"example":["alice"],"items":{"type":"string"},"type":"array"}},"required":["created","modified","name","schema","status","type"],"type":"object"}`}, - &createCollection{ID: "create-template-collection", Name: "templates", DataType: "template", Schema: `{"properties":{"name":{"type":"string"},"schema":{"type":"string"}},"required":["name","schema"],"type":"object"}`}, - &createCollection{ID: "create-playbook-collection", Name: "playbooks", DataType: "playbook", Schema: `{"properties":{"name":{"type":"string"},"yaml":{"type":"string"}},"required":["name","yaml"],"type":"object"}`}, - &createCollection{ID: "create-automation-collection", Name: "automations", DataType: "automation", Schema: `{"properties":{"image":{"type":"string"},"script":{"type":"string"}},"required":["image","script"],"type":"object"}`}, - &createCollection{ID: "create-userdata-collection", Name: "userdata", DataType: "userdata", Schema: `{"properties":{"email":{"type":"string"},"image":{"type":"string"},"name":{"type":"string"},"timeformat":{"title":"Time Format (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens)","type":"string"}},"type":"object"}`}, - &createCollection{ID: "create-tickettype-collection", Name: "tickettypes", DataType: "tickettype", Schema: `{"properties":{"default_groups":{"items":{"type":"string"},"type":"array"},"default_playbooks":{"items":{"type":"string"},"type":"array"},"default_template":{"type":"string"},"icon":{"type":"string"},"name":{"type":"string"}},"required":["default_playbooks","default_template","icon","name"],"type":"object"}`}, - &createCollection{ID: "create-user-collection", Name: "users", DataType: "user", Schema: `{"properties":{"apikey":{"type":"boolean"},"blocked":{"type":"boolean"},"roles":{"items":{"type":"string"},"type":"array"},"sha256":{"type":"string"}},"required":["apikey","blocked","roles"],"type":"object"}`}, - - &createGraph{ID: "create-ticket-graph", Name: "Graph", EdgeDefinitions: []driver.EdgeDefinition{{Collection: "related", From: []string{"tickets"}, To: []string{"tickets"}}}}, - - &createDocument[busdb.Keyed[model.TicketTemplate]]{ID: "create-template-default", Collection: "templates", Document: &busdb.Keyed[model.TicketTemplate]{Key: "default", Doc: &model.TicketTemplate{Schema: DefaultTemplateSchema, Name: "Default"}}}, - &createDocument[busdb.Keyed[model.Automation]]{ID: "create-automation-vt.hash", Collection: "automations", Document: &busdb.Keyed[model.Automation]{Key: "vt.hash", Doc: &model.Automation{Image: "docker.io/python:3", Script: VTHashAutomation}}}, - &createDocument[busdb.Keyed[model.Automation]]{ID: "create-automation-comment", Collection: "automations", Document: &busdb.Keyed[model.Automation]{Key: "comment", Doc: &model.Automation{Image: "docker.io/python:3", Script: CommentAutomation}}}, - &createDocument[busdb.Keyed[model.Automation]]{ID: "create-automation-hash.sha1", Collection: "automations", Document: &busdb.Keyed[model.Automation]{Key: "hash.sha1", Doc: &model.Automation{Image: "docker.io/python:3", Script: SHA1HashAutomation}}}, - &createDocument[busdb.Keyed[model.PlaybookTemplate]]{ID: "create-playbook-phishing", Collection: "playbooks", Document: &busdb.Keyed[model.PlaybookTemplate]{Key: "phishing", Doc: &model.PlaybookTemplate{Name: "Phishing", Yaml: PhishingPlaybook}}}, - &createDocument[busdb.Keyed[model.TicketType]]{ID: "create-tickettype-alert", Collection: "tickettypes", Document: &busdb.Keyed[model.TicketType]{Key: "alert", Doc: &model.TicketType{Name: "Alerts", Icon: "mdi-alert", DefaultTemplate: "default", DefaultPlaybooks: []string{}, DefaultGroups: nil}}}, - &createDocument[busdb.Keyed[model.TicketType]]{ID: "create-tickettype-incident", Collection: "tickettypes", Document: &busdb.Keyed[model.TicketType]{Key: "incident", Doc: &model.TicketType{Name: "Incidents", Icon: "mdi-radioactive", DefaultTemplate: "default", DefaultPlaybooks: []string{}, DefaultGroups: nil}}}, - &createDocument[busdb.Keyed[model.TicketType]]{ID: "create-tickettype-investigation", Collection: "tickettypes", Document: &busdb.Keyed[model.TicketType]{Key: "investigation", Doc: &model.TicketType{Name: "Forensic Investigations", Icon: "mdi-fingerprint", DefaultTemplate: "default", DefaultPlaybooks: []string{}, DefaultGroups: nil}}}, - &createDocument[busdb.Keyed[model.TicketType]]{ID: "create-tickettype-hunt", Collection: "tickettypes", Document: &busdb.Keyed[model.TicketType]{Key: "hunt", Doc: &model.TicketType{Name: "Threat Hunting", Icon: "mdi-target", DefaultTemplate: "default", DefaultPlaybooks: []string{}, DefaultGroups: nil}}}, - - &updateSchema{ID: "update-automation-collection-1", Name: "automations", DataType: "automation", Schema: `{"properties":{"image":{"type":"string"},"script":{"type":"string"}},"required":["image","script"],"type":"object"}`}, - &updateDocument[model.Automation]{ID: "update-automation-vt.hash-1", Collection: "automations", Key: "vt.hash", Document: &model.Automation{Image: "docker.io/python:3", Script: VTHashAutomation, Schema: pointer.String(`{"title":"Input","type":"object","properties":{"default":{"type":"string","title":"Value"}},"required":["default"]}`), Type: []string{"global", "artifact", "playbook"}}}, - &updateDocument[model.Automation]{ID: "update-automation-comment-1", Collection: "automations", Key: "comment", Document: &model.Automation{Image: "docker.io/python:3", Script: CommentAutomation, Type: []string{"playbook"}}}, - &updateDocument[model.Automation]{ID: "update-automation-hash.sha1-1", Collection: "automations", Key: "hash.sha1", Document: &model.Automation{Image: "docker.io/python:3", Script: SHA1HashAutomation, Schema: pointer.String(`{"title":"Input","type":"object","properties":{"default":{"type":"string","title":"Value"}},"required":["default"]}`), Type: []string{"global", "artifact", "playbook"}}}, - - &createCollection{ID: "create-job-collection", Name: "jobs", DataType: "job", Schema: `{"properties":{"automation":{"type":"string"},"log":{"type":"string"},"payload":{},"origin":{"properties":{"artifact_origin":{"properties":{"artifact":{"type":"string"},"ticket_id":{"format":"int64","type":"integer"}},"required":["artifact","ticket_id"],"type":"object"},"task_origin":{"properties":{"playbook_id":{"type":"string"},"task_id":{"type":"string"},"ticket_id":{"format":"int64","type":"integer"}},"required":["playbook_id","task_id","ticket_id"],"type":"object"}},"type":"object"},"output":{"properties":{},"type":"object"},"running":{"type":"boolean"},"status":{"type":"string"}},"required":["automation","running","status"],"type":"object"}`}, - - &createDocument[busdb.Keyed[model.PlaybookTemplate]]{ID: "create-playbook-simple", Collection: "playbooks", Document: &busdb.Keyed[model.PlaybookTemplate]{Key: "simple", Doc: &model.PlaybookTemplate{Name: "Simple", Yaml: SimplePlaybook}}}, - - &createCollection{ID: "create-settings-collection", Name: "settings", DataType: "settings", Schema: `{"type":"object","properties":{"artifactStates":{"title":"Artifact States","items":{"type":"object","properties":{"color":{"title":"Color","type":"string","enum":["error","info","success","warning"]},"icon":{"title":"Icon (https://materialdesignicons.com)","type":"string"},"id":{"title":"ID","type":"string"},"name":{"title":"Name","type":"string"}},"required":["id","name","icon"]},"type":"array"},"artifactKinds":{"title":"Artifact Kinds","items":{"type":"object","properties":{"color":{"title":"Color","type":"string","enum":["error","info","success","warning"]},"icon":{"title":"Icon (https://materialdesignicons.com)","type":"string"},"id":{"title":"ID","type":"string"},"name":{"title":"Name","type":"string"}},"required":["id","name","icon"]},"type":"array"},"timeformat":{"title":"Time Format","type":"string"}},"required":["timeformat","artifactKinds","artifactStates"]}`}, - &createDocument[busdb.Keyed[model.Settings]]{ID: "create-settings-global", Collection: "settings", Document: &busdb.Keyed[model.Settings]{Key: "global", Doc: &model.Settings{ArtifactStates: []*model.Type{{Icon: "mdi-help-circle-outline", ID: "unknown", Name: "Unknown", Color: pointer.String(model.TypeColorInfo)}, {Icon: "mdi-skull", ID: "malicious", Name: "Malicious", Color: pointer.String(model.TypeColorError)}, {Icon: "mdi-check", ID: "clean", Name: "Clean", Color: pointer.String(model.TypeColorSuccess)}}, ArtifactKinds: []*model.Type{{Icon: "mdi-server", ID: "asset", Name: "Asset"}, {Icon: "mdi-bullseye", ID: "ioc", Name: "IOC"}}, Timeformat: "YYYY-MM-DDThh:mm:ss"}}}, - - &updateSchema{ID: "update-ticket-collection", Name: "tickets", DataType: "ticket", Schema: `{"properties":{"artifacts":{"items":{"properties":{"enrichments":{"additionalProperties":{"properties":{"created":{"format":"date-time","type":"string"},"data":{"example":{"hash":"b7a067a742c20d07a7456646de89bc2d408a1153"},"properties":{},"type":"object"},"name":{"example":"hash.sha1","type":"string"}},"required":["created","data","name"],"type":"object"},"type":"object"},"name":{"example":"2.2.2.2","type":"string"},"status":{"example":"Unknown","type":"string"},"type":{"type":"string"},"kind":{"type":"string"}},"required":["name"],"type":"object"},"type":"array"},"comments":{"items":{"properties":{"created":{"format":"date-time","type":"string"},"creator":{"type":"string"},"message":{"type":"string"}},"required":["created","creator","message"],"type":"object"},"type":"array"},"created":{"format":"date-time","type":"string"},"details":{"example":{"description":"my little incident"},"properties":{},"type":"object"},"files":{"items":{"properties":{"key":{"example":"myfile","type":"string"},"name":{"example":"notes.docx","type":"string"}},"required":["key","name"],"type":"object"},"type":"array"},"modified":{"format":"date-time","type":"string"},"name":{"example":"WannyCry","type":"string"},"owner":{"example":"bob","type":"string"},"playbooks":{"additionalProperties":{"properties":{"name":{"example":"Phishing","type":"string"},"tasks":{"additionalProperties":{"properties":{"automation":{"type":"string"},"closed":{"format":"date-time","type":"string"},"created":{"format":"date-time","type":"string"},"data":{"properties":{},"type":"object"},"done":{"type":"boolean"},"join":{"example":false,"type":"boolean"},"payload":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"example":"Inform user","type":"string"},"next":{"additionalProperties":{"type":"string"},"type":"object"},"owner":{"type":"string"},"schema":{"properties":{},"type":"object"},"type":{"enum":["task","input","automation"],"example":"task","type":"string"}},"required":["created","done","name","type"],"type":"object"},"type":"object"}},"required":["name","tasks"],"type":"object"},"type":"object"},"read":{"example":["bob"],"items":{"type":"string"},"type":"array"},"references":{"items":{"properties":{"href":{"example":"https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2017-0144","type":"string"},"name":{"example":"CVE-2017-0144","type":"string"}},"required":["href","name"],"type":"object"},"type":"array"},"schema":{"example":"{}","type":"string"},"status":{"example":"open","type":"string"},"type":{"example":"incident","type":"string"},"write":{"example":["alice"],"items":{"type":"string"},"type":"array"}},"required":["created","modified","name","schema","status","type"],"type":"object"}`}, - - &createCollection{ID: "create-dashboard-collection", Name: "dashboards", DataType: "dashboards", Schema: `{"type":"object","properties":{"name":{"type":"string"},"widgets":{"items":{"type":"object","properties":{"aggregation":{"type":"string"},"filter":{"type":"string"},"name":{"type":"string"},"type":{"enum":[ "bar", "line", "pie" ]},"width": { "type": "integer", "minimum": 1, "maximum": 12 }},"required":["name","aggregation", "type", "width"]},"type":"array"}},"required":["name","widgets"]}`}, - - &updateDocument[model.Settings]{ID: "update-settings-global-1", Collection: "settings", Key: "global", Document: &model.Settings{ArtifactStates: []*model.Type{{Icon: "mdi-help-circle-outline", ID: "unknown", Name: "Unknown", Color: pointer.String(model.TypeColorInfo)}, {Icon: "mdi-skull", ID: "malicious", Name: "Malicious", Color: pointer.String(model.TypeColorError)}, {Icon: "mdi-check", ID: "clean", Name: "Clean", Color: pointer.String(model.TypeColorSuccess)}}, ArtifactKinds: []*model.Type{{Icon: "mdi-server", ID: "asset", Name: "Asset"}, {Icon: "mdi-bullseye", ID: "ioc", Name: "IOC"}}, Timeformat: "yyyy-MM-dd hh:mm:ss"}}, - - &mapRoles{ID: "simplify-roles"}, - }, nil -} - -func loadSchema(dataType, jsonschema string) (*driver.CollectionSchemaOptions, error) { - ticketCollectionSchema := &driver.CollectionSchemaOptions{Level: driver.CollectionSchemaLevelStrict, Message: fmt.Sprintf("Validation of %s failed", dataType)} - - err := ticketCollectionSchema.LoadRule([]byte(jsonschema)) - - return ticketCollectionSchema, err -} - -type migration struct { - Key string `json:"_key"` -} - -func PerformMigrations(ctx context.Context, db driver.Database) error { - collection, err := db.Collection(ctx, MigrationCollection) - if err != nil { - return err - } - - migrations, err := generateMigrations() - if err != nil { - return fmt.Errorf("could not generate migrations: %w", err) - } - - for _, m := range migrations { - migrationRan, err := collection.DocumentExists(ctx, m.MID()) - if err != nil { - return err - } - - if !migrationRan { - if err := m.Migrate(ctx, db); err != nil { - return fmt.Errorf("migration %s failed: %w", m.MID(), err) - } - - if _, err := collection.CreateDocument(ctx, &migration{Key: m.MID()}); err != nil { - return fmt.Errorf("could not save %s migration document: %w", m.MID(), err) - } - } - } - - return nil -} - -type createCollection struct { - ID string - Name string - DataType string - Schema string -} - -func (m *createCollection) MID() string { - return m.ID -} - -func (m *createCollection) Migrate(ctx context.Context, db driver.Database) error { - schema, err := loadSchema(m.DataType, m.Schema) - if err != nil { - return err - } - - _, err = db.CreateCollection(ctx, m.Name, &driver.CreateCollectionOptions{ - Schema: schema, - }) - - return err -} - -type updateSchema struct { - ID string - Name string - DataType string - Schema string -} - -func (m *updateSchema) MID() string { - return m.ID -} - -func (m *updateSchema) Migrate(ctx context.Context, db driver.Database) error { - schema, err := loadSchema(m.DataType, m.Schema) - if err != nil { - return err - } - - col, err := db.Collection(ctx, m.Name) - if err != nil { - return err - } - - err = col.SetProperties(ctx, driver.SetCollectionPropertiesOptions{ - Schema: schema, - }) - - return err -} - -type createGraph struct { - ID string - Name string - EdgeDefinitions []driver.EdgeDefinition -} - -func (m *createGraph) MID() string { - return m.ID -} - -func (m *createGraph) Migrate(ctx context.Context, db driver.Database) error { - _, err := db.CreateGraph(ctx, m.Name, &driver.CreateGraphOptions{ - EdgeDefinitions: m.EdgeDefinitions, - }) - - return err -} - -type createDocument[T any] struct { - ID string - Collection string - Document *T -} - -func (m *createDocument[T]) MID() string { - return m.ID -} - -func (m *createDocument[T]) Migrate(ctx context.Context, driver driver.Database) error { - collection, err := driver.Collection(ctx, m.Collection) - if err != nil { - return err - } - - _, err = collection.CreateDocument(ctx, m.Document) - - return err -} - -type updateDocument[T any] struct { - ID string - Collection string - Key string - Document *T -} - -func (m *updateDocument[T]) MID() string { - return m.ID -} - -func (m *updateDocument[T]) Migrate(ctx context.Context, driver driver.Database) error { - collection, err := driver.Collection(ctx, m.Collection) - if err != nil { - return err - } - - exists, err := collection.DocumentExists(ctx, m.Key) - if err != nil { - return err - } - - if !exists { - _, err = collection.CreateDocument(ctx, m.Document) - - return err - } - - _, err = collection.ReplaceDocument(ctx, m.Key, m.Document) - - return err -} - -type mapRoles struct { - ID string -} - -func (m mapRoles) MID() string { - return m.ID -} - -func (m mapRoles) Migrate(ctx context.Context, driver driver.Database) error { - _, err := driver.Query(ctx, "FOR u IN users UPDATE u WITH {roles: u.roles[*].name} IN users", nil) - - return err -} diff --git a/database/migrations/playbooks/phishing.yml b/database/migrations/playbooks/phishing.yml deleted file mode 100644 index 0934b95..0000000 --- a/database/migrations/playbooks/phishing.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Phishing -tasks: - board: - name: Board Involvement? - description: Is a board member involved? - type: input - schema: - properties: - boardInvolved: - default: false - title: A board member is involved. - type: boolean - required: - - boardInvolved - title: Board Involvement? - type: object - next: - escalate: "boardInvolved == true" - mail-available: "boardInvolved == false" - - escalate: - name: Escalate to CISO - description: Please escalate the task to the CISO - type: task - - mail-available: - name: Mail available - type: input - schema: - oneOf: - - properties: - mail: - title: Mail - type: string - x-display: textarea - schemaKey: - const: 'yes' - type: string - required: - - mail - title: 'Yes' - - properties: - schemaKey: - const: 'no' - type: string - title: 'No' - title: Mail available - type: object - next: - block-sender: "schemaKey == 'yes'" - extract-iocs: "schemaKey == 'yes'" - search-email-gateway: "schemaKey == 'no'" - - search-email-gateway: - name: Search email gateway - description: Please search email-gateway for the phishing mail. - type: task - next: - extract-iocs: - - block-sender: - name: Block sender - type: task - next: - extract-iocs: - - extract-iocs: - name: Extract IOCs - description: Please insert the IOCs - type: input - schema: - properties: - iocs: - items: - type: string - title: IOCs - type: array - title: Extract IOCs - type: object - next: - block-iocs: - - block-iocs: - name: Block IOCs - type: task diff --git a/database/migrations/playbooks/simple.yaml b/database/migrations/playbooks/simple.yaml deleted file mode 100644 index 5046453..0000000 --- a/database/migrations/playbooks/simple.yaml +++ /dev/null @@ -1,37 +0,0 @@ -name: Simple -tasks: - input: - name: Enter something to hash - type: input - schema: - title: Something - type: object - properties: - something: - type: string - title: Something - default: "" - next: - hash: "something != ''" - - hash: - name: Hash the something - type: automation - automation: hash.sha1 - payload: - default: "playbook.tasks['input'].data['something']" - next: - comment: "hash != ''" - - comment: - name: Comment the hash - type: automation - automation: comment - payload: - default: "playbook.tasks['hash'].data['hash']" - next: - done: "done" - - done: - name: You can close this case now - type: task diff --git a/database/migrations/templates/default.json b/database/migrations/templates/default.json deleted file mode 100644 index 20a186e..0000000 --- a/database/migrations/templates/default.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "definitions": {}, - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://example.com/object1618746510.json", - "title": "Default", - "type": "object", - "required": [ - "severity", - "description", - "tlp" - ], - "properties": { - "severity": { - "$id": "#root/severity", - "title": "Severity", - "type": "string", - "default": "Medium", - "x-cols": 6, - "x-class": "pr-2", - "x-display": "icon", - "x-itemIcon": "icon", - "oneOf": [ - { - "const": "Low", - "title": "Low", - "icon": "mdi-chevron-up" - }, - { - "const": "Medium", - "title": "Medium", - "icon": "mdi-chevron-double-up" - }, - { - "const": "High", - "title": "High", - "icon": "mdi-chevron-triple-up" - } - ] - }, - "tlp": { - "$id": "#root/tlp", - "title": "TLP", - "type": "string", - "x-cols": 6, - "x-class": "pr-2", - "x-display": "icon", - "x-itemIcon": "icon", - "oneOf": [ - { - "const": "White", - "title": "White", - "icon": "mdi-alpha-w" - }, - { - "const": "Green", - "title": "Green", - "icon": "mdi-alpha-g" - }, - { - "const": "Amber", - "title": "Amber", - "icon": "mdi-alpha-a" - }, - { - "const": "Red", - "title": "Red", - "icon": "mdi-alpha-r" - } - ] - }, - "description": { - "$id": "#root/description", - "title": "Description", - "type": "string", - "x-display": "textarea", - "x-class": "pr-2" - } - } -} diff --git a/database/playbook.go b/database/playbook.go deleted file mode 100644 index d3bb120..0000000 --- a/database/playbook.go +++ /dev/null @@ -1,160 +0,0 @@ -package database - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - "github.com/icza/dyno" - "gopkg.in/yaml.v3" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -type PlaybookYAML struct { - Name string `yaml:"name"` - Tasks map[string]TaskYAML `yaml:"tasks"` -} - -type TaskYAML struct { - Name string `yaml:"name"` - Type string `yaml:"type"` - Schema any `yaml:"schema"` - Automation string `yaml:"automation"` - Payload map[string]string `yaml:"payload"` - Next map[string]string `yaml:"next"` - Join bool `yaml:"join"` -} - -func toPlaybooks(docs []*model.PlaybookTemplateForm) (map[string]*model.Playbook, error) { - playbooks := map[string]*model.Playbook{} - for _, doc := range docs { - playbook, err := toPlaybook(doc) - if err != nil { - return nil, err - } - if doc.ID != nil { - playbooks[*doc.ID] = playbook - } else { - playbooks[strcase.ToKebab(playbook.Name)] = playbook - } - } - - return playbooks, nil -} - -func toPlaybook(doc *model.PlaybookTemplateForm) (*model.Playbook, error) { - ticketPlaybook := &model.Playbook{} - err := yaml.Unmarshal([]byte(doc.Yaml), ticketPlaybook) - if err != nil { - return nil, err - } - for idx, task := range ticketPlaybook.Tasks { - if task.Schema != nil { - schema, ok := dyno.ConvertMapI2MapS(task.Schema).(map[string]any) - if ok { - task.Schema = schema - } else { - return nil, errors.New("could not convert schema") - } - } - task.Created = time.Now().UTC() - ticketPlaybook.Tasks[idx] = task - } - - return ticketPlaybook, nil -} - -func toPlaybookTemplateResponse(key string, doc *model.PlaybookTemplate) *model.PlaybookTemplateResponse { - return &model.PlaybookTemplateResponse{ID: key, Name: doc.Name, Yaml: doc.Yaml} -} - -func (db *Database) PlaybookCreate(ctx context.Context, playbook *model.PlaybookTemplateForm) (*model.PlaybookTemplateResponse, error) { - if playbook == nil { - return nil, errors.New("requires playbook") - } - - var playbookYAML PlaybookYAML - err := yaml.Unmarshal([]byte(playbook.Yaml), &playbookYAML) - if err != nil { - return nil, err - } - - if playbookYAML.Name == "" { - return nil, errors.New("requires template name") - } - p := model.PlaybookTemplate{Name: playbookYAML.Name, Yaml: playbook.Yaml} - - var doc model.PlaybookTemplate - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.playbookCollection.CreateDocument(ctx, newctx, strcase.ToKebab(playbookYAML.Name), &p) - if err != nil { - return nil, err - } - - return toPlaybookTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) PlaybookGet(ctx context.Context, id string) (*model.PlaybookTemplateResponse, error) { - doc := model.PlaybookTemplate{} - meta, err := db.playbookCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toPlaybookTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) PlaybookDelete(ctx context.Context, id string) error { - _, err := db.playbookCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) PlaybookUpdate(ctx context.Context, id string, playbook *model.PlaybookTemplateForm) (*model.PlaybookTemplateResponse, error) { - var pb PlaybookYAML - err := yaml.Unmarshal([]byte(playbook.Yaml), &pb) - if err != nil { - return nil, err - } - - if pb.Name == "" { - return nil, errors.New("requires template name") - } - - var doc model.PlaybookTemplate - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.playbookCollection.ReplaceDocument(ctx, id, &model.PlaybookTemplate{Name: pb.Name, Yaml: playbook.Yaml}) - if err != nil { - return nil, err - } - - return toPlaybookTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) PlaybookList(ctx context.Context) ([]*model.PlaybookTemplateResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": PlaybookCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.PlaybookTemplateResponse - for { - var doc model.PlaybookTemplate - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, toPlaybookTemplateResponse(meta.Key, &doc)) - } - - return docs, err -} diff --git a/database/playbookutils.go b/database/playbookutils.go deleted file mode 100644 index 63993c0..0000000 --- a/database/playbookutils.go +++ /dev/null @@ -1,186 +0,0 @@ -package database - -import ( - "errors" - "fmt" - "log" - "sort" - - "github.com/SecurityBrewery/catalyst/caql" - "github.com/SecurityBrewery/catalyst/dag" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func playbookGraph(playbook *model.Playbook) (*dag.Graph, error) { - d := dag.NewGraph() - - var taskIDs []string - for taskID := range playbook.Tasks { - taskIDs = append(taskIDs, taskID) - } - sort.Strings(taskIDs) - - for _, taskID := range taskIDs { - if err := d.AddNode(taskID); err != nil { - return nil, errors.New("could not add node") - } - } - for _, taskID := range taskIDs { - task := playbook.Tasks[taskID] - for next := range task.Next { - if err := d.AddEdge(taskID, next); err != nil { - return nil, errors.New("could not add edge") - } - } - } - - return d, nil -} - -func toTaskResponse(playbook *model.Playbook, taskID string, order int, graph *dag.Graph) (*model.TaskResponse, error) { - task, ok := playbook.Tasks[taskID] - if !ok { - return nil, fmt.Errorf("task %s not found", taskID) - } - - tr := &model.TaskResponse{ - Automation: task.Automation, - Closed: task.Closed, - Created: task.Created, - Data: task.Data, - Done: task.Done, - Join: task.Join, - Payload: task.Payload, - Name: task.Name, - Next: task.Next, - Owner: task.Owner, - Schema: task.Schema, - Type: task.Type, - // Active: active, - // Order: v.Order, - } - - tr.Order = int64(order) - - taskActive, _ := active(playbook, taskID, graph, task) - tr.Active = taskActive - - return tr, nil -} - -func activePlaybook(playbook *model.Playbook, taskID string) (bool, error) { - task, ok := playbook.Tasks[taskID] - if !ok { - return false, fmt.Errorf("playbook does not contain tasks %s", taskID) - } - - d, err := playbookGraph(playbook) - if err != nil { - return false, err - } - - return active(playbook, taskID, d, task) -} - -func active(playbook *model.Playbook, taskID string, d *dag.Graph, task *model.Task) (bool, error) { - if task.Done { - return false, nil - } - - parents := d.GetParents(taskID) - - if len(parents) == 0 { - return true, nil // valid(&task) - } - - if task.Join != nil && *task.Join { - for _, parent := range parents { - parentTask := playbook.Tasks[parent] - if !parentTask.Done { - return false, nil - } - requirement := parentTask.Next[taskID] - - b, err := evalRequirement(requirement, parentTask.Data) - if err != nil { - return false, err - } - - if !b { - return false, nil - } - } - - return true, nil - } - - for _, parent := range parents { - parentTask := playbook.Tasks[parent] - if !parentTask.Done { - // return false, nil - continue - } - requirement := parentTask.Next[taskID] - - b, err := evalRequirement(requirement, parentTask.Data) - if err != nil { - continue - } - - if b { - return true, nil - } - } - - return false, nil -} - -func evalRequirement(aql string, data any) (bool, error) { - if aql == "" { - return true, nil - } - - parser := caql.Parser{} - tree, err := parser.Parse(aql) - if err != nil { - return false, err - } - - var dataMap map[string]any - if data != nil { - if dataMapX, ok := data.(map[string]any); ok { - dataMap = dataMapX - } else { - log.Println("wrong data type for task data") - } - } - - v, err := tree.Eval(dataMap) - if err != nil { - return false, err - } - - if b, ok := v.(bool); ok { - return b, nil - } - - return false, err -} - -/* -// "github.com/qri-io/jsonschema" -func valid(task *model.Task) (bool, error) { - schema, err := json.Marshal(task.Schema) - if err != nil { - return false, err - } - - rs := &jsonschema.Schema{} - if err := json.Unmarshal(schema, rs); err != nil { - return false, err - } - - state := rs.Validate(context.Background(), task.Data) - return len(*state.Errs) > 0, nil -} -*/ diff --git a/database/playbookutils_test.go b/database/playbookutils_test.go deleted file mode 100644 index eea4615..0000000 --- a/database/playbookutils_test.go +++ /dev/null @@ -1,147 +0,0 @@ -package database - -import ( - "testing" - - "github.com/stretchr/testify/assert" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -var playbook2 = &model.Playbook{ - Name: "Phishing", - Tasks: map[string]*model.Task{ - "board": {Next: map[string]string{ - "escalate": "boardInvolved == true", - "acquire-mail": "boardInvolved == false", - }}, - "escalate": {}, - "acquire-mail": {Next: map[string]string{ - "extract-iocs": "schemaKey == 'yes'", - "block-sender": "schemaKey == 'yes'", - "search-email-gateway": "schemaKey == 'no'", - }}, - "extract-iocs": {Next: map[string]string{"fetch-iocs": ""}}, - "fetch-iocs": {Next: map[string]string{"block-iocs": ""}}, - "search-email-gateway": {Next: map[string]string{"block-iocs": ""}}, - "block-sender": {Next: map[string]string{"block-iocs": ""}}, - "block-iocs": {Next: map[string]string{"block-ioc": ""}}, - "block-ioc": {}, - }, -} - -var playbook3 = &model.Playbook{ - Name: "Phishing", - Tasks: map[string]*model.Task{ - "board": {Next: map[string]string{ - "escalate": "boardInvolved == true", - "acquire-mail": "boardInvolved == false", - }, Data: map[string]any{"boardInvolved": true}, Done: true}, - "escalate": {}, - "acquire-mail": {Next: map[string]string{ - "extract-iocs": "schemaKey == 'yes'", - "block-sender": "schemaKey == 'yes'", - "search-email-gateway": "schemaKey == 'no'", - }}, - "extract-iocs": {Next: map[string]string{"fetch-iocs": ""}}, - "fetch-iocs": {Next: map[string]string{"block-iocs": ""}}, - "search-email-gateway": {Next: map[string]string{"block-iocs": ""}}, - "block-sender": {Next: map[string]string{"block-iocs": ""}}, - "block-iocs": {Next: map[string]string{"block-ioc": ""}}, - "block-ioc": {}, - }, -} - -var playbook4 = &model.Playbook{ - Name: "Malware", - Tasks: map[string]*model.Task{ - "file-or-hash": {Next: map[string]string{ - "enter-hash": "file == 'Hash'", - "upload": "file == 'File'", - }}, - "enter-hash": {Next: map[string]string{ - "virustotal": "hash != ''", - }}, - "upload": {Next: map[string]string{ - "hash": "malware", - }}, - "hash": {Next: map[string]string{"virustotal": ""}}, - "virustotal": {}, - }, -} - -func Test_canBeCompleted(t *testing.T) { - t.Parallel() - - type args struct { - playbook *model.Playbook - taskID string - } - tests := []struct { - name string - args args - want bool - wantErr bool - }{ - {"playbook2 board", args{playbook: playbook2, taskID: "board"}, true, false}, - {"playbook2 escalate", args{playbook: playbook2, taskID: "escalate"}, false, false}, - {"playbook2 acquire-mail", args{playbook: playbook2, taskID: "acquire-mail"}, false, false}, - {"playbook2 block-ioc", args{playbook: playbook2, taskID: "block-ioc"}, false, false}, - {"playbook3 board", args{playbook: playbook3, taskID: "board"}, false, false}, - {"playbook3 escalate", args{playbook: playbook3, taskID: "escalate"}, true, false}, - {"playbook3 acquire-mail", args{playbook: playbook3, taskID: "acquire-mail"}, false, false}, - {"playbook3 block-ioc", args{playbook: playbook3, taskID: "block-ioc"}, false, false}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - got, err := activePlaybook(tt.args.playbook, tt.args.taskID) - if (err != nil) != tt.wantErr { - t.Errorf("activePlaybook() error = %v, wantErr %v", err, tt.wantErr) - - return - } - if got != tt.want { - t.Errorf("activePlaybook() got = %v, want %v", got, tt.want) - } - }) - } -} - -func Test_playbookOrder(t *testing.T) { - t.Parallel() - - type args struct { - playbook *model.Playbook - } - tests := []struct { - name string - args args - want []string - wantErr bool - }{ - {"playbook4", args{playbook: playbook4}, []string{"file-or-hash", "enter-hash", "upload", "hash", "virustotal"}, false}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - got, err := toPlaybookResponse(tt.args.playbook) - if (err != nil) != tt.wantErr { - t.Errorf("activePlaybook() error = %v, wantErr %v", err, tt.wantErr) - - return - } - - names := make([]string, len(got.Tasks)) - for name, task := range got.Tasks { - names[task.Order] = name - } - - assert.Equal(t, tt.want, names) - }) - } -} diff --git a/database/relationships.go b/database/relationships.go deleted file mode 100644 index 44c5078..0000000 --- a/database/relationships.go +++ /dev/null @@ -1,51 +0,0 @@ -package database - -import ( - "context" - "errors" - "strconv" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database/busdb" -) - -func (db *Database) RelatedCreate(ctx context.Context, id, id2 int64) error { - if id == id2 { - return errors.New("tickets cannot relate to themself") - } - - _, err := db.relatedCollection.CreateEdge(ctx, ctx, &driver.EdgeDocument{ - From: driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id))), - To: driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id2))), - }) - - return err -} - -func (db *Database) RelatedBatchCreate(ctx context.Context, edges []*driver.EdgeDocument) error { - _, err := db.relatedCollection.CreateEdges(ctx, edges) - - return err -} - -func (db *Database) RelatedRemove(ctx context.Context, id, id2 int64) error { - q := ` - FOR d in @@collection - FILTER (d._from == @id && d._to == @id2) || (d._to == @id && d._from == @id2) - REMOVE d in @@collection` - _, _, err := db.Query(ctx, q, map[string]any{ - "@collection": RelatedTicketsCollectionName, - "id": driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id))), - "id2": driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id2))), - }, &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id))), - driver.DocumentID(TicketCollectionName + "/" + strconv.Itoa(int(id2))), - }, - }) - - return err -} diff --git a/database/settings.go b/database/settings.go deleted file mode 100644 index e58a7dc..0000000 --- a/database/settings.go +++ /dev/null @@ -1,35 +0,0 @@ -package database - -import ( - "context" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (db *Database) Settings(ctx context.Context) (*model.Settings, error) { - settings := &model.Settings{} - if _, err := db.settingsCollection.ReadDocument(ctx, "global", settings); err != nil { - return nil, err - } - - return settings, nil -} - -func (db *Database) SaveSettings(ctx context.Context, settings *model.Settings) (*model.Settings, error) { - exists, err := db.settingsCollection.DocumentExists(ctx, "global") - if err != nil { - return nil, err - } - - if exists { - if _, err := db.settingsCollection.ReplaceDocument(ctx, "global", settings); err != nil { - return nil, err - } - } else { - if _, err := db.settingsCollection.CreateDocument(ctx, ctx, "global", settings); err != nil { - return nil, err - } - } - - return settings, nil -} diff --git a/database/statistics.go b/database/statistics.go deleted file mode 100644 index fbc004a..0000000 --- a/database/statistics.go +++ /dev/null @@ -1,91 +0,0 @@ -package database - -import ( - "context" - "fmt" - - "github.com/SecurityBrewery/catalyst/caql" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (db *Database) Statistics(ctx context.Context) (*model.Statistics, error) { - query := `RETURN { - tickets_per_type: MERGE(FOR d in tickets - COLLECT type = d.type WITH COUNT INTO typecount - RETURN ZIP([type], [typecount])), - - unassigned: FIRST(FOR d in tickets - FILTER d.status == "open" AND !d.owner - COLLECT WITH COUNT INTO length - RETURN length), - - open_tickets_per_user: MERGE(FOR d in tickets - FILTER d.status == "open" - COLLECT user = d.owner WITH COUNT INTO usercount - RETURN ZIP([user], [usercount])), - - tickets_per_week: MERGE(FOR d in tickets - COLLECT week = CONCAT(DATE_YEAR(d.created), "-", DATE_ISOWEEK(d.created) < 10 ? "0" : "", DATE_ISOWEEK(d.created)) WITH COUNT INTO weekcount - RETURN ZIP([week], [weekcount])), - }` - - cur, _, err := db.Query(ctx, query, nil, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cur.Close() - - statistics := model.Statistics{} - if _, err := cur.ReadDocument(ctx, &statistics); err != nil { - return nil, err - } - - return &statistics, nil -} - -func (db *Database) WidgetData(ctx context.Context, aggregation string, filter *string) (map[string]any, error) { - parser := &caql.Parser{Searcher: db.Index, Prefix: "d."} - - queryTree, err := parser.Parse(aggregation) - if err != nil { - return nil, fmt.Errorf("invalid aggregation query (%s): syntax error", aggregation) - } - aggregationString, err := queryTree.String() - if err != nil { - return nil, fmt.Errorf("invalid widget aggregation query (%s): %w", aggregation, err) - } - aggregation = aggregationString - - filterQ := "" - if filter != nil && *filter != "" { - queryTree, err := parser.Parse(*filter) - if err != nil { - return nil, fmt.Errorf("invalid filter query (%s): syntax error", *filter) - } - filterString, err := queryTree.String() - if err != nil { - return nil, fmt.Errorf("invalid widget filter query (%s): %w", *filter, err) - } - - filterQ = "FILTER " + filterString - } - - query := `RETURN MERGE(FOR d in tickets - ` + filterQ + ` - COLLECT field = ` + aggregation + ` WITH COUNT INTO count - RETURN ZIP([field], [count]))` - - cur, _, err := db.Query(ctx, query, nil, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cur.Close() - - statistics := map[string]any{} - if _, err := cur.ReadDocument(ctx, &statistics); err != nil { - return nil, err - } - - return statistics, nil -} diff --git a/database/task.go b/database/task.go deleted file mode 100644 index 81654e5..0000000 --- a/database/task.go +++ /dev/null @@ -1,67 +0,0 @@ -package database - -import ( - "context" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -type playbookResponse struct { - PlaybookID string `json:"playbook_id"` - PlaybookName string `json:"playbook_name"` - Playbook model.Playbook `json:"playbook"` - TicketID int64 `json:"ticket_id"` - TicketName string `json:"ticket_name"` -} - -func (db *Database) TaskList(ctx context.Context) ([]*model.TaskWithContext, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `FOR d IN @@collection - ` + ticketFilterQuery + ` - FILTER d.status == 'open' - FOR playbook IN NOT_NULL(VALUES(d.playbooks), []) - RETURN { ticket_id: TO_NUMBER(d._key), ticket_name: d.name, playbook_id: POSITION(d.playbooks, playbook, true), playbook_name: playbook.name, playbook: playbook }` - cursor, _, err := db.Query(ctx, query, mergeMaps(ticketFilterVars, map[string]any{ - "@collection": TicketCollectionName, - }), busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.TaskWithContext - for { - var doc playbookResponse - _, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - - playbook, err := toPlaybookResponse(&doc.Playbook) - if err != nil { - return nil, err - } - - for _, task := range playbook.Tasks { - if task.Active { - docs = append(docs, &model.TaskWithContext{ - PlaybookId: doc.PlaybookID, - PlaybookName: doc.PlaybookName, - Task: task, - TicketId: doc.TicketID, - TicketName: doc.TicketName, - }) - } - } - } - - return docs, err -} diff --git a/database/template.go b/database/template.go deleted file mode 100644 index 11c4af0..0000000 --- a/database/template.go +++ /dev/null @@ -1,89 +0,0 @@ -package database - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toTicketTemplate(doc *model.TicketTemplateForm) *model.TicketTemplate { - return &model.TicketTemplate{Name: doc.Name, Schema: doc.Schema} -} - -func toTicketTemplateResponse(key string, doc *model.TicketTemplate) *model.TicketTemplateResponse { - return &model.TicketTemplateResponse{ID: key, Name: doc.Name, Schema: doc.Schema} -} - -func (db *Database) TemplateCreate(ctx context.Context, template *model.TicketTemplateForm) (*model.TicketTemplateResponse, error) { - if template == nil { - return nil, errors.New("requires template") - } - if template.Name == "" { - return nil, errors.New("requires template name") - } - - var doc model.TicketTemplate - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.templateCollection.CreateDocument(ctx, newctx, strcase.ToKebab(template.Name), toTicketTemplate(template)) - if err != nil { - return nil, err - } - - return toTicketTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) TemplateGet(ctx context.Context, id string) (*model.TicketTemplateResponse, error) { - var doc model.TicketTemplate - meta, err := db.templateCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toTicketTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) TemplateUpdate(ctx context.Context, id string, template *model.TicketTemplateForm) (*model.TicketTemplateResponse, error) { - var doc model.TicketTemplate - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.templateCollection.ReplaceDocument(ctx, id, toTicketTemplate(template)) - if err != nil { - return nil, err - } - - return toTicketTemplateResponse(meta.Key, &doc), nil -} - -func (db *Database) TemplateDelete(ctx context.Context, id string) error { - _, err := db.templateCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) TemplateList(ctx context.Context) ([]*model.TicketTemplateResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": TemplateCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.TicketTemplateResponse - for { - var doc model.TicketTemplate - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, toTicketTemplateResponse(meta.Key, &doc)) - } - - return docs, err -} diff --git a/database/template_test.go b/database/template_test.go deleted file mode 100644 index 92560a0..0000000 --- a/database/template_test.go +++ /dev/null @@ -1,211 +0,0 @@ -package database_test - -import ( - "testing" - - "github.com/stretchr/testify/assert" - - "github.com/SecurityBrewery/catalyst/database/migrations" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/test" -) - -var ( - template1 = &model.TicketTemplateForm{ - Schema: migrations.DefaultTemplateSchema, - Name: "Template 1", - } - default1 = &model.TicketTemplateForm{ - Schema: migrations.DefaultTemplateSchema, - Name: "Default", - } -) - -func TestDatabase_TemplateCreate(t *testing.T) { - t.Parallel() - - type args struct { - template *model.TicketTemplateForm - } - tests := []struct { - name string - args args - wantErr bool - }{ - {name: "Normal", args: args{template: template1}}, - {name: "Duplicate", args: args{template: default1}, wantErr: true}, - {name: "Nil template", args: args{}, wantErr: true}, - {name: "Template without fields", args: args{template: &model.TicketTemplateForm{}}, wantErr: true}, - {name: "Only name", args: args{template: &model.TicketTemplateForm{Name: "name"}}, wantErr: false}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if _, err := db.TemplateCreate(test.Context(), tt.args.template); (err != nil) != tt.wantErr { - t.Errorf("TemplateCreate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} - -func TestDatabase_TemplateDelete(t *testing.T) { - t.Parallel() - - type args struct { - id string - } - tests := []struct { - name string - args args - wantErr bool - }{ - {name: "Normal", args: args{"default"}}, - {name: "Not existing", args: args{"foobar"}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if _, err := db.TemplateCreate(test.Context(), template1); err != nil { - t.Errorf("TemplateCreate() error = %v", err) - } - - if err := db.TemplateDelete(test.Context(), tt.args.id); (err != nil) != tt.wantErr { - t.Errorf("TemplateDelete() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} - -func TestDatabase_TemplateGet(t *testing.T) { - t.Parallel() - - type args struct { - id string - } - tests := []struct { - name string - args args - want *model.TicketTemplateResponse - wantErr bool - }{ - {name: "Normal", args: args{id: "default"}, want: &model.TicketTemplateResponse{ID: "default", Name: "Default", Schema: migrations.DefaultTemplateSchema}}, - {name: "Not existing", args: args{id: "foobar"}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if _, err := db.TemplateCreate(test.Context(), template1); err != nil { - t.Errorf("TemplateCreate() error = %v", err) - } - - got, err := db.TemplateGet(test.Context(), tt.args.id) - if (err != nil) != tt.wantErr { - t.Errorf("TemplateGet() error = %v, wantErr %v", err, tt.wantErr) - - return - } - if err != nil { - return - } - - assert.Equal(t, got, tt.want) - }) - } -} - -func TestDatabase_TemplateList(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - want []*model.TicketTemplateResponse - wantErr bool - }{ - {name: "Normal", want: []*model.TicketTemplateResponse{{ID: "default", Name: "Default", Schema: migrations.DefaultTemplateSchema}, {ID: "template-1", Name: template1.Name, Schema: template1.Schema}}}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if _, err := db.TemplateCreate(test.Context(), template1); err != nil { - t.Errorf("TemplateCreate() error = %v", err) - } - - got, err := db.TemplateList(test.Context()) - if (err != nil) != tt.wantErr { - t.Errorf("TemplateList() error = %v, wantErr %v", err, tt.wantErr) - - return - } - assert.Equal(t, got, tt.want) - }) - } -} - -func TestDatabase_TemplateUpdate(t *testing.T) { - t.Parallel() - - type args struct { - id string - template *model.TicketTemplateForm - } - tests := []struct { - name string - args args - wantErr bool - }{ - {name: "Normal", args: args{"default", template1}}, - {name: "Not existing", args: args{"foobar", template1}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if _, err := db.TemplateCreate(test.Context(), template1); err != nil { - t.Errorf("TemplateCreate() error = %v", err) - } - - if _, err := db.TemplateUpdate(test.Context(), tt.args.id, tt.args.template); (err != nil) != tt.wantErr { - t.Errorf("TemplateUpdate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} diff --git a/database/ticket.go b/database/ticket.go deleted file mode 100644 index b2d89e9..0000000 --- a/database/ticket.go +++ /dev/null @@ -1,624 +0,0 @@ -package database - -import ( - "context" - "encoding/json" - "errors" - "fmt" - "sort" - "strconv" - "strings" - "sync" - - "github.com/arangodb/go-driver" - "github.com/xeipuuv/gojsonschema" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/caql" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" - "github.com/SecurityBrewery/catalyst/index" -) - -func toTicket(ticketForm *model.TicketForm) (any, error) { - playbooks, err := toPlaybooks(ticketForm.Playbooks) - if err != nil { - return nil, err - } - - ticket := &model.Ticket{ - Artifacts: ticketForm.Artifacts, - Comments: ticketForm.Comments, - Details: ticketForm.Details, - Files: ticketForm.Files, - Name: ticketForm.Name, - Owner: ticketForm.Owner, - Playbooks: playbooks, - Read: ticketForm.Read, - References: ticketForm.References, - Status: ticketForm.Status, - Type: ticketForm.Type, - Write: ticketForm.Write, - // ID: ticketForm.ID, - // Created: ticketForm.Created, - // Modified: ticketForm.Modified, - // Schema: ticketForm.Schema, - } - - if ticketForm.Created != nil { - ticket.Created = *ticketForm.Created - } else { - ticket.Created = time.Now().UTC() - } - if ticketForm.Modified != nil { - ticket.Modified = *ticketForm.Modified - } else { - ticket.Modified = time.Now().UTC() - } - if ticketForm.Schema != nil { - ticket.Schema = *ticketForm.Schema - } else { - ticket.Schema = "{}" - } - if ticketForm.Status == "" { - ticket.Status = "open" - } - if ticketForm.ID != nil { - return &busdb.Keyed[model.Ticket]{Key: strconv.FormatInt(*ticketForm.ID, 10), Doc: ticket}, nil - } - - return ticket, nil -} - -func toTicketResponses(tickets []*model.TicketSimpleResponse) ([]*model.TicketResponse, error) { - var extendedTickets []*model.TicketResponse - for _, simple := range tickets { - tr, err := toTicketResponse(simple) - if err != nil { - return nil, err - } - extendedTickets = append(extendedTickets, tr) - } - - return extendedTickets, nil -} - -func toTicketResponse(ticket *model.TicketSimpleResponse) (*model.TicketResponse, error) { - playbooks, err := toPlaybookResponses(ticket.Playbooks) - if err != nil { - return nil, err - } - - return &model.TicketResponse{ - ID: ticket.ID, - Artifacts: ticket.Artifacts, - Comments: ticket.Comments, - Created: ticket.Created, - Details: ticket.Details, - Files: ticket.Files, - Modified: ticket.Modified, - Name: ticket.Name, - Owner: ticket.Owner, - Playbooks: playbooks, - Read: ticket.Read, - References: ticket.References, - Schema: ticket.Schema, - Status: ticket.Status, - Type: ticket.Type, - Write: ticket.Write, - }, nil -} - -func toTicketSimpleResponse(key string, ticket *model.Ticket) (*model.TicketSimpleResponse, error) { - id, err := strconv.ParseInt(key, 10, 64) - if err != nil { - return nil, err - } - - return &model.TicketSimpleResponse{ - Artifacts: ticket.Artifacts, - Comments: ticket.Comments, - Created: ticket.Created, - Details: ticket.Details, - Files: ticket.Files, - ID: id, - Modified: ticket.Modified, - Name: ticket.Name, - Owner: ticket.Owner, - Playbooks: ticket.Playbooks, - Read: ticket.Read, - References: ticket.References, - Schema: ticket.Schema, - Status: ticket.Status, - Type: ticket.Type, - Write: ticket.Write, - }, nil -} - -func toTicketWithTickets(ticketResponse *model.TicketResponse, tickets, correlatedTickets []*model.TicketSimpleResponse, logs []*model.LogEntry) *model.TicketWithTickets { - return &model.TicketWithTickets{ - Artifacts: ticketResponse.Artifacts, - Comments: ticketResponse.Comments, - Created: ticketResponse.Created, - Details: ticketResponse.Details, - Files: ticketResponse.Files, - ID: ticketResponse.ID, - Modified: ticketResponse.Modified, - Name: ticketResponse.Name, - Owner: ticketResponse.Owner, - Playbooks: ticketResponse.Playbooks, - Read: ticketResponse.Read, - References: ticketResponse.References, - Schema: ticketResponse.Schema, - Status: ticketResponse.Status, - Type: ticketResponse.Type, - Write: ticketResponse.Write, - - Logs: logs, - Tickets: tickets, - CorrelatedTickets: correlatedTickets, - } -} - -func toPlaybookResponses(playbooks map[string]*model.Playbook) (map[string]*model.PlaybookResponse, error) { - pr := map[string]*model.PlaybookResponse{} - var err error - for k, v := range playbooks { - pr[k], err = toPlaybookResponse(v) - if err != nil { - return nil, err - } - } - - return pr, nil -} - -func toPlaybookResponse(playbook *model.Playbook) (*model.PlaybookResponse, error) { - graph, err := playbookGraph(playbook) - if err != nil { - return nil, err - } - - re := &model.PlaybookResponse{ - Name: playbook.Name, - Tasks: map[string]*model.TaskResponse{}, - } - - results, err := graph.Toposort() - if err != nil { - return nil, err - } - - i := 0 - for _, taskID := range results { - rootTask, err := toTaskResponse(playbook, taskID, i, graph) - if err != nil { - return nil, err - } - re.Tasks[taskID] = rootTask - i++ - } - - return re, nil -} - -func (db *Database) TicketBatchCreate(ctx context.Context, ticketForms []*model.TicketForm) ([]*model.TicketResponse, error) { - update, err := db.Hooks.IngestionFilter(ctx, db.Index) - if err != nil { - return nil, err - } - - var dbTickets []any - for _, ticketForm := range ticketForms { - ticket, err := toTicket(ticketForm) - if err != nil { - return nil, err - } - - if err := validate(ticket, model.TicketSchema); err != nil { - return nil, err - } - - dbTickets = append(dbTickets, ticket) - } - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `FOR d IN @tickets - ` + ticketFilterQuery + ` - LET updates = ` + update + ` - LET newdoc = LENGTH(updates) != 0 ? APPLY("MERGE_RECURSIVE", APPEND([d], updates)) : d - LET keyeddoc = HAS(newdoc, "id") ? MERGE(newdoc, {"_key": TO_STRING(newdoc.id)}) : newdoc - LET noiddoc = UNSET(keyeddoc, "id") - INSERT noiddoc INTO @@collection - RETURN NEW` - apiTickets, _, err := db.ticketListQuery(ctx, query, mergeMaps(map[string]any{ - "tickets": dbTickets, - }, ticketFilterVars), busdb.CreateOperation) - if err != nil { - return nil, err - } - - if err = batchIndex(db.Index, apiTickets); err != nil { - return nil, err - } - - var ids []driver.DocumentID - for _, apiTicket := range apiTickets { - ids = append(ids, driver.NewDocumentID(TicketCollectionName, fmt.Sprint(apiTicket.ID))) - } - - db.bus.DatabaseChannel.Publish(&bus.DatabaseUpdateMsg{ - IDs: ids, - Type: bus.DatabaseEntryCreated, - }) - - ticketResponses, err := toTicketResponses(apiTickets) - if err != nil { - return nil, err - } - - for _, ticketResponse := range ticketResponses { - for playbookID := range ticketResponse.Playbooks { - if err := runRootTask(ticketResponse, playbookID, db); err != nil { - return nil, err - } - } - } - - return ticketResponses, nil -} - -func (db *Database) IndexRebuild(ctx context.Context) error { - if err := db.Index.Truncate(); err != nil { - return err - } - - tickets, _, err := db.ticketListQuery(ctx, "FOR d IN @@collection RETURN d", nil, busdb.ReadOperation) - if err != nil { - return err - } - - return batchIndex(db.Index, tickets) -} - -func batchIndex(index *index.Index, tickets []*model.TicketSimpleResponse) error { - var wg sync.WaitGroup - var batch []*model.TicketSimpleResponse - for _, ticket := range tickets { - batch = append(batch, ticket) - - if len(batch) > 100 { - wg.Add(1) - go func(docs []*model.TicketSimpleResponse) { - index.Index(docs) - wg.Done() - }(batch) - batch = []*model.TicketSimpleResponse{} - } - } - wg.Wait() - - return nil -} - -func (db *Database) TicketGet(ctx context.Context, ticketID int64) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketReadFilter(ctx) - if err != nil { - return nil, err - } - - return db.ticketGetQuery(ctx, ticketID, `LET d = DOCUMENT(@@collection, @ID) `+ticketFilterQuery+` RETURN d`, ticketFilterVars, busdb.ReadOperation) -} - -func (db *Database) ticketGetQuery(ctx context.Context, ticketID int64, query string, bindVars map[string]any, operation *busdb.Operation) (*model.TicketWithTickets, error) { - if bindVars == nil { - bindVars = map[string]any{} - } - bindVars["@collection"] = TicketCollectionName - if ticketID != 0 { - bindVars["ID"] = fmt.Sprint(ticketID) - } - - cur, _, err := db.Query(ctx, query, bindVars, operation) - if err != nil { - return nil, err - } - defer cur.Close() - - ticket := model.Ticket{} - meta, err := cur.ReadDocument(ctx, &ticket) - if err != nil { - return nil, err - } - - ticketSimpleResponse, err := toTicketSimpleResponse(meta.Key, &ticket) - if err != nil { - return nil, err - } - - // index - go db.Index.Index([]*model.TicketSimpleResponse{ticketSimpleResponse}) - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketReadFilter(ctx) - if err != nil { - return nil, err - } - - // tickets - ticketsQuery := `FOR vertex, edge IN OUTBOUND - DOCUMENT(@@tickets, @ID) - GRAPH @graph - FILTER IS_SAME_COLLECTION(@@collection, vertex) - FILTER vertex != null - LET d = DOCUMENT(@@collection, edge["_to"]) - ` + ticketFilterQuery + ` - RETURN d` - - outTickets, _, err := db.ticketListQuery(ctx, ticketsQuery, mergeMaps(map[string]any{ - "ID": fmt.Sprint(ticketID), - "graph": TicketArtifactsGraphName, - "@tickets": TicketCollectionName, - }, ticketFilterVars), busdb.ReadOperation) - if err != nil { - return nil, err - } - - ticketsQuery = `FOR vertex, edge IN INBOUND - DOCUMENT(@@tickets, @ID) - GRAPH @graph - FILTER IS_SAME_COLLECTION(@@collection, vertex) - FILTER vertex != null - LET d = DOCUMENT(@@collection, edge["_from"]) - ` + ticketFilterQuery + ` - RETURN d` - - inTickets, _, err := db.ticketListQuery(ctx, ticketsQuery, mergeMaps(map[string]any{ - "ID": fmt.Sprint(ticketID), - "graph": TicketArtifactsGraphName, - "@tickets": TicketCollectionName, - }, ticketFilterVars), busdb.ReadOperation) - if err != nil { - return nil, err - } - - var artifactNames []string - for _, artifact := range ticketSimpleResponse.Artifacts { - artifactNames = append(artifactNames, artifact.Name) - } - ticketsQuery = `FOR d IN @@collection - FILTER d._key != @ID - ` + ticketFilterQuery + ` - FOR a IN NOT_NULL(d.artifacts, []) - FILTER POSITION(@artifacts, a.name) - RETURN d` - sameArtifactTickets, _, err := db.ticketListQuery(ctx, ticketsQuery, mergeMaps(map[string]any{ - "ID": fmt.Sprint(ticketID), - "artifacts": artifactNames, - }, ticketFilterVars), busdb.ReadOperation) - if err != nil { - return nil, err - } - - tickets := outTickets - tickets = append(tickets, inTickets...) - sort.Slice(tickets, func(i, j int) bool { - return tickets[i].ID < tickets[j].ID - }) - - ticketResponse, err := toTicketResponse(ticketSimpleResponse) - if err != nil { - return nil, err - } - - logs, err := db.LogList(ctx, fmt.Sprintf("%s/%d", TicketCollectionName, ticketID)) - if err != nil { - return nil, err - } - - return toTicketWithTickets(ticketResponse, tickets, sameArtifactTickets, logs), nil -} - -func (db *Database) TicketUpdate(ctx context.Context, ticketID int64, ticket *model.Ticket) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - REPLACE d WITH @ticket IN @@collection - RETURN NEW` - ticket.Modified = time.Now().UTC() // TODO make setable? - - return db.ticketGetQuery(ctx, ticketID, query, mergeMaps(map[string]any{"ticket": ticket}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, strconv.FormatInt(ticketID, 10)), - }, - }) -} - -func (db *Database) TicketDelete(ctx context.Context, ticketID int64) error { - _, err := db.TicketGet(ctx, ticketID) - if err != nil { - return err - } - - _, err = db.ticketCollection.RemoveDocument(ctx, strconv.FormatInt(ticketID, 10)) - if err != nil { - return err - } - - return nil -} - -func (db *Database) TicketList(ctx context.Context, ticketType string, query string, sorts []string, desc []bool, offset, count int64) (*model.TicketList, error) { - binVars := map[string]any{} - - typeString := "" - if ticketType != "" { - typeString = "FILTER d.type == @type " - binVars["type"] = ticketType - } - - filterString := "" - if query != "" { - parser := &caql.Parser{Searcher: db.Index, Prefix: "d."} - queryTree, err := parser.Parse(query) - if err != nil { - return nil, errors.New("invalid filter query: syntax error") - } - filterString, err = queryTree.String() - if err != nil { - return nil, fmt.Errorf("invalid filter query: %w", err) - } - filterString = "FILTER " + filterString - } - - documentCount, err := db.TicketCount(ctx, typeString, filterString, binVars) - if err != nil { - return nil, err - } - - sortQ := sortQuery(sorts, desc, binVars) - binVars["offset"] = offset - binVars["count"] = count - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketReadFilter(ctx) - if err != nil { - return nil, err - } - - q := `FOR d IN @@collection - ` + ticketFilterQuery + ` - ` + sortQ + ` - ` + typeString + ` - ` + filterString + ` - LIMIT @offset, @count - SORT d._key ASC - RETURN d` - // RETURN KEEP(d, "_key", "id", "name", "type", "created")` - ticketList, _, err := db.ticketListQuery(ctx, q, mergeMaps(binVars, ticketFilterVars), busdb.ReadOperation) - - return &model.TicketList{ - Count: documentCount, - Tickets: ticketList, - }, err - // return map[string]interface{}{"tickets": ticketList, "count": documentCount}, err -} - -func (db *Database) ticketListQuery(ctx context.Context, query string, bindVars map[string]any, operation *busdb.Operation) ([]*model.TicketSimpleResponse, *model.LogEntry, error) { - if bindVars == nil { - bindVars = map[string]any{} - } - bindVars["@collection"] = TicketCollectionName - - cursor, logEntry, err := db.Query(ctx, query, bindVars, operation) - if err != nil { - return nil, nil, err - } - defer cursor.Close() - - var docs []*model.TicketSimpleResponse - for { - doc := model.Ticket{} - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, nil, err - } - - resp, err := toTicketSimpleResponse(meta.Key, &doc) - if err != nil { - return nil, nil, err - } - - docs = append(docs, resp) - } - - return docs, logEntry, nil -} - -func (db *Database) TicketCount(ctx context.Context, typequery, filterquery string, bindVars map[string]any) (int, error) { - if bindVars == nil { - bindVars = map[string]any{} - } - bindVars["@collection"] = TicketCollectionName - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketReadFilter(ctx) - if err != nil { - return 0, err - } - - countQuery := `RETURN LENGTH(FOR d IN @@collection ` + ticketFilterQuery + " " + typequery + " " + filterquery + ` RETURN 1)` - cursor, _, err := db.Query(ctx, countQuery, mergeMaps(bindVars, ticketFilterVars), busdb.ReadOperation) - if err != nil { - return 0, err - } - documentCount := 0 - _, err = cursor.ReadDocument(ctx, &documentCount) - if err != nil { - return 0, err - } - cursor.Close() - - return documentCount, nil -} - -func sortQuery(paramsSort []string, paramsDesc []bool, bindVars map[string]any) string { - sortQuery := "" - if len(paramsSort) > 0 { - var sorts []string - for i, column := range paramsSort { - colsort := fmt.Sprintf("d.@column%d", i) - if len(paramsDesc) > i && paramsDesc[i] { - colsort += " DESC" - } - sorts = append(sorts, colsort) - bindVars[fmt.Sprintf("column%d", i)] = column - } - sortQuery = "SORT " + strings.Join(sorts, ", ") - } - - return sortQuery -} - -func mergeMaps(a map[string]any, b map[string]any) map[string]any { - merged := map[string]any{} - for k, v := range a { - merged[k] = v - } - for k, v := range b { - merged[k] = v - } - - return merged -} - -func validate(e any, schema *gojsonschema.Schema) error { - b, err := json.Marshal(e) - if err != nil { - return err - } - - res, err := schema.Validate(gojsonschema.NewStringLoader(string(b))) - if err != nil { - return err - } - - if len(res.Errors()) > 0 { - var l []string - for _, e := range res.Errors() { - l = append(l, e.String()) - } - - return fmt.Errorf("validation failed: %v", strings.Join(l, ", ")) - } - - return nil -} diff --git a/database/ticket_field.go b/database/ticket_field.go deleted file mode 100644 index 41ac4f2..0000000 --- a/database/ticket_field.go +++ /dev/null @@ -1,295 +0,0 @@ -package database - -import ( - "context" - "errors" - "fmt" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - maut "github.com/jonas-plum/maut/auth" - "github.com/mingrammer/commonregex" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -func (db *Database) AddArtifact(ctx context.Context, id int64, artifact *model.Artifact) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - if artifact.Status == nil { - artifact.Status = pointer.String("unknown") - } - - if artifact.Type == nil { - artifact.Type = pointer.String(inferType(artifact.Name)) - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "modified": @now, "artifacts": PUSH(NOT_NULL(d.artifacts, []), @artifact) } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"artifact": artifact, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func inferType(name string) string { - switch { - case commonregex.IPRegex.MatchString(name): - return "ip" - case commonregex.LinkRegex.MatchString(name): - return "url" - case commonregex.EmailRegex.MatchString(name): - return "email" - case commonregex.MD5HexRegex.MatchString(name): - return "md5" - case commonregex.SHA1HexRegex.MatchString(name): - return "sha1" - case commonregex.SHA256HexRegex.MatchString(name): - return "sha256" - } - - return "unknown" -} - -func (db *Database) RemoveArtifact(ctx context.Context, id int64, name string) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - FOR a IN NOT_NULL(d.artifacts, []) - FILTER a.name == @name - LET newartifacts = REMOVE_VALUE(d.artifacts, a) - UPDATE d WITH { "modified": @now, "artifacts": newartifacts } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"name": name, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) SetTemplate(ctx context.Context, id int64, schema string) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "schema": @schema } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"schema": schema}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) AddComment(ctx context.Context, id int64, comment *model.CommentForm) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - if comment.Creator == nil || *comment.Creator == "" { - user, _, exists := maut.UserFromContext(ctx) - if !exists { - return nil, errors.New("no user in context") - } - - comment.Creator = pointer.String(user.ID) - } - - if comment.Created == nil { - comment.Created = pointer.Time(time.Now().UTC()) - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "modified": @now, "comments": PUSH(NOT_NULL(d.comments, []), @comment) } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"comment": comment, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) RemoveComment(ctx context.Context, id int64, commentID int64) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "modified": @now, "comments": REMOVE_NTH(d.comments, @commentID) } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"commentID": commentID, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) SetReferences(ctx context.Context, id int64, references []*model.Reference) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "modified": @now, "references": @references } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"references": references, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) AddFile(ctx context.Context, id int64, file *model.File) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - UPDATE d WITH { "modified": @now, "files": APPEND(NOT_NULL(d.files, []), [@file]) } IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{"file": file, "now": time.Now().UTC()}, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.DocumentID(fmt.Sprintf("%s/%d", TicketCollectionName, id)), - }, - }) -} - -func (db *Database) AddTicketPlaybook(ctx context.Context, id int64, playbookTemplate *model.PlaybookTemplateForm) (*model.TicketWithTickets, error) { - pb, err := toPlaybook(playbookTemplate) - if err != nil { - return nil, err - } - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - playbookID := strcase.ToKebab(pb.Name) - if playbookTemplate.ID != nil { - playbookID = *playbookTemplate.ID - } - - parentTicket, err := db.TicketGet(ctx, id) - if err != nil { - return nil, err - } - - query := `FOR d IN @@collection - ` + ticketFilterQuery + ` - FILTER d._key == @ID - LET newplaybook = ZIP( [@playbookID], [@playbook] ) - LET newplaybooks = MERGE(NOT_NULL(d.playbooks, {}), newplaybook) - LET newticket = MERGE(d, { "modified": @now, "playbooks": newplaybooks }) - REPLACE d WITH newticket IN @@collection - RETURN NEW` - ticket, err := db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "playbook": pb, - "playbookID": findName(parentTicket.Playbooks, playbookID), - "now": time.Now().UTC(), - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, fmt.Sprintf("%d", id)), - }, - }) - if err != nil { - return nil, err - } - - if err := runRootTask(extractTicketResponse(ticket), playbookID, db); err != nil { - return nil, err - } - - return ticket, nil -} - -func findName(playbooks map[string]*model.PlaybookResponse, name string) string { - if _, ok := playbooks[name]; !ok { - return name - } - - for i := 0; ; i++ { - try := fmt.Sprintf("%s%d", name, i) - if _, ok := playbooks[try]; !ok { - return try - } - } -} - -func runRootTask(ticket *model.TicketResponse, playbookID string, db *Database) error { - playbook := ticket.Playbooks[playbookID] - - for id, task := range playbook.Tasks { - if task.Order == 0 && task.Type == model.TaskTypeAutomation { - if err := runTask(ticket.ID, playbookID, id, task, ticket, db); err != nil { - return err - } - } - } - - return nil -} - -func (db *Database) RemoveTicketPlaybook(ctx context.Context, id int64, playbookID string) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `FOR d IN @@collection - ` + ticketFilterQuery + ` - FILTER d._key == @ID - LET newplaybooks = UNSET(d.playbooks, @playbookID) - REPLACE d WITH MERGE(d, { "modified": @now, "playbooks": newplaybooks }) IN @@collection - RETURN NEW` - - return db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "playbookID": playbookID, - "now": time.Now().UTC(), - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, fmt.Sprintf("%d", id)), - }, - }) -} diff --git a/database/ticket_task.go b/database/ticket_task.go deleted file mode 100644 index 2c0b8da..0000000 --- a/database/ticket_task.go +++ /dev/null @@ -1,225 +0,0 @@ -package database - -import ( - "context" - "errors" - "fmt" - "log" - - "github.com/arangodb/go-driver" - "github.com/google/uuid" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -func (db *Database) TaskGet(ctx context.Context, id int64, playbookID string, taskID string) (*model.TicketWithTickets, *model.PlaybookResponse, *model.TaskWithContext, error) { - inc, err := db.TicketGet(ctx, id) - if err != nil { - return nil, nil, nil, err - } - - playbook, ok := inc.Playbooks[playbookID] - if !ok { - return nil, nil, nil, errors.New("playbook does not exist") - } - - task, ok := playbook.Tasks[taskID] - if !ok { - return nil, nil, nil, errors.New("task does not exist") - } - - return inc, playbook, &model.TaskWithContext{ - PlaybookId: playbookID, - PlaybookName: playbook.Name, - TaskId: taskID, - Task: task, - TicketId: id, - TicketName: inc.Name, - }, nil -} - -func (db *Database) TaskComplete(ctx context.Context, id int64, playbookID string, taskID string, data any) (*model.TicketWithTickets, error) { - inc, err := db.TicketGet(ctx, id) - if err != nil { - return nil, err - } - - completable := inc.Playbooks[playbookID].Tasks[taskID].Active - if !completable { - return nil, errors.New("cannot be completed") - } - - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - LET playbook = d.playbooks[@playbookID] - LET task = playbook.tasks[@taskID] - LET newtask = MERGE(task, {"data": NOT_NULL(@data, {}), "done": true, closed: @closed }) - LET newtasks = MERGE(playbook.tasks, { @taskID: newtask } ) - LET newplaybook = MERGE(playbook, {"tasks": newtasks}) - LET newplaybooks = MERGE(d.playbooks, { @playbookID: newplaybook } ) - - UPDATE d WITH { "modified": @now, "playbooks": newplaybooks } IN @@collection - RETURN NEW` - ticket, err := db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "playbookID": playbookID, - "taskID": taskID, - "data": data, - "closed": time.Now().UTC(), - "now": time.Now().UTC(), - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, fmt.Sprintf("%d", id)), - }, - }) - if err != nil { - return nil, err - } - - playbook := ticket.Playbooks[playbookID] - task := playbook.Tasks[taskID] - - runNextTasks(id, playbookID, task.Next, task.Data, extractTicketResponse(ticket), db) - - return ticket, nil -} - -func extractTicketResponse(ticket *model.TicketWithTickets) *model.TicketResponse { - return &model.TicketResponse{ - Artifacts: ticket.Artifacts, - Comments: ticket.Comments, - Created: ticket.Created, - Details: ticket.Details, - Files: ticket.Files, - ID: ticket.ID, - Modified: ticket.Modified, - Name: ticket.Name, - Owner: ticket.Owner, - Playbooks: ticket.Playbooks, - Read: ticket.Read, - References: ticket.References, - Schema: ticket.Schema, - Status: ticket.Status, - Type: ticket.Type, - Write: ticket.Write, - } -} - -func (db *Database) TaskUpdateOwner(ctx context.Context, id int64, playbookID string, taskID string, owner string) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - LET playbook = d.playbooks[@playbookID] - LET task = playbook.tasks[@taskID] - LET newtask = MERGE(task, {"owner": @owner }) - LET newtasks = MERGE(playbook.tasks, { @taskID: newtask } ) - LET newplaybook = MERGE(playbook, {"tasks": newtasks}) - LET newplaybooks = MERGE(d.playbooks, { @playbookID: newplaybook } ) - - UPDATE d WITH { "modified": @now, "playbooks": newplaybooks } IN @@collection - RETURN NEW` - ticket, err := db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "playbookID": playbookID, - "taskID": taskID, - "owner": owner, - "now": time.Now().UTC(), - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, fmt.Sprintf("%d", id)), - }, - }) - if err != nil { - return nil, err - } - - return ticket, nil -} - -func (db *Database) TaskUpdateData(ctx context.Context, id int64, playbookID string, taskID string, data map[string]any) (*model.TicketWithTickets, error) { - ticketFilterQuery, ticketFilterVars, err := db.Hooks.TicketWriteFilter(ctx) - if err != nil { - return nil, err - } - - query := `LET d = DOCUMENT(@@collection, @ID) - ` + ticketFilterQuery + ` - LET playbook = d.playbooks[@playbookID] - LET task = playbook.tasks[@taskID] - LET newtask = MERGE(task, {"data": @data }) - LET newtasks = MERGE(playbook.tasks, { @taskID: newtask } ) - LET newplaybook = MERGE(playbook, {"tasks": newtasks}) - LET newplaybooks = MERGE(d.playbooks, { @playbookID: newplaybook } ) - - UPDATE d WITH { "modified": @now, "playbooks": newplaybooks } IN @@collection - RETURN NEW` - ticket, err := db.ticketGetQuery(ctx, id, query, mergeMaps(map[string]any{ - "playbookID": playbookID, - "taskID": taskID, - "data": data, - "now": time.Now().UTC(), - }, ticketFilterVars), &busdb.Operation{ - Type: bus.DatabaseEntryUpdated, - Ids: []driver.DocumentID{ - driver.NewDocumentID(TicketCollectionName, fmt.Sprintf("%d", id)), - }, - }) - if err != nil { - return nil, err - } - - return ticket, nil -} - -func (db *Database) TaskRun(ctx context.Context, id int64, playbookID string, taskID string) error { - ticket, _, task, err := db.TaskGet(ctx, id, playbookID, taskID) - if err != nil { - return err - } - - if task.Task.Type == model.TaskTypeAutomation { - if err := runTask(id, playbookID, taskID, task.Task, extractTicketResponse(ticket), db); err != nil { - return err - } - } - - return nil -} - -func runNextTasks(id int64, playbookID string, next map[string]string, data any, ticket *model.TicketResponse, db *Database) { - for nextTaskID, requirement := range next { - nextTask := ticket.Playbooks[playbookID].Tasks[nextTaskID] - if nextTask.Type == model.TaskTypeAutomation { - b, err := evalRequirement(requirement, data) - if err != nil { - continue - } - if b { - if err := runTask(id, playbookID, nextTaskID, nextTask, ticket, db); err != nil { - log.Println(err) - } - } - } - } -} - -func runTask(ticketID int64, playbookID string, taskID string, task *model.TaskResponse, ticket *model.TicketResponse, db *Database) error { - playbook := ticket.Playbooks[playbookID] - msgContext := &model.Context{Playbook: playbook, Task: task, Ticket: ticket} - origin := &model.Origin{TaskOrigin: &model.TaskOrigin{TaskId: taskID, PlaybookId: playbookID, TicketId: ticketID}} - jobID := uuid.NewString() - - return publishJobMapping(jobID, *task.Automation, msgContext, origin, task.Payload, db) -} diff --git a/database/tickettype.go b/database/tickettype.go deleted file mode 100644 index a617d9a..0000000 --- a/database/tickettype.go +++ /dev/null @@ -1,102 +0,0 @@ -package database - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toTicketType(doc *model.TicketTypeForm) *model.TicketType { - return &model.TicketType{ - Name: doc.Name, - Icon: doc.Icon, - DefaultPlaybooks: doc.DefaultPlaybooks, - DefaultTemplate: doc.DefaultTemplate, - DefaultGroups: doc.DefaultGroups, - } -} - -func toTicketTypeResponse(key string, doc *model.TicketType) *model.TicketTypeResponse { - return &model.TicketTypeResponse{ - ID: key, - Name: doc.Name, - Icon: doc.Icon, - DefaultPlaybooks: doc.DefaultPlaybooks, - DefaultTemplate: doc.DefaultTemplate, - DefaultGroups: doc.DefaultGroups, - } -} - -func (db *Database) TicketTypeCreate(ctx context.Context, tickettype *model.TicketTypeForm) (*model.TicketTypeResponse, error) { - if tickettype == nil { - return nil, errors.New("requires ticket type") - } - if tickettype.Name == "" { - return nil, errors.New("requires ticket type name") - } - - var doc model.TicketType - newctx := driver.WithReturnNew(ctx, &doc) - - meta, err := db.tickettypeCollection.CreateDocument(ctx, newctx, strcase.ToKebab(tickettype.Name), toTicketType(tickettype)) - if err != nil { - return nil, err - } - - return toTicketTypeResponse(meta.Key, &doc), nil -} - -func (db *Database) TicketTypeGet(ctx context.Context, id string) (*model.TicketTypeResponse, error) { - var doc model.TicketType - meta, err := db.tickettypeCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toTicketTypeResponse(meta.Key, &doc), nil -} - -func (db *Database) TicketTypeUpdate(ctx context.Context, id string, tickettype *model.TicketTypeForm) (*model.TicketTypeResponse, error) { - var doc model.TicketType - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.tickettypeCollection.ReplaceDocument(ctx, id, toTicketType(tickettype)) - if err != nil { - return nil, err - } - - return toTicketTypeResponse(meta.Key, &doc), nil -} - -func (db *Database) TicketTypeDelete(ctx context.Context, id string) error { - _, err := db.tickettypeCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) TicketTypeList(ctx context.Context) ([]*model.TicketTypeResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": TicketTypeCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.TicketTypeResponse - for { - var doc model.TicketType - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, toTicketTypeResponse(meta.Key, &doc)) - } - - return docs, err -} diff --git a/database/user.go b/database/user.go deleted file mode 100644 index f485441..0000000 --- a/database/user.go +++ /dev/null @@ -1,233 +0,0 @@ -package database - -import ( - "context" - "crypto/sha256" - "errors" - "fmt" - "log" - "math/rand" - - "github.com/arangodb/go-driver" - "github.com/iancoleman/strcase" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" - "github.com/SecurityBrewery/catalyst/generated/time" -) - -var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_") - -func init() { - rand.Seed(time.Now().UnixNano()) -} - -func generateKey() string { - b := make([]rune, 32) - for i := range b { - b[i] = letters[rand.Intn(len(letters))] - } - - return string(b) -} - -func toUser(user *model.UserForm, sha256 *string) *model.User { - u := &model.User{ - Blocked: user.Blocked, - Roles: user.Roles, - Sha256: sha256, - Apikey: user.Apikey, - } - - // log.Println(u) - // b, _ := json.Marshal(u) - // loader := gojsonschema.NewBytesLoader(b) - // res, err := model.UserSchema.Validate(loader) - // if err != nil { - // log.Println(err) - // } - // log.Println(res.Errors()) - - return u -} - -func toUserResponse(key string, user *model.User) *model.UserResponse { - return &model.UserResponse{ - ID: key, - Roles: user.Roles, - Blocked: user.Blocked, - Apikey: user.Apikey, - } -} - -func toNewUserResponse(key string, user *model.User, secret *string) *model.NewUserResponse { - return &model.NewUserResponse{ - ID: key, - Roles: user.Roles, - Secret: secret, - Blocked: user.Blocked, - } -} - -func (db *Database) UserGetOrCreate(ctx context.Context, newUser *model.UserForm) (*model.UserResponse, error) { - user, err := db.UserGet(ctx, newUser.ID) - if err != nil { - newUser, err := db.UserCreate(ctx, newUser) - if err != nil { - return nil, err - } - - return &model.UserResponse{ID: newUser.ID, Roles: newUser.Roles, Blocked: newUser.Blocked}, nil - } - - return user, nil -} - -func (db *Database) UserCreate(ctx context.Context, newUser *model.UserForm) (*model.NewUserResponse, error) { - var key, sha256Hash *string - if newUser.Apikey { - key, sha256Hash = generateAPIKey() - } - - var doc model.User - newctx := driver.WithReturnNew(ctx, &doc) - meta, err := db.userCollection.CreateDocument(ctx, newctx, newUser.ID, toUser(newUser, sha256Hash)) - if err != nil { - return nil, err - } - - return toNewUserResponse(meta.Key, &doc, key), nil -} - -func (db *Database) UserCreateSetupAPIKey(ctx context.Context, key string) (*model.UserResponse, error) { - newUser := &model.UserForm{ - ID: "setup", - Roles: []string{maut.AdminRole}, - Apikey: true, - Blocked: false, - } - sha256Hash := pointer.String(fmt.Sprintf("%x", sha256.Sum256([]byte(key)))) - - var doc model.User - newctx := driver.WithReturnNew(ctx, &doc) - meta, err := db.userCollection.CreateDocument(ctx, newctx, strcase.ToKebab(newUser.ID), toUser(newUser, sha256Hash)) - if err != nil { - return nil, err - } - - return toUserResponse(meta.Key, &doc), nil -} - -func (db *Database) UserUpdate(ctx context.Context, id string, user *model.UserForm) (*model.UserResponse, error) { - var doc model.User - _, err := db.userCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - if doc.Apikey { - return nil, errors.New("cannot update an API key") - } - - ctx = driver.WithReturnNew(ctx, &doc) - - user.ID = id - - meta, err := db.userCollection.ReplaceDocument(ctx, id, toUser(user, nil)) - if err != nil { - return nil, err - } - - return toUserResponse(meta.Key, &doc), nil -} - -func (db *Database) UserGet(ctx context.Context, id string) (*model.UserResponse, error) { - var doc model.User - meta, err := db.userCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toUserResponse(meta.Key, &doc), nil -} - -func (db *Database) UserDelete(ctx context.Context, id string) error { - _, err := db.userCollection.RemoveDocument(ctx, id) - - return err -} - -func (db *Database) UserList(ctx context.Context) ([]*model.UserResponse, error) { - query := "FOR d IN @@collection RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": UserCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.UserResponse - for { - var doc model.User - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - doc.Sha256 = nil - docs = append(docs, toUserResponse(meta.Key, &doc)) - } - - return docs, err -} - -func (db *Database) UserAPIKeyByHash(ctx context.Context, sha256 string) (*model.UserResponse, error) { - query := `FOR d in @@collection - FILTER d.apikey && d.sha256 == @sha256 - RETURN d` - - vars := map[string]any{"@collection": UserCollectionName, "sha256": sha256} - cursor, _, err := db.Query(ctx, query, vars, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - - var doc model.User - meta, err := cursor.ReadDocument(ctx, &doc) - if err != nil { - return nil, err - } - - return toUserResponse(meta.Key, &doc), err -} - -func (db *Database) UserByIDAndPassword(ctx context.Context, id, password string) (*model.UserResponse, error) { - log.Println("UserByIDAndPassword", id, password) - query := `FOR d in @@collection - FILTER d._key == @id && !d.apikey && d.sha512 == SHA512(CONCAT(d.salt, @password)) - RETURN d` - - vars := map[string]any{"@collection": UserCollectionName, "id": id, "password": password} - cursor, _, err := db.Query(ctx, query, vars, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - - var doc model.User - meta, err := cursor.ReadDocument(ctx, &doc) - if err != nil { - return nil, err - } - - return toUserResponse(meta.Key, &doc), err -} - -func generateAPIKey() (key, sha256Hash *string) { - newKey := generateKey() - sha256Hash = pointer.String(fmt.Sprintf("%x", sha256.Sum256([]byte(newKey)))) - - return &newKey, sha256Hash -} diff --git a/database/userdata.go b/database/userdata.go deleted file mode 100644 index 75464cb..0000000 --- a/database/userdata.go +++ /dev/null @@ -1,87 +0,0 @@ -package database - -import ( - "context" - "errors" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database/busdb" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func toUserDataResponse(key string, doc *model.UserData) *model.UserDataResponse { - return &model.UserDataResponse{ - Email: doc.Email, - ID: key, - Image: doc.Image, - Name: doc.Name, - Timeformat: doc.Timeformat, - } -} - -func (db *Database) UserDataCreate(ctx context.Context, id string, userdata *model.UserData) error { - if userdata == nil { - return errors.New("requires setting") - } - if id == "" { - return errors.New("requires username") - } - - _, err := db.userdataCollection.CreateDocument(ctx, ctx, id, userdata) - - return err -} - -func (db *Database) UserDataGetOrCreate(ctx context.Context, id string, newUserData *model.UserData) (*model.UserDataResponse, error) { - setting, err := db.UserDataGet(ctx, id) - if err != nil { - return toUserDataResponse(id, newUserData), db.UserDataCreate(ctx, id, newUserData) - } - - return setting, nil -} - -func (db *Database) UserDataGet(ctx context.Context, id string) (*model.UserDataResponse, error) { - var doc model.UserData - meta, err := db.userdataCollection.ReadDocument(ctx, id, &doc) - if err != nil { - return nil, err - } - - return toUserDataResponse(meta.Key, &doc), err -} - -func (db *Database) UserDataList(ctx context.Context) ([]*model.UserDataResponse, error) { - query := "FOR d IN @@collection SORT d.username ASC RETURN d" - cursor, _, err := db.Query(ctx, query, map[string]any{"@collection": UserDataCollectionName}, busdb.ReadOperation) - if err != nil { - return nil, err - } - defer cursor.Close() - var docs []*model.UserDataResponse - for { - var doc model.UserData - meta, err := cursor.ReadDocument(ctx, &doc) - if driver.IsNoMoreDocuments(err) { - break - } else if err != nil { - return nil, err - } - docs = append(docs, toUserDataResponse(meta.Key, &doc)) - } - - return docs, err -} - -func (db *Database) UserDataUpdate(ctx context.Context, id string, userdata *model.UserData) (*model.UserDataResponse, error) { - var doc model.UserData - ctx = driver.WithReturnNew(ctx, &doc) - - meta, err := db.userdataCollection.ReplaceDocument(ctx, id, userdata) - if err != nil { - return nil, err - } - - return toUserDataResponse(meta.Key, &doc), nil -} diff --git a/database/userdata_test.go b/database/userdata_test.go deleted file mode 100644 index 95cfee1..0000000 --- a/database/userdata_test.go +++ /dev/null @@ -1,176 +0,0 @@ -package database_test - -import ( - "testing" - - "github.com/stretchr/testify/assert" - - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" - "github.com/SecurityBrewery/catalyst/test" -) - -var bob = &model.UserData{ - Email: pointer.String("bob@example.org"), - Name: pointer.String("Bob"), -} - -var bobResponse = &model.UserDataResponse{ - ID: "bob", - Email: pointer.String("bob@example.org"), - Name: pointer.String("Bob"), -} - -func TestDatabase_UserDataCreate(t *testing.T) { - t.Parallel() - - type args struct { - id string - setting *model.UserData - } - tests := []struct { - name string - args args - wantErr bool - }{ - {name: "Normal setting", args: args{id: "bob", setting: bob}, wantErr: false}, - {name: "Nil setting", args: args{id: "bob"}, wantErr: true}, - {name: "UserData without settingname", args: args{id: ""}, wantErr: true}, - {name: "Only settingname", args: args{id: "bob"}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if err := db.UserDataCreate(test.Context(), tt.args.id, tt.args.setting); (err != nil) != tt.wantErr { - t.Errorf("settingCreate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} - -func TestDatabase_UserDataGet(t *testing.T) { - t.Parallel() - - type args struct { - id string - } - tests := []struct { - name string - args args - want *model.UserDataResponse - wantErr bool - }{ - {name: "Normal get", args: args{id: "bob"}, want: bobResponse}, - {name: "Not existing", args: args{id: "foo"}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if err := db.UserDataCreate(test.Context(), "bob", bob); err != nil { - t.Errorf("settingCreate() error = %v", err) - } - - got, err := db.UserDataGet(test.Context(), tt.args.id) - if (err != nil) != tt.wantErr { - t.Errorf("UserDataGet() error = %v, wantErr %v", err, tt.wantErr) - - return - } - if err != nil { - return - } - - assert.Equal(t, tt.want, got) - }) - } -} - -func TestDatabase_UserDataList(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - want []*model.UserDataResponse - wantErr bool - }{ - {name: "Normal list", want: []*model.UserDataResponse{bobResponse}}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if err := db.UserDataCreate(test.Context(), "bob", bob); err != nil { - t.Errorf("settingCreate() error = %v", err) - } - - got, err := db.UserDataList(test.Context()) - if (err != nil) != tt.wantErr { - t.Errorf("UserDataList() error = %v, wantErr %v", err, tt.wantErr) - - return - } - - assert.Equal(t, tt.want, got) - }) - } -} - -func TestDatabase_UserDataUpdate(t *testing.T) { - t.Parallel() - - type args struct { - id string - setting *model.UserData - } - tests := []struct { - name string - args args - wantErr bool - }{ - {name: "Normal", args: args{id: "bob", setting: bob}}, - {name: "Not existing", args: args{id: "foo"}, wantErr: true}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, db, cleanup, err := test.DB(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if err := db.UserDataCreate(test.Context(), "bob", bob); err != nil { - t.Errorf("settingCreate() error = %v", err) - } - - if _, err := db.UserDataUpdate(test.Context(), tt.args.id, tt.args.setting); (err != nil) != tt.wantErr { - t.Errorf("UserDataUpdate() error = %v, wantErr %v", err, tt.wantErr) - } - }) - } -} diff --git a/definition/CAQLLexer.g4 b/definition/CAQLLexer.g4 deleted file mode 100644 index 45def35..0000000 --- a/definition/CAQLLexer.g4 +++ /dev/null @@ -1,160 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2020 by Martin Mirchev - * - * 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. - * - * Project : sqlite-parser; an ANTLR4 grammar for SQLite https://github.com/bkiers/sqlite-parser - * Developed by : Bart Kiers, bart@big-o.nl - */ - -// $antlr-format alignTrailingComments on, columnLimit 150, maxEmptyLinesToKeep 1, reflowComments off, useTab off -// $antlr-format allowShortRulesOnASingleLine on, alignSemicolons ownLine - -lexer grammar CAQLLexer; - -channels { ERRORCHANNEL } - - -DOT: '.'; - -// https://github.com/arangodb/arangodb/blob/devel/arangod/Aql/grammar.y -T_REGEX_MATCH: '=~'; // "~= operator" -T_REGEX_NON_MATCH: '!~'; // "~! operator" - -T_EQ: '=='; // "== operator"; -T_NE: '!='; // "!= operator"; -T_LT: '<'; // "< operator"; -T_GT: '>'; // "> operator"; -T_LE: '<='; // "<= operator"; -T_GE: '>='; // ">= operator"; - -T_PLUS: '+'; // "+ operator" -T_MINUS: '-'; // "- operator" -T_TIMES: '*'; // "* operator" -T_DIV: '/'; // "/ operator" -T_MOD: '%'; // "% operator" - -T_QUESTION: '?'; // "?" -T_COLON: ':'; // ":" -T_SCOPE: '::'; // "::" -T_RANGE: '..'; // ".." - -T_COMMA: ','; // "," -T_OPEN: '('; // "(" -T_CLOSE: ')'; // ")" -T_OBJECT_OPEN: '{'; // "{" -T_OBJECT_CLOSE: '}'; // "}" -T_ARRAY_OPEN: '['; // "[" -T_ARRAY_CLOSE: ']'; // "]" - - -// https://www.arangodb.com/docs/stable/aql/fundamentals-syntax.html#keywords -T_AGGREGATE: A G G R E G A T E; -T_ALL: A L L; -T_AND: (A N D | '&&'); -T_ANY: A N Y; -T_ASC: A S C; -T_COLLECT: C O L L E C T; -T_DESC: D E S C; -T_DISTINCT: D I S T I N C T; -T_FALSE: F A L S E; -T_FILTER: F I L T E R; -T_FOR: F O R; -T_GRAPH: G R A P H; -T_IN: I N; -T_INBOUND: I N B O U N D; -T_INSERT: I N S E R T; -T_INTO: I N T O; -T_K_SHORTEST_PATHS: K '_' S H O R T E S T '_' P A T H S; -T_LET: L E T; -T_LIKE: L I K E; -T_LIMIT: L I M I T; -T_NONE: N O N E; -T_NOT: (N O T | '!'); -T_NULL: N U L L; -T_OR: (O R | '||'); -T_OUTBOUND: O U T B O U N D; -T_REMOVE: R E M O V E; -T_REPLACE: R E P L A C E; -T_RETURN: R E T U R N; -T_SHORTEST_PATH: S H O R T E S T '_' P A T H; -T_SORT: S O R T; -T_TRUE: T R U E; -T_UPDATE: U P D A T E; -T_UPSERT: U P S E R T; -T_WITH: W I T H; - -T_KEEP: K E E P; -T_COUNT: C O U N T; -T_OPTIONS: O P T I O N S; -T_PRUNE: P R U N E; -T_SEARCH: S E A R C H; -T_TO: T O; - -T_CURRENT: C U R R E N T; -T_NEW: N E W; -T_OLD: O L D; - -T_STRING: [a-zA-Z_] [a-zA-Z_0-9]*; - -T_INT: [1-9] DIGIT* | '0' | '0x' HEX_DIGIT+ | '0b' [0-1]+; -T_FLOAT: ( [1-9] DIGIT* | '0' )? '.' DIGIT+ (E [-+]? DIGIT+)?; - -T_PARAMETER: '@' T_STRING; - -T_QUOTED_STRING: ('\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\'' | '"' ( '\\'. | '""' | ~('"'| '\\') )* '"'); - -SINGLE_LINE_COMMENT: '//' ~[\r\n]* (('\r'? '\n') | EOF) -> channel(HIDDEN); - -MULTILINE_COMMENT: '/*' .*? '*/' -> channel(HIDDEN); - -SPACES: [ \u000B\t\r\n] -> channel(HIDDEN); - -UNEXPECTED_CHAR: .; - -fragment HEX_DIGIT: [0-9a-fA-F]; -fragment DIGIT: [0-9]; - -fragment A: [aA]; -fragment B: [bB]; -fragment C: [cC]; -fragment D: [dD]; -fragment E: [eE]; -fragment F: [fF]; -fragment G: [gG]; -fragment H: [hH]; -fragment I: [iI]; -fragment J: [jJ]; -fragment K: [kK]; -fragment L: [lL]; -fragment M: [mM]; -fragment N: [nN]; -fragment O: [oO]; -fragment P: [pP]; -fragment Q: [qQ]; -fragment R: [rR]; -fragment S: [sS]; -fragment T: [tT]; -fragment U: [uU]; -fragment V: [vV]; -fragment W: [wW]; -fragment X: [xX]; -fragment Y: [yY]; -fragment Z: [zZ]; - -ERROR_RECONGNIGION: . -> channel(ERRORCHANNEL); diff --git a/definition/CAQLParser.g4 b/definition/CAQLParser.g4 deleted file mode 100644 index ffa84a7..0000000 --- a/definition/CAQLParser.g4 +++ /dev/null @@ -1,109 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2014 by Bart Kiers - * - * 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. - * - * Project : sqlite-parser; an ANTLR4 grammar for SQLite https://github.com/bkiers/sqlite-parser - * Developed by: - * Bart Kiers, bart@big-o.nl - * Martin Mirchev, marti_2203@abv.bg - * Mike Lische, mike@lischke-online.de - */ - -// $antlr-format alignTrailingComments on, columnLimit 130, minEmptyLines 1, maxEmptyLinesToKeep 1, reflowComments off -// $antlr-format useTab off, allowShortRulesOnASingleLine off, allowShortBlocksOnASingleLine on, alignSemicolons ownLine - -parser grammar CAQLParser; - -options { - tokenVocab = CAQLLexer; -} - -parse: expression EOF -; - -expression: - value_literal - | reference - | operator_unary - | expression (T_PLUS|T_MINUS) expression - | expression (T_TIMES|T_DIV|T_MOD) expression - | expression T_RANGE expression - | expression (T_LT|T_GT|T_LE|T_GE) expression - | expression T_NOT? T_IN expression - | expression (T_EQ|T_NE) expression - | expression (T_ALL|T_ANY|T_NONE) eq_op=(T_EQ|T_NE|T_LT|T_GT|T_LE|T_GE|T_IN) expression - | expression (T_ALL|T_ANY|T_NONE) T_NOT T_IN expression - | expression T_NOT? (T_LIKE|T_REGEX_MATCH|T_REGEX_NON_MATCH) expression - | expression T_AND expression - | expression T_OR expression - | expression T_QUESTION expression T_COLON expression - | expression T_QUESTION T_COLON expression -; - -operator_unary: ( - T_PLUS expression - | T_MINUS expression - | T_NOT expression -); - -reference: - T_STRING - | compound_value - | function_call - | T_OPEN expression T_CLOSE - | reference DOT T_STRING - | reference T_ARRAY_OPEN expression T_ARRAY_CLOSE -; - -compound_value: ( - array - | object -); - -function_call: ( - T_STRING T_OPEN expression? (T_COMMA expression)*? T_COMMA? T_CLOSE -); - -value_literal: ( - T_QUOTED_STRING - | T_INT - | T_FLOAT - | T_NULL - | T_TRUE - | T_FALSE -); - -array:( - T_ARRAY_OPEN expression? (T_COMMA expression)*? T_COMMA? T_ARRAY_CLOSE -); - -object: - T_OBJECT_OPEN object_element? (T_COMMA object_element)* T_COMMA? T_OBJECT_CLOSE -; - -object_element:( - T_STRING - | object_element_name T_COLON expression - | T_ARRAY_OPEN expression T_ARRAY_CLOSE T_COLON expression -); - -object_element_name:( - T_STRING - | T_QUOTED_STRING -); diff --git a/definition/artifacts.yaml b/definition/artifacts.yaml deleted file mode 100644 index f597890..0000000 --- a/definition/artifacts.yaml +++ /dev/null @@ -1,30 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: { } - -definitions: - Artifact: - type: object - required: [ name ] - properties: - name: { type: string, example: "2.2.2.2" } - type: { type: string } - kind: { type: string } - status: { type: string, example: "Unknown" } - enrichments: { type: object, additionalProperties: { $ref: "#/definitions/Enrichment" } } - - EnrichmentForm: - type: object - required: [ name, data ] - properties: - name: { type: string, example: "hash.sha1" } - data: { type: object, example: { "hash": "b7a067a742c20d07a7456646de89bc2d408a1153" } } - - Enrichment: - type: object - required: [ name, data, created ] - properties: - name: { type: string, example: "hash.sha1" } - data: { type: object, example: { "hash": "b7a067a742c20d07a7456646de89bc2d408a1153" } } - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } diff --git a/definition/automation.yaml b/definition/automation.yaml deleted file mode 100644 index a0ee2c4..0000000 --- a/definition/automation.yaml +++ /dev/null @@ -1,160 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /automations: - get: - tags: [ "automations" ] - summary: "List automations" - operationId: "listAutomations" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/AutomationResponse" } } - examples: - test: - - id: comment - image: "docker.io/python:3" - script: "" - type: [ playbook ] - - id: hash.sha1 - image: "docker.io/python:3" - script: "" - type: [ global, artifact, playbook ] - schema: "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}" - - id: vt.hash - image: "docker.io/python:3" - script: "" - type: [ global, artifact, playbook ] - schema: "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}" - security: [ { roles: [ "automation:read" ] } ] - post: - tags: [ "automations" ] - summary: "Create a new automation" - operationId: "createAutomation" - parameters: - - { name: "automation", in: "body", description: "New automation", required: true, schema: { $ref: "#/definitions/AutomationForm" }, x-example: { id: "hash-sha-256", image: "docker.io/python:3", script: "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha256 = hashlib.sha256(msg['payload']['default'].encode('utf-8'))\n return {'hash': sha256.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", type: [ global ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/AutomationResponse" } - examples: - test: - id: "hash-sha-256" - image: "docker.io/python:3" - type: [ global ] - script: | - import sys - import json - import hashlib - - - def run(msg): - sha256 = hashlib.sha256(msg['payload']['default'].encode('utf-8')) - return {'hash': sha256.hexdigest()} - - - print(json.dumps(run(json.loads(sys.argv[1])))) - - security: [ { roles: [ "automation:write" ] } ] - - /automations/{id}: - get: - tags: [ "automations" ] - summary: "Get a single automation" - operationId: "getAutomation" - parameters: - - { name: "id", in: "path", description: "Automation ID", required: true, type: string, x-example: "hash.sha1" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/AutomationResponse" } - examples: - test: - id: hash.sha1 - image: "docker.io/python:3" - type: [ global, artifact, playbook ] - schema: "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}" - script: | - #!/usr/bin/env python - - import sys - import json - import hashlib - - - def run(msg): - sha1 = hashlib.sha1(msg['payload']['default'].encode('utf-8')) - return {"hash": sha1.hexdigest()} - - - print(json.dumps(run(json.loads(sys.argv[1])))) - security: [ { roles: [ "automation:read" ] } ] - put: - tags: [ "automations" ] - summary: "Update an existing automation" - operationId: "updateAutomation" - parameters: - - { name: "id", in: "path", description: "Automation ID", required: true, type: string, x-example: "hash.sha1" } - - { name: "automation", in: "body", description: "Automation object that needs to be added", required: true, schema: { $ref: "#/definitions/AutomationForm" }, x-example: { id: hash.sha1, image: "docker.io/python:3", script: "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha1 = hashlib.sha1(msg['payload'].encode('utf-8'))\n return {'hash': sha1.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", type: [ global, artifact, playbook ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/AutomationResponse" } - examples: - test: - id: hash.sha1 - image: "docker.io/python:3" - type: [ global, artifact, playbook ] - script: | - import sys - import json - import hashlib - - - def run(msg): - sha1 = hashlib.sha1(msg['payload'].encode('utf-8')) - return {'hash': sha1.hexdigest()} - - - print(json.dumps(run(json.loads(sys.argv[1])))) - security: [ { roles: [ "automation:write" ] } ] - delete: - tags: [ "automations" ] - summary: "Delete a automation" - operationId: "deleteAutomation" - parameters: - - { name: "id", in: "path", description: "Automation ID", required: true, type: string, x-example: "hash.sha1" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "automation:write" ] } ] - -definitions: - AutomationForm: - type: object - required: [ id, image, script, type ] - properties: - id: { type: string } - image: { type: string } - script: { type: string } - type: { type: array, items: { type: string, enum: [ artifact, playbook, global ] } } - schema: { type: string, example: "{}" } - - Automation: - type: object - required: [ image, script, type ] - properties: - image: { type: string } - script: { type: string } - type: { type: array, items: { type: string, enum: [ artifact, playbook, global ] } } - schema: { type: string, example: "{}" } - - AutomationResponse: - type: object - required: [ id, image, script, type ] - properties: - id: { type: string } - image: { type: string } - script: { type: string } - type: { type: array, items: { type: string, enum: [ artifact, playbook, global ] } } - schema: { type: string, example: "{}" } diff --git a/definition/dashboards.yaml b/definition/dashboards.yaml deleted file mode 100644 index 7445cff..0000000 --- a/definition/dashboards.yaml +++ /dev/null @@ -1,167 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /statistics: - get: - tags: [ "statistics" ] - summary: "Get statistics" - operationId: "getStatistics" - responses: - "200": - description: "successful operation" - schema: { $ref: '#/definitions/Statistics' } - examples: - test: - unassigned: 0 - open_tickets_per_user: { } - tickets_per_week: { "2021-39": 3 } - tickets_per_type: { "alert": 2, "incident": 1 } - security: [ { roles: [ "ticket:read" ] } ] - - /dashboards: - get: - tags: [ "dashboards" ] - summary: "List dashboards" - operationId: "listDashboards" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/DashboardResponse" } } - examples: - test: - - id: simple - name: Simple - widgets: - - name: "open_tickets_per_user" - aggregation: "owner" - filter: 'status == "open"' - type: "bar" - width: 4 - - name: "tickets_per_week" - aggregation: 'CONCAT(DATE_YEAR(created), "-", DATE_ISOWEEK(created) < 10 ? "0" : "", DATE_ISOWEEK(created))' - type: "line" - width: 8 - security: [ { roles: [ "dashboard:read" ] } ] - post: - tags: [ "dashboards" ] - summary: "Create a new dashboard" - operationId: "createDashboard" - parameters: - - { name: "template", in: "body", description: "New template", required: true, schema: { $ref: "#/definitions/Dashboard" }, x-example: { name: "My Dashboard", widgets: [ ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/DashboardResponse" } - examples: - test: - id: "my-dashboard" - name: "My Dashboard" - widgets: [] - security: [ { roles: [ "dashboard:write" ] } ] - - /dashboards/{id}: - get: - tags: [ "dashboards" ] - summary: "Get a single dashboard" - operationId: "getDashboard" - parameters: - - { name: "id", in: "path", description: "Dashboard ID", required: true, type: string, x-example: "simple" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/DashboardResponse" } - examples: - test: - id: simple - name: Simple - widgets: - - name: "open_tickets_per_user" - aggregation: "owner" - filter: 'status == "open"' - type: "bar" - width: 4 - - name: "tickets_per_week" - aggregation: 'CONCAT(DATE_YEAR(created), "-", DATE_ISOWEEK(created) < 10 ? "0" : "", DATE_ISOWEEK(created))' - type: "line" - width: 8 - security: [ { roles: [ "dashboard:read" ] } ] - put: - tags: [ "dashboards" ] - summary: "Update an existing dashboard" - operationId: "updateDashboard" - parameters: - - { name: "id", in: "path", description: "Dashboard ID", required: true, type: string, x-example: "simple" } - - { name: "dashboard", in: "body", description: "Dashboard object that needs to be added", required: true, schema: { $ref: "#/definitions/Dashboard" }, x-example: { name: "Simple", widgets: [] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/DashboardResponse" } - examples: - test: - id: simple - name: Simple - widgets: [] - security: [ { roles: [ "dashboard:write" ] } ] - delete: - tags: [ "dashboards" ] - summary: "Delete a dashboard" - operationId: "deleteDashboard" - parameters: - - { name: "id", in: "path", description: "Dashboard ID", required: true, type: string, x-example: "simple" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "dashboard:write" ] } ] - - /dashboard/data: - get: - tags: [ "dashboards" ] - summary: "Get widget data" - operationId: "dashboardData" - parameters: - - { name: "aggregation", in: "query", description: "Aggregation", required: true, type: string, x-example: "type" } - - { name: "filter", in: "query", description: "Filter", type: string, x-example: 'status == "closed"' } - responses: - "200": - description: "successful operation" - schema: { type: object } - examples: - test: - alert: 2 - incident: 1 - security: [ { roles: [ "dashboard:read" ] } ] - -definitions: - Statistics: - type: object - required: [ unassigned, open_tickets_per_user, tickets_per_week, tickets_per_type ] - properties: - unassigned: { type: integer } - open_tickets_per_user: { type: object, additionalProperties: { type: integer } } - tickets_per_week: { type: object, additionalProperties: { type: integer } } - tickets_per_type: { type: object, additionalProperties: { type: integer } } - - Dashboard: - type: object - required: [ name, widgets ] - properties: - name: { type: string } - widgets: { type: array, items: { $ref: "#/definitions/Widget" } } - - DashboardResponse: - type: object - required: [ id, name, widgets ] - properties: - id: { type: string } - name: { type: string } - widgets: { type: array, items: { $ref: "#/definitions/Widget" } } - - Widget: - type: object - required: [ name, type, aggregation, width ] - properties: - name: { type: string } - type: { type: string, enum: [ "bar", "line", "pie" ] } - filter: { type: string } - aggregation: { type: string } - width: { type: integer, minimum: 1, maximum: 12 } \ No newline at end of file diff --git a/definition/enterprise/graph.yaml b/definition/enterprise/graph.yaml deleted file mode 100644 index 0060149..0000000 --- a/definition/enterprise/graph.yaml +++ /dev/null @@ -1,52 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /graph/{col}/{id}: - get: - tags: [ "graph" ] - summary: "Graph" - operationId: "graph" - parameters: - - { name: "col", in: "path", description: "Graph Start", required: true, type: string, x-example: "tickets" } - - { name: "id", in: "path", description: "Graph Start", required: true, type: string, x-example: "88" } - - { name: "depth", in: "query", description: "Graph Start", required: true, type: integer, x-example: 1 } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/Graph" } - examples: - test: - nodes: - - { id: "artifacts/94d5cab6f5fe3422a447ab15436e7a672bc0c09a", name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a" } - - { id: "artifacts/http%3A%2F%2Fwww.customerviral.io%2Fscalable%2Fvertical%2Fkiller", name: "http://www.customerviral.io/scalable/vertical/killer" } - - { id: "artifacts/leadreintermediate.io", name: "leadreintermediate.io" } - - { id: "tickets/88", name: "live zebra" } - links: - - { id: "296239", sid: "tickets/88", tid: "artifacts/http%3A%2F%2Fwww.customerviral.io%2Fscalable%2Fvertical%2Fkiller" } - - { id: "296240", sid: "tickets/88", tid: "artifacts/leadreintermediate.io" } - - { id: "296242", sid: "tickets/88", tid: "artifacts/94d5cab6f5fe3422a447ab15436e7a672bc0c09a" } - security: [ { roles: [ "ticket:read" ] } ] - -definitions: - Graph: - type: object - properties: - nodes: { type: array, items: { $ref: "#/definitions/Node" } } - links: { type: array, items: { $ref: "#/definitions/Link" } } - - Node: - type: object - required: [ id, name ] - properties: - id: { type: string } - name: { type: string } - - Link: - type: object - required: [ id, tid, sid ] - properties: - id: { type: string } - # name: { type: string } - tid: { type: string } - sid: { type: string } diff --git a/definition/enterprise/groups.yaml b/definition/enterprise/groups.yaml deleted file mode 100644 index 6a2f91a..0000000 --- a/definition/enterprise/groups.yaml +++ /dev/null @@ -1,84 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /groups: - get: - tags: [ "groups" ] - summary: "List groups" - operationId: "listGroups" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/Group" } } - security: [ { roles: [ "group:read" ] } ] - post: - tags: [ "groups" ] - summary: "Create a new group" - operationId: "createGroup" - parameters: - - { name: "group", in: "body", description: "New group", required: true, schema: { $ref: "#/definitions/GroupForm" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/GroupResponse" } - security: [ { roles: [ "group:write" ] } ] - - /groups/{id}: - get: - tags: [ "groups" ] - summary: "Get a single group" - operationId: "getGroup" - parameters: - - { name: "id", in: "path", description: "Group ID", required: true, type: string } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/GroupResponse" } - security: [ { roles: [ "group:read" ] } ] - put: - tags: [ "groups" ] - summary: "Update an existing group" - operationId: "updateGroup" - parameters: - - { name: "id", in: "path", description: "Group ID", required: true, type: string } - - { name: "group", in: "body", description: "Group object that needs to be added", required: true, schema: { $ref: "#/definitions/Group" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/Group" } - security: [ { roles: [ "group:write" ] } ] - delete: - tags: [ "groups" ] - summary: "Delete a group" - operationId: "deleteGroup" - parameters: - - { name: "id", in: "path", description: "Group ID", required: true, type: string } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "group:write" ] } ] - -definitions: - GroupForm: - type: object - required: [ name, users ] - properties: - id: { type: string } - name: { type: string } - users: { type: array, items: { type: string } } - - Group: - type: object - required: [ name, users ] - properties: - name: { type: string } - users: { type: array, items: { type: string } } - - - GroupResponse: - type: object - required: [ id, name, users ] - properties: - id: { type: string } - name: { type: string } - users: { type: array, items: { type: string } } diff --git a/definition/enterprise/rules.yaml b/definition/enterprise/rules.yaml deleted file mode 100644 index 6fdffa0..0000000 --- a/definition/enterprise/rules.yaml +++ /dev/null @@ -1,110 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /rules: - get: - tags: [ "rules" ] - summary: "List rules" - operationId: "listRules" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/RuleResponse" } } - examples: - test: - - id: ignore-alerts - name: Ignore Alerts - condition: "type == 'alert'" - update: { "status": "closed" } - security: [ { roles: [ "rule:read" ] } ] - post: - tags: [ "rules" ] - summary: "Create a rule" - operationId: "createRule" - parameters: - - { name: "rule", in: "body", description: "New rule", required: true, schema: { $ref: "#/definitions/RuleForm" }, x-example: { name: "Ignore all Alerts", condition: "type == 'alert'", update: { "status": "closed" } } } - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/RuleResponse" } } - examples: - test: - id: ignore-all-alerts - name: Ignore all Alerts - condition: "type == 'alert'" - update: { "status": "closed" } - security: [ { roles: [ "rule:write" ] } ] - - /rules/{id}: - get: - tags: [ "rules" ] - summary: "Get a single rule" - operationId: "getRule" - parameters: - - { name: "id", in: "path", description: "Rule name", required: true, type: string, x-example: "ignore-alerts" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/RuleResponse" } - examples: - test: - id: ignore-alerts - name: Ignore Alerts - condition: "type == 'alert'" - update: { "status": "closed" } - security: [ { roles: [ "rule:read" ] } ] - put: - tags: [ "rules" ] - summary: "Update an existing ticket rule" - operationId: "updateRule" - parameters: - - { name: "id", in: "path", description: "Rule ID", required: true, type: string, x-example: "ignore-alerts" } - - { name: "rule", in: "body", description: "Updated rule", required: true, schema: { $ref: "#/definitions/RuleForm" }, x-example: { name: "Ignore Alerts", condition: "type == 'alert'", update: { "status": "invalid" } } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/RuleResponse" } - examples: - test: - id: ignore-alerts - name: Ignore Alerts - condition: "type == 'alert'" - update: { "status": "invalid" } - security: [ { roles: [ "rule:write" ] } ] - delete: - tags: [ "rules" ] - summary: "Delete a rule" - operationId: "deleteRule" - parameters: - - { name: "id", in: "path", description: "Rule name", required: true, type: string, x-example: "ignore-alerts" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "rule:write" ] } ] - -definitions: - RuleForm: - type: object - required: [ name, condition, update ] - properties: - id: { type: string } - name: { type: string } - condition: { type: string } - update: { type: object } - - Rule: - type: object - required: [ name, condition, update ] - properties: - name: { type: string } - condition: { type: string } - update: { type: object } - - RuleResponse: - type: object - required: [ id, name, condition, update ] - properties: - id: { type: string } - name: { type: string } - condition: { type: string } - update: { type: object } diff --git a/definition/jobs.yaml b/definition/jobs.yaml deleted file mode 100644 index 495bbb1..0000000 --- a/definition/jobs.yaml +++ /dev/null @@ -1,144 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /jobs: - get: - tags: [ "jobs" ] - summary: "List jobs" - operationId: "listJobs" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/JobResponse" } } - examples: - test: - - id: "b81c2366-ea37-43d2-b61b-03afdc21d985" - automation: "hash.sha1" - payload: "test" - status: "created" - security: [ { roles: [ "job:read" ] } ] - post: - tags: [ "jobs" ] - summary: "Start a new job" - operationId: "runJob" - parameters: - - { name: "job", in: "body", description: "New job", required: true, schema: { $ref: "#/definitions/JobForm" }, x-example: { automation: "hash.sha1", payload: "test" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/JobResponse" } - examples: - test: { id: "87390749-2125-4a87-91c5-da7e3f9bebf1", automation: "hash.sha1", payload: "test", status: "created" } - security: [ { roles: [ "job:write" ] } ] - - /jobs/{id}: - get: - tags: [ "jobs" ] - summary: "Get a single job" - operationId: "getJob" - parameters: - - { name: "id", in: "path", description: "Job ID", required: true, type: string, x-example: "b81c2366-ea37-43d2-b61b-03afdc21d985" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/JobResponse" } - examples: - test: { id: "b81c2366-ea37-43d2-b61b-03afdc21d985", automation: "hash.sha1", payload: "test", status: "created" } - security: [ { roles: [ "job:read" ] } ] - put: - tags: [ "jobs" ] - summary: "Update an existing job" - operationId: "updateJob" - parameters: - - { name: "id", in: "path", description: "Job ID", required: true, type: string, x-example: "b81c2366-ea37-43d2-b61b-03afdc21d985" } - - { name: "job", in: "body", description: "Job object that needs to be added", required: true, schema: { $ref: "#/definitions/JobUpdate" }, x-example: { status: "failed", running: false } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/JobResponse" } - examples: - test: { id: "b81c2366-ea37-43d2-b61b-03afdc21d985", automation: "hash.sha1", payload: "test", status: "failed" } - - security: [ { roles: [ "job:write" ] } ] - -definitions: - Message: - type: object - properties: - payload: { } - secrets: { type: object, additionalProperties: { type: string } } - context: { $ref: "#/definitions/Context" } - - Context: - type: object - properties: - artifact: { $ref: "#/definitions/Artifact" } - playbook: { $ref: "#/definitions/PlaybookResponse" } - task: { $ref: "#/definitions/TaskResponse" } - ticket: { $ref: "#/definitions/TicketResponse" } - - Origin: - type: object - properties: - task_origin: { $ref: "#/definitions/TaskOrigin" } - artifact_origin: { $ref: "#/definitions/ArtifactOrigin" } - - TaskOrigin: - type: object - required: [ ticket_id, playbook_id, task_id ] - properties: - ticket_id: { type: integer, format: int64 } - playbook_id: { type: string } - task_id: { type: string } - - ArtifactOrigin: - type: object - required: [ ticket_id, artifact ] - properties: - ticket_id: { type: integer, format: int64 } - artifact: { type: string } - - JobForm: - type: object - required: [ automation ] - properties: - automation: { type: string } - payload: { } - origin: { $ref: "#/definitions/Origin" } - - JobUpdate: - type: object - required: [ running, status ] - properties: - container: { type: string } - running: { type: boolean } - status: { type: string } - log: { type: string } - output: { type: object } - - Job: - type: object - required: [ automation, running, status ] - properties: - automation: { type: string } - container: { type: string } - payload: { } - running: { type: boolean } - status: { type: string } - log: { type: string } - output: { type: object } - origin: { $ref: "#/definitions/Origin" } - - JobResponse: - type: object - required: [ id, automation, status ] - properties: - id: { type: string } - automation: { type: string } - container: { type: string } - status: { type: string } - payload: { } - log: { type: string } - output: { type: object } - origin: { $ref: "#/definitions/Origin" } diff --git a/definition/logs.yaml b/definition/logs.yaml deleted file mode 100644 index 2337dc4..0000000 --- a/definition/logs.yaml +++ /dev/null @@ -1,31 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - - /logs/{reference}: - get: - tags: [ "logs" ] - summary: "Get log entries" - operationId: "getLogs" - parameters: - - { name: "reference", in: "path", description: "Reference", required: true, type: string, x-example: "tickets%2F294511" } - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/LogEntry" } } - examples: - test: - - { type: "manual", "created": "2021-12-12T12:12:12.000000012Z","creator": "bob","reference": "tickets/294511","message": "Fail run account resist lend solve incident centre priority temperature. Cause change distribution examine location technique shape partner milk customer. Rail tea plate soil report cook railway interpretation breath action. Exercise dream accept park conclusion addition shoot assistance may answer. Gold writer link stop combine hear power name commitment operation. Determine lifespan support grow degree henry exclude detail set religion. Direct library policy convention chain retain discover ride walk student. Gather proposal select march aspect play noise avoid encourage employ. Assessment preserve transport combine wish influence income guess run stand. Charge limit crime ignore statement foundation study issue stop claim." } - security: [ { roles: [ "log:read" ] } ] - -definitions: - LogEntry: - type: object - required: [ type, reference, creator, created, message ] - properties: - type: { type: string } - reference: { type: string } - creator: { type: string } - created: { type: string, format: "date-time" } - message: { type: string } diff --git a/definition/playbooks.yaml b/definition/playbooks.yaml deleted file mode 100644 index 2a92a67..0000000 --- a/definition/playbooks.yaml +++ /dev/null @@ -1,199 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /playbooks: - get: - tags: [ "playbooks" ] - summary: "List playbooks" - operationId: "listPlaybooks" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/PlaybookTemplateResponse" } } - examples: - test: - - id: phishing - name: Phishing - yaml: "name: Phishing\ntasks:\n board:\n name: Board Involvement?\n description: Is a board member involved?\n type: input\n schema:\n properties:\n boardInvolved:\n default: false\n title: A board member is involved.\n type: boolean\n required:\n - boardInvolved\n title: Board Involvement?\n type: object\n next:\n escalate: \"boardInvolved == true\"\n mail-available: \"boardInvolved == false\"\n\n escalate:\n name: Escalate to CISO\n description: Please escalate the task to the CISO\n type: task\n\n mail-available:\n name: Mail available\n type: input\n schema:\n oneOf:\n - properties:\n mail:\n title: Mail\n type: string\n x-display: textarea\n schemaKey:\n const: 'yes'\n type: string\n required:\n - mail\n title: 'Yes'\n - properties:\n schemaKey:\n const: 'no'\n type: string\n title: 'No'\n title: Mail available\n type: object\n next:\n block-sender: \"schemaKey == 'yes'\"\n extract-iocs: \"schemaKey == 'yes'\"\n search-email-gateway: \"schemaKey == 'no'\"\n\n search-email-gateway:\n name: Search email gateway\n description: Please search email-gateway for the phishing mail.\n type: task\n next:\n extract-iocs:\n\n block-sender:\n name: Block sender\n type: task\n next:\n extract-iocs:\n\n extract-iocs:\n name: Extract IOCs\n description: Please insert the IOCs\n type: input\n schema:\n properties:\n iocs:\n items:\n type: string\n title: IOCs\n type: array\n title: Extract IOCs\n type: object\n next:\n block-iocs:\n\n block-iocs:\n name: Block IOCs\n type: task\n" - - id: simple - name: Simple - yaml: "name: Simple\ntasks:\n input:\n name: Enter something to hash\n type: input\n schema:\n title: Something\n type: object\n properties:\n something:\n type: string\n title: Something\n default: \"\"\n next:\n hash: \"something != ''\"\n\n hash:\n name: Hash the something\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['something']\"\n next:\n comment: \"hash != ''\"\n\n comment:\n name: Comment the hash\n type: automation\n automation: comment\n payload:\n default: \"playbook.tasks['hash'].data['hash']\"\n next:\n done: \"done\"\n\n done:\n name: You can close this case now\n type: task\n" - security: [ { roles: [ "playbook:read" ] } ] - post: - tags: [ "playbooks" ] - summary: "Create a playbook" - operationId: "createPlaybook" - parameters: - - { name: "playbook", in: "body", description: "New playbook", required: true, schema: { $ref: "#/definitions/PlaybookTemplateForm" }, x-example: { yaml: "name: Simple2\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/PlaybookTemplateResponse" } - examples: - test: - id: simple-2 - name: Simple2 - yaml: | - name: Simple2 - tasks: - input: - name: Upload malware if possible - type: input - schema: - title: Malware - type: object - properties: - malware: - type: string - title: Select malware - default: "" - next: - hash: "malware != ''" - - hash: - name: Hash the malware - type: automation - automation: hash.sha1 - payload: - default: "playbook.tasks['input'].data['malware']" - next: - escalate: - - escalate: - name: Escalate to malware team - type: task - security: [ { roles: [ "playbook:write" ] } ] - - /playbooks/{id}: - get: - tags: [ "playbooks" ] - summary: "Get a single playbook" - operationId: "getPlaybook" - parameters: - - { name: "id", in: "path", description: "Playbook name", required: true, type: string, x-example: "simple" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/PlaybookTemplateResponse" } - examples: - test: - id: simple - name: Simple - yaml: | - name: Simple - tasks: - input: - name: Enter something to hash - type: input - schema: - title: Something - type: object - properties: - something: - type: string - title: Something - default: "" - next: - hash: "something != ''" - - hash: - name: Hash the something - type: automation - automation: hash.sha1 - payload: - default: "playbook.tasks['input'].data['something']" - next: - comment: "hash != ''" - - comment: - name: Comment the hash - type: automation - automation: comment - payload: - default: "playbook.tasks['hash'].data['hash']" - next: - done: "done" - - done: - name: You can close this case now - type: task - - security: [ { roles: [ "playbook:read" ] } ] - put: - tags: [ "playbooks" ] - summary: "Update an existing ticket playbook" - operationId: "updatePlaybook" - parameters: - - { name: "id", in: "path", description: "Playbook ID", required: true, type: string, x-example: "simple" } - - { name: "playbook", in: "body", description: "Updated playbook", required: true, schema: { $ref: "#/definitions/PlaybookTemplateForm" }, x-example: { yaml: "name: Simple\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/PlaybookTemplateResponse" } - examples: - test: - id: simple - name: Simple - yaml: | - name: Simple - tasks: - input: - name: Upload malware if possible - type: input - schema: - title: Malware - type: object - properties: - malware: - type: string - title: Select malware - default: "" - next: - hash: "malware != ''" - - hash: - name: Hash the malware - type: automation - automation: hash.sha1 - payload: - default: "playbook.tasks['input'].data['malware']" - next: - escalate: - - escalate: - name: Escalate to malware team - type: task - security: [ { roles: [ "playbook:write" ] } ] - delete: - tags: [ "playbooks" ] - summary: "Delete a playbook" - operationId: "deletePlaybook" - parameters: - - { name: "id", in: "path", description: "Playbook name", required: true, type: string, x-example: "simple" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "playbook:write" ] } ] - -definitions: - PlaybookTemplateForm: - type: object - required: [ yaml ] - properties: - id: { type: string } - yaml: { type: string } - - PlaybookTemplate: - type: object - required: [ name, yaml ] - properties: - name: { type: string } - yaml: { type: string } - - PlaybookTemplateResponse: - type: object - required: [ id, name, yaml ] - properties: - id: { type: string } - name: { type: string } - yaml: { type: string } diff --git a/definition/settings.yaml b/definition/settings.yaml deleted file mode 100644 index 2564233..0000000 --- a/definition/settings.yaml +++ /dev/null @@ -1,89 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /settings: - get: - tags: [ "settings" ] - summary: "Get settings" - operationId: "getSettings" - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/SettingsResponse" } - examples: - test: - version: "0.0.0-test" - tier: community - timeformat: "yyyy-MM-dd hh:mm:ss" - ticketTypes: - - { icon: "mdi-alert", id: "alert", name: "Alerts", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-radioactive", id: "incident", name: "Incidents", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-fingerprint", id: "investigation", name: "Forensic Investigations", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-target", id: "hunt", name: "Threat Hunting", default_template: "default", default_playbooks: [ ] } - artifactKinds: - - { icon: "mdi-server", id: "asset", name: "Asset" } - - { icon: "mdi-bullseye", id: "ioc", name: "IOC" } - artifactStates: - - { icon: "mdi-help-circle-outline", id: "unknown", name: "Unknown", color: "info" } - - { icon: "mdi-skull", id: "malicious", name: "Malicious", color: "error" } - - { icon: "mdi-check", id: "clean", name: "Clean", color: "success" } - security: [ { roles: [ "settings:read" ] } ] - post: - tags: [ "settings" ] - summary: "Save settings" - operationId: "saveSettings" - parameters: - - { name: "settings", in: "body", description: "Save settings", required: true, schema: { $ref: "#/definitions/Settings" }, x-example: { timeformat: "yyyy-MM-dd hh:mm:ss", artifactKinds: [ { icon: "mdi-server", id: "asset", name: "Asset" }, { icon: "mdi-bullseye", id: "ioc", name: "IOC" } ], artifactStates: [ { icon: "mdi-help-circle-outline", id: "unknown", name: "Unknown", color: "info" },{ icon: "mdi-skull", id: "malicious", name: "Malicious", color: "error" },{ icon: "mdi-check", id: "clean", name: "Clean", color: "success" } ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/SettingsResponse" } - examples: - test: - version: "0.0.0-test" - tier: community - timeformat: "yyyy-MM-dd hh:mm:ss" - ticketTypes: - - { icon: "mdi-alert", id: "alert", name: "Alerts", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-radioactive", id: "incident", name: "Incidents", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-fingerprint", id: "investigation", name: "Forensic Investigations", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-target", id: "hunt", name: "Threat Hunting", default_template: "default", default_playbooks: [ ] } - artifactKinds: - - { icon: "mdi-server", id: "asset", name: "Asset" } - - { icon: "mdi-bullseye", id: "ioc", name: "IOC" } - artifactStates: - - { icon: "mdi-help-circle-outline", id: "unknown", name: "Unknown", color: "info" } - - { icon: "mdi-skull", id: "malicious", name: "Malicious", color: "error" } - - { icon: "mdi-check", id: "clean", name: "Clean", color: "success" } - security: [ { roles: [ "settings:write" ] } ] - -definitions: - Settings: - type: object - required: [ timeformat, artifactKinds, artifactStates ] - properties: - timeformat: { title: "Time Format", type: string } - artifactKinds: { title: "Artifact Kinds", type: array, items: { $ref: "#/definitions/Type" } } - artifactStates: { title: "Artifact States", type: array, items: { $ref: "#/definitions/Type" } } - - SettingsResponse: - type: object - required: [ version, tier, timeformat, ticketTypes, artifactKinds, artifactStates ] - properties: - version: { title: "Version", type: string } - tier: { title: "Tier", type: string, enum: [ "community", "enterprise" ] } - timeformat: { title: "Time Format", type: string } - ticketTypes: { title: "Ticket Types", type: array, items: { $ref: "#/definitions/TicketTypeResponse" } } - artifactKinds: { title: "Artifact Kinds", type: array, items: { $ref: "#/definitions/Type" } } - artifactStates: { title: "Artifact States", type: array, items: { $ref: "#/definitions/Type" } } - roles: { title: "Roles", type: array, items: { type: string } } - - Type: - type: object - required: [ id, name, icon ] - properties: - id: { title: ID, type: string, x-cols: 3, x-class: pr-2 } - name: { title: Name, type: string, x-cols: 3, x-class: pr-2 } - icon: { title: "Icon (https://materialdesignicons.com)", type: string, x-cols: 3, x-class: pr-2 } - color: { title: Color, type: string, x-cols: 3, enum: [ error, info, success, warning ] } diff --git a/definition/swagger.yaml b/definition/swagger.yaml deleted file mode 100644 index 24d9a98..0000000 --- a/definition/swagger.yaml +++ /dev/null @@ -1,18 +0,0 @@ -swagger: "2.0" -info: - version: "0.0.3" - title: "Catalyst" - description: API for the catalyst incident response platform. - -host: "." -basePath: "/api" -schemes: - # - "https" - - "http" - -consumes: [ "application/json" ] -produces: [ "application/json" ] - -paths: {} - -definitions: {} diff --git a/definition/tasks.yaml b/definition/tasks.yaml deleted file mode 100644 index 73da5a8..0000000 --- a/definition/tasks.yaml +++ /dev/null @@ -1,82 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /tasks: - get: - tags: [ "tasks" ] - summary: "List tasks" - operationId: "listTasks" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/TaskWithContext" } } - examples: - test: [ ] - security: [ { roles: [ "ticket:read" ] } ] - -definitions: - Task: - type: object - required: [ name, type, done, created ] - properties: - name: { type: string, example: "Inform user" } - type: { type: string, enum: [ task, input, automation ], example: "task" } - done: { type: boolean } - - owner: { type: string } - data: { type: object } - - # automation - automation: { type: string } - payload: { type: object, additionalProperties: { type: string } } - - # input - schema: { type: object } - - # workflow - join: { type: boolean, example: false } - next: { type: object, additionalProperties: { type: string } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - closed: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - TaskResponse: - type: object - required: [ name, type, done, created, order, active ] - properties: - name: { type: string, example: "Inform user" } - type: { type: string, enum: [ task, input, automation ], example: "task" } - done: { type: boolean } - - owner: { type: string } - data: { type: object } - - # automation - automation: { type: string } - payload: { type: object, additionalProperties: { type: string } } - - # input - schema: { type: object } - - # workflow - join: { type: boolean, example: false } - next: { type: object, additionalProperties: { type: string } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - closed: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - # helper - order: { type: number, format: "int64", example: 2 } - active: { type: boolean, example: false } - - TaskWithContext: - type: object - required: [ ticket_id, ticket_name, playbook_id, playbook_name, task_id, task ] - properties: - ticket_id: { type: number, format: "int64" } - ticket_name: { type: string } - playbook_id: { type: string } - playbook_name: { type: string } - task_id: { type: string } - task: { $ref: '#/definitions/TaskResponse' } diff --git a/definition/templates.yaml b/definition/templates.yaml deleted file mode 100644 index b000dd4..0000000 --- a/definition/templates.yaml +++ /dev/null @@ -1,104 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /templates: - get: - tags: [ "templates" ] - summary: "List templates" - operationId: "listTemplates" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/TicketTemplateResponse" } } - examples: - test: - - id: default - name: Default - schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Default\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - security: [ { roles: [ "template:read" ] } ] - post: - tags: [ "templates" ] - summary: "Create a new template" - operationId: "createTemplate" - parameters: - - { name: "template", in: "body", description: "New template", required: true, schema: { $ref: "#/definitions/TicketTemplateForm" }, x-example: { name: "My Template", schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTemplateResponse" } - examples: - test: - id: "my-template" - name: "My Template" - schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - security: [ { roles: [ "template:write" ] } ] - - /templates/{id}: - get: - tags: [ "templates" ] - summary: "Get a single template" - operationId: "getTemplate" - parameters: - - { name: "id", in: "path", description: "Template ID", required: true, type: string, x-example: "default" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTemplateResponse" } - examples: - test: - id: default - name: Default - schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Default\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - security: [ { roles: [ "template:read" ] } ] - put: - tags: [ "templates" ] - summary: "Update an existing template" - operationId: "updateTemplate" - parameters: - - { name: "id", in: "path", description: "Template ID", required: true, type: string, x-example: "default" } - - { name: "template", in: "body", description: "Template object that needs to be added", required: true, schema: { $ref: "#/definitions/TicketTemplateForm" }, x-example: { name: "My Template", schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTemplateResponse" } - examples: - test: - id: default - name: "My Template" - schema: "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - - security: [ { roles: [ "template:write" ] } ] - delete: - tags: [ "templates" ] - summary: "Delete a template" - operationId: "deleteTemplate" - parameters: - - { name: "id", in: "path", description: "Template ID", required: true, type: string, x-example: "default" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "template:write" ] } ] - -definitions: - TicketTemplateForm: - type: object - required: [ name, schema ] - properties: - id: { type: string } - name: { type: string } - schema: { type: string } - - TicketTemplate: - type: object - required: [ name, schema ] - properties: - name: { type: string } - schema: { type: string } - - TicketTemplateResponse: - type: object - required: [ id, name, schema ] - properties: - id: { type: string } - name: { type: string } - schema: { type: string } diff --git a/definition/tickets.yaml b/definition/tickets.yaml deleted file mode 100644 index 8a99bd1..0000000 --- a/definition/tickets.yaml +++ /dev/null @@ -1,1117 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /tickets: - get: - tags: [ "tickets" ] - summary: "List tickets" - operationId: "listTickets" - parameters: - - { name: "type", in: "query", description: "Ticket Type", type: string } - - { name: "offset", in: "query", description: "Offset of the list", type: integer, default: 0 } - - { name: "count", in: "query", description: "Number of tickets", type: integer, maximum: 100, default: 25 } - - { name: "sort", in: "query", description: "Sort columns", type: array, items: { type: string } } #, example: [ "name", "id" ] - - { name: "desc", in: "query", description: "Sort descending", type: array, items: { type: boolean } } #, example: [ false, true ] - - { name: "query", in: "query", description: "Search query", type: string } - responses: - "200": - description: "successful operation" - schema: { $ref: '#/definitions/TicketList' } - examples: - test: - count: 3 - tickets: - - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-10-02T16:04:59.078206Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - - { id: 8125, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z",name: "phishing from selenafadel@von.com detected", owner: "demo", references: [ { href: "https://www.seniorleading-edge.name/users/efficient", name: "recovery" },{ href: "http://www.dynamicseamless.com/clicks-and-mortar", name: "force" },{ href: "http://www.leadscalable.biz/envisioneer", name: "fund" } ],"schema": "{}", status: "closed", type: "alert" } - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:read" ] } ] - post: - tags: [ "tickets" ] - summary: "Create a new ticket" - operationId: "createTicket" - parameters: - - { name: "ticket", in: "body", description: "New ticket", required: true, schema: { $ref: "#/definitions/TicketForm" }, x-example: { id: 123, owner: bob, name: "Wannacry infection", status: "open", type: "incident" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketResponse" } - examples: - test: - id: 123 - name: "Wannacry infection" - type: "incident" - status: "open" - created: "2021-12-12T12:12:12.000000012Z" - modified: "2021-12-12T12:12:12.000000012Z" - owner: "bob" - schema: "{}" - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/batch: - post: - tags: [ "tickets" ] - summary: "Create a new tickets in batch" - operationId: "createTicketBatch" - parameters: - - { name: "ticket", in: "body", description: "New ticket", required: true, schema: { $ref: "#/definitions/TicketFormArray" }, x-example: [ { id: 123, owner: bob, name: "Wannacry infection", status: "open", type: "incident" } ] } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}: - get: - tags: [ "tickets" ] - summary: "Get a single ticket" - operationId: "getTicket" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-10-02T16:04:59.078186Z" - name: "phishing from selenafadel@von.com detected" - owner: "demo" - references: - - href: "https://www.seniorleading-edge.name/users/efficient" - name: "recovery" - - href: "http://www.dynamicseamless.com/clicks-and-mortar" - name: "force" - - href: "http://www.leadscalable.biz/envisioneer" - name: "fund" - schema: "{}" - status: "closed" - type: "alert" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:read" ] } ] - put: - tags: [ "tickets" ] - summary: "Update an existing ticket" - operationId: "updateTicket" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - - { name: "ticket", in: "body", description: "Updated ticket", required: true, schema: { $ref: "#/definitions/Ticket" }, x-example: { "created": "2021-12-12T12:12:12.000000012Z",modified: "2021-12-12T12:12:12.000000012Z", name: "phishing from selenafadel@von.org detected", owner: "demo", references: [ { href: "https://www.seniorleading-edge.name/users/efficient", name: "recovery" },{ href: "http://www.dynamicseamless.com/clicks-and-mortar", name: "force" },{ href: "http://www.leadscalable.biz/envisioneer", name: "fund" } ], schema: "{}", status: "closed", type: "alert" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - created: "2021-12-12T12:12:12.000000012Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "phishing from selenafadel@von.org detected" - owner: "demo" - references: - - href: "https://www.seniorleading-edge.name/users/efficient" - name: "recovery" - - href: "http://www.dynamicseamless.com/clicks-and-mortar" - name: "force" - - href: "http://www.leadscalable.biz/envisioneer" - name: "fund" - schema: "{}" - status: "closed" - type: "alert" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:write" ] } ] - delete: - tags: [ "tickets" ] - summary: "Delete an ticket" - operationId: "deleteTicket" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "ticket:delete" ] } ] - - /tickets/{id}/tickets: - patch: - tags: [ "tickets" ] - summary: "Link an ticket to an ticket" - operationId: "linkTicket" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8126 } - - { name: "linkedID", in: "body", description: "Added ticket ID", required: true, schema: { type: integer, format: "int64" }, x-example: 8123 } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8126 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-10-02T16:04:59.078186Z" - name: "Surfaceintroduce virus detected" - owner: "demo" - references: - - { "href": "http://www.centralworld-class.io/synthesize", "name": "university" } - - { "href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal" } - - { "href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment" } - schema: "{}" - status: "closed" - type: "alert" - tickets: - - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-10-02T16:04:59.078206Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - - id: 8125 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-10-02T16:04:59.078186Z" - name: "phishing from selenafadel@von.com detected" - owner: "demo" - references: - - { href: "https://www.seniorleading-edge.name/users/efficient", name: "recovery" } - - { href: "http://www.dynamicseamless.com/clicks-and-mortar", name: "force" } - - { href: "http://www.leadscalable.biz/envisioneer", name: "fund" } - "schema": "{}" - status: "closed" - type: "alert" - security: [ { roles: [ "ticket:write" ] } ] - delete: - tags: [ "tickets" ] - summary: "Unlink an ticket to an ticket" - operationId: "unlinkTicket" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8126 } - - { name: "linkedID", in: "body", description: "Added ticket ID", required: true, schema: { type: integer, format: "int64" }, x-example: 8125 } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8126 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-10-02T16:04:59.078186Z" - name: "Surfaceintroduce virus detected" - owner: "demo" - references: - - { href: "http://www.centralworld-class.io/synthesize", name: "university" } - - { href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" } - - { href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } - "schema": "{}" - status: "closed" - type: "alert" - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/comments: - post: - tags: [ "tickets" ] - summary: "Add ticket comment" - operationId: "addComment" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - - { name: "comment", in: "body", description: "Ticket comment", required: true, schema: { $ref: "#/definitions/CommentForm" } , x-example: { message: "My first comment" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "phishing from selenafadel@von.com detected" - owner: "demo" - comments: - - created: "2021-12-12T12:12:12.000000012Z" - creator: "bob" - message: "My first comment" - references: - - { href: "https://www.seniorleading-edge.name/users/efficient", name: "recovery" } - - { href: "http://www.dynamicseamless.com/clicks-and-mortar", name: "force" } - - { href: "http://www.leadscalable.biz/envisioneer", name: "fund" } - "schema": "{}" - status: "closed" - type: "alert" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/comments/{commentID}: - delete: - tags: [ "tickets" ] - summary: "Remove an comment from an ticket" - description: "Comment will be removed from the ticket." - operationId: "removeComment" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "commentID", in: "path", description: "Comment ID to remove", required: true, type: integer, x-example: 0 } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/references: - put: - tags: [ "tickets" ] - summary: "Set ticket references" - operationId: "setReferences" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - - { name: "references", in: "body", description: "All ticket references", required: true, schema: { $ref: "#/definitions/ReferenceArray" }, x-example: [ { href: "http://www.leadscalable.biz/envisioneer", name: "fund" } ] } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "phishing from selenafadel@von.com detected" - owner: "demo" - references: [ { href: "http://www.leadscalable.biz/envisioneer", name: "fund" } ] - "schema": "{}" - status: "closed" - type: "alert" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/schema: - put: - tags: [ "tickets" ] - summary: "Set ticket schema" - operationId: "setSchema" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - - { name: "schema", in: "body", description: "New ticket schema", required: true, schema: { type: string }, x-example: "{}" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-10-02T16:04:59.078186Z" - name: "phishing from selenafadel@von.com detected" - owner: "demo" - references: - - { href: "https://www.seniorleading-edge.name/users/efficient", name: "recovery" } - - { href: "http://www.dynamicseamless.com/clicks-and-mortar", name: "force" } - - { href: "http://www.leadscalable.biz/envisioneer", name: "fund" } - "schema": "{}" - status: "closed" - type: "alert" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks: - post: - tags: [ "tickets" ] - summary: "Add a new ticket playbook" - operationId: "addTicketPlaybook" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8125 } - - { name: "playbook", in: "body", description: "Ticket playbook object that needs to be added", required: true, schema: { $ref: "#/definitions/PlaybookTemplateForm" }, x-example: { yaml: "name: Simple\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8125 - name: phishing from selenafadel@von.com detected - owner: demo - type: "alert" - status: "closed" - created: "2021-10-02T16:04:59.078186Z" - modified: "2021-12-12T12:12:12.000000012Z" - schema: "{}" - tickets: - - { id: 8126, created: "2021-10-02T16:04:59.078186Z", modified: "2021-10-02T16:04:59.078186Z", name: "Surfaceintroduce virus detected", owner: "demo", references: [ { href: "http://www.centralworld-class.io/synthesize", name: "university" },{ href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", name: "goal" },{ href: "http://www.chiefsyndicate.io/action-items", name: "unemployment" } ],"schema": "{}", status: "closed", type: "alert" } - references: - - { href: "https://www.seniorleading-edge.name/users/efficient", name: recovery } - - { href: "http://www.dynamicseamless.com/clicks-and-mortar", name: force } - - { href: "http://www.leadscalable.biz/envisioneer", name: fund } - playbooks: - simple: - name: Simple - tasks: - input: - active: true - done: false - created: "2021-12-12T12:12:12.000000012Z" - order: 0 - name: Upload malware if possible - type: input - schema: - title: Malware - type: object - properties: - malware: - type: string - title: Select malware - default: "" - next: - hash: "malware != ''" - - hash: - active: false - done: false - created: "2021-12-12T12:12:12.000000012Z" - order: 1 - name: Hash the malware - type: automation - automation: hash.sha1 - payload: - default: "playbook.tasks['input'].data['malware']" - next: - escalate: "" - - escalate: - active: false - done: false - created: "2021-12-12T12:12:12.000000012Z" - order: 2 - name: Escalate to malware team - type: task - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks/{playbookID}: - delete: - tags: [ "tickets" ] - summary: "Remove an ticket playbook" - operationId: "removeTicketPlaybook" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "playbookID", in: "path", description: "Playbook ID", required: true, type: string, x-example: "phishing" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - name: "live zebra" - type: "incident" - status: "closed" - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - owner: "demo" - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: performance } - - { href: "http://www.corporateinteractive.name/rich", name: autumn } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: suggest } - schema: | - { - "definitions": {}, - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://example.com/object1618746510.json", - "title": "Event", - "type": "object", - "required": [ - "severity", - "description", - "tlp" - ], - "properties": { - "severity": { - "$id": "#root/severity", - "title": "Severity", - "type": "string", - "default": "Medium", - "nx-enum": [ - "Low", - "Medium", - "High" - ], - "x-cols": 6, - "x-class": "pr-2", - "x-display": "icon", - "x-itemIcon": "icon", - "oneOf": [ - { - "const": "Low", - "title": "Low", - "icon": "mdi-chevron-up" - }, - { - "const": "Medium", - "title": "Medium", - "icon": "mdi-chevron-double-up" - }, - { - "const": "High", - "title": "High", - "icon": "mdi-chevron-triple-up" - } - ] - }, - "tlp": { - "$id": "#root/tlp", - "title": "TLP", - "type": "string", - "nx-enum": [ - "White", - "Green", - "Amber", - "Red" - ], - "x-cols": 6, - "x-class": "pr-2", - "x-display": "icon", - "x-itemIcon": "icon", - "oneOf": [ - { - "const": "White", - "title": "White", - "icon": "mdi-alpha-w" - }, - { - "const": "Green", - "title": "Green", - "icon": "mdi-alpha-g" - }, - { - "const": "Amber", - "title": "Amber", - "icon": "mdi-alpha-a" - }, - { - "const": "Red", - "title": "Red", - "icon": "mdi-alpha-r" - } - ] - }, - "description": { - "$id": "#root/description", - "title": "Description", - "type": "string", - "x-display": "textarea", - "x-class": "pr-2" - } - } - } - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks/{playbookID}/task/{taskID}: - put: - tags: [ "tickets" ] - summary: "Set a ticket playbook task data" - operationId: "setTaskData" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "playbookID", in: "path", description: "Playbook ID", required: true, type: string, x-example: "phishing" } - - { name: "taskID", in: "path", description: "Task ID", required: true, type: string, x-example: "board" } - - { name: "data", in: "body", description: "Task data", required: true, schema: { type: object }, x-example: { boardInvolved: true } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input", data: { boardInvolved: true } } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks/{playbookID}/task/{taskID}/owner: - put: - tags: [ "tickets" ] - summary: "Set a ticket playbook task owner" - operationId: "setTaskOwner" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "playbookID", in: "path", description: "Playbook ID", required: true, type: string, x-example: "phishing" } - - { name: "taskID", in: "path", description: "Task ID", required: true, type: string, x-example: "board" } - - { name: "owner", in: "body", description: "Task owner", required: true, schema: { type: string }, x-example: "eve" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input", owner: "eve" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks/{playbookID}/task/{taskID}/complete: - put: - tags: [ "tickets" ] - summary: "Complete ticket playbook task" - operationId: "completeTask" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "playbookID", in: "path", description: "Playbook ID", required: true, type: string, x-example: "phishing" } - - { name: "taskID", in: "path", description: "Task ID", required: true, type: string, x-example: "board" } - - { name: "data", in: "body", description: "Ticket playbook object that needs to be added", required: true, schema: { type: object }, x-example: { boardInvolved: true } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", closed: "2021-12-12T12:12:12.000000012Z", done: true, "active": false, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input", data: { boardInvolved: true } } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/playbooks/{playbookID}/task/{taskID}/run: - post: - tags: [ "tickets" ] - summary: "Run ticket playbook task" - operationId: "runTask" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "playbookID", in: "path", description: "Playbook ID", required: true, type: string, x-example: "phishing" } - - { name: "taskID", in: "path", description: "Task ID", required: true, type: string, x-example: "board" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/artifacts: - post: - tags: [ "tickets" ] - summary: "Add a single artifact" - operationId: "addArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "artifact", in: "body", description: "Artifact object that needs to be added", required: true, schema: { $ref: "#/definitions/Artifact" }, x-example: { name: "2.2.2.2" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious" } - - { name: "2.2.2.2", status: "unknown", type: "ip" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/artifacts/{name}: - get: - tags: [ "tickets" ] - summary: "Get a single artifact" - operationId: "getArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "name", in: "path", required: true, type: string, x-example: "leadreintermediate.io" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/Artifact" } - examples: - test: { name: "leadreintermediate.io", status: "malicious" } - security: [ { roles: [ "ticket:write" ] } ] - put: - tags: [ "tickets" ] - summary: "Set a single artifact" - operationId: "setArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "name", in: "path", required: true, type: string, x-example: "leadreintermediate.io" } - - { name: "artifact", in: "body", required: true, schema: { $ref: "#/definitions/Artifact" }, x-example: { name: "leadreintermediate.io", status: "clean" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-10-02T16:04:59.078206Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "clean" } - security: [ { roles: [ "ticket:write" ] } ] - delete: - tags: [ "tickets" ] - summary: "Remove an artifact" - operationId: "removeArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "name", in: "path", required: true, type: string, x-example: "leadreintermediate.io" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-12-12T12:12:12.000000012Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/artifacts/{name}/run/{automation}: - post: - tags: [ "tickets" ] - summary: "Run automation on a single artifact" - operationId: "runArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "name", in: "path", required: true, type: string, x-example: "leadreintermediate.io" } - - { name: "automation", in: "path", required: true, type: string, x-example: "hash.sha1" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "ticket:write" ] } ] - - /tickets/{id}/artifacts/{name}/enrich: - post: - tags: [ "tickets" ] - summary: "Enrich a single artifact" - operationId: "enrichArtifact" - parameters: - - { name: "id", in: "path", description: "Ticket ID", required: true, type: integer, format: "int64", x-example: 8123 } - - { name: "name", in: "path", required: true, type: string, x-example: "leadreintermediate.io" } - - { name: "data", in: "body", required: true, schema: { $ref: "#/definitions/EnrichmentForm" }, x-example: { name: "hash.sha1", data: { "hash": "b7a067a742c20d07a7456646de89bc2d408a1153" } } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketWithTickets" } - examples: - test: - id: 8123 - created: "2021-10-02T16:04:59.078206Z" - modified: "2021-10-02T16:04:59.078206Z" - name: "live zebra" - owner: "demo" - playbooks: - phishing: - name: "Phishing" - tasks: - "block-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 6, name: "Block IOCs", type: "task" } - "block-sender": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 3, name: "Block sender","next": { "extract-iocs": "" }, type: "task" } - "board": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": true, "order": 0, name: "Board Involvement?","next": { "escalate": "boardInvolved == true","mail-available": "boardInvolved == false" },"schema": { "properties": { "boardInvolved": { "default": false, "title": "A board member is involved.", type: "boolean" } }, "required": [ "boardInvolved" ], "title": "Board Involvement?", type: "object" }, type: "input" } - "escalate": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 1, name: "Escalate to CISO", type: "task" } - "extract-iocs": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 5, name: "Extract IOCs", "next": { "block-iocs": "" },"schema": { "properties": { "iocs": { "items": { type: "string" },"title": "IOCs", type: "array" } }, "title": "Extract IOCs", type: "object" }, type: "input" } - "mail-available": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 2, name: "Mail available","next": { "block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'" },"schema": { "oneOf": [ { "properties": { "mail": { "title": "Mail", type: "string", "x-display": "textarea" }, "schemaKey": { "const": "yes", type: "string" } },"required": [ "mail" ], "title": "Yes" },{ "properties": { "schemaKey": { "const": "no", type: "string" } },"title": "No" } ],"title": "Mail available", type: "object" }, type: "input" } - "search-email-gateway": { created: "2021-12-12T12:12:12.000000012Z", done: false, "active": false, "order": 4, name: "Search email gateway","next": { "extract-iocs": "" }, type: "task" } - references: - - { href: "https://www.leadmaximize.net/e-services/back-end", name: "performance" } - - { href: "http://www.corporateinteractive.name/rich", name: "autumn" } - - { href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", name: "suggest" } - "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n" - status: "closed" - type: "incident" - artifacts: - - { name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", status: "unknown" } - - { name: "http://www.customerviral.io/scalable/vertical/killer", status: "clean" } - - { name: "leadreintermediate.io", status: "malicious", enrichments: { hash.sha1: { name: "hash.sha1", created: "2021-12-12T12:12:12.000000012Z", data: { "hash": "b7a067a742c20d07a7456646de89bc2d408a1153" } } } } - security: [ { roles: [ "ticket:write" ] } ] - -definitions: - TicketFormArray: - type: array - items: { $ref: "#/definitions/TicketForm" } - - TicketForm: - type: object - required: [ name, type, status ] - properties: - id: { type: integer, format: int64, example: 123 } - name: { type: string, example: WannyCry } - type: { type: string, example: incident } - status: { type: string, example: "open" } - - owner: { type: string, example: "bob" } - write: { type: array, items: { type: string }, example: [ "alice" ] } - read: { type: array, items: { type: string }, example: [ "bob" ] } - - schema: { type: string, example: "{}" } - details: { type: object, example: { "description": "my little incident" } } - - references: { type: array, items: { $ref: '#/definitions/Reference' } } - playbooks: { type: array, items: { $ref: '#/definitions/PlaybookTemplateForm' } } - files: { type: array, items: { $ref: '#/definitions/File' } } - comments: { type: array, items: { $ref: '#/definitions/Comment' } } - artifacts: { type: array, items: { $ref: "#/definitions/Artifact" } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - modified: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - Ticket: - type: object - required: [ name, type, status, created, modified, schema ] - properties: - name: { type: string, example: WannyCry } - type: { type: string, example: incident } - status: { type: string, example: "open" } - - owner: { type: string, example: "bob" } - write: { type: array, items: { type: string }, example: [ "alice" ] } - read: { type: array, items: { type: string }, example: [ "bob" ] } - - schema: { type: string, example: "{}" } - details: { type: object, example: { "description": "my little incident" } } - - references: { type: array, items: { $ref: '#/definitions/Reference' } } - playbooks: { type: object, additionalProperties: { $ref: '#/definitions/Playbook' } } - files: { type: array, items: { $ref: '#/definitions/File' } } - comments: { type: array, items: { $ref: '#/definitions/Comment' } } - artifacts: { type: array, items: { $ref: "#/definitions/Artifact" } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - modified: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - TicketResponse: - type: object - required: [ id, name, type, status, created, modified, schema ] - properties: - id: { type: integer, format: int64, example: 123 } - name: { type: string, example: WannyCry } - type: { type: string, example: incident } - status: { type: string, example: "open" } - - owner: { type: string, example: "bob" } - write: { type: array, items: { type: string }, example: [ "alice" ] } - read: { type: array, items: { type: string }, example: [ "bob" ] } - - schema: { type: string, example: "{}" } - details: { type: object, example: { "description": "my little incident" } } - - references: { type: array, items: { $ref: '#/definitions/Reference' } } - playbooks: { type: object, additionalProperties: { $ref: '#/definitions/PlaybookResponse' } } - files: { type: array, items: { $ref: '#/definitions/File' } } - comments: { type: array, items: { $ref: '#/definitions/Comment' } } - artifacts: { type: array, items: { $ref: "#/definitions/Artifact" } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - modified: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - TicketSimpleResponse: - type: object - required: [ id, name, type, status, created, modified, schema ] - properties: - id: { type: integer, format: int64, example: 123 } - name: { type: string, example: WannyCry } - type: { type: string, example: incident } - status: { type: string, example: "open" } - - owner: { type: string, example: "bob" } - write: { type: array, items: { type: string }, example: [ "alice" ] } - read: { type: array, items: { type: string }, example: [ "bob" ] } - - schema: { type: string, example: "{}" } - details: { type: object, example: { "description": "my little incident" } } - - references: { type: array, items: { $ref: '#/definitions/Reference' } } - playbooks: { type: object, additionalProperties: { $ref: '#/definitions/Playbook' } } - files: { type: array, items: { $ref: '#/definitions/File' } } - comments: { type: array, items: { $ref: '#/definitions/Comment' } } - artifacts: { type: array, items: { $ref: "#/definitions/Artifact" } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - modified: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - TicketWithTickets: - type: object - required: [ id, name, type, status, created, modified, schema ] - properties: - id: { type: integer, format: int64, example: 123 } - name: { type: string, example: WannyCry } - type: { type: string, example: incident } - status: { type: string, example: "open" } - - owner: { type: string, example: "bob" } - write: { type: array, items: { type: string }, example: [ "alice" ] } - read: { type: array, items: { type: string }, example: [ "bob" ] } - - schema: { type: string, example: "{}" } - details: { type: object, example: { "description": "my little incident" } } - - references: { type: array, items: { $ref: '#/definitions/Reference' } } - playbooks: { type: object, additionalProperties: { $ref: '#/definitions/PlaybookResponse' } } - files: { type: array, items: { $ref: '#/definitions/File' } } - comments: { type: array, items: { $ref: '#/definitions/Comment' } } - artifacts: { type: array, items: { $ref: "#/definitions/Artifact" } } - - logs: { type: array, items: { $ref: '#/definitions/LogEntry' } } - - created: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - modified: { type: string, format: "date-time", example: "1985-04-12T23:20:50.52Z" } - - tickets: { type: array, items: { $ref: "#/definitions/TicketSimpleResponse" } } - correlated_tickets: { type: array, items: { $ref: "#/definitions/TicketSimpleResponse" } } - - TicketList: - type: object - required: [ tickets, count ] - properties: - tickets: { type: array, items: { $ref: "#/definitions/TicketSimpleResponse" } } - count: { type: number, example: 3 } - - CommentForm: - type: object - required: [ message ] - properties: - creator: { type: string } - created: { type: string, format: "date-time" } - message: { type: string } - - Comment: - type: object - required: [ creator, created, message ] - properties: - creator: { type: string } - created: { type: string, format: "date-time" } - message: { type: string } - - ReferenceArray: - type: array - items: { $ref: '#/definitions/Reference' } - - Reference: - type: object - required: [ name, href ] - properties: - name: { type: string, example: "CVE-2017-0144" } - href: { type: string, example: "https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2017-0144" } - - File: - type: object - required: [ key, name ] - properties: - key: { type: string, example: "myfile" } - name: { type: string, example: "notes.docx" } - - Playbook: - type: object - required: [ name, tasks ] - properties: - name: { type: string, example: "Phishing" } - tasks: { type: object, additionalProperties: { $ref: '#/definitions/Task' } } - - PlaybookResponse: - type: object - required: [ name, tasks ] - properties: - name: { type: string, example: "Phishing" } - tasks: { type: object, additionalProperties: { $ref: '#/definitions/TaskResponse' } } diff --git a/definition/tickettype.yaml b/definition/tickettype.yaml deleted file mode 100644 index 3c8b491..0000000 --- a/definition/tickettype.yaml +++ /dev/null @@ -1,121 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - - -paths: - /tickettypes: - get: - tags: [ "tickettypes" ] - summary: "List tickettypes" - operationId: "listTicketTypes" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/TicketTypeResponse" } } - examples: - test: - - { icon: "mdi-alert", id: "alert", name: "Alerts", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-radioactive", id: "incident", name: "Incidents", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-fingerprint", id: "investigation", name: "Forensic Investigations", default_template: "default", default_playbooks: [ ] } - - { icon: "mdi-target", id: "hunt", name: "Threat Hunting", default_template: "default", default_playbooks: [ ] } - security: [ { roles: [ "tickettype:read" ] } ] - post: - tags: [ "tickettypes" ] - summary: "Create a new tickettype" - operationId: "createTicketType" - parameters: - - { name: "tickettype", in: "body", description: "New tickettype", required: true, schema: { $ref: "#/definitions/TicketTypeForm" }, x-example: { name: "TI Tickets", icon: "mdi-newspaper-variant-outline", default_template: "default", default_playbooks: [ ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTypeResponse" } - examples: - test: - id: "ti-tickets" - name: "TI Tickets" - icon: "mdi-newspaper-variant-outline" - default_template: "default" - default_playbooks: [ ] - security: [ { roles: [ "tickettype:write" ] } ] - - /tickettypes/{id}: - get: - tags: [ "tickettypes" ] - summary: "Get a single tickettype" - operationId: "getTicketType" - parameters: - - { name: "id", in: "path", description: "TicketType ID", required: true, type: string, x-example: "alert" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTypeResponse" } - examples: - test: - icon: "mdi-alert" - id: "alert" - name: "Alerts" - default_template: "default" - default_playbooks: [ ] - security: [ { roles: [ "tickettype:read" ] } ] - put: - tags: [ "tickettypes" ] - summary: "Update an existing tickettype" - operationId: "updateTicketType" - parameters: - - { name: "id", in: "path", description: "TicketType ID", required: true, type: string, x-example: "alert" } - - { name: "tickettype", in: "body", description: "TicketType object that needs to be added", required: true, schema: { $ref: "#/definitions/TicketTypeForm" }, x-example: { icon: "mdi-bell", id: "alert", name: "Alerts", default_template: "default", default_playbooks: [ ] } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/TicketTypeResponse" } - examples: - test: - icon: "mdi-bell" - id: "alert" - name: "Alerts" - default_template: "default" - default_playbooks: [ ] - - security: [ { roles: [ "tickettype:write" ] } ] - delete: - tags: [ "tickettypes" ] - summary: "Delete a tickettype" - operationId: "deleteTicketType" - parameters: - - { name: "id", in: "path", description: "TicketType ID", required: true, type: string, x-example: "alert" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "tickettype:write" ] } ] - -definitions: - TicketTypeForm: - type: object - required: [ name, icon, default_template, default_playbooks ] - properties: - id: { type: string } - icon: { type: string } - name: { type: string } - default_template: { type: string } - default_playbooks: { type: array, items: { type: string } } - default_groups: { type: array, items: { type: string } } - - TicketType: - type: object - required: [ name, icon, default_template, default_playbooks ] - properties: - icon: { type: string } - name: { type: string } - default_template: { type: string } - default_playbooks: { type: array, items: { type: string } } - default_groups: { type: array, items: { type: string } } - - TicketTypeResponse: - type: object - required: [ id, name, icon, default_template, default_playbooks ] - properties: - id: { type: string } - icon: { type: string } - name: { type: string } - default_template: { type: string } - default_playbooks: { type: array, items: { type: string } } - default_groups: { type: array, items: { type: string } } diff --git a/definition/userdata.yaml b/definition/userdata.yaml deleted file mode 100644 index 449fbca..0000000 --- a/definition/userdata.yaml +++ /dev/null @@ -1,94 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /currentuserdata: - get: - tags: [ "userdata" ] - summary: "Get current user data" - operationId: "currentUserData" - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserDataResponse" } - examples: - test: { id: bob, name: "Bob Bad", email: "bob@example.org" } - security: [ { roles: [ "currentuserdata:read" ] } ] - put: - tags: [ "userdata" ] - summary: "Update current user data" - operationId: "updateCurrentUserData" - parameters: - - { name: "userdata", in: "body", description: "User data object that needs to be added", required: true, schema: { $ref: "#/definitions/UserData" }, x-example: { name: "Bob Bad", email: "bob@example.org" } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserDataResponse" } - examples: - test: { id: bob, name: "Bob Bad", email: "bob@example.org" } - security: [ { roles: [ "currentuserdata:write" ] } ] - - /userdata: - get: - tags: [ "userdata" ] - summary: "List userdata" - operationId: "listUserData" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/UserDataResponse" } } - examples: - test: - - { id: bob, name: "Bob Bad", email: "bob@example.org" } - security: [ { roles: [ "userdata:read" ] } ] - - /userdata/{id}: - get: - tags: [ "userdata" ] - summary: "Get a single user data" - operationId: "getUserData" - parameters: - - { name: "id", in: "path", description: "User Data ID", required: true, type: string, x-example: "bob" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserDataResponse" } - examples: - test: - id: bob - name: "Bob Bad" - email: "bob@example.org" - security: [ { roles: [ "userdata:read" ] } ] - put: - tags: [ "userdata" ] - summary: "Update an existing user data" - operationId: "updateUserData" - parameters: - - { name: "id", in: "path", description: "User Data ID", required: true, type: string, x-example: "bob" } - - { name: "userdata", in: "body", description: "User data object that needs to be added", required: true, schema: { $ref: "#/definitions/UserData" }, x-example: { name: "Bob Bad", email: "bob@example.org", blocked: false } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserDataResponse" } - examples: - test: { id: bob, name: "Bob Bad", email: "bob@example.org" } - security: [ { roles: [ "userdata:write" ] } ] - -definitions: - UserData: - type: object - properties: - name: { type: string, x-example: "Robert Smith" } - email: { type: string, x-example: "bob@example.org" } - image: { type: string, x-display: "custom-avatar" } - timeformat: { title: "Time Format (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens)", type: string } - - UserDataResponse: - type: object - required: [ id ] - properties: - id: { type: string } - name: { type: string, x-example: "Robert Smith" } - email: { type: string, x-example: "bob@example.org" } - image: { type: string, x-display: "custom-avatar" } - timeformat: { title: "Time Format (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens)", type: string } diff --git a/definition/users.yaml b/definition/users.yaml deleted file mode 100644 index 1f6482c..0000000 --- a/definition/users.yaml +++ /dev/null @@ -1,122 +0,0 @@ -swagger: "2.0" -info: { version: "", title: "" } - -paths: - /currentuser: - get: - tags: [ "users" ] - summary: "Get current user" - operationId: "currentUser" - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserResponse" } - examples: - test: { id: bob, roles: [ "admin" ], blocked: false, apikey: false } - security: [ { roles: [ "currentuser:read" ] } ] - - /users: - get: - tags: [ "users" ] - summary: "List users" - operationId: "listUsers" - responses: - "200": - description: "successful operation" - schema: { type: array, items: { $ref: "#/definitions/UserResponse" } } - examples: - test: - - { id: bob, blocked: false, roles: [ "admin" ], apikey: false } - - { id: script, roles: [ "engineer" ], blocked: false, apikey: true } - security: [ { roles: [ "user:read" ] } ] - post: - tags: [ "users" ] - summary: "Create user" - operationId: "createUser" - parameters: - - { name: "user", in: "body", description: "user object that needs to be added", required: true, schema: { $ref: "#/definitions/UserForm" }, x-example: { id: "syncscript", roles: [ "analyst" ], blocked: false, apikey: true } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/NewUserResponse" } - examples: - test: { id: "syncscript", roles: [ "analyst" ], secret: "v39bOuobnlEljfWzjAgoKzhmnh1xSMxH", blocked: false } - security: [ { roles: [ "user:write" ] } ] - /users/{id}: - get: - tags: [ "users" ] - summary: "Get a single user" - operationId: "getUser" - parameters: - - { name: "id", in: "path", description: "user ID", required: true, type: string, x-example: "script" } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserResponse" } - examples: - test: { id: "script", roles: [ "engineer" ], blocked: false, apikey: true } - security: [ { roles: [ "user:read" ] } ] - put: - tags: [ "users" ] - summary: "Update user" - operationId: "updateUser" - parameters: - - { name: "id", in: "path", description: "Template ID", required: true, type: string, x-example: "bob" } - - { name: "user", in: "body", description: "user object that needs to be added", required: true, schema: { $ref: "#/definitions/UserForm" }, x-example: { id: "syncscript", roles: [ "analyst", "admin" ], blocked: false, apikey: false } } - responses: - "200": - description: "successful operation" - schema: { $ref: "#/definitions/UserResponse" } - examples: - test: - id: bob - roles: [ "analyst", "admin" ] - apikey: false - blocked: false - security: [ { roles: [ "user:write" ] } ] - delete: - tags: [ "users" ] - summary: "Delete user" - operationId: "deleteUser" - parameters: - - { name: "id", in: "path", description: "user ID", required: true, type: string, x-example: "script" } - responses: - "204": { description: "successful operation" } - security: [ { roles: [ "user:write" ] } ] - -definitions: - UserForm: - type: object - required: [ id, blocked, roles, apikey ] - properties: - id: { type: string } - blocked: { type: boolean } - apikey: { type: boolean } - roles: { type: array, items: { type: string } } - - User: - type: object - required: [ blocked, apikey, roles ] - properties: - blocked: { type: boolean } - apikey: { type: boolean } - roles: { type: array, items: { type: string } } - sha256: { type: string } # for api keys - - UserResponse: - type: object - required: [ id, blocked, roles, apikey ] - properties: - id: { type: string } - blocked: { type: boolean } - apikey: { type: boolean } - roles: { type: array, items: { type: string } } - - NewUserResponse: - type: object - required: [ id, blocked, roles ] - properties: - id: { type: string } - blocked: { type: boolean } - roles: { type: array, items: { type: string } } - secret: { type: string } diff --git a/dev/authelia/configuration.yml b/dev/authelia/configuration.yml deleted file mode 100644 index cafc7aa..0000000 --- a/dev/authelia/configuration.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- -server: - host: 0.0.0.0 - port: 8082 -default_redirection_url: "http://localhost/auth/callback" - -log: - format: text - -authentication_backend: - file: - path: /config/users_database.yml - -access_control: - default_policy: one_factor - -session: - domain: localhost - -storage: - local: - path: /config/db.sqlite3 - -notifier: - filesystem: - filename: /config/notification.txt - -identity_providers: - oidc: - cors: - # allowed_origins_from_client_redirect_uris: true - allowed_origins: [ "*" ] - clients: - - id: "catalyst" - description: API - secret: "secret" - public: false - authorization_policy: one_factor - scopes: [ openid, email, profile ] - redirect_uris: - - "http://localhost/auth/callback" - userinfo_signing_algorithm: none diff --git a/dev/authelia/private.pem b/dev/authelia/private.pem deleted file mode 100644 index ea61ba2..0000000 --- a/dev/authelia/private.pem +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/dev/authelia/users_database.yml b/dev/authelia/users_database.yml deleted file mode 100644 index 2e16b9d..0000000 --- a/dev/authelia/users_database.yml +++ /dev/null @@ -1,13 +0,0 @@ -users: - alice@example.com: - displayname: Alice - password: "$argon2id$v=19$m=65536,t=3,p=4$S3hTSS90U1QycjNEWURZTw$aJP1fI/byC/3A7NCz5lyrXR7NS+l+1YMnqj5qFopZRk" - email: alice@example.com - bob@example.com: - displayname: "Bob" - password: "$argon2id$v=19$m=65536,t=3,p=4$amxRcURFVUk4TlhPOXFmWg$sPRsvGg9rrqefRp0fFA7wQG3O8OcMnQhj4IckHYPEz8" - email: bob@example.com - admin@example.com: - displayname: "Admin" - password: "$argon2id$v=19$m=65536,t=3,p=4$SFBXa1BXblNZKytoZ1ZLYQ$JruWROu9opYmcPNw1cIiHms4k4466DqrKIPvJe94nfA" - email: admin@example.com \ No newline at end of file diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml deleted file mode 100644 index e4136dc..0000000 --- a/dev/docker-compose.yml +++ /dev/null @@ -1,40 +0,0 @@ -version: '2.4' -services: - nginx: - image: nginx:1.25 - volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro - ports: [ "80:80", "8529:8529", "9000:9000", "8082:8082", "9003:9003" ] - networks: [ catalyst ] - - arangodb: - image: arangodb/arangodb:3.8.1 - environment: - ARANGO_ROOT_PASSWORD: foobar - networks: [ catalyst ] - - minio: - image: minio/minio:RELEASE.2021-12-10T23-03-39Z - environment: - MINIO_ROOT_USER: minio - MINIO_ROOT_PASSWORD: minio123 - command: server /data -console-address ":9003" - networks: [ catalyst ] - - authelia: - image: authelia/authelia:4 - environment: - AUTHELIA_JWT_SECRET: "AUTHELIA_JWT_SECRET" - AUTHELIA_IDENTITY_PROVIDERS_OIDC_ISSUER_PRIVATE_KEY_FILE: "/config/private.pem" - AUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET: "AUTHELIA_HMAC_SECRET" - AUTHELIA_STORAGE_ENCRYPTION_KEY: "AUTHELIA_STORAGE_ENCRYPTION_KEY" - AUTHELIA_SESSION_SECRET: "AUTHELIA_SESSION_SECRET" - volumes: - - ./authelia/configuration.yml:/config/configuration.yml - - ./authelia/users_database.yml:/config/users_database.yml - - ./authelia/private.pem:/config/private.pem - networks: [ catalyst ] - -networks: - catalyst: - name: catalyst diff --git a/dev/nginx.conf b/dev/nginx.conf deleted file mode 100644 index e28e93c..0000000 --- a/dev/nginx.conf +++ /dev/null @@ -1,117 +0,0 @@ -user www-data; -worker_processes 5; -error_log /var/log/nginx/error.log; - -events { - worker_connections 4096; -} - -http { - include mime.types; - index index.html index.htm; - - log_format main '$remote_addr - $remote_user [$time_local] $status ' - '"$request" $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - access_log /var/log/nginx/access.log main; - - server { - listen 80 default_server; - server_name _; - - location / { - resolver 127.0.0.11 valid=30s; - set $upstream_catalyst host.docker.internal; - proxy_pass http://$upstream_catalyst:8000; - } - - location /wss { - resolver 127.0.0.11 valid=30s; - set $upstream_catalyst host.docker.internal; - proxy_pass http://$upstream_catalyst:8000; - - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_read_timeout 86400; - } - } - - server { - listen 8529 default_server; - server_name _; - - location / { - resolver 127.0.0.11 valid=30s; - set $upstream_arangodb arangodb; - proxy_pass http://$upstream_arangodb:8529; - } - } - - server { - listen 9000 default_server; - server_name _; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header Host $http_host; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - resolver 127.0.0.11 valid=30s; - set $upstream_minio minio; - proxy_pass http://$upstream_minio:9000; - } - } - - server { - listen 8082 default_server; - server_name _; - - location / { - resolver 127.0.0.11 valid=30s; - set $upstream_authelia authelia; - proxy_pass http://$upstream_authelia:8082; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Host $http_host; - proxy_set_header X-Forwarded-Uri $request_uri; - proxy_set_header X-Forwarded-Ssl on; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_cache_bypass $cookie_session; - proxy_no_cache $cookie_session; - proxy_buffers 64 256k; - } - } - - server { - listen 9003 default_server; - server_name _; - - location / { - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header Host $http_host; - - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; - - resolver 127.0.0.11 valid=30s; - set $upstream_minio minio; - proxy_pass http://$upstream_minio:9003; - } - } -} diff --git a/dev/start_dev.sh b/dev/start_dev.sh deleted file mode 100755 index da300e7..0000000 --- a/dev/start_dev.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -set -e - -export SECRET=4ef5b29539b70233dd40c02a1799d25079595565e05a193b09da2c3e60ada1cd - -export SIMPLE_AUTH_ENABLE=false -export OIDC_ENABLE=true -export OIDC_ISSUER=http://localhost:8082 -export OIDC_CLIENT_SECRET=secret - -export ARANGO_DB_HOST=http://localhost:8529 -export ARANGO_DB_PASSWORD=foobar -export S3_HOST=http://localhost:9000 -export S3_REGION=eu-central-1 -export S3_PASSWORD=minio123 - -export AUTH_BLOCK_NEW=false -export AUTH_DEFAULT_ROLES=analyst,admin - -export EXTERNAL_ADDRESS=http://localhost -export CATALYST_ADDRESS=http://host.docker.internal -export INITIAL_API_KEY=d0169af94c40981eb4452a42fae536b6caa9be3a - -go run ../cmd/catalyst-dev/*.go diff --git a/docs/screenshots/automation.png b/docs/screenshots/automation.png deleted file mode 100644 index 5c011cb68caa786959ff78c2bc7cb7bdc6e5a056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254191 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

DeioGy*liUynm5mM;;r(D#4I##W-* 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%0DmlngkZ0Xe~hb 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 diff --git a/docs/screenshots/cond_custom_1.png b/docs/screenshots/cond_custom_1.png deleted file mode 100644 index c8333374faff28ee65f35baff21a5020363a861c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203852 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�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

%9edvfic{`s&kS4pX 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


Cj6nY1uM`wPZfBB%L1QjC} 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 diff --git a/docs/screenshots/cond_custom_2.png b/docs/screenshots/cond_custom_2.png deleted file mode 100644 index dff8050609bd9133832f7f1958cb7a58f421bfb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202465 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%0A^SLt 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

t}iL7I~o@WeVvphPgFCvkN z8Cfp2=a1;uB%Dy-)zFse^id}Zo@2)obx+BtKUq(xIZm0>5aay1ztQ&%U1ILFvplwo zyuaIVzI&{?)BpR@f3~F-1H-PA12LvA?_-zxsO#?+!~<0_?}h%`cehQs&>0vIi4Z!9 z5*D^sna|H=qc_=k-xj4v0Gy)2mOS_RAF0zyeN3l7s*&ZL(OTgHZK>>O&Dpa3YL~z& z<+mP*!t#+8|7$B)42--IpkR!taSZ{vgkIy-pyiUw!BCn=pP5xF<`spP)cR}_DjBPa z)K3bF*Z~&zel)$1w@x7nRtR*;<3pZl1ay&^&=}xtHuIbj?I?#ya@Xhd)yX8d7DYuB z^hHJ9s%P`PSP;TvZaY~={1He7j_8L9kn-5R$QGZZt$1}e_2U9KwflT_l~=A!maN251gXp z=p%M4UYa2H|4n!Qdl0f6eT9`=X$z1%-3t2Z$%Z26+lzZYf{zT{4p7)+FYh5)V3r z@(`LB?o&AJdhkTL4yBn8UQcX6gG5+ zmu6YwxmeC6TkZDyb(i={=BdG7!4s?h6FgCn0t8P~a5Vv9W}(qqN~wMQ_>)!Era!M( zOCR%jS#Tn<5WvivhR@PDj$p6^w$uG4HD!)yhNx5eSo&?pS4kaQn5M5_ zS%i8!@@yhnN)t(_=>N?UMIX5DV)`B5qZC{cH5mw=&*>Do&^KezF<`U!|L0Atb?=S- zu(%ti8>4)iriq}}PCW?O{3{;u*N_;vnYW<5F@&$sPySbXTY;U<3oPW&chC_<QP)Kjk1)PKM3OT!CyGXJFZ=aX_a41_omG z4(QpHsa|P<{b$^KKx2DE1zG>q?t-lQe{hb#R$M`gZX`1S0|Y?$BXY?Y-)w-PVa4h7 zoO{9?_>6Ke<}7n%3$ig8LN`;vrb+5Z`3D4NAVHyrm8tRB!f-lUr30lW|Hn+C19bm& zT{J7~F!BD^cZ&u#3JA)qsKDJzj4eXvkY*ut&i76-eXrn?iIL z=O5j}2=lq!FirBHpH>uzWXuSt93P-D+OgsY-kDF9%Kjr)iw7ewtd-JXPW_Bb$T+v`*`~h$SZ?4!UZraYbA9pj6jFnNBoGv07B|fy~aH?tluTP;}%Yp(%o8da%-L z!_E*=LG43!!R-HW6Kv_|BqtxB%Jq=Fm+&D1ZyYW}v$@}jwdfSs6XGaXyUNuTIoGGTu(~3`B+F;u@lts*g>`}WTNn4<313eJ zR<$FDgZt2HAmhU2f45NJ6DEe{OAx-<28L;0P|H!+Vi2LLS%iv7!s=Hhuox2G7$ev# zTYe<~YH}q0^xOgyq>_l-lV^}{&iWq~kU9BC%}ay769E6%bn2)W_TC%0gag9{mUaM9 zXMZ9WiFd0+F%Ac)gB)JBWpA^;7`_>Vp)VuWL z?iVGwK$L)ne2^23%|F~r>eGjO{Be$0X z6gB}s8Rt&>;XCuA&2f50=UyLu!M8#CMI41p8DDua=}{7g^u*Gq^3v z#BxM}Xau{PcLp@YMrqsFYaD?3THSaaK8P$>Ryg*52Mop!V2f&C9GT6S_M#NK+?d`1 z6-!M9=CWFYK`1pZbA!1tay8UM>3~DYqpkZL(XoKN-tA6sV~*JS&@eFc;O0s};l z-stX>?h+KG1VuuTk`#%-qz9wBkx)cBB$Q^fbce*~l9tiWwfp||^ZQ5C*Gq=i&gMHZ>pkHv^TBkUMt|J$lhg#VB3Ijpt{gpZ7c}gx@WUms^$9k&HUXTSj>L9ZTWdR&S-Qa=SzufjvJ@pJ z`&?>ytCfiVj%7zU0icCyWT{00_>-!PUEt+Gz$opGeZKd_erKB_AY0tM28PZW&x+5x z)MR73W&pxL4q>z_seApBHL^}|lIi0n zu<)iiKda9k4#;J7ak(n4S6&Lw3-uDN&(^t)*iHi9{>hx@;p(SfHbp%o)B;Q^Lq6X1 zaQ=oPz2SNf>3Nrv_K8L+D--u-UKu0#3|&JgeQu zjlj^DVBQZG|8_~CcGYQJ?>y0}LdpJ8Xa1@DXy{ap5qe zea3*yCEWuZy0LcDg3qY^{g?X;?=~=rUj%MuEt913Up^#GyxBc@>Z<(65S3f1#?r=T0)-IXLWoxpg~Wiw1G z)iBi@&+mE72*~sgz_@eQ?Ri* zDaz*Cn1PlRCG>Vo;77&GGRt#rEA#W68r_pC;H9oLPsC!=2K3IPZ<$-QhZ}+L!q532 z8DPj6Xre1D{|wAyUn>_U7$|7pOtdJgc_6?JV&Cslqb1j-^_QnrOeET64Wz^&hP3|% z}U;;)bH@Gytq#-96;!kA*z5d7sXoJ~|OTW6Wl>Zwq^fTS5mgqJ3^%P!dR!44nsY~-A@BP>zB9HeP52!a*+g=fcZZ2tSi^6 zM}B;gJy1JY=u23hzz>-GW09`HSfME0rH7Lf z4KNq)%O0i-6F!Fj|+4^C9tdCL;<@MM(J6KU%EVwkx%``=d@Txe!6CyeJjz!)ig&Pu_7TwYHSIF z@*T{=C7}L_6k93qfl1gmx>{IF@e56ttrH^kRSY^fqE!vF-gS{IE7x4h3m8*c-LdGl z=8BO!f>srMP%uS=EEmQ^v&Im@_Mc?Y3~M|#MZ9~fltqoQep^Hr8)aucXG+w_U0kK- zOl(6wMzxwZq5vtVhZoJ2pMls=!Qls23eP;}nVP_Fi?vtx%a}<5<1bL=2{bs|=5LE| zY=hzw6y^+jx?-3q$gEyKC!wDY_?xJr7XVL*WxcL?CUv8YXC9p@5rrtU$X*dZ!P@O>|>T?8E+1BrT zZHt`Mh~h;(4lMg=D#|D0Ls(uA+Lo*ECeDoI>5Oq`FOAev)jqcCly!h{>|4T8Isg5pw8YL>oORM3cdF%eW z*0seIL#jijW>LuH;GEqapnVSlyCsf1sKr@f&h#-tOhsBn{ zP;7l!Ee%7%eA}VJM)-3*>W0W!Pf&(M=c?Z6Vck6mKJLB)idonSSivNmGtkd8zy#R2fQQz4-6DfzAH_6yFG?@g!{D{X-9whH6 z@iiO`SB0t2`j3oq-C+@&pGNrj+HPE(?=k|d6=r!xMaiNfA}@yvVi~{SZUlY^-Cm)% zNfmR?pq=Saw2HEFl)mir0-k5!ozNo%FCzkFd`|ybi{4Edl$J6PEkgVcvs$D!hMWqg zz+3RpbEw0hH9c9*M3;403DF`tJTdEe-Gj5yPGWC`zrXSwIEMgg`s!TwPW23*LwAtT z9Q^t+$ZYC`kBg#9-D`rtBueAeFS;y=2kA2*iywrpI8N| zdcpbQlt68oWsse+wEF0y*kc=F=_ST-^Af=#Tia7Nv_K$#q?fyF3U-e<^W*B$iiVLp;=NsJ^k5mB!Qref*PH z5h~Ql#fu`-!;8sgDpFN+XF*wUb4Vx>LKdQ}8A4+y?!+kBgJF~3Q)WIgGX_Rb9~r0M z+MOX*6Qn*-ZI`bQ-3%1VA_~psE&EB)+G5nmtDkMO6A;)#VxnHuRklr22z(zqbI|97 zEVA@gUN}F3xWtRU>jZePVw3az&9pO(qpiK#=iTlTH=D%K@*67v{26wZ1-bKTGTP>P8SYb-0)aPd^hm7ZnsA-Q#P4na1qBr3|03vPRkxS9HIlQFk-rkV3{uCL42F{1op=&aV@v&A>&Z^JrIlA11F+5NKr zcO-w5`esb$fk6vRzRkN@KtOStw#g3ySo4r#^qzV8z@6Eou57NpZc@NZfp*h0KrqEW zEdGjpe)OYwJ|KPgQ<mc;pNv?QEd?5r;QDtdbk&+Y3QQWYki3Dfh*HFL?I93z?!qOJ&W}luJF_=` z)n3YalO4f6pc$x6k=5EzvfR%K=TBxfTI#HaC|}t7;lEn$irGMdd|x*Q+A04A_T(z! zXEUWOtAN{09si-N9e@7qUEm3US2ic`B!FKg8TZ=o-SpShJFj2nTz5{QM9^ zGkbwrFp+j-wN-@RVHnCbjygM0mh-FBwwoVni;Bn{^-4QvcKu5^V2tkzD9xnKmzOBd z?ueqfOxRC)3BOu$e>$mKdM$w(7Jq$#^EAzY1(cr-nOw>j6RnOvaG$Um?V!@>M5m=! zgPP?3B^}O1fkadpzQvA?d6e~t0vz(P@n?3QNKcD1NCN|AEHO+2_~)Mk6GUWjos5vx z4=aSjNRJMdW^b3PXil&AK>G)yv^fo3AedqnYYqEm;B+YA#h*-sv)G=f|ER&NVlB1Iam#dh zK9vUDLq+3t&+3V6`fcw8KYX@3X%#k6nb-W_w|gJuU#C%!6e?nx=q^`LtBd8$t{i*p zfA}k9C_j8NyD!uQR9yBNNX4jhEXac_*EdGk7<@<9$k2p2@k6Y!QpO9zXd`2MYMiFY??;CF`zIS6h18~Zzd>ieDWxQ`7tqmln zT9N!GS$~#+={N7KTPQxN7$+oQd2d-N}@$)41qeQyPg z_vD_z9<+(u%woL9^bJ4x>;j01rD?1k_*1#nfD2Frgf&LD1zn1Rmr8i88T9$1`_QBS5AXw*SZYGepf)}QY1u@ zkXZyI9@D^4ib6+#tma&gpMdb;d6RG`b#u1;Xl1isDT=|nd=p)8_7)*;PN zjj-R?YAq1eSTQ$Mq3BiczdNjUH%k=RlGm}e@dFl83_AwuO3+R_<&XH9W_X?-aD z_W*ib8c&;HzAaVl-J_mX8GCGLhVicgpX%|(`M?AP-beNGB@M+BM30wGzx2j5tD%y< zEV7QGrNVP_bz_PVbe5BE3JdJNESiOBFp^zo-`j5smK8M(O%=qGkpu%p7)y6o40%r5 zvrp)r5;-HIo zW1CYBI5K{37iP+uJI@tuZ)^Fd1kN)6+WzBoh!5y|6RUN=A{#sf#^x4n&jHDoH&_s| zPu7~j0o0--PL#74`O@%hH^5w}^qp|@hIt<7!3{c-P4~Jm}`-2*{3H8`< z+1RW%1XN2utfw&LAfM2hbub}Ukj<)=7@PE3`zI=D41|)R&eP$5FKrna34LrPImjJs zZ>y(7C`sZC)Cy`3n4u-3q`xY)%0$_lyjmeU@Bn5ztk8n}lA_Cy3htrzZ~x^`z=khQ zZsGt9J#@|#wq)|ZazSvv(nniX2vGjo=!Sf?PvNd0t0sFXgUY;PZ1>MD`Y10CK>U*|2xoq8Km^l>wyV&!@$aAl)L(G zSy=NT^P=UZEi$4N&p_evvhFDPQfIQ>FPe=NpQ4EWR8R_{R6XA?gEiFi(B_4L?e=_f zzNwD(;|5HDSic6f@N4Y_NlmPM7U>OT^xiIS_LH1F>`DYo2mdj$!-~M%vN&TZx#=^_ z-s^1+3w%yAZtDH;L303HnNdnej%!9pr*^?Dh6Hefqsxl%jB+dkybqiU0S!(}OCv=- zRy{8Ja}-7B7k!J$vfPL+Z1;I7w)-4F&cvyzk+oQv6mEYhZ(;PdJ*(qrLcdfhD3k}o z0o48HR@|3la$j>xq96Pl4gZ(+wVnuiN;>5CpyeTx!(L2!7NS!59Tb7BKwkzb(0Tg< z`E%${YABy|Vb!0~a#Dm)Gy4UzgX|8q#wt$eN0kp>v~uKy?CpglC>{aPFJ3)0I{QI$ z_L)g-ikGp=@-Kl11-u`&!ftX_F-GkZ_`UqXrcC&S$8W9UDgKO@e#w6>`oBb7;1BDn zAS+!fu%WrTQwnxi@Ye1s5yLnU6G+q@qzttK%LmdZb{Wk@{u&)<`G5+=W-Ib*NAIdb zEhl@-B)^ck2vXS_M<@@P>)r`$)Ujn{0L=EfW~Y{wS7__gQASJa|9V3_;E?~Cyl=FI zkkHepM$k}t$XdOR+n%M^Pe}h43Eksw68b+2&;QRT1!pPxQ}zQ5jQF{Xq}!bhVXy5immx(l;>v#5zI}RY@PuPQO=~DPtzs-T<7X zT7emOdM50VkDF@9;TTl@T_&1ylzji5?a>}%M6MDl_rTfrOZ&TnR55q1z0AM)Ea-=m znptsA-BNWKaJ_-Lb&b37KH`7j_1W(P*Ajk6-nj?~+CVp6=wUi6*gopMAe$v}}jR z45t(%P7@(oOLbG1ZcG*lIiJttk47Zn4+Zb$@S0MPEQ=XYFFj z-B|g6DPf1K3#WXt12M=TWTl=&-j!hRj1zmBv>#h>TL!Mq%UgmLe~Si&Ba^oIZj;Lc zmb+|8{Ibkf!&6wTb@AmMx8{?J(hrFXbxtwlWE!^5r4=@i+QW%2mB<9G?o@9*;f= zr6XaGmaqq`?>1Y@z?c=hI*^rRpgrZ%8%E77N+;1;t!q#<`Qr3!t2BQs4|oCbaB4y5 zb9O;9uZ>T4iC~i@VZ|ieka1wuW*SI9D6uj^Pq*~A8T?Y@w%?~FVA#pt+FcLcd%2>w zW;BS8Z?J{6zE{z|2Lf0HO~8HrIsFI-ee9GCsnUL;uK$_wK)hJ~ZOt$Df`@dg*Vs%z zkaNvFSBoElg;A&9#6?8#s;???2xY{=i1^;(vjv+ zZG2W|&alwg!`FzK2GkTqKq9%%73jR$J3wC;YD)EozY$~cOo2h*rF`qd6DlEiN9}7w zMKv+i&8@)&t((=w(E5D#Ob-j-g#DluXo^pE!zMW<0o;EZwmrs|q3mB81EqQ`5sqU@ z)-y`LSON8I!wG7di{qP-B$ittF#1L6e!Cis&%H z`}`!T4t=)`!u4{`6v^qx(!sZKRpSH2#DKG;e+JC567dhk-4x7HUT}f)wfHpDp@0f! z|GCd`tX7*Poz2-BpTA1nw5f>(C-os-cDsb(34c_YSL5ep#`Yx|!JIF4@cjA}E;U5ZJyw$U=&OZbL@bl5KvY2A| zIN)se=*30<2IRTxQToA}TnIaf3{Qdvy#70)|2SM`Kd;L6!D1`26*+(TqSex1Ru!)# z*4TNb4+)eLd_RTtNbp6Pgj`<+RJP{g(@|$i{=O!v%)DO+UMvP82y(bDN&fu9H1LKV zCz`UlLJ>+Tcd^$zKHAjY^d20R8!5#V6E%PN`@PL}9!4C;MKAHm(yp8O&6!g^Byj60 zqj&Y9Wht z;p5#tz&o7*2Fk-SY0+_GXsU8-k^yQI%~jp>7T6ce+la-r1Icm_h&Kju$?Q0{&6SxH zX1&#UemB6FuYM^pse*aB?kn;jpn*g)g_~JZBga?Lp_b@L@Ho3zl&j`zZ0e2;Z^Kzz9;HkniQ$%PnOa+o>`|)hDIB{cZzYs_#6$ zci?&nGE!s!LM(raGWl6#_WK*EP}w#WEM7$aswb^Xq=vgIb?;sPq=SwqU`dFo=w3IR`X(@+G$o4?w-2$-D^L`A!1*8QBC3+0A^@vd%{a<*xkGod7;= zZw^LlWn+8YB@gJGk6$_kyf`@d+Sc$@R?93O~(gMpnv%p>*X7NA0-(GyWQhlejy*w?eVzBJ=kvumy6NoI*4A?5Ephf9nlhVbL9WIJ^u zpWTMmwEdaY(56fH{zVAicAp2F!oV4#tqk1O=56hp)ZrAJR zDOa4`j6iSAwQxA=yTj9X=Zh0kIQ2c$iT5Z!oGh3T_J}2)Js4=qp}mFf^A*u;<-nkuJG-oFgc z%PlD+{qEAyHwiQVzG*^X1c$RRWQPCB$5Ms#bcykrx^XXvKTohDN^&*1HD88!m7vZt zC^|t!odOj_DQc?@#{c!mNFnek6nw+r=KanreX%aO)-Y--4g6(!LP$6W4@oK5F&K&} z_iz821q!aNx9BxxD#Qrst~N{WzX~FTw*N6Y%^9%FHoOuERee#*0HSgYc|?&!w_+F4 zP<7Z{@$>7-&}@j9XE&>i?{JKnRgCjDOJM@3 zZ8F;qNOl##AL}+RV8&@c^P_`-{9q%IOj~LQOei*gmp_iURag$#jmD*yqstCR9`IN` zF(_)BP;0e~5r7r~JuIQKcaTj2z8Qjbe*4-S@koza!gBj8RG2t11W zWHr}!t}%WEeZAlJqc#>W$OI*i&mBI;TOD#$!0T#OFZUPB-60Wt&Utk+V6UXg{DPH1 zgL3(+<3)Sq5pw=UN7D!3-&SFW?Dq^zg7w{}IXA{1{6Q|p_?!?S(ToInewYS%5_dd8w2LEY7fbc9In?SuRiMJZc!oC$aS z`rfPF;*!S`?bJ9!@d8xlcjk(`6fdGL8loFErP=V}9ll~~D@D^+d#G-JjX{s!k~;UT znMl;dFyCM=xL7NE({A&H6BvOo{(q5BF?2IBo>?r8L#`3C-o|r!Unw89B1OWRAQvMR zPmTiytHmGdcH&`qLEChTRpZ&6;Mt5c1 zEiT4;toUI}s*8EJ@cKh7m*HtZ{F=$ydTy)M`~zWWnx=ia`W-Rzomv^|Pr<>nRw?fD zWAhJg|5*EQ@p%+h?0goT$flD)Gx`xP z-OJgRyY}>0xj1aIWtoz+>(-iyK#GCs8ZABjQc!g2% zEc-s2j7_&3o}%B0v-XIJ&(*Xrl2zZ(Vwx!I@FrPpyn1FzKlf}?faC4+e?S@Jx4;~w z>18T0ya+IkLE2;@mmes5Ac*t?3Y9XteNd@%(P~ir)m3h~sJWbw&F_O-5CV@=9Q8>M zC!Rvp-k9DJ$$_(vK7)vZ1rTg_F$vmTv{9$>WquNta=?)rh^RjYs~b#%$+V8DAP=L} zERa@gZ6uBIHz2k@m0H~&gG3K)kbAOh{c=l;A#yH78L=wvXEpFtXDr zc7Z5E8YibzpoZQJjVyx=ATAJFie8C(>*$L%*$kAAda=To{fgok0bj3{*j+R4Y?_TV zpfr<5rQFVpa6nuy4v0eK+4uYr#BhRhk)<5v?V)Vnf_pNE)Y7KK=DcB=S zvSbBT$DcNP9%f~v%~p|rrG7@BbJ>1YO23ADG{viL=)6sTc!aR>4%sU8=AY;j z4-%F0bYl5z*U9@M!BKiYBh81}m@DzY-)@1jJ2+s97!qilkTiOM4x!s|q-3Am-qIRXY_I*ZzfR1iZph&ge z)c8jEuXx@(x-ts*NQaW?m4Q90gB{QINCRwNHbj5vl69Y7McOU@fS1bh;)as^yGar$ zyqWtz*1A5V{2*c{?c|qPiqfCH7wr`*6G8i=Q*l{xP@XXOs6p5Xq==!0M=(Fpsw?sV z%3ESrUE;&7!iLi8t81L)#H*RHwEdKP^s$LupMZG3Cj;CR6F^tY$!@B|0 z+UkCu1xnc4WaFx5OU@X{LOd1*XG5J6gnXZzcF@BeIMX}-rW$<=13q(@M+gdFOsfoC z0VGl!#a{tmLLfG)lMZ%NSZHjI0?Jvi`G$rv*jx_UPi8@AENsw#8uNm;r;`eiTML%kDN&^_&>{@;pl>X*NIqo^>xDcWyL9 zrzogdSPtr01@W8ILk@->4N+;0Nm#;UQ2!gS z=J+dMjbdT&$xCm_IkroJl#OR+>9Bt#2|u~#V${DEAWODuSp*ZFjL|42tKpYE1dgDc zONY1X#4F$cg7W;v3`LS8F_QheBHF9d@jia%nEdZ8TKF74dVKggwER7ZE(0(|(alE3 zxpv{pf*ItNpO`25B zb0JCkljFh?%@Dj|pXC_yh0kd$HIN7PjJkd@BJ_$?o48q|wG@X3*b>|amHJSlLj6+~<0>u#w{NjYe!EFluo-Xg# z3BOu{vze4U!D->E@eB3zvSSi)je8$>X;vyKj*r*rA0uRS$(e`|^=GvS| zVZaKks$WIv3YaOjo-ng_x42`TwZ}W&w^V1oWuC@cI9{J`D!vPm!!LTRSkLOEJDR_0 zt%ZLe|GDLH>i~swonfrq$OW|=;BwH5;Whc-xvb5%lGOw&s{6A(lsnQR5_pf?_})e{ z-pp_4*v{l0IpKx1?>G8F0N4JvZ`-r7tVQ>%2cG`vG|Htp02N{(yw3vc1Y*^QBb3UQ z`%fOyO{0ExmtN$27fPm?A|mkwpQ*oCYq3Fsgl=wgK)tH&=l45wXG3W(Zazc_iXp|M z(2u}39-B^IqO>V2yAx|7JJc(RfJTv(4kDR)S^^31ToRE1;Rz*i>j zDmuLp+fX=Nts0r%C?BhHIOVXfv-b#vb32$^qSh-48b#;Fqa&=pVCcH#i=~iIi+bkO3Uxie@hHz{3x$sKkRd-&0c$YX>cZEGlJ7 z*+B-t{ss+NNFq^C21Q!h(2iHQj5)1c?Q_}mCx`5el!?0Uaya0c%O&BK_fZe3 zJoWb z_NjY!4r@IdD`b3>{}eDo6Q%Zp7K8>_3dkNNRTdg%52_wq*cz%{*y4rDd(EmfZQ4`?xBbJGeq)9V5}xsp#&vnBy4wec zt_JrbPxq zx3hZw!`QqpW-oFtjq|=03N1F9FCp(YvVm6q+@a!z1yLJ z0|}#<;DS~|-D#4dK#;32vNXU9L%r z->P%LA@(F~U+6maVSg!2??COveZwmkh9i(yyGEFh-_uqRYO{5%qzB~DDD9_9nmGhR zhA?}pQjG=VzfhbjAF(7(43@;{wI@F^@ij_Z-u!&NAHx0I~YuZC&wK1pr1 zYSK*mTXGC(s{|lEqu|TT^gdIMmZC^(c;uwew(r^9(T}Sr8R^SK-gm^l@!zymA5vLq z5mAlE!ddkpM+*8Bd@(!9~t7o7n=6t=jj1ZFw%zoA3`P|ysdLnt!=Xv7}i$^N`SN-rf6 zP9w^-2kZLHHrDCUY_h;+Zy1!+Yz@ZfHU?43EICn6-vM>*DDCx{18e5bsH~ty&UkTb@(_hCb5DzE9PG_lQVHhDxhsOd*8zcGnB#>=QY~%ET-!>NFGmdSh#3InGqtwVx{sDc46eBEnFMAOR_|J076 zspV&6h;stRe}=BMol=)Qf!Ik<#``(Ra0VGEt3uym#4|GrUxS=IXeO?sMvoCNgkqzg z4X!@hquKsKc7%RZp)eqE>jj&P&sChfUi-wJevyms+42PJpniRnJ<%esx!eqdn|ed% z$eBqnC-h}oGKkrWAe5ux6VM$sY)4-4iEk~*N9~}q>_4-AZn}6n()%cU6EmCO^YqGRymSolVf^M^%+KQ#}7nS*IPXzHIG|W2agIWZZ|S z{70i-1OXc#ln>=6J(iF`^XiQWwK_HT%U9$h)f~Og2L6_CA;dsTt9TV(j{I=U@EZQ- zH_)t*BTaQ(0~O-*m+-?G_74MvY2u}SFdz%yV54eBs5U5!QU`Q=Nv3{8Av(kpA+BJF zzBRg){zYO5yoUG^4&}J5psJ$sl&ueb*<^O?DfUimO++UB_sFmM-DlqlH;dnY*_Hg| zy=!ggb9}k}IdlS-xJXxOBX1G#UZ17c(u#My&c5a&x-npJm^Icd*LRI-C1S6r&vIUc zdePm2Y(~rbu;}iU=`Zt#i{S}~&ZEef8!cU-2bE-MKT$Mk4`a<7q^%6;f-#ZF3L%;r9rE3VvV;u z%eoH%j57S-s4>D#bSs5Q0hC*GbxeW-Dk{_e9GX_HzTHk}eCs8jGQD>-dZV|S#AbBY zA-p|HhBn86=W5y_@h(n~JmeARuPw7s=4PW{$0sfhj$wMj3LO_UN!=}DN;RfT?A|uHz@V}d>QYHWR{fVIHEYCtooxD*!g zYmwwVwL7qGU-$NZ#imfE43O185(*O7J>CZ-x8St{KEH)$&&F%sDz}K~NFvhT*DukV zFyytsia^-yi#NFZNamb&@h;M+;G0WIam(57G+{$(2Ow4!pw_st3)GYI=3k8&n*Cax z^Z&VT@#)@vjcxtZ>$Gp4%f8YRn_fTL5>3uB+@}jv%2g7wFo4PM)CyUmP&?)F-Kskl zOVF`%nDH=Qoo|)-?Hm=Ht*-?)oZz?uv}sZP-y=_IWTxhUiT~R-d9(A@KxFAf0nDPG z%35mv>mPG#K%fw>(Y#I>fB|5ZiNU^O5U;IP6_Znbr-d3C$*P0Wke)gx$T z45_T*Ug}=#UNTSYqCj9VK(2JknjGAxV25cG2RhnRYGoBmoK1I-Tic5@2nJEd@tcP6 z#nu*Qb-x-!DS~o)S@cHIm^LoIQCbeM8=rNclGIFY-ZigeJE&PW*8BUN|7!s>e-Ca3 zpnYSFM+~0JF>L_=M`dyT`f{GO&I14w&Z&Rm@5=)G@Bn3q(CjKEZ%t;`GvY=)u;{Z) zhXL;2)nZv23GEyJ%p^^E;kB_B`M%y#s9K1an?oJx&6UJsEQDpxMS#CI4O6+H2EQ`v z1usLyK*V}hzGuMRbUAaGDu-zyeYP3RTv&vqBQoH6Ba^3%IAJ;_*l zEO)-E4Tf&;`m2TRumgezb(|8~lhQC8NV ze+RuA$U);eh{U9bA9w&WEKz$hGk88oM(82&a}t`m|D54>XtBFb zHT(I=((VU|Oy`dKeO9jyc=>g*9N$e}x|_pIu1OirCp$?Hxj7G$;7V8HuyIJr>O;G< zYaT0K*xSUwNtMt+^Divi!PDls(`)W&RA z*3ACvU62a-K>2{>=OT|m3atFSV=n(`7kK#fr(&u?x2}*ecJ~+{QU@~vS}q@0t;Iya ztW0k8PWFsk*msJH-r`M$=8a7A3!JV4jrJIa>ob9fI>QtG{=5XikIdQ|Dl{ zCr<_l%k4zjl^MzU8fv&xcURFzl7`zPm@S2OC@!ZX6dc~U95GTFmD~5nLuZ4WUf+tzpgy`!T27}Q@v_4pi}-vpIJrWD!NFf0 z8WY+nW*J&ne{mr+UvB(gSMz(shlD~vlXJ(6*EEh*vqDX|xpbT(n8ZLcUl9q-(Mng1 zU}kM@sJae{&Xm*)uM=i!2ok^%=0zk@+p9Oxgbv0=w>*FU>s#@*v5XQ^%p-qOh+hfr zW8o6gUa;7=F?l>qKIN;BrOg6;Wvj8-wYc=e>G^<78dpW`oHvC$7GXbcKTz&7Dp7)2 z2^YqVoSrrL*(uO5pM`3PGyX0&{9zz*bc!m!Oe%WQn1&qj|K)G?`if7cWEGL1SE>Y+mS zzsa(Pj&fSMTI4^pD9w=A9{H>*=X}b+_Ao#2>P_Nf#4(WhPgC3j}L}7&JsW%*S;; z^x}CD-?R%I0l`Sk!%;3qMLQCmXx8cK{#3Ot8X@VdGPB1iq$hKXf~qd>=>$WWj;~Y^ z=V7ZRFVa!Ze@)MqCE1&NJ5VoDjP<2-na;n@(~7+A%w5o_B^X{MojQzjN__kaWMMys zdALh4GrFh^({QQEvy{7ja}*IewU+-x9X7RKw*UArw6vNWM~XmTGnM7howd|E);EO{ zUv5TAIZqCjBX=h4DFiem5${t`%k#qXn05oX>iZ+?n{@{@EnanGH#_Mc@Xe-Gi0@6* zuZp(e%kKHn60h3$02?bqygsE``1uWE3iPS5`uM-7$oCeb|dQiV7^qbPsm7#o+WqS zzFxfB?{_Sq2zL_EeIMKcB{rWSwLj6E{;+aND!)qBcqX^52yy~R$2t?6 zyW)ly8!+zSEZ}XR5>y>Le16B%-E775y3wm?!5{M=WvMF(6S4Z6UWdoX*#kVAL&)HzwasevdrT1Tb$R=t z!sPX)7=2Qd#HoJ2gq+mjAJrMh^YzQD^VzlP5^)8`9@y&Hg1J=`Yz}pNGUF&Wri|JP zo_ECW{x~^z$J=xrAxA{(nZz!!s@5mn3_sDB1=hY7wCM( z{_*s+#fT&OKJ&Q9nwVs?+xu!(r?5%g@4F*+tkFL8bTnOHOp?J zvIRtpGhv=5o*_qPbiz&P!M2}<8q!I8_wVmi4#@jzvZ6z1fT!hwLGNgl!eil*K`HIZtK2uNvvU^;uR z@e-TJCn5D33}BmI#L{UOn{i3gFJ_XtYnrwIV)@u=Sh5M`ky^Am_m83Sl}bMK#)$}5 z0<(?NDE^2uj5bE|-oR0kPeHx2g2PkM4E~sl(S78O=|!(m7JOSQGhX6=0uHNg46M-o z`68)4R2+iL^`TI>rLL!NKc8iarCCB1^Geay7ySmA;5%JT#eX`iLn7Ao68+^@afa`9 z`?vvyDV}pzdi`U7*dIoi(p^XOtGJSIkGM+u)dF3g&7xwexvqKzucbd(!;cqbYwHW7 zfdsVuj085bS^czne9|2qDB*}kOd}4?3>{Cscw`898-~7dA>j@QAQewz&l=HG3nm*1R6 zAEiUMzd@!3JUWD@Z{Ea`il_PW=U7(uvNvjN)I5M;2cu20>>`0~a?r{3Wz%(yPc243 z5{NNQm)g#~3?=1vm^i9|pV#c1WqeSB1IcYikDe!)!`nsnjlgrfol)yv)YW4K3`I#Gk0v!Px{pd1dmF+wXUN7A-$159Te~fb!&{Paurt1wZyV(>_9|ttd%>XB zFWh9=$++i9$KM;z9XIE7HlGm8mxGNkEjM*qoZgjTHVvD;o6hE2o|7!&`{2Rf9q>O* z-#GoWJ74qM)$^X!(a7=c)$d&rtf*vtDIwrc$>noRS{b{&8|=Za3!7kRq>7p^xa8VX zvsCy!+f`%`tpejXt5VaibR}geY2*8YA^w4}&0nzE9^FQW%^Zz<-rZSW$$7#~@|M!% zo2=j*-o|Fo!Da&?B9qr}fA|+(YUO_jNcZS=P$46^AB3$=pkQ!*KsAr&g(lD?3eE*@ta`QjEH zEw`wuyj9Q7StieejCm%u0~m*t$z>>zrA?vY?&yGV8NsOdFicdZJVOC92~`y`celU!uv5-gUG9@eu-Gg zd7Yd&xQ`A0uGeS5bpqjw&+qT@qC|Dq()mB{`j0I8%Fe88P;vFcBrncY?<{UhMm56! zSj_h1s@&Omr}BE$q5^}Ex?uN_lD-uc%2&@C7#We1CFnygx3kCStanD;5yxn4sZ`}% z!isO6HrqXr=nJj9?i?UN323k^q!Sc`S`BTem1Zovyg8ic$BR+@vr#F?=Saxt#T_+W zH)x7y<~#}B*PB#!EV8i+#7zjLcd znc3smDl6pJlo7I$J0p8%&m=RlPBz)A5M>{GZwJ{cD|C>(j(KqKd!D-I`}6(%RsP|e z*SxOBgy}Q*?Q_~y_A+)Ag);`shJ*;Q;1*pF?{gM;;>DgMaah{+dmcXDb_AdTjV z%^X*i!au>cjA4IJocIU3YH=Y2M{Lg;OIj$*cb9rOK`H=6+_nm=a%q^XJXXBwAw8$$ zIPdMZ+@Gzjr$o4>=Q7jjABb76I_(v{=g9L-5M@g0l$qxjPq@49!rbDZH1jw5y zh2rxZhKPfXe!BLdty9yNN$NJe^$M-gj?DNu?24IvK@v?j-B9!?AOi}nE+5YqWlkBu z+MghGztHx4@w12QZ^$y0GAZbkl&dVBPAO>!E4O}ac^nWDW)(W>px#z1((#qoQi^c~ zYYr1bI11%#X%F{FFw)2544Hw{n3%uPZ9&Z72f zS=7tOP0_;xSC4~E z-}Z9U{BwwY!C@?T0RvnV7doFXNMDJny6$VNG3-n^ilYrYj3poBaW8Kics)TZap8R7 zfCEIa>#Mt_9GQ$4^ihW8M*o+&PJv={nJ)3F7Sap#5;Akbt`yH@l^@s@+h(Ol_GJDp zrLJQ1{iExR09tUkS}OdhL-CnFQ%-qLMXM#}N)x81sa!kcCeGW@o!~y&*`1)TRd)O4 zyq-FHu?r30UFC>I1`j-AdpF(?uld`Iz^!<@=9YE&^$N@D21m7rFI|9<>vUrz#CuzJ^B>d@3m#SkH}}r}*6$zs2}R4+ z?#H0@fn{xnLeMyWGc?EP5Jr9;Cs#4ip_PX5Iz61QbLt2w!H>*bm|I6%G9XeOfNQ6h zX5&f@$GcFY)?ik5TehtP`BjZl`nU{jlYP;%6@eTGt&_lPRrvZ|^t!}CWupqk+Rd*% zY+a8G7#@l(>D<(b)6f=Bm+foe)ubm$@gb_Qi@7Va62&GDi!HdmBy4j&zcL-n5VM-i zcXXXO7gMN7%4yNX&JR_oZ+E&#H-$&D9+^DjbKR&IYqC{}8@cwpGQP5TA+$+l3C38P z5S19Z%+0M+ntd?S1PfuR+hGB#;$f6rz|`Bkn!T6XSzfkuPwg)n#>Ua>v;;iPJ1+BF zToRT~Ho~g17edJC8&`gEuLjxXJ+{K~si3Kz7&fJ; zHM8P;x4&Kve`0>H=3Z5J$C4C5niL(}kD)cb>Au-eU6j!hw19PlcH?tyk>TvCWUM`3FB(>2Zbl+I!#0MwMI>1_brzU zG0Sw82w@Xd@7o0bLel|qAc5dFb+d@2))=|7SUrw`50o%y~vrA9o|iWsiPnoq)>+)3K0@&>K!Y zas7CPc~&?LS2gF_g+^f=b?!P>Ia#c>;f!H)lB*wY7p z|N6hayiwbO=9*hs-|r%MBr>`KEtDJB(F4g{88vfe1e~o21k$7=HCClvN$G{6oROw3 z(l|1b;czCHsdB{ZKsCV)rZGzg@>u%S&UUlneptS#i{|+`k%?`EISAK+U{~3S&Znu4 zt@xXKRQ^0)Zx`fyKOp~`Q2CQrxrIw{{ZgbOZAYko(=Bg^JpNp(WpbM~8D{weJ{W6t z-WKVNj&>7P8>so_{9L(SQmP3($l<%xW?s_P3QzlI+FBc420zD!Z1$-O*^yWXOF2c3#iPo~b=N2k&)VBJ7CH;iR>M`!&gs zjlFT~?~nBNfx7X#-`35q9rIH8Jxv&<)|%E9i!-NI15Y+*ig|M9aWV-%{(d#Fg^dw; zoQhRxs!od$>J*AfrjIZt9+;%}0(=$r$;spRogQXFPvX_!8-{!0fGJ499XiJ@T1e1? zLJJ+$&_46u1$kQ*6J}(g^#m*+;m+HWORh@F%NR%N-Cw8b&*NqkO|qhD+#%)!W;u2BiBs(}d8cReF^P$N3phvH4Y^ zgw0G4`j2fVZ&61QiSehEXDFDAyrK&cbt)&bv8|N)ZRX3;a@`bZW(ZeKs?W)4KK)BR z9CzU}EQ^y5mU@OZ5J@Lqe>$^mKTv+J7<&kRpT__ngZr%2+ZP}du1`!-VkatC+{}Hz zb5@`*eJo)Q*hn)z=Bxhav2&lPB%QHj0%Q4MH#i}%Oc2dCVsM?=j>#%jA$31m-rGzy zrDU9AY90~9<1@t+xIylgl*-3<(Dq(N)6;utWO;k~m7Cepy&zo)IE_$Q?yCcwLY7(8 zSh;g%tPhFC*sIURKwu)%6W9VRp4S|lflx$atZ%NU?+c;i5?>_sTJ&ws&}WmB|6;!$ z<8eW8W;U(S%IthAHz)Qn){XX@bnp-E5j)==6{ed3`;(5Cl z1-d7Cx_Kx^r`ZxV3wXY02S};+7#9p=2%{8z@99zXOPr(Ha?KUHfdwgoekT-uKZ(sbe1oF9;|j_P z2*Fws9E6QH0p_o7cd=1sZ`y+GJ*THtO+12@bZ2+tkuCs$bL6q|h328gPGN)K$1qKe6s38u2D!46vq z66Ae2nQPbiA~NqAmOSKe`#+C>uXl0KkE#_yo}q~d&GaA%Lz<4P`B4ZK>JdscDbz6K zRU!WPRIB_S?>S63;YvJiCM9f0vwhYV>#W-AVZ33hC(TapU5rnziNRJ*`Q4_eXg%ho z@jZR0$s%v04KHuob$+m@$~!(T=9>fuu3;@Ne=0ApGj891Q2*7BIJ>92KbxFl66(#+ zAUkhDIZ9bjXw8qgK<_cCb$8yf(Au`SeKKNE@N#c0cD+`-;lQBCWxp~in**S^Ml znth%1E65`){h>SSC#y+Lzf}fuQ-v;oVbS&HvV^Q%FQP4^GA7J5 zcxH;fo?p$}lzzNkNP;%(tMvy?iRn*+~+y(oH zHoJXO0VwU&%ykjs({%a3Tf;s1kgay1Gq?z9VQ#toV@z9p?(y8GT6L=Z%nTzYC&cQ$ zfN^YQXksd<@5%o04qH+|V+^cRFg{kha|yR(VhGj|WLLbrEuFyk4$k*zmv^1Jc^zbu z9aL60Uy|nbz{`Jev9ES&%An+|ZSyZ#J#V zAL|O1-2c#q#bh7Zjz+q-v(OBMs?Po(QCMJ#^uqG*Zjd{}Ha&&pT~Zf&QW@?05Xx0< z9O{5y3*q;8*nP>SC6;J}sY{RSr=nV*m!P1zRAn7L&nAA=!RiZ~(3g*b-aac$lCVux zWu@(diHw6@OHbx_XJ^#tj$k89FwM~Lyf=41DWOptHbfeB2BUg>@||vYK$gFo7$JE} zmsIymuUa%#nPK5}k~R_PlTT`-8g!DdI43BKT(>snHg4sVb$*NH06EE##G$_}bI3?3 z=x!u(@YzeD<-760^ZV}*;h*qrHs9gM5i4_Aj~MdMt*TC6Pq!}}P2@3Yo>0*l!5Gt^ zJWvDqYdCJ^zUl`KT4iV&d-OiFuJXO5lLu~m%NjKVemBVdR=3~UphZ#9J8XgmnS|qf zs=3AOP}zQ}lmZ6C!*E}=97+5O^A@jp|DyjP^ z8_%OZRV2y!M5?wU$ei2vv;Ia;Attc-O62_`Dk4MoHkVSid*4{SE(fn(zCeykeaWiA zzxbdLBO`tWT8(4jUMN+2)9#Gqh+YtSzUiH!UIw`MfVa!=ZeHmhDvommsu+VV zPKqyRX7_W1ZeV-KrdvcHfXBab5$y&p1VR2waG-m+aCCg^-{z4@xbFD=2p|eJtcI7d z&pzyD@FlsmTYY}MX}uKK>=D!q9)y9tQla7}VvH^gjIN~o_j1%qhN9#a_E9Qx)lit> z;U+tKN{N#l8>>biFFavp1$yTpGPY5BwNvQ$1k?2ibJikiT4kof^j#-X_2~=Y$Yq&Y zts(EX3@ylaqk?Qe($Lv+F6;{k1@vRg!6bXoGbZHYsSOh`$_p|n zkqM#YuZgcnxGqs2#y-lha$r&Sw|Me-(!7GNc4D1Yt4!UbSo8IB@yf36^ zvm%mFJ|kuQqBgen?#@+pGj_tqi?QQ11bYPvNB5u6%P!Fsl|kFT>O^upppgPc{{{g2 zdUxWAz0B>hi|GFQ$!Upku$^(IgzKjT^H$e;VnL#B-3`wx$LN`Hi7;Pbifp0}GJ{bH zXQOBhM8zsO-KQh!I2J%Q9FfE@`8qy)-l>vLTsgDN~yRZ zW#92rWxc{i-I+m*l+#Jgq1%{28=ml`7k26X zC*`>kc8*W-RU*2FOw+piNdrV=BgnRlb`!_ z2qxzUze$n4|6a1-2g?k1XOc5Rye*Z#vH;pQ_C{{AHtx=2dF2mUxdE@C3+htQxNnWO zyA+yNV)RPTI(*6*^!P($v7c6luj)z_bigty3+?@PBBW^(`o~s%yUL>E2-j${nPX#nlqd%q2 zt9CCtfNnTDS;U+59U+8NK>4zImPd>fYO+Hu?RbYwX=ZubWiH_UHJSw~3u(j& zK&#H8B+jC0(8u%{JvF92$UX)ht>n6=z^f%gkitj6kS| zL*#X*Ya5_4M@l^*)DByFZ!lQgdXhL>j{;*JFfG_R@@(zg)gc`bS!f z*=pxkGkzxgW9oHY{>rS{@Q)S?tz>WLNjQ$g*)uROrG&(qE_K06V|49YHJ2H`{|1qL z^6PE>uSJ#OcfTa=0_5#A1^3WohKp`tdi=<>P8q1DuiLe{oAtTN_TIftpHS?TLr1J} zJbSCAU~@sFu--ojo3|xRdK^RDV|L8?9_oo2wN<`zj_M9PfKRd!dMZ_SQ(o+Av0YFV zW&b5J{MQO982bA6mk(R?!E9Dwd%jbdo~5!^jPE#tOBzjpf0L0?wK(nljU+g)j;m?e z@vho+7~BHdm606j<_u@DuAS)Qs6<&>h7~BBo5vqK`=9F-`2jJC%gZMmA97lA&$(INwYDvlyE+u+Y(lE zW4|!)c9sy9N^!$;;*q#MUbjEztiLsh*qhAecfXw^u!a-F&0!SXjn`S-!E~+gEYV_( zSm^9Ev6SrN``P_ew5I#0NCWQp7{!v+?nS+0Q_iitMaayfzt{PHmTB!WJlEir05R?> z7draq=KZYW#9QO<%0vYo;-zFWd0nqy!O1BmG#=eLs4Qc*V&}`F@mn;KSnc^@R4kBm(+5#{ zjoLFm`W4jFWfVSl+miI+W%oZuI>jZte2@pbM(@r#I=?zsW-!;O?NVjJG2`LajQok3&UMhC>DpTY+0$;;4 zK9R|ask)MgQku<2qdAzoe;b0To8I22@N8aDXdbF$i!XR|Zl3=Cyq;;Kjh1d|4q-1m z>vNDQ7+!s_6WGh->MfSdZ5tPf+OHrd)wNroo=!A*H^CI#u<5Gm)@9Z8QS=zGbZyyE z_urziKQF#!8oBSj=edP7+(46-h7nF6O{b6)YUwlLRSbe7qFqjiR~6~z!dN^p;bro~ zwEhC#ZjYQx*7x?h-FG{J(@OJ><;VY@7YH3rRW1435!P?)7+K(jy?jV>tV6?Bl4xa8!rht8 zKvLk73Yk=j1%2|iqTac=5BI}KvhOu|N3?G*n57ybD)xd$c>W9L|GZy}!kGutTHkJK zUvE=$q{J)*CAqniHInhXxk^2ty^j$@R?hF1dwK@V*L+2FJ$0RyQ?g6|9*7Ezi9>17hMt8EAyn97W=O+&eo-$SB#}s>A z^E;sTi})TiP@UcJU5YaWGM5~AVSc_jAdoL$Exj`JT{+{1cULB#>_B!1AL*0ZuinDn zrQ?G}Y!S-k>m zWM#OlJ;<+ai}cygGVY{*Nw@N!w^Aa(r8zz?EuiUL-5D$Psi@cnIG3_=({Y~z)cF-i z!@Z$-M+lTfAh93Q5qLF-e3~2k?Cb@wTV5L$Ld2Fev|+_2Eo&bjO&~?>=+GPY0T31W zPR(Nrx66DM58IBgXa>bz(aVPQk{+JA>%bkex>Hf?UD$^#1MzGnAg=E^twTL(XJ*^y zWy#6yLo9CgA!FIB6#!%QlX%}bk<7w3BFN6){7yaIXj3O zNGsD!)Sm*nVjOeDWbqq7IiYwztowfD1ehHBDAH-@-SFkGNJ zbH!}ShaR?Vf?^(Htn)-}e#>iFtSV0Wq_AqXwonwr+aJ+`WTMC=&rY#fcp>w%7vDfX z_mp>xS1Rg$nD3fKhV|8*Z$EfmT8YZ;1KIR}BdUY4YWfwi{tqm6%97mo$>5sbW$ET5 z7MGcqv@=+l+8k@_1q4H(Yr(MK2QV<7k1a|&H2xQZfmerUiK>Po`zCA&Y+WU;nm~L- zq;IbN7$bT)pK?9{2+nPn`6u1ciLUd51EgOJgz>1ZDk{Aur)wJPq*%9FX% z*&};h{ldp5$W+KKP?dAt!yzn4<>}@t%vg8qnJC)ySh~0P^Q`+yo(GTg&4=L`@Lqox z1;ve&Ihk^0^1_(5MV7F^$B0lGEHJN_PWMM90nbaTVyM2xCGLBXaxP?9lX6zN5-^`X z*v}7jxqM*5IJ~0O?sEz|C42Xu$-x8H%kch`N9)RIK;zRkFA&3Cpp@!XsxYmVJ!k(tA5Spcj7& zNrC!(Ol>rY53WokK7tg4eWOF^C25=M{zZ){JQBIdyzDK#WBL z*5=fXlPgo+_V;oeYWR&Yq$r70Vx1+w?z60y1FZAFQ|jV8mF;<(K2IY*>cQtVT~VAF zQ}LaY9XeTJUVI_2Ga7re_@a-Az98Hk+M32WrW8nL-(^PfsYX>eUsbkNS6k>%I zJQiFo)`$qa`?-JHrcC62OC(V5OfPgl0r5682cER1D9eGM=d__sm5DYg&aWc^X1!c^ z-}q>*=Z#FGmSNKQ~3d!hNF!a-&OX66?Ime~2$f?Y;*YE2(TuFIB0qH^~M+0=h6imGg)rk~#Mkv7PDXRrK)f=>6C?l6)p* zQwO`1A5_WO8V!#mi=g}e@V67+iAzpa?$Sge6Dh8K1CN(EYHan->W8mF_OzeJ+G{Wi zi;Z$eTs{DQeU3Z4$Fvz%8b0Rshc{;wAH+AS1C$mwRw*8N+&W^!U_|vN<{Rd z7(UK$*aL?$Nl#Izs;Nqb)R`Ee=*s&(dXa{S`9_6#t;TfiqW=2S5I4}iRID1Z`zHX1 zomvm5E^)ploYRShH zub|J9QQ{nN8*%P?i(#Nj9CcmOq{2sB;&=-F3a#DxQJOINUbb_QXlf6Y|K~`dzVDqGSi`uQY$-GOy6pjT!&+%06~-ut*jL$&z_%iMpQ6*Jze}7{-`ENm z8H{$!aioPJC9S=7{>2Hkv(6YR+#B z6H&}or3QkLPr#qjSDaA~MLKXft&+z^NaBu&X>W|$qB)9uc=ur>QilY0IClx=^zdDX z7Nv{s_s8YB{xj+Q(ys)CG<)Ti6)BC2x;XG{1*9EL81QpkW;~J2D0@w?A7`DXmYl+swbRUqpMF@19*j^0VffV()>*S4r}!Y8@#Q$D1S`QLx-&+i`4+)JUEaPuFGtb0DGQ95%ZhXDTn zi;%U$<|g!@$6r?raDianWvE6wXQ)GS5Eq2UQt8i)vm+F2_1sO&!npZAWq9#GC0(aB z-p#7{$n{<(Yr18|xt1q+wRFo*uS81z-%6wRd9aG}QDF|VgKCO=Ik z{()JDC0I8tQ=&VpY5Ai7ov$T$u~LhkPqhE2`_%xWIClM?G3YOCL<>;xtXzGmqkLXg zdfYbc5drOMVy7}c=6{>+6of~U)hQ~oHp<%j6o<3{n#LTQ+ysTh6y~mWYRu~9HSQM@;^47$-D0|_$uVxg?GW)rnR@u+xC|qDQB?hNc;|O#0b*#uG_El2IW;KI} zviSI_KLHQb7U*QF@VVH{f}DMlu=%pbu^fx7Z^R}rJI7ioy!!fXvk6SYr(Q*z1xdcPXfmK;c^8oCNpFNvu^LU?_x#=klzn%4RHA&3RqZz@`yc^; zo8qGeLyHr`BuUh+qh|J=hlNBR@89o`gnE%B%((iv5wPcig~t)}>nYFcm~WVaUcI%t zHdo)T-3mt!2pA$Cm!Hsi==}=|3-rnPmS3Q@eg_s2J3G@(uIHXe>4Kxr+CVH z8NI(XF)`VpiTZDPTYEhWoA^jLfPaMFvcRFan|Cl-cH`)g7iuL|$|<}P%D2BD1a)A2 zRVdKN$|sY#^&&|Y=Mk4t@p3FbbehT&YQhFhs}zk19Ry!}k~Jt5wYoRL#^8iDn(!ZeXLc zg|HKa%}+kP4J)Gfx|DFW<;!LZVpX8T8swIa&jtiQmr*|e>FvOIf?Zjs^HxXF56hup z#CvMucE_cCiP7s*wq<=Z)b^?Zyh}Z9dwoLNV`KlTUem<$OPUFGC*mPJf3pw}Ftl*T zl@;@8naB13MZ2&;#);v`=6AEsRP|}}7F#fpod}R0LT$gm2oNpAK5Ye5p77%Qig48E z6pn>IzCv-K*>Jp0A>r_WDQtU8uNP+k zyKU9J1{Rb}$Fqa+UktE_EOEy9el8J_*Z1FpfqPx%cm7v{53W{>$#TAB^6dH$C%+3! z*g5o6`}u}vc_a;%66-qH_Q`u#VM-gP0qQL>J64sZsCF$6>-eU%wL43jJ5ED>%8H<= zob^~oV)h0g5mM)9>?GXPv-X0kFHy0c)PKrSMHw=LC(}!lFIzGa{q@CsD6dpYH9*&3J3`7 zDQWQ~ejwL$G!n4`8w|cs-mCO6cbbw)y|eg-_;E*0=$Weop&;!GGSvn=Vrfc?sdZds zq$L-Z@F9DIaI)E-ptGqw+R9RuI#eQMmEg;_Q50F{2eED`s8S9|$>n>~QX~a)=Z96B zjjFOlR^phQwqSq&y~0{_rn;DM6iYKLr`HWJ9fsv&oj=_lK&vCh6xFrD*GV_h^ID!xAYiESrR=bO?Tl~{!~Y{Vs3 zeMUF|WwrIt(jL{5I%+~}YU^Qm!p@|>YRQjJBmaWE`QcsBO=2n7{%Indb}Sb5d}P@_ zR^W)AW_xcvR?l|cQgwGPjaO<8C=!T;WuqrZ-`=%ISqAXJSXUMwr!R0kmM+N_Q1Jk* zbhKDNUyHCN5la_)3U}p1CP^>$8jYQR!*_$9lOFLhJ8H53j|oI*S7DnG!kNj*5|Uf^ zsSA!)$T}9GS|NN{EyEHyUvqV|-u6Sq?n*K}k8DBLGyMONOW(rPymD#IPrgM1&nJ@+ zW<5OaPOR(oFfH!B9xQ+tDFw&BFyW1#a`$R&8bxSC_OZJn4XtCai2U)`(pOe9E^oxO zRgRAXw;zO&)Y@u<8?H^{O_s&+-j^FN5JPn?nGwErE+K@ojeRlUNsbuEG41wRX;)IN zWOHHMndp>sb0%8c-^oewcTK8JaJ1lk`A13Kt|uzO`!PoN*_!-T-6Iw$J~0t_-PLaFHsZ36Q>x#$4`=ju6AJHN z5;=bOv~F-eAtA%A8;AM3It0Kpr!*p-05cJtaQ0aHoLl5}C6W|==eb}ESOBH0IAb_z zC-OcO<||~owXfxjDbDjTZWX(p6#VW(msbYlLz=`2cFTBmjBpD!UQsLngNKlN7=CHxxPfP(8-=bs{oulH5M5JFv_lt90#VhlP^d}&@F9cG!CwcajN+ip5NZAqs+g0^8x5@e#iVA$g~FVfC7KqE&TuGWN4MD&o4K+Pwc=PpX7* zH~!euACnH6$3*>5OqbbGck?}Z=^HF|)~VeZTg~iof@rO1g|EoawN;s9Q0-4y`yg0O z_N$3uo29e--nJ|4uo5=JYTM`i<(sVe36j*L6c2mYTPju$#!Spe74LjlL^wM!c_!&? z3ni;`Wk8LIx_X^No6si9?PG9}nw3So5X2)3;`_r(WJkP*k-hgBv8nbJ_H~v4=Pg7& zjWx9|$L~|H5>;clm{U(mPpQpS?ej90P)!o-Q&%lT zh&0SqHT3BiP~KTS(?9#)IXI9cQ6!L@QhkT=JUYOh3iceq2GwJJkd}3xjlO1|1C)GO3aLV^`6#Pn9ApJ&vB`;Ir4^)hDf%o zsDyd10i80_%OMVR-)QgQFiZZEw-eS*11I z@Ke5}l4tP;p6zSA{i^4MfjtBRig`Qn25P~3--X}$Tr-eaY3r1}<&^5kimR@RB%2*w zrXJ(AcZDnZpwMq0jJhJ)iY-uiRyenfQkD5*)iQC1DBs;sj4AI3zoCyQ?-)p=nnF~B zvlUa_A5r6RgGoRwe{3(uu(%w@{d>g)VMHbIO`}DzRHNC~{BGc1vh?W1nyBZvZ2p5D|9KZRmHe2;vLp7vbBV>G`x&%vzP4?oP<+=`_!4?*+CE zJv{fpRkj2@em(Dlu{Hpgi+wxpf0^D>@V`qSz&>#Bdc_gHJG7|KIloB=sQNDDihS_5 z^!4HcR{DzWA<0zWE%vDRV@vE5~msAGddzbz1a9!%CS{nN3CvU3t3Dd5gF3&o$qtDj8NO-cRw$-l18Q-sf&^4eLp45 zQjm+bRSPGCPMTBHgSs{N!>#$(qa=s>w$j80r@}FoIEZpGjWjBZqV3qov1t=vmt#P- z$1g#!jlo_r62x&#>SP%!DD0xa7pzNGN`wlMb$&q&;EKrG+Q(806Nx7 z_yV&RybvknQ^QL7%B(G3?blVfej6vW&sUS<;@$-rL2inI8ixH#QV<^~(KFqqYo+wo zq?{aK^0igKGqOGjgO6{SM$W{iGze=7#ex(lWUL+{KEXFhz5$Ah<*=%_^NT%a*0B@U z%L!oR2$GjrQ*XltrXln4i)b46Kk|}4`TK+UGdTj=1R>xX`y7FIe?W;@hGDYghsMtt zrTHWX2u34!(nmqo5v#)*d0&(G`S>~Ab&m&KA-Ey5tFcVhCrNmx?RZHekwl(n>B>RZ zBi6dzp4wG<`?v-8Is*j&{l)Q5?wnNXTHZ8JOXE5 zv>N&AF+X@A3}-9yRaAg%)zd{OzsCyv!<(_eU~NC8?rGazmO*)cF0a}HB-MaU9hp5{ zW{DnI9J0KT@r!-=DuiqC>y`onfqCC^-0B%w>E6uy*Jr9iKFLYrXp98Y@1IY-g|D!s z9QJs}Z`>4$A(gaY_9Zaj6=E&{8{Q3&pLHRD>6^p!Ve|NI%-=CU#gzfllaT^C( zbm!_e`mMX->pBB8MKw#wNGmnZsT~lnRx-&Lspc^p8-$fIw~>KF2PAl7@9gki?DDqt z7#x;Dw>rGzLO!4BfMAL9?8$ntZPJ{BC;@8|mUN(4RG;-I*~Lw^{&kr@V7v=~>BTM% zMJ91Rf#SVhXU1Yy`qD=5;{oZV3^@kBu-*gzLB+1YM9G$iGS|XKI)%I!rdWM6NwO$4 z#PXx39x3D`8=8nc=4j>c78#Co*gZIoRzFTdJR4?m995UEc-nyt@p|)9ef@LY#u_~0 z!l7R>+{}&uwYmeQ;a9-7!165Mr&XhsEd4HaC$u?IuMOS>6K0G;fSq<6YwV~d z8Ni0GMJv^UbUoj+-g&?-&`W}RFx3+pY#*fVM=y|1!S5>1I8gfePjgZ8N$7or>{Gh3 zw6QU>={4zM@e`7LES2kgNf(=!rC?w4P*5AY9X4NMcFfoPz!*-3d~C13=pnUGpeS`C?Rof3HT^O6%}X(Ckw3KD+K zcA8{IH_HS5L7oZ@LN=Dw}T&5E&()9cyP~Gc|NHwG(f>d6mm~d6e$0vJ$zRoef z25o4mGwz(SRX763TtqiFHuX8JZt}vm3S|W)ZgmIUAHw1(?n?2 zoYF3bs?_+beZ^EKgXc!cdQly;^`0SPleqQ|mi0TZdsP6!OD{wZK0K!@S}>vyUKNgu zWAv9u%AN*AJi*1jXX|~-*dw+x6zNk=ZrT8*)u!kA6`nMOZl!ZTWV-CNl-=e9ooqLi z_$S;k@BxsSf8-wAf5hsIpkUXK`(@@}8UcTxc#P+_1qPQZW($MV{<0_X zH~FEtZO=3fyigr>HlJmjQk!YuC(FOlMeYlO(%UTiqlgKFXc^tyK6q;KPCpRC=ADkz zUETG)*uIcJDat6D)UAX4bQbxv*yE{gL;XnF)@VA){PeF;rSz&2;i&_D2W@;kVw})Jts4W-o9fnL>SJfp2s4 zJ(MzwE|m0*p{jYm(#wm|yeBm$N0OUpA?U2mem8C(>}E=0*-MMDYUwmJZ~)IvtBS@W zJ*BOhS!@@Jllz~q(?IMu zwb~82duK1Lzcy-xOTRYkUXDT61bP0?ugQ3~Ebyt2mt0}MH>=_s*qz&{z){+1m?1?d zrUGzn_H0cC!vH{T%NAu=sScp7<$1s?jW5W}&Fp^ROVI~*W z#YmpmyA)UQC`zgZv=z*|3>D11NHxO4r)wYWb0c@j#N15F{L=M~e=mWBq)CN%&F>m= z;KEqfTiw259Z+^Qn;=(17&F~;HjN9(g){rA>W6Eq>}wN6uIz+<0dLvm!;lC%W;64l zO6|zaomBbk!3p4YUFt4lr_bEOI=&?2hkfr{B@u}}7&zY;2%0->n4^^hc}uMNf5~2H z8FBWaJN2v;%zQ=Hlc)NVQ-A3nOW1+pG3GZy|Hw~mzQeg~8as(At-6lX3%5_Gvsh3g zgcl?nA0v&$k5RXvvUSVPoQW&D3n@am&txrLJhX#!X~zt@^aqTx`iouOJhIoW%x9^P(_C`Q+89+5Ji7Yc2$ziw}x0% zE`2b~8|%vn9cBmQT8nBxK8*^m$9GMw+CvGx(Wr=&iFlgHqpbnhFGlrZ=#zq~J| zTfikcHkR-j^m4&33B_mzCKi84wpwMP~j?_W7T5WSZ2EGkg z&Oo-M_yRR8&#f2cU}!5*WpO+h)2fo6VG4NrJ8J?5$ZUN{dngIz`SR_qTe>KPpn7mN z6V7-<2jyDWh>mPq!>BDPd%aUSY(W|!!#eR@I-n7fWtrO*>%<4E7ba^!wJ*ubPweIj zNRmV}m`S_(J3a0c@%9^GNKu)%6@%(F!xB@1bILqnfjma=ajmdW%nAFCLfiuP^l)JKevNM`B;&-PdmLS{If?6QwLwNOjO!)#P z0rI!r%GJ>BN#w zu6Qi{nJWu?h}DYKjv)?Lq`FC9f;pF{w+~aYNf|kKW%pD!P5{nn%G-B?hs7LtbxEDs z-BU@q$Zm8mv?6dljMX5{*31D0ULCUgFn5!X3~~f~(!@+s;xRn(#$3C(P+ErmzZOI; zQXIm^x@J>=t3xCk^<1C7{!=7PvIm7wA+T6XQC9bYWBgh@ZLD7 z%K0k+aorgcPm5V`ex}6=)gy0ku0CD*Yi|Ebw9HNBw?&-Ru_%Q!Uweu)^in8d`j&sY z?9l{Jw=>zg#>9+HF})h%V5DV(ag|xTDnA&=t@1uAdiaEAS+>R%??YBh@Fx7~pdIO&9~pS9W`kUH>{ zHs73Ax=p3Rn-J9w4mw4jy$?UhiM}s$F&YnX74Byj7%G~v7`^q`7-N@H*1LYz{)EH8 z9pC{LAPF1<2s{n^PnzuFmjGMe8b>m|c0Wc`b)csBpY=U?T0(q?e`~&V|G$JDI9#3+8a=yd+w1CVpX( z6P{`ve5-U^vr|(UwcqV}Za!6kIcevRbaDq9vTtmG+N&=bR|4Ht!%X}B8J48K$A>om z97=&RS<&;W-s2rTivbm^$Vd1aNNf)Am_5NVV*L_F-;m$m5T*ZrjJ;)8)Z6|Cs)z_u zLr4vs1|iZp(jWpNDkvo--GU$`4H82r9SUp^$)S;kaR4b17*eTWknXO##&gczdj99$ z=f0XpU+By)*7~kb4s&1V$h4I565TQAbC3SMxroz9w*kwtM|`ahRw$Fc7}RBZ8nSG^ zyF@w(_RNrW;L2+Qip@ID6>k;b2bUF=KIqiS*oj>9WXdJLnO98;imIMCL|;n;2Yljy z=5BHckMMvqk4P1d%cp?_imk4L*0V6XeWgreL*&B2TUlmmSz+K0`xV?#PLcQ_>Mt4< zuaq;cAL7qv6Z!$;NST%$*GU+6JGsKSHKdrw&5kQ8LZA*A->zpG+0*%XU_;GUcI-|E zhoK_$>+70DjAheR7aaAxdH5F+`cZ5_MRqebo}5rriIwN(!|eY&MKzzMe5o7Nbf({Pi$_5;59q=(Gh>I6rEc`Ms*EwSRFLwm>L`^7IkwK zI4$jo7r|fEPQSW9_Aj{vZs5e}z^h}$%&DjKht>p(mw=w$5vfVSNpsDuV+t38rOaBmd0{*#CzYn3k5AFQc^nUokKLucScZyrS}9XNs=(5o59f3(xF~xq-f~MGLZL z;>WAwv3bRzTI2~nhR@Mc-7667JDANZqUXs8JpYab4c2G46Y_ey-*J0UQyzF|bl@;H0($}s6slDO&9SrVCc4x^Ql0uY?g)8C`KUZ{$?;pjf^IH!e zG@TBg*%ah-{J^O?lsOexO8`bNjkDWdavgK+lhMyeZEM|m{N9Z`f9Qd}wWDk5xbUrO zuSN);b$*I?75}KN-Q+Ge!!HrG)^qET=pILe#WQ{J)9innYPk1AfcWXf;N@s@X|w)< zaJtyY1=}sQ8m+_UGgOTWwxJvrX?@f03tja$eJyi+f;H*@&re# zB>C+Aa5;ede?IO4Teep?VKo6Kne!pep74n27Xit4#k9)riN9jm%Z-M%MTT!zLsl|7 z=H18bhf_7iO!Y5HgMMgk$s2AnMgWbrAL^wUQJsu-cxW?jQB=yF6FYIqW+;{wjy=Qe z7~EnJN{{SjpDIxjodPCW6gRn$hSpYfq8b<7K%|fGK?3sChx7T{r|0h-C z59CN5b7~Qj3#||34(%vUj|X>lNmvn0`6uk99zJt z8Mx9pYamyc(~9zme`Gdi_?S0s_b`Y@+616!zF${al-^8Z6-VOSsQeEeQR0e-MW=Ne zH{UK{k&bB(Jv4=<`5H3F=3AVpPpIodzJ|hs@6Cu$tNwsgv;`x1e3*Tlvm-P%BX~0D z6g4cRk8Nm5{{&2<~KuZ4=P+Iiy(PE5B=(rvq=Oe-*-rP*_ z)r0aLD(f=0c)h4JEu=E`rTh*EC90w5-S_Ga8{h)wcFU@)C$PN+fSwlJ0 z;)v$5B5y3D;!_Avq2Y!zUpsqxM}S4kkXCmhZ1scPoVxMhw;9dcvfpm{OaE6#`-C$; znVao|hN?dg|lqlirt05={wNFxHyIRdy?PZ*1*1!U6+7#NPS<> zq{?b<_m?DQJA-*y;^jPk_+w2+n|{}RWKT|1?l$C#GwBDy%WN|Vs-NF5+<1t>H=ChR z7Y+}994TlcoGa|yHTjlsRgos}^3~K=%XoNSO4p=vPUj^~WD={_yuS~4?LBXD99q~* zdm*zo+_rv#o$!Lm(js^!Z=6?~>&Z{^zHR^wiY>uR6%|ZWNm1}N_bvslZ>I5Z(ob_H zPz`ayv(jF2Q_vm1;4VoPI2B4i#gNVVG2P|x6LRZP{>kY^Df60jgo)aMU&l?OP_Ykn zj^{CFMh23|DzZGWy>_4akj-jwI^v|rEP9C{A&!s}FZ?!p4DO>jCHPhK3;AUawMm?x zX?IuK=yKbz-tFam$;d`K#Aline7KHOpBP-8<=o-RJPuuhgp6 zTaCfT|C0qEbLF(HnS9N^>!xLM?7lA9@oQQ1pqahQ@TP$G?(^u}OYX>1)M$kG{uM-6 z8i`bv197^&wx3=atG8g11TB_3?6b1je4I+fuB1Ktfk_J_tZDoGnD+?3Q!W9|&asX6>o)qrtt(6ul&Qa6K=ljf!#IrR&X3NJX3us4vS?V7 zN2Y%kKU!K#RH7$7=l&&_K+iO?k8#QMV{57jqMh+%pnszEvPsZSP31?S7ZsBR^ol** z5b+DCh^^3O1KA6me#Fv&T`=*R;u|bl$4}@^d55Kc*ty+hT4y9U4xhhLD|03KmJ6e- zJi!J<;G~{?oRYT_D?W=mx;tNmnL(=c3Dnjbd28wpvLzj|#IW{+#UQd?^C~1*G1wgX z^$qt3qeC|Xbv4K`n0*mAlK zEtpLUu~ay+M2L)gpDs?4(yS~D|-}Q{>{G_`G^75ZmhLQE= zwt{5BGnbaWrJgOQWD$>@3*^cNIgE&9yJ& zkhO-OXoo2!mb*vwy2UaWw@iy{R&ADeLgo1EST&;+2gHS)_Xnv~jCJn+^Sb9iZfSo-yKfDlym##9uD8X_P;I$KVG1|p7pKFW6SHu#H%9AXN#|vs8mzb zmRVmBN{*SDcxT{eu?57nORf<9b?&8LjH1h9b?#2fm5gPr<>yDkl>hS|W&ZV#;%=Jc z3CCG>v_au{p2xNkE#&t2>SW16tX}){h5f=YB&OwTwQ(A*AM=T9@iiiO-j018d`}>g zH_()u_s=Ht_pQ5GM@Zse@|LI5(`wP1e;?eu_~CiKVyP)sOKsJFZnij>odaGb3AIKG zU5VEHYX|WUQp_}jc_JH~---zIvBAesL)I6*8=c~XX@6J|2=X1|f>{I*1_{VAy%pS- zP1UY4_&@(?vlTu;X6iKSIz`2CyNIaAWohNq`ip>>X?emTij>A~vMh?5k{<7ds!#;p zgd0RK6C!q%bt3eZ)1OAlv)PGmWlelg;*%G$A7mST&vdI}0*k4!HobU3gJrfy5bZs) z&PKHWqfCbB%AISaYrlT}f0XMB255u$ByLB>N1)}@Pu!c**I(r4r^sxau`Hu$}Em+!E9~nE-l`KFMVPpvWagY zPl*YO3DP5p8VQmRM8?mv_D)EyESiWB6x}1A4qy#8+o28X+|6^pqr^%HJ7=<@$8;M- zT7dX8vCZ@Mpz*I~K%MaXLAUotX7ZxIS;Ry!Mb&;?P)Vpg221@skOtYCHk~W+Y{x?wdvnkI!3xGY{-$YLUr6$e z5rgavVw;MANgwpWH|oxG-L;pz_Gx3{omuYT<`q=XVN~vaFER-bJSR%=2=+X=E{ib# zv)lOeg=WmIT*|feztSR&x`}l!L=-OBwOHzx&aV-B?7VYQyM(9+ zi&7!vibXQ0$jqZv)BkI6=DmpDx_A4FUyWVO=5}uI8Kc4tiqPBy zH})4Fv8dYhz1md9PU*d%T!H}jNxQ+a2B%^1cM>AO*h(mCh-m=(1_!fop|yd?i=8C1 zy?_;>1@ma+DMv!A$1?hb);7K20}$sx4#(Qv(Ftl?IiHZ|mF1hRpIV#DrPqA$tH&@#@On3QPMs@GIV5`HK9j89q**6(uJ;MuMCngYE zp=$t*|7|Ey=5PZ3k!VrOb+Ge3yXcS0{(Q8!8xhjiyvZWZN$NuF33s%5+XT5Gfy8on z#ty{Xc+bf!Xsj6=bvoFp>}N`iMP>Eygc`ZrcxhcQKtZp}dMzNPJB>4rBE^->0dM7E z?KSiW#mPQvz}x>>2K(rv@RJ@6f_LBnCAqbUIPlSRQuz5B=`5~jtJ9|ntRNfsq^yMi z8Wf4h>q_9eL858627tflBzZcH*qlaS>$F*T+(Ec*88{82uF>_a20;)nj)dZy%(T^h ze_5K%2!o`kr#YM`YA!P>odzakcldqG-=GyIXMD|w4Lc51kiH13U1vTS+(DLUre=zp zAv%YXI96kgy8BV((Z0(XRt&+c$cVBe+vAOyqm9CAz1TtxQkQkX7lwHn+wV8ncC$k^ z_9-eV&HP^8GW9zdlCE~aCR@^=yop&3XJ1LXY!W)BUG@VRa&_<0gm=9?&$U_)!6p59%ua_6}UO~XdcIKlY03Lmw$TCoAKN0+sqJfF0-zn z!+6HPH;`|W!E{<+zrT)L(&X7X2{x=R&9l}%nPvh%l$ z^WcH7itj}4X?w%tFcj<}S2nGRaA#9cT_6)YFUktpP9uzEji%y7fmB>094szcD5Xsr zegLpybl43=OFI7?baCD4lMLW9sV>`Y1aLfY^%cKmGnN}`FNf>C;M8TCA9Wi(+N$@c z3p7+P`fT@qUx4<7ki`R^MTuSI(4#hkh+cPK)Ba^!2Nh-|)=dI8+fgt)TpX3r^Wjw5 zH@{z@2NY96FRu9BoDztv3CX?*@$Blb2|AM&FEv}*V%hw_1vBNJ4^NBGq4r+SAIX$< zEghdcfoL&#LIn>OpDWs}rko4u9MQNx9vOnlJ|Z1qgf>UtI#RvJ)lvgGF!h?OQDLE-V!$)1*)KNHBNJ~O;vI&_9BfEL>O0} zj*;KV4j(nU1byv#D=~4OxjZ9~AFd?;E#$BTE+P6ae7DSvNXy7F+?zGW0-|oZKzXh% zPGzdixt^f!V2!`|E|APd;0nXr5q(^AvrN~FVFt*`o&)ic4x>1emlDueR?UH@$5R5R zJL7Nj|1kD4di>A6e)qh8OSa)U3qh!f)0GBwI-)j@afP_3nC+-&D&D;#*%HcV@Z z7-#9ZT~Wu4mNgJ}KYWK6fVUXU8+dHl)ST5)R7*@E-@WII8&DzW6Li6oFnkQak5Qbd zk0^)}wZsG$M>S3`bgq;_#yZo&z{3LLyYZ;-D$YAOrbfqO+D2%;JZDh$5WW z>BcI~(p3g<_-a~eCXiG(hvOEiCtc)U0x98@($y{;0J-aKpm{O-o+Gf-DoB?p^BjbC;!CevNFY|8=q| z_;m=*J?!dY=AhlV&t|3VWEz9PYpgup^&Rs#o$U3E0TIxHC%Zx&7vGNyM~X5yIx$LnRMrln zItxH-AZ~>mCtAjB`DHG1Up7Pi_Cr^y?m1-p45a=TH1*8aFlPN4^T1*Lp+^W+93gia zV+Lp}2(}bqdzB`A3L+|fP2dx|5ffkuAcYz!ZUY14r&#n}{k+V|BMjn{SML5V#a6s- zn9H9?32uw+ySGW7w$3ax&4ERH2R^Piz;viT%V`!$`tLZ%&Jpw$!o|c@HJWJ~R zQFBE!PQ@np%!=C}Mdx$)Ehmwl$u7ly&aP3E4*)imDz zp?m^7>n@;~ic~%yWDSroCC%_!8=2%u!`=I=&&{C$Lpk*)MPOsGL z)7G^VorjvRS~t;&tbXzyw|^EuPCRu={}xLV&mM4oS^)Dj9XLK_PC%g-H@WlUuV~}< zhvr^Qp$kj5HRXCKN+52B8i*G^ALYC|yLk zQK&X6*~B+-WA<1Dp^-H`#TSxZK@aYU$zG61e>poBa19wYe*NS%(X8jSUYvkhI|mD- zc)YkcUD9N??|u>#Nw3K976R(!_r(n{6%f2eV3iYr<$Zv(HaZpX2^7+Er^&lyeOW=I ziMzCRZoLVs9^Qo0wFNQ04B%1}x!iY;jLM;Ujz#hGxbMunQh=TzA+zfDlXC(g4*exe zBZ%fWn{H$CMLW@BNyI4~pE4b+>+w9?7R+O|U8>EEHt5PgF63Qu4H_evT~?A72~+wI z{#0eqzMm%sUx@c^DbYySo_wfC6}{}tcWT-%xpe!5b%nh}wlc0lq;+o-6G@y?B<_k2 z9pgHz3Avky!=~ahwsU9}BjRef+?R@~jkwZN(jIKi`|CgEu*RS#P1vW?eiBE745{k> z{xC$)`>%UKP6M0$AmVT8+e;Q>%HMfTYeW`x@iVhbgovAd;2RDZ6#>v)>UP5+vJck;DqMaVaC!wvVrp&kQ#83N-lM$vdL{Ryb%Mu@cozJcsi8Yse_RA&Ch$fe4zMtt z1%W0g>P)#sbK@#RhKNnJGnH4a)hes9*R3ZO+8|-n(td9o1S8!6U(7AsR8Inzl9yR+o+@(fe{i0a2#wTw4mc-{JVxEuE zw4L_v%bimlnkF9%Pt1HFV(YVz|B1_dFQ(3++w2(jce>uOXOIEL;T6)4vkiqIiCgQu z9Go{P?`smVC8l+6dS!9Dc5noxPeQBvHoNE4c+v+mhVZ3+v`V6d@~67=gGcrMYgPP6 zNFp223qZ*`e&UJ85ybIlEeoYDZrNxT;j3a*Z=G)qfxy%0h}f6(La`3#SX^zhisWQX zc|T1~?k{XRYG4;H8BbFf+uhRjS>Q;97V!8Q6}Iw43|!Hysu_y)vp@)p9Vjk(T^5a{ zQq^Rs?QtzEiJp269~VD(4G-pp$Qs!MM(a6$*_UeCl3KYT{A0JO`YkRLFIcR+5hO+| zXA=F|yx(BJfLj3DWlS{Za$6WP0{fv-jh!oM zL_#~qi1QUHe`8@DNok@{EEBf#oHEl^*miTh4u#tH+qrQW{o2^=p1lx%qhjcQjAoq2 zBRhWcarsw;RV~JsZpgG$P1fW;*4G&$n2cB zu~t6aM}mcw*`02K)~V1yCNf1C4{F=b5{Uing784~(LfPdw2fVqM`hSh#c!g^-(k~;jPYT*80TBG z7m55i-?4E^*M+TS>Sj=v?f9^>aIsry&`j<@u>pI#KqR|gd@7ZDCxy! z&-HBjK_`tgTT?{&v*MiB1K5=`RO&*xxkR~DPmR@CGNAkH+rc}Qz>G44Q`E8JM*j+f3dB^1RoRl~{ zCg;t0wP|E{Jo3toM|W$4^HPQfX&apGprDGLx$yJ!bHvMR?4XG#&1rz-?tk$BXkH+F zS!b*zdV)u&{id#2H>o}GZW4w#+K8N`-Ra8Lo-F3pS?vY2%n31iEUBMna3gn4Hp zO&P3j->a{Ri8OmGhQx8d0#4ddUp1pvmB>OrPlov$1aF*IH=^hz|x8SG`j^j?ePaJh;_w~9ud^{4g|$@w^Q2wQ3jA~kMZqDSN1PV=4V zk%Q{z@u8w(XFo&CG!+_(&p(L^gX{UA8B1Ui+evQzksEiXFe%b zMCtU}?5FshQfMByVPGR+E!Y^6M>+*^#m8!=!F`fe%T{WcC!GqWj=-sdDAq;mTGj>F& zo^lnQAacO7hNAqGW$oZ;Gz<|TlSsycs3*M-+EPZ^UT(|l&BnJO&>>8MiFEskzQS(Z zZ*|me>$1hr+`7q)mMkh2P1Wg^)+8~c3RT^%XB8G5zG*nmJnljGIdjD7!|+!Nb=irBl3AD2Y{4ciTvsZY_r(8+AunO18@h;Z;57!;Xg2IuhQVB*aV z66nUDoSuSY=X=_d@Xx(tr*5Ar@Ndm8a4>9+(ArU|c9_*yzSUF96O2Ldh2k>BB^^BU6f)_dP=HbZ4!!N5dAg zYUuYcJYDvLQ>4Do*s^WILqhYOCH_~eud|p$T~|Jr(Tgc6Y_5Nf5Uxr|)zToLbs(LA zEZ!z~JPtoae}1MRP?jQjZ}fslV*Ty){We}UY6uZ4PdG$1jGNQNY5T`aI9uOOzRD^E*tQ zI0&3PyVULp6CDn3HdT4&_Z9J~L|5~I-}HrBm&{%0t4LL13z{7vlg*c#1QXUmILS1h zN&C+KMC{Xw(Cv4=4{6ZjSXS`0fXkkh>#9#(qNNSyzT7iG?T#(Bhlnk6kK(%%q`J(G zBxmQ(Vx@hMAeF!oc8ocQXciD$-fMSoJklNbmSBP;gYraEw(qm#Y$df%h;ULm7a5IR zoge!9hU+Ly0STCar!0++WRXCZYZn3geDaAq^`tR99AH>wOZBeO&1h=jutF6 z?DuXnVVw;V3n*1P=|5|fB|+a}Vzo%1Ve-=Mo!6jpr8=1{%6c4w*#tYDSPB+-(mg8w zTR-Sriqs97V9wXBoIky-KsH1v*X(~cnny4}TrK-${lqrc-+Wy2KH+lX(W(U~m@wuF z^ZV(uTb}v-hf?WlAyV8Pa*yKY77J+OkmI!XJ{Kxvt=ne#!6fZT2FG6PRICc$QPyKB zmfFOf{Lt^<^%2l2C$QZDVvV?Anw`)nF6WgtZHlN7K@aqqAztVF`{rZ%Oy&CWR-W{RLS@-V60`{6ZC#EsbiNpx3nk-OL3{`Fg;ae9)`pOgL=`&}6(*xkW@nNb$w0(O z#uIQK^*3iO1ji+sKc>^h^{oSV*o-JI!dqYqCuXN91M2dM_zqym&$0vQc5}dHA>g%I zYsrxyEmnJaxCHn7BJl_g2Er}>bB>Rhc0Jx!;UJ#^yNJN(;C1&$dwOD5&rC|3t`IOP zueLG#n6WlXclYkpv%_@w=*qCGfp{a4|K=GZl{6IV z&YNBhiK<1yl?%-@Wnk*dJag3GG%F^0#%hORFH|cd1OOI>51Z`B`{eddo_k~AmJTP9 zE4$~!>-8>8%aUo*G+5bT)~gGSTChgTaK1k_@rx1X6k{yucsR&qgg0GOL~22nx0(v2 zCv#kUM?p#Br|*rR|M0W|ms!sX0%Jd$kD1%C-<&6mbc_4d?bc8a3ZGNAWHc&FSgSW# z?sM7r{FsG4nG-up*7 zKIKIao_A350h!TVxc0o&kHEZ;y9wARYE5>wXz8Pxp-1|a)ujMtg*gZeso{;byp30U zilUgRds5J>PPfjYnk9Wv{*taXM#5@-o#lTLiWUV0C>0iApJbf^L)9UKk)dqD1kH}h z1Ysw&$-SUT3~6dsW&~FzH?sUOw7e=oCM-MGl*IQaSz+S&;W)>i$2UBGaEy2Zkl8) zs)H2^0W9p@|mTIv|@OAL!B|btcZzL;v+B7V}bH70xOSq9{`su$Iw~XH;k>Sk& zic^3*WO-o>xNxg^7%1iZB=L(BYp~t{2W=b2$58^E{;D_xD0uC4ko0Dn#jo!RluXs7 ztuMgDmGu8bfT@sewB(ukZFaXf`0Xi3yL}}TJWTOt5gopLuFZUzJKtVeVYdH-z%H8f zsY+7(Y;Y;|qV$~!-lJP$yH4bYXy3)3mYRObf1oT8H0MDM^nl=9kNBm;Ab2VWt>Y=t_}?nm{Bd`X>>a-kQe^z|8=6C1p@jd;dC`5FU(?ohZG z3MFzZp8=*$HR57}~6Rfwqt0DwhDGskB zr;SdRwOZZ=B}i`+pLVj}tcf!HGTg*{tRyoR(S`hHDAvn{&@HVL5-+f~TJqEof&n9w zglff!PLq`4AkyHn?1f1|v)T`sW@e4p{cx13$$2Dcz>zwyl_HoGdb8az z0NU1fkzSodp-BSCc9QGNfkvUMImaZsiyr2!(7v)SJLv@4PZ}A#n9rw4t4e!I8i_HQ zFJQ@;zmt^=uW%a>(D4Ywmy7)T-&{uQl;E&(M#JDf-C(O0v#SjQc_7N+B!9Pr3rOWY zhri-F*|^~j=P5oy?~w63{UfFZhN7{B(>&1( zVaM%^_JvV$@o-XlGz-*C;)9ST^FxjA8Kv4?4YRiFEv_1@Z4s@^#7lW}t^(a62n@T! z4-Ez_t(p3Fbd~}RmUCI_IQ;$P)ISnzUS@nwhgrjZMN?E)JFRV`3S|^j;F(*)w?D2j zyZpIEcG}nvoqkid_aC=eBneHa*85*+%7TmR=;`-~xJ@bVFE21^kS`Nf(gVSB4PxKe zt#a%qw+~(?LA|(`l3Wl0((8R2Lwv-PYhYpRJyEWWZ0^84HT~h2*gL}Eu3E@cTkqvI zMyWt?^tJHjtlPJ?z##>bK2v7VcPr0S-B0i0qo3ll`$r`Df2UaK zu2lIBUnnsv+}bcbltp9y`g?G}O{~=521d2x^s3v5lcckL*}iY7;duS=keT@UgYbL* z|G?mfAh*~43(ipK0x;dm7DfQZ-lQUoRO$#BYDze_^%85y#}3p$$}oM$~w8aiWxJPCbmNL2z%g4uvqKNDB?=9CA`M z&UV>-CNwKr)^HIYv+SPBM4B>6$uzJSlU*+aL3-~(M zPKQ7xy)-HPJ6Uhi5J8`rwU{u%Owe+(+Z{W@S025efr(%1W)AiaQprv zxh&{x7Oxdul=TP0Z+TISK(3teORfwb(=!|xkJ$13L8lPiPzoPz`edmBT4-NHvBTZ{ z@8LXc&yyu7lBn_G%6#un_C877LZAm<3$|f*BN}~;44@@^#p!h{!+&5adWGO2li6h6 zG1y```p7fp2QrgBmAo*L)Hz0oa*$iLgKW&C#Yd2rjWiLO zZpY?jewxUA9VJWh@{==mf6#5r1tCa1yxZ(RYWB=vt3{lPBFP?qCbQgR%S3cH$cJ~b zR7Ra-<8$qjUV$T+>gSO;f4m4tNKAFJD~8*Oh*eR070=kDH}&zAEe;}1mW3@A(JerQZ#c`rlxu1BL_{5M1n#ZM~X=CCRgS9>cIF1sm;p?_5xwPRo0 z{*h`=vG5k!JIPr84`_mh3J>nZSa18|fSl#)l$lF$_-4t*KFjbBz#0T?;)Cx{a|I(` zk=TZFN*qS1nDHb?$Vb*1Kn?^;_)}TXrS4WCWG61e9B-sQEy+xMXA%A1*>tj~yJJ&N8qVI5{`n%_g+LL0hFM;Gy$Iza# z%8YxWqfRGf3(C+pMPlO>cGYvwEb{EDc$bRmG<9FBmsqc$ADo(EXdYf_NZu0}F5)x2 z*-dlu=Q^dK^r}zdA?7}_d#Cmkw+qb-IF)2giwU;tiJYR}+2BiUjA3L8H?*lzPY{9- z*YJ(#dv?e;Gk#YBpOkH)oM4hjkp6!!wddM1=IZoM++?vowW;LHTuGgJJ1u(}OZ&G%TWsiyt9{&Ko+P)_zy!G19$Y*Lat3_fvY_x=g&d8$!iCaDweZ(I~yh1^NpJEB?~2z zvY}TTQ$AtGFGSr7Y;clGQ)V9lcfFP2n;KcePc2?|^lr%jnBq*>&$Ya!9PT~(q{S@b ztZ1yO#n5+pFgIuUmgI-)0@7NwA%Ohn?I$1JSlm z+c?t157jCoJE5qdL~P!)RZjIOs=n->6GM9&qSQ~8S}U5+Q^Up(7b;+sgBY6dwlS@7 zvW0}+yL78#%y+w*U)1(x?9ib97v>KVwq>B=>J4qfPbG^`CikBNJ-Bu-hqUM4)aC#r zkyI&TKK&Wq?17EE5~1kcBJsyLod_(k6Wm&IH#TW%Nsm=vqKeGHhE3)|SgLl`-t%kW6MX2x z;%FUfIOmnr6H`)~a^-cgSjZ>$^1{&|sJy=3eJnR0>PaT8l8?*dr8URbJx8dArV_1O z0;nO2;Yo=xVpC0@-LPC1w|ueLGLYDx01EA@7`@k96l?{I8|#;=Cw+U`i;8g8wS)Cg zm_aY>?D+kLwZSJsRWc>k;v-iy*$jtg{p_mOmwed4V-7ELidw^F!gv=^UdCgGhS}B4 z`U|_oeRmzcc5rxwaemWL5;H!WTu*xXozC-8eIiCCn$ z#xQ(N^e&8rJ0=R>R$g`UT^}Z@NXf)fN5}HJJC@) zuy%=TRrQ>p{AR@{U0ImMx1agOB5ufN=}XR7N;8>d)VnK-Y~C|Ld{9TyBlWvH=PfW0p@kLmZo-4RSo};P?22(&3GUCs#MU|Y4_sXaaZwTV(QM0XQI)=)4ep}ac1`S zZ^g^}5yc#1mOj~|e_McXa=KcT+pf8Xj(!{1Af7cI00d(1AakPR6}KJ*dak^O za0YNn&?8j5H3aL4;PDwgwy}`dYVAT@7qZ;VGAtjuCX z_(?dMO0=S%_sH__@Q}zyzj0yZU_5Hh{`eNFw$%>s(6&i|3Cd%lv+Sw1oU$WsckM9gtg0UndcdoCp=E z=c1H6h(ip?y!Jw%R2Wm9pu;EfQ}q3gw<9OiqRlhBDL`vGp}F& zV$7ekRQr>*$sYzP%r3%>lIuUaMa3Ryt2=jrV$$5r3Y&Mkokh==J>a%?)idts?s-|1ysj>4enz zx@PbN;ZsH=d_5qFt>k?OYpf(dbmtREAhpQx?KS3Obg-04Gs)ReJM51+PEI+{$D?fP z{^Z{8jt_^M_;DKAFSxpv(ez`WBD{`^0Uu6S1JxvBsg`GZerMI*AQplTG%k95kz6X& z`2ivU7-Vy0K?G43nE39?9`?hFDa!#morr7k`*m~zskb&DL2@2u3@C%l=S!#NfJ_ho znX{>f*oWxo-3^9}T<6 zpZ1-e)ag&GHLR5IP{WMAz8x;I%W-ep8MgJB6VS>C#xNX52>0e+8FrR6%KVMM0Y}~# ziYb=CUyx{KD8bf8hO<~HM8f>L^ftdRHZ7@oqVVH(=Jo3b5W#iM*@eC|Jw+)u3Sn6h zwRbl<&!;(dL2aubxd9vo$1OnIk zuHp;^mXkm({pHKs8{>x{=goH%L{vzz1g(J7BLQ3=1=IvrNh-;LUkTzha9FTr`ye^& z*lC)fCU^=Y+&un^#(X*RbRqK#F8@#Y={0=0<8Dh?9oAtGcj=&e)O5Pk#9(r|GI_d! z(>5pK!e8gyO1uo`GgpX^uUj$>h!;|fC-oko=gBPPy=!~!4nFZ*TA539bM%sRZV!>F zjHm9!FMIr(3l`0Z->SRYqB6zqbVdC2@g+VLHf5tW#>NYwttiIWGpDe;DIVq@*_od< zxU$fqRiC69QH*RM-Y-WdJ<$E|1|p4YNRWp%jcXLl$Qza+@|i6Zol79GpHx>o!2Jv7 z)o$}RCL9|>z+~tVO{X@R;e<}#+<_&i3NafkrL4 zF+e(S4X@Im5MpilE@w;{BaZ6I_U`lSbsY=mR=h>o0sdTvn`yF5dCF^mUcW1lTy`XE z7UZpbcOR2{yS4_P1Spgst;*%eWx*4mLKICdx-0pp)hY|4jpuoyQT_9YQ%b{1tShAt5p zhOQx`B&6$qZM?m|x8L7yJ^$x<_bgwzTx;Ajd++Nyuk$>P&(Y~bmnzF%(X$xv$MSs< z*eYGo98X@b*Ef>5;(P61@w#i}?-c5{s2?+h5OhV&$oKZcb~ak})%kZ<+Dc?Y?XFxM z{doFZI`@WAvxhD`F^o9mQF5Ynd?jxUe3|E^VkqU-Ebx(5ZdTk~xA}N-G|Yc9<;@sp zIk09pUnc9X_@0r}iO)a&2%4{=e2r8tT#&e+AS3z2JoVkd)zl6DV$cwYg_u6FE6_0? zQsJAIFS%W|@B_bPtp_k}Sam@{Z4UtJ;y`#qS)pan+;IM52)m^t7(IwU0w^s#01jQ_ zLzXR_R4jka>4cavagg3^9>6hN4gh|7Txr_Pz{V9|n64i}z89TPtS%Q=JY#fwl5Ook zD=w>r25$TYPIJrB;cNhI5~Y!^UEjQpz**hzzwv0mO5s4p1Q!B8J%3`kdp_b zxXE)MXXe|n2yF*X;?#aC|K;*xhvE*$bWa}<2*i17Pz(%auCQbQ*hbvtzOdcbS}#Fx z=~*dAM4(=C?F>$Cm#m;FpYl|$NBe4&@b4us**6|*IxzmH*yRj_;jK6LHglr+9Xq_2 z1XE7mU-}`%a7Ixym^OKNlziF$%3GIys$iK2sl!dKVdWaD5e`0FqZB^zy1Gb~Tcy}e zL~Hq*lvjgqdVvH-vTm1w2vu-SX98HW>iR@kNegRV{bO5TnKm*CPmlQ(5p9jy^ji@NPa-YFS)(ia$7 zfmMl4imtLYW|6_QsP|-VN}ScCvkZV!b0K)Wj##<<*29@M*Y8~Jdm;~XRzq??(zDEa~|(9EdDU8*wZxxR<((tL|e5! zQnO<&&NNf|m164p>BmJV+?)|`V1h9?VhiqudVa1P8Zr$%$(Cd1h2P~n-nxTK2|Y!N zeH&!r`@UdfOoY641G^~LahbxeM`U4eSPp+-KVhzfgZDyMX>Cx6b4vI!?H)#>O#1_J zoQrlw^DFF-+JE=q?D=nY)br^Wie}1+TasWpJ*q#eCi((q&;?Xr-me4HzTkDL`=X`% zqG|Z~#ts$yE3`bPe_P^O4J%3aZNlL08GZ>7**TK$JKR}?Fk@TLLUgHV$tE9R&sJm1 za=E9<2}yUwEVFjx?uC_aa$|RTx!A} zhWx@Oa9En>G~3qgFCI8IfxPPG!bUvK3SD@?kFULLcec=SPNNI^N5@@c4!PpF-bd|x z?QM2vUbL(7HQ}a9SLG@B%uX6LlPDYHB>8$|cg7G`3~f9OLtkD+6Z?@|uzIR`)om0r zFVc+K;qO5Vp5!Ynkps8OlLDO`6fDlEB>1>#TvtW+KNBeJ(0N8lD3#)7MkJfk*dvJ2 z^L+-SY^7^~oPP8>T4vet4r?FxVcAHg=$geE9}3bCuYKB#Hww2faUp^?t!1kS=$P!k zqw`oqYfWy&ZUMG^^#ot{OFctM&y zA??v#Ybs-Z*f6J(W!1koIQ45lc74gNy%3V+bw-QnyD*4U~pOUS@{2hK%sa~<8)m?4I zK57TcrRf$v4;I2c1EnVwCvWR7(D__uiBD$ON>0=B#Bhf9fSkT>g&Bf*KWz%gD(=Pe z_e$B)r-;M}Y8Z%9=2q_-4=k{H`8f?+#P?`4TmK_U0iEN9CYcMp45W#Kr#$aYjW)&M z8M-Xm>eqs(_=1v1Z7}%kXq{B=HqprGlxZ6lGIDDByDTrK({Q0y16xUqR*FY5M$?Yp z(!-t;!z}zI95h>B3ikf>yxQXICxKMQus$AT9aCn#TxvlL5VeesJv$P!4W6%**M(yp z%#Dc4)AqR^US~+Xb_#LF{hj+n_gF>B+Z`io^aHPI+E&i96(FSG*_XWP50dIfY!BvF z#M=euLU}Yfl*o@TEEYyOfc5gl;Fv*h2upqH_=l9MCH-zI?@2x(YFj+pPTH)rBT1u@ z?*Ds8LjlGLLfbvw8Q=88NDgR|yPc%5rAY2I1%^o+-;Gl@bcA;m1{i;fksaP2!6POY z@Io%AcJ;V2bd-dmI?Pa%VbmIGIGcl9X;lkIi%u8VbILn?N1_0@NwYKmV{X3tZG@_z z(hoWd4^J4z2MDJw@a58!Ugg>8QNiroPa^Irpy(->ZEoP*+M&VAk0G6V-V>=bmESq+ zb_|vYch{jD-62~YPXH(!x8{%KvyO*lne0HcW|Y$HSClyUKh^13a^O4povbiZ4Xe`0V_ zO?b5@d*MUy{2h5{4rZ=vLZggMPA9Kxxz>Zb$hgy!5ej+jhw6VWuXN&ODj%zjKTX7G zekhK4pw;JUIbzhZ8wQtNaHVYXba>p8`BL zglj5X=p*kVgLrEttiH3fYPK4JE{~d|KB|M3<)cc_rfZuyEgy@sdXGVoC#AQb0`q23 zxc`GOwJv`4q@kEPt@WBrJ;QG+`^8BLEPKR!IV|a`io^oeXBlL3LVt=^@Gc$@#$B@W z`91KPmPTvr2Su%t`vrJw#PBklNvdKhhHBCT5H>0i`cohq`wHtzyL0lN;u`Z1cty$= zUb66)$s?@()F*3QrM$u9Hdsi&+nqO{G%nzjWx)e$;jU$&hkgt& zNiSa$+vrQz}i^T0=r)1I-9X~UH!KpyI++%q z-P~&bK~F4!gbOL3Ry;ZvgI7A+W7Emw6ea7SgV-`i@ZNnkv&`ie~c6F_wjkZW$dhL-5_q3=lVcjM=p4958<1;OBK|D(XzlYI`{dWlzsl;|e}>$u%8b!RJO{uGh?-n`gcYN>r*_YrqDGNR*;rNjyYW5&H~G3o4KrZ?Jq zkbLK&QZb1)?IQy8xkxcn^>4$7-d^e>`Z^bkX z*JjGeM^G-T13N`850FDeHJ&vr;qvMig7Dg8``xjstayb+m*NE&f@Hi86B~8 zUabD14rtWP;UZPEd!!xdl*@WCyMJ)OSedb~%L_YW&?4F&w=1W?yQ-|4c2>FWr5IUq zlSy&`-a*U9??Wi;o1q^%%#!`~SmAb05p&{I*{O=o#JI&sIh(oVFFv*$-WL%!2X{%O z#FwMR8JlpX#Sdb{Z^dalC|%d*x}4$AR!bQAnSY|CbtO;LdBl0UcvxvH z7Bp;-?TqDLxlvcpDzjP6Q%k=JcZ)x?B_9|#_pLE;d?Mb@i{}?Ls!nsAkBp89kcWlz z3tVw$kJ^Z=rpv`e-jMmbqBX(9sFeTzqTZLH2!5$3;&lkHLUp+W3+sI$ba6rmxTV16_hI8TT_DGl_47**79v`y=8; zt?T*^fv>)$h-ll<+}fN}_wq67C4(BV>$!FteenO~0N7%)MBUlq zICv*|c-*JU>nT%Far3T<`9ek^&r2J>3IqNQ=0cteZDB@c;Thpc+dqjYNsa1GHewbz zFzOM7Q?%8!YkGM+$v_UE$?*=8P^8cUB$ZmW0MB&ey7bx4YLnN0 z`Cjn9jFE*XHNLX;>ODPIoAzCMkCwItO1nqSH9O%B6Fuc|@5(21l$m}+804hb6`u;3 zGTbr`P-M+D!c_kTcc!RMUApchBmP z-6wPoI1V6`gUgBGajQ2QY#7D$JqqOYRiwGc=9(a8liLyV{Be@{;iD<9Lk-n2(MN%< z+Qaj(TUO`ru7~z9tP8R?TtC5^u|L8ibR0Tm;j4pYg+xf$PL||J>2gEhqvjKt_o4g& z+AGAvKa|J6%!9xYQ&*4~rU`j9w*aOi|GcdPfU{oJHcpEvFWJ2hGrfft0uL?t`+zn5 z;wi?~izvbJ00tC*5Ro0@c^vz-Icu@np?{nnMo{ukc)hIL$#?If-W%6j_uTm4Foj9@ zPHs7`pnZ;Zj}mOgR_}I}Q5D2(^OX6+u%)UUwWpS@IiEGTJ2Yp_?e4l$AJ30`uju=8 ze{6?b3LK51L(8;mPA1tt*3qxK$WP=DO`1+*a z@1DN>&$J)Z50s$(c(y?!w%YDJEfCGQ`uw_e(D6+NQbUbqyN#=MYzGmaz6sp*EfcS_ z&rhSc3>*vAXgSJ*bxiM<_faG}IJml0e8g~G$IDfcR}9U1pAS%#Y;}-mbsMa&WsL^+ zGaKBEz~_0^ZXedlk=3u{y{C~ma8+#MQ1aw@fy+HXkhwL6W0JG=VT2Gp3gi{4_g;xB zN6UA_^4)Dp;Q>B(!WM{K%75r$4#Y&m3^`yCfL316h2J(^iJlgnkP~;DP z71N+`ZNY<1>VF}imAMq7`dDx%1-%}ni+(lCH5N_#hcn+bpew@vlhdL7!Go+iS!CmfN1?~c(7+b_FQL{ zev z(VPKlADpcu9MD$j8fLR?Y1c#CHgn73KPpXtnc^z&2#o?Llscd}w9?!>PJ84QA3dY!S zuitZ@579d|oRQ(VLA1o!kVe@-FLp*{F~@PEBW=4;?+LX9Qy`hc#s~6f`DM)rK||VE z@?7#r*}HtWpH{L`BA!rY2eRGwruO_(G{r>+7yHrfUBMchNOkYuh6!EtUG)8%!E)Vk zs=zE!TG*dP_PVmje7ocOwz$ngxDXq{oNIwewa|N0J19xQUDEbVDc$!r93n*9_?0GQ zLPU=hBf;~+E7!yp%#Y12A4l+h`yp@9ryuEkLypaj? zZvlHCNgGUwgXyOAWTUQ0!RVb(8xJlgJfPdDmSt=m9XpJc<8=;Lk-vE)ILJL&^{2G* zJ`8VC@gj#ogEw99)-@QSJ+Me9o1srqIPeTEo$4Hn101)zk<%ZDj#~%PTvzqt^71KY zJ-_}mQDPGyC0+sLtjetHhKj!=5i*+J`i&QRtVbfe&(x-SRCAY(eU~4*{-m4UR_Mg) za20g*JPN~`aDGBzdfG4g@AZ!_Kt?VoP_OWfD1Pt-n0&WPb1C{ETei_!vUnigX@Aoq ziOx1RRp8WI7BYN&vBhb1D6P6+Gr!Ra;Gq9?QZbaFdyet{#${oB`TyBvVW#Xt01>Kg ziyQ@QPntDDpIYHpF!^`kxY zrKLW21g2(i#`<8#t-|K0fS7}T^)`v3nQB%Vg7ROWF|oUL2JMP>cZ=<)^F9Z zD0xRX9j#pG2hG+K$*^Zz!g6IDM7>%__W1fwPgY8HLoH!wFrXP8I$nQSKNcky%9840 z2u%}(&Y;e_0~n#bTuElaXod%25!A0_l}ZDKxOtGFo{^Eu$DnY>lV%4ao5kJmBZGYN zmw&>PTf!TrX*U_C60A;nbWU3)-+@-UMfPZnh$68Nh4eQd2~L!P^8{>~ueJ_aFa{46 zaydF=g@y5QOslBRNu%N_ivo9ys87(}&DJ@>4{}3T#O`hxw`Js}v-O4n;2w}A$*`U# z*i&~TRz?aV#2w9H2HnF`7&zjGrP}G#{<24fJMXng7ys;XJOFSoGp-7P=0(DTSJ?HN zm9iciB>Umo*fjonY0d{d?SVBEkM5;8I>7e{#gKT*jOZ#;c7;LZUiITXH(q0zS=o<0 zA8i8!aO|UbE|12m^CPGtHyER`G~E%~DCIR|Lo?NkZ^l6V^@KcHIT}~vgRXiY|2c-V zo%^2&Uz4tEP)Bz{Cf#s513{LXNzwwe-ZrI#<^KO5o*fD_(f-Ezf_q%d9 zAF@0B=Wu`A_8(h455|n+S4h9UyXTiOens@Yp#c?>1R77Kq?JI0NmnP+hP`q?i4~zD z)vnE;k(mcJ;Y~ctvA`IGg`fPS*vfcLuIX^E1yoRay*oX$2Ua)ngj*H#lm~~xI2dNw zaxzohEN5N|LMcTrcxwT!=16%88eqj#m76;^M+W3+a~C+!!rtbe$H!LlU^)`|5~c_xVh5qUAk=vB8XGD+868 zsHJ1mib``sKgN_aYUZdnoCx-zxM@y28WwL%MCnK$1Yi)ET;Hay@m>5#;$_LnGVCJJ z{L3R^sw@ViAa5J*xK}fKOp5^*ks5sj)&_A3$SqdYu|8M6Ur-4#&a2NL@jj(GWXb7~ zlPd}@JJodmLu(vMfpIGBU2A)Q2j4faWIyOLK58y+o%LQ%v$Dv1X~VtWcu#?Vt0jaf zstLx`P4B)CADGgZI3VdyHdjmL@Q1IYguqq4UYyUf+f0$Y{&;IESlQzvWEPy?pNrs- zqxF1okT-RhmrpxIegNfZYCDgZ%mW6HQwU_^JU=sK(_OHaJ`VX@UuK$i!7?qktj_hM z^uG?XPr+!t3(fmqgNF`a^Um^V_Xar0QL?)Ss7Qm8B9&oPd%hq zepm&@wm?A1kt zwVZv<8It8Minro>#YU1r=Nop#sE00G7B!dEwZMoi-1M4(Sln}vF+ejECElv`EF{U& zdu#C_4LE|S=*?a9d8mM8N_jCz$NOuEUDA?U?)XSuc>Xt8{_y@Kj40>zN*pL)SRzETsZd}V$yk#>UnDa5-tVWV@Zc=k!V%+@u z8}Ykk-cIjKoZuXl2w5FRjlN1Mx1|pgj+REXUyXbD-{HqmVa#w8-FUg?+W1G?kQc*G zE)c*guG&6(9oJw6-&Y0>GGVVud@G~nFZOiSQJ6%uu5V?CggrI7Qrew#GIeMUideKe zX;!QI&OU$VimI`Q^6!6092nu7JHeUMlmYMKq^-7cXumhkY860vgCxyPFK>W=bFNS& zgv>BK#e@CYw=C4uPVzESnB(P_e31G4-;2uv040U+&aiHQVV0H5sjo8SctE9<0G_=$ zRy9>8+3G&|2KQR-j8R?6J2A9o&Qu!j$%OK1NDr@QZa)RmiA7-if{U!V&z>fwFtoXR1t zG!!aL0Lwcx!TL;%$@@Q*#6QYh&LmJ7iF1Lc=JQG5ruek4w-W=`zy+?KWlwCPC3u~K zb-T@agFZ!@p46Q6O}f4s(R^p-enKPg;!!rkQ>-h#cQ0KeionlRmof}Kd3?1%zd*$= z_y+d%>Y^m^;Q07gmxJE;vc0;=_vYFaqC2-0B`i+QUKW)6h~PcyCO6&fPGxgU-K#?8 z?(CMP`lW7nAMTcCLu`E!h^-%fTI%A3UQuO(dZ@qRC3{>T!^f%k1lsj z(LCuUR#+j*Q8(f{>FJ>Q^8&#KlYvvLonidlGxE~2hsOnN4~w%dKE^RHY8_q%T>ab; z^&~qH!G+RNAxFJ`H*~`j1U!06)~5cF`Qsa(|7Gr;{su911zz%{D8de_LY~$RZ?ux* zcf0VT7qQ+dIrrTagMFG^a#*5_OzEygqj4{9E*yw5FCpk(`KkMnCkZ_q<~>+iy+U~c zKUtcTamy+@6XJE7_gb=BZAkvE^TX{KggQ0Dn)TYN)^i2YAz`D3$-jT{-&gYxTm$Tm ztSg=sWH6xoWiS}@vP*YuK9;i`dc8-5lP@hMwomG$Q7-aX_2_ia6mCXSazx*ET;@Gi zP4g*a<+U$1WqWtPM(K)DUX?MS4!0RQrBrTL_w#d_N;ixbb)~4Q+DD%;l>#R8DTd0e zKTUmgY4=Ag5nKSMTe?!+*GK&9n{Zj)0w!<;Byg-+$$~tyn%I^qemK z@AMDucX?0WTsmi|;IRAkN_;751;&Ah5fP)zIlcYS(-ckDXs0DW0tos`d=qJHvs*fO z8>_f$g%DT=5~%r9_X@3B@%tl1Jl5#L*1CrlAL8MZW81@===_#;)9amzGzO%dGiaXd zO7zJ4HHfa;N66lp2Z6-wP|mX8^efB^RQmaY`=2YL230iC?TlpQt`kW7cSz{!)(SX?nvcpxKK~oTdunt#*uvcZBQ(HkZOt*G^ z90-7}M6}8N>wAG$wc#;{(GZQ?qBX6+P5$c!pspa9?R>f-=Ol(9>Pjh~uC$CJ8|=IV zD82l7omQm@{nc%{2N_7*Imom=!1D2CI9*9?5CMal|sNSfb5wW>I zW+i67A35?f0C-0m)KKB}Ue z%5$agq=|0}B3db`z4(U{4#(uIUs;I>HIr_`u)GvloUU6MwJmV=#&?%UOv{NMs<<{_ z(mWy%{rQ!m7P6o~@bybaARG9{{c9W`CK14`Yd-C}c0i4sc}Cg;dA*debMa$cs99bq z^7dZUaP4jSd08IfztDLna&oOa1B&XSc!u-DO zIi+P~x}H*oEABjDbQ=tUY!~R9rGGi*4r3NLX zm1&Fgdo901gt}kq!k3dG4d7mw;N~X9Vy{F;Zvl&Hk;kI&RCdIvb>)2Qj>;1&iQ8IR zK`B#Z)?fN%1KvU@&hwpj3Rv}yMu$7g>vr;rC*4+t+H@+1(0_?W{odz7d>VkD3iQZ{ zgLS41R~bdY`vu0#=DHvME8d|?C+J?_-|-F#f7y4#c#68wWnf)(w!DdGPcKZ!4D;CY zsjt70dwme2K<3?e_$>)iW0`=W{|=yoD7kiNO@4bOSr4S5ZYh`2xGI5Y$&J#VxOjgW zN4%oWd=a2_*+DR*tWR>??Dc}Bx#HhjH>WKYVA-f>$usnqhE=~@2Dh+Kmf-@6PsvRO z3e!qFt_|8CI?UQ0qr5MWBO<_6%e_P(nFB~SA19p-wwfMqj8|qP|HW+ZvW zFn;ayg^yqoRMIr0mwN_rF(mbcu&~c)QtyIH<5LHOn=x+Eq8%<}7`?sig>N|0WM%ea zsD&cg(04A;%Hn(yiff3HGOzO7op}08-KX}oEj=HNOSF(wljE~AMU|vSMj_qAKKOj7 z_hQbSMq<#({Ko5XhINoMI$tptp2Hsm%y#PFpq~1;K6Vbo#ePonMB5KR0irwh&ono6 zB7qYA8PtWSf6~;x#>5{9$j$?%l`;O8{$2_Ge$2Fh(X70%*kV68&Xl;&;8))g?J5}9 z6M=5@z9x9x{>_2I?bV+w*pw&1z^B}0EhgBkt(;VO5|)M?@*(D7<4m(7oWF6^XZ%{# z-)+lL%$ZD_*@aRfoEZfBqkVOrIkODrov%?dr+4xW1lce^hXj3lSDHZZ(`i6#n;MWH zubgrXfq3H*mLT`F(q{(RFDIOaTAf6(2I5vWuG4@GX#29>SR-Q*T-5``_-C1=e+vvg zkr*zxn5UQuZ!;y9rf)hhriaBD zY7e~fh7;_R^6&4ZPn=_4uynQp6#M%OI?M(T1MRI#$YLD(!6%`OcH)jfNy^^t#;G?j zJY=Itm-fl!zEwz~bA&1qAT+tI-lyg(PLTu3;|hE0)b~_DR%OgBf$9_rjQ-7fQkPd0%2-Ze)Jbh`dUFfj~vNmA1K9FEcFn=#Mehi{RDZ}ODLJQu=2~>@pp~lbE-B|nM&%n%HbJO6G&?(1x_^=$p$Tw42Tl! zv80aH*_Ub|t9D;sipij z7Pg(i>mTyyY0f+XIRm<_*mtA%PaP*3!foQuBIVc)h^z#ayDInF>BaV+jQtsMP&I$Q zs8Z-6UQAIE+M0)gqEBS}RZr2yRhX572+Zxsr^2~pwQIaA(A|7x>Br;4+TsjxMs92@ zm*zoG)#UZsBRE)_%cUm>y!!h}rw(mF={reoL^Gt@Q=huVgwP^Q2OMdC~Zo2stc1wte#?vkAAdm&G3JO$XLqVxmwW6tZozockZ%m=4VA1 zmW%UX_U9|*dJ2F{0ZyY#TEANM_zmjdfsT~*7n$F?i~j3Pr7OffzZ!N7ADL;Efna9= zyz+n`4_Wq0X+A&5a+Gq9aq5%1Qh$~+SMCS?X6@&G=YOrLQgPjv)qlbeHA1%8J5da} zj-xh%G{rWbr+VJ=Wc56xwq@2Bn9`;-`-|P~T2o)5$ZWeK2O3qc#U8r<0o6G6?oHKD zf6|%x-2(3IlQ;kDyuTl-SSE}uDnb@Ji#61=2pki;>Q6DXRb^yN_S!(D)vre1&vfjj zQ2hF1%gY56%#qjb1}j#%QfgqOd_>Uk*(>T86(+PL9v)^jQixl5?EZ!Q{=-;^fYr;c zTPI_+5}ZU^B-#*6S<`V}cB|Z`l$s`Zd@f z_Wg{bYVIaIpS?8AWpU{gMWB3WUTW3Ap{xyV=C?d!=lxwd{(aO2l?NFI1}4U>f`n^l z3Ci9MnRDKv&j%(X?k_XBU6U*nzS*gn@mcAQ{7p(TjsnNcTR)}avjYp(K+|ooy72Y8 znIyTKA7HI#|EF;KT@@6XGF;G$3i%R|+2l>OKO_2_90_RW<&mJ5wlpYRo?3N$B~4U^ zX8=>!&>L{hsgB>MgJ1+|`}{X8pTC{Zkx{m=T4V6h(zXPo$=V_+d7jd8q2L5>yxXCO zC&)xyn)_CgT3eqfT%FAe+v~-4_WZ&|`nHCw=@vO?mYIE?!c-7(>dwrsoNzEOzExwh z1Ds%IO|PPE|9+g17qC)ya?SECW_A;S4utwmENsxxv-3&Xh^BPG^}zNy(~rS1XyYiC zGjJN3((mw*x?gBhF;KZ0J_(;u;(GzT`y6>mjzgB4GQ*z8C!G$qU9nFz%BUhs=( zhxTxF|A?(sBB%@kr^5;rhs}fCA=?p5Qz|}7B57+YQYyXFfy$%PTv8d2qvhvZLG#Nr zR@C7sUsCH~EGI0Hr@yZg+-(@fgX=yQ^ac30@o&r&Kp5TEMc~K7-TkqTpt`wa#?=9W0_{F@tVqgCMo-@GxX9a*`ir&SrFfKO0_vl*w<@GqeQ6Dfkerg6Qewd zK}|!2n(|0u$>TShgTtB&9n>dbfj2o*Fcr^pH~frQ7(3#oml@R&O$f9 zp3W7|>wwU?;z~p+cUJ_YF?K>f=!TFh@+s=e?@KZQoT^Mp=Zxs~m*fam)V_wTD5PAp z?l!i;GAgHY<_mHW7)H#Nj40-p4}2^xUz=$79G zP|0T?YK8QAs)a6Oe1YPYCP5^-GJOQ&b*0CD?jhhA!N2HwMMTcFi4}0D-)xZXU*^%9 z`4B%9EwL44a4MZ^k7#cTEfKFo(63&pGxc`(>D1K;fGas0x9l$A%9uAW!`@;!cijTe zwrV0Lz6OfM2p2Ld;^u(tzEQ;$mcG$RR_BbwbS3cnX8YNSBVj^;8D}+VY@$F0-#G?w z>|4OhS`VcUz0Ua#kcLBT&njJ?fXM@C-2dqCsW-!4F}`3BHwgG4K}Li`O>1nBV@)!+ z`b|}|DvR(4E^p8}kRexMpPKQ}g3U&ImPqiLm6btKIE04o;`Bkx$eQ;i8U`g9<8v?l zVnZA7m1!Z#_+`Tb>06WExMgB~VIra}I?NSR^>$b)qQkJ4p^FNN$Wt@fFmkf9urVqo z`12-9>RT{uw24av-!_XH(|=XnaL#f7%J7;M6X&=OZb5K?ugoPU{`wRK@F><-t7|mX z&-p0)0m}$_Vo^(mZq%SbReo*RJRBu(;Un!tkGsGTSAq0%mS0F`c$5sge9?cu0h0Ov z?gYAa+wDf`%_h_QlQ%oPr|)bq*wV~!pyT54bWrcL+m>bAl^S93BH#}Vu(-pDesbT*@;!-@$VJq z?{W?N9-&~PWz2n>b{E?51Y(mTh4KZTDI-5~@6-D*synnNUL0xelQ7G;*i1$leP@Ix zljo_VTzs&POLW9iIsqWPuBjZp{Qf_R3f~47A~KPt+se_yUk7&#H_}v&V)(ny2HmGc zg0Q2R9DgN&8b?uGzKys7;~J+*v?Aa_e<`h%TI=SWB#eLDb$swM)0XMKZyp_|8W#2x zChp4wrn3YqZ&$6Z{(ysL5o4S_Zw;cmH>ObhKgtbBeHD0QU%MVj(ph(@I2E2(i#qk$iVr1oB-J;jkVjvejilp# zmL4FUyUUCDMhL71IjL6*dejKuG-6lScw2tqSRnt)`x(RkT2S~=wu27-!8xa*)QwR4 z!QY$;;+y15ty*$O#57}He{^f__;9l=UWt?_)+|g*SI0Z}yY`W)@c;Zobv!IIPt2_N zm7%l~#;vB$>NTLSmrr~+pfMZ34qK4Kx&_N_mctWUU9d9CAZb>F4@7r-Kcsvx0q&E< z|9YQ5uZ8htBGy>~$C+VYkXhu>)46LVa4duLZ2t%ewS*%|Mh6vNWZb9g zXf$Kn8Z~puGf8!-E))yo-PKxF*8ZQjs*nuUpn~T5X;d43Y({k=D0iLU+vPw%6#Y0} z8GkSe6^c3GBH6gWnBnUmmWV82b_%j5L`&)h9+f+-_Jnqqopml9zf7}Th;GFpAPz@_Tm`TRs(Q9`Kx5$7CB-ze~Q3BdHlRaU4&hFBWRE_ z4S(7Z-bYbixf_@4oPQYb%+#tl)yCWKe=W5*U9Q~O0hcMe=KbKffViAQqJzpmU+2Ln zop=6bPKhbqp~l>BIh8a^t0ch~Y9rA<-D76=M~ByJEoD`bVky0 zO2WADW2ju1(Z&;e=aJvmD<{kQ70=?TK>-0g>I;$IBdVm9gy2BBDp{8B#ze9G+cp_#T5E^P`uR*9`@5{HnTl3%q?(X#U=mZ-h4Vd7o}WmfLq%l|_oQU1nZC*#9Ir zT0w*Y3cAi_n%zQ&r4NCzfVAK?zV=ugyqPxw8j4LGCEwm4s(@+VlM0L}rFuq7)LvH9qK9ohB2jJYTd)?R zicqpYKDW`U=e+E?{l{tfwt(aMkRzn@?AH!y97jvMp9t?f|>qDb`4lf6~}5BkAo zyx;%>{qyz8#aJleY92~CY@>2~2tf%*vmHml15kJk4p4%D$FCVHW2f}3ewo`%UtraS zotxXgSV1x!Z61(SINVz9H0IU3xfHbdl$&-2)ed0%M7QtGwI|4Mcn*AQ7 zl?rj$wl_Ov+(tJwymPiISrhjVvoiU6C%oa?02miKsX$QrT7*4HyibAFPfuba1a_J< zTc3Bn6zQ{rv1HTeRthM|w&(R$bu13z%2H=6Bfs{OMF+@l{50^3Cu$xa1p}FPOppCq z@f2tUBb8ntZ6AvBu1547_NG`MPqZ$yhx~fH8;GT+!Rg~pglo4^EGpX}S%I;^TlKj7 z`uV-?zT~sOmJ3!8@IO&KQyShXpuvWX7wX5jD6AI>2E{#9eXGcTNbI7BHg`n6DIH2F z)xs3Ek}3WyHhg*~2W|GNK4KNb%C9?IcBmekugOkXLam?T1t#y8f8nof&Ao0fH zl*jT607Ga3$~a|->CA|EJE)w47=9mOgI^2WhXp3&c&#nrS@Niwtu-c|Mn9r4yAe=T z(;uXcLm@HY!U*zxx=)9@3P?1a>q@3Hf8gz||p3Dv`PH2U1s1ZRU7 z)#kzkf9)IqFNqeEqWg8YeNOfJaNFoOErusZ%+X`OMjFju>M8UxFQ

NHxN1P$Ir) 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

@S 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

AWwHID-NRJR#gWhC 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

-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�f09B9g@ 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�WASs3>5S>|F~<5z_ob4d?kE-IVw4%ejrsbHox`9 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

7vtf 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

0|}E<@Fo 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 B3xfav diff --git a/docs/screenshots/details.png b/docs/screenshots/details.png deleted file mode 100644 index 7fc82e46ad65846e0f901a692ad66f29a494ffc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40432 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 diff --git a/docs/screenshots/phishing_playbook.png b/docs/screenshots/phishing_playbook.png deleted file mode 100644 index 7660390ac6e9fdd6ade06805e94038dd75e1ae53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25747 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 diff --git a/docs/screenshots/playbooks.png b/docs/screenshots/playbooks.png deleted file mode 100644 index 8394dde4e4e1365ec8b7cc24626c70ff48ec4b6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201614 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

{~mW^>9P;15Y!J9 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

  • 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∨>AST-O2n^>;CcOrmYn&pMtyMT!zFFE(%3Gs7MC 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

    >y$>+gKC`9R1**eJ&wc8}DP1}6PpSYKo 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 z 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%0AFYy=k!Ix0gim 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 aP#>7AmWJg~P?O_fx!rS$R#w1Wh0 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

    rFTNqYh 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/template.png b/docs/screenshots/template.png deleted file mode 100644 index 12660c79f07b2d9f30ea824d8a7fedf0bc99033b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264037 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

  • ?&J|QM}41!~71b4FL!Z@f4 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

    M^aHoiF?!$IMI2i_c%q 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/community.yml -spruce merge definition/*.yaml definition/enterprise/*.yaml >generated/catalyst.yml - -echo generate caql parser and lexer -cd definition || exit -# antlr 4.10.1 -antlr -Dlanguage=Go -o ../generated/caql/parser CAQLParser.g4 CAQLLexer.g4 -antlr -Dlanguage=JavaScript -o ../ui/src/suggestions/grammar CAQLParser.g4 CAQLLexer.g4 -cd .. - -echo generate json -# openapi-generator 6.0.0 -openapi-generator generate -i generated/community.yml -o generated -g openapi -mv generated/openapi.json generated/community.json -openapi-generator generate -i generated/catalyst.yml -o generated -g openapi -mv generated/openapi.json generated/catalyst.json - -echo generate server and tests -swagger-go-chi generated/community.yml generated -rm -rf generated/auth generated/cli -find generated -type f -name "*.go" -print0 | xargs -0 sed -i '' -e 's#"github.com/go-chi/chi"#"github.com/go-chi/chi/v5"#g' - -echo generate typescript client -openapi-generator generate -i generated/catalyst.yml -o ui/src/client -g typescript-axios --artifact-version 1.0.0-SNAPSHOT - -rm -rf gen -rm -rf generated/models/old -rm -rf generated/.openapi-generator generated/.openapi-generator-ignore generated/README.md -rm -rf ui/src/client/.openapi-generator ui/src/client/git_push.sh ui/src/client/.gitignore ui/src/client/.openapi-generator-ignore - -gofmt -w -r 'interface{} -> any' . -go mod tidy -gci write --Section Standard --Section Default --Section "Prefix(github.com/SecurityBrewery/catalyst)" . -cd ../.. diff --git a/generated/api/api.go b/generated/api/api.go deleted file mode 100755 index ddd24b2..0000000 --- a/generated/api/api.go +++ /dev/null @@ -1,192 +0,0 @@ -package api - -import ( - "bytes" - "encoding/json" - "errors" - "fmt" - "net/http" - "strconv" - - "github.com/go-chi/chi/v5" - "github.com/xeipuuv/gojsonschema" -) - -type HTTPError struct { - Status int - Internal error -} - -func (e *HTTPError) Error() string { - return fmt.Sprintf("HTTPError(%d): %s", e.Status, e.Internal) -} - -func (e *HTTPError) Unwrap() error { - return e.Internal -} - -func parseURLInt64(r *http.Request, s string) (int64, error) { - i, err := strconv.ParseInt(chi.URLParam(r, s), 10, 64) - if err != nil { - return 0, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return i, nil -} - -func parseURLInt(r *http.Request, s string) (int, error) { - i, err := strconv.Atoi(chi.URLParam(r, s)) - if err != nil { - return 0, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return i, nil -} - -func parseQueryInt(r *http.Request, s string) (int, error) { - i, err := strconv.Atoi(r.URL.Query().Get(s)) - if err != nil { - return 0, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return i, nil -} - -func parseQueryBool(r *http.Request, s string) (bool, error) { - b, err := strconv.ParseBool(r.URL.Query().Get(s)) - if err != nil { - return false, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return b, nil -} - -func parseQueryStringArray(r *http.Request, key string) ([]string, error) { - stringArray, ok := r.URL.Query()[key] - if !ok { - return nil, nil - } - return removeEmpty(stringArray), nil -} - -func removeEmpty(l []string) []string { - var stringArray []string - for _, s := range l { - if s == "" { - continue - } - stringArray = append(stringArray, s) - } - - return stringArray -} - -func parseQueryBoolArray(r *http.Request, key string) ([]bool, error) { - stringArray, ok := r.URL.Query()[key] - if !ok { - return nil, nil - } - var boolArray []bool - for _, s := range stringArray { - if s == "" { - continue - } - b, err := strconv.ParseBool(s) - if err != nil { - return nil, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - boolArray = append(boolArray, b) - } - - return boolArray, nil -} - -func parseQueryOptionalInt(r *http.Request, key string) (*int, error) { - s := r.URL.Query().Get(key) - if s == "" { - return nil, nil - } - - i, err := strconv.Atoi(s) - if err != nil { - return nil, fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return &i, nil -} - -func parseQueryOptionalStringArray(r *http.Request, key string) ([]string, error) { - return parseQueryStringArray(r, key) -} - -func parseQueryOptionalBoolArray(r *http.Request, key string) ([]bool, error) { - return parseQueryBoolArray(r, key) -} - -func parseBody(b []byte, i any) error { - dec := json.NewDecoder(bytes.NewBuffer(b)) - err := dec.Decode(i) - if err != nil { - return fmt.Errorf("%w", &HTTPError{http.StatusUnprocessableEntity, err}) - } - return nil -} - -func JSONError(w http.ResponseWriter, err error) { - JSONErrorStatus(w, http.StatusInternalServerError, err) -} - -func JSONErrorStatus(w http.ResponseWriter, status int, err error) { - w.WriteHeader(status) - b, _ := json.Marshal(map[string]string{"error": err.Error()}) - w.Write(b) -} - -func response(w http.ResponseWriter, v any, err error) { - if err != nil { - var httpError *HTTPError - if errors.As(err, &httpError) { - JSONErrorStatus(w, httpError.Status, httpError.Internal) - return - } - JSONError(w, err) - return - } - - if v == nil { - w.WriteHeader(http.StatusNoContent) - return - } - w.WriteHeader(http.StatusOK) - b, _ := json.Marshal(v) - w.Write(b) -} - -func validateSchema(body []byte, schema *gojsonschema.Schema, w http.ResponseWriter) bool { - jl := gojsonschema.NewBytesLoader(body) - validationResult, err := schema.Validate(jl) - if err != nil { - JSONError(w, err) - return true - } - if !validationResult.Valid() { - w.WriteHeader(http.StatusUnprocessableEntity) - - var validationErrors []string - for _, valdiationError := range validationResult.Errors() { - validationErrors = append(validationErrors, valdiationError.String()) - } - - b, _ := json.Marshal(map[string]any{"error": "wrong input", "errors": validationErrors}) - w.Write(b) - return true - } - return false -} - -func NilMiddleware() func(next http.Handler) http.Handler { - return func(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - next.ServeHTTP(w, r) - }) - } -} - -func IgnoreRoles(_ []string) func(next http.Handler) http.Handler { - return NilMiddleware() -} diff --git a/generated/api/server.go b/generated/api/server.go deleted file mode 100755 index 2bd1186..0000000 --- a/generated/api/server.go +++ /dev/null @@ -1,1235 +0,0 @@ -package api - -import ( - "context" - "io" - "net/http" - - "github.com/go-chi/chi/v5" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -type Service interface { - ListAutomations(context.Context) ([]*model.AutomationResponse, error) - CreateAutomation(context.Context, *model.AutomationForm) (*model.AutomationResponse, error) - GetAutomation(context.Context, string) (*model.AutomationResponse, error) - UpdateAutomation(context.Context, string, *model.AutomationForm) (*model.AutomationResponse, error) - DeleteAutomation(context.Context, string) error - CurrentUser(context.Context) (*model.UserResponse, error) - CurrentUserData(context.Context) (*model.UserDataResponse, error) - UpdateCurrentUserData(context.Context, *model.UserData) (*model.UserDataResponse, error) - DashboardData(context.Context, string, *string) (map[string]any, error) - ListDashboards(context.Context) ([]*model.DashboardResponse, error) - CreateDashboard(context.Context, *model.Dashboard) (*model.DashboardResponse, error) - GetDashboard(context.Context, string) (*model.DashboardResponse, error) - UpdateDashboard(context.Context, string, *model.Dashboard) (*model.DashboardResponse, error) - DeleteDashboard(context.Context, string) error - ListJobs(context.Context) ([]*model.JobResponse, error) - RunJob(context.Context, *model.JobForm) (*model.JobResponse, error) - GetJob(context.Context, string) (*model.JobResponse, error) - UpdateJob(context.Context, string, *model.JobUpdate) (*model.JobResponse, error) - GetLogs(context.Context, string) ([]*model.LogEntry, error) - ListPlaybooks(context.Context) ([]*model.PlaybookTemplateResponse, error) - CreatePlaybook(context.Context, *model.PlaybookTemplateForm) (*model.PlaybookTemplateResponse, error) - GetPlaybook(context.Context, string) (*model.PlaybookTemplateResponse, error) - UpdatePlaybook(context.Context, string, *model.PlaybookTemplateForm) (*model.PlaybookTemplateResponse, error) - DeletePlaybook(context.Context, string) error - GetSettings(context.Context) (*model.SettingsResponse, error) - SaveSettings(context.Context, *model.Settings) (*model.SettingsResponse, error) - GetStatistics(context.Context) (*model.Statistics, error) - ListTasks(context.Context) ([]*model.TaskWithContext, error) - ListTemplates(context.Context) ([]*model.TicketTemplateResponse, error) - CreateTemplate(context.Context, *model.TicketTemplateForm) (*model.TicketTemplateResponse, error) - GetTemplate(context.Context, string) (*model.TicketTemplateResponse, error) - UpdateTemplate(context.Context, string, *model.TicketTemplateForm) (*model.TicketTemplateResponse, error) - DeleteTemplate(context.Context, string) error - ListTickets(context.Context, *string, *int, *int, []string, []bool, *string) (*model.TicketList, error) - CreateTicket(context.Context, *model.TicketForm) (*model.TicketResponse, error) - CreateTicketBatch(context.Context, *model.TicketFormArray) error - GetTicket(context.Context, int64) (*model.TicketWithTickets, error) - UpdateTicket(context.Context, int64, *model.Ticket) (*model.TicketWithTickets, error) - DeleteTicket(context.Context, int64) error - AddArtifact(context.Context, int64, *model.Artifact) (*model.TicketWithTickets, error) - GetArtifact(context.Context, int64, string) (*model.Artifact, error) - SetArtifact(context.Context, int64, string, *model.Artifact) (*model.TicketWithTickets, error) - RemoveArtifact(context.Context, int64, string) (*model.TicketWithTickets, error) - EnrichArtifact(context.Context, int64, string, *model.EnrichmentForm) (*model.TicketWithTickets, error) - RunArtifact(context.Context, int64, string, string) error - AddComment(context.Context, int64, *model.CommentForm) (*model.TicketWithTickets, error) - RemoveComment(context.Context, int64, int) (*model.TicketWithTickets, error) - AddTicketPlaybook(context.Context, int64, *model.PlaybookTemplateForm) (*model.TicketWithTickets, error) - RemoveTicketPlaybook(context.Context, int64, string) (*model.TicketWithTickets, error) - SetTaskData(context.Context, int64, string, string, map[string]any) (*model.TicketWithTickets, error) - CompleteTask(context.Context, int64, string, string, map[string]any) (*model.TicketWithTickets, error) - SetTaskOwner(context.Context, int64, string, string, string) (*model.TicketWithTickets, error) - RunTask(context.Context, int64, string, string) error - SetReferences(context.Context, int64, *model.ReferenceArray) (*model.TicketWithTickets, error) - SetSchema(context.Context, int64, string) (*model.TicketWithTickets, error) - LinkTicket(context.Context, int64, int64) (*model.TicketWithTickets, error) - UnlinkTicket(context.Context, int64, int64) (*model.TicketWithTickets, error) - ListTicketTypes(context.Context) ([]*model.TicketTypeResponse, error) - CreateTicketType(context.Context, *model.TicketTypeForm) (*model.TicketTypeResponse, error) - GetTicketType(context.Context, string) (*model.TicketTypeResponse, error) - UpdateTicketType(context.Context, string, *model.TicketTypeForm) (*model.TicketTypeResponse, error) - DeleteTicketType(context.Context, string) error - ListUserData(context.Context) ([]*model.UserDataResponse, error) - GetUserData(context.Context, string) (*model.UserDataResponse, error) - UpdateUserData(context.Context, string, *model.UserData) (*model.UserDataResponse, error) - ListUsers(context.Context) ([]*model.UserResponse, error) - CreateUser(context.Context, *model.UserForm) (*model.NewUserResponse, error) - GetUser(context.Context, string) (*model.UserResponse, error) - UpdateUser(context.Context, string, *model.UserForm) (*model.UserResponse, error) - DeleteUser(context.Context, string) error -} - -func NewServer(service Service, roleAuth func([]string) func(http.Handler) http.Handler, middlewares ...func(http.Handler) http.Handler) chi.Router { - r := chi.NewRouter() - r.Use(middlewares...) - - s := &server{service} - - r.With(roleAuth([]string{"automation:read"})).Get("/automations", s.listAutomationsHandler) - r.With(roleAuth([]string{"automation:write"})).Post("/automations", s.createAutomationHandler) - r.With(roleAuth([]string{"automation:read"})).Get("/automations/{id}", s.getAutomationHandler) - r.With(roleAuth([]string{"automation:write"})).Put("/automations/{id}", s.updateAutomationHandler) - r.With(roleAuth([]string{"automation:write"})).Delete("/automations/{id}", s.deleteAutomationHandler) - r.With(roleAuth([]string{"currentuser:read"})).Get("/currentuser", s.currentUserHandler) - r.With(roleAuth([]string{"currentuserdata:read"})).Get("/currentuserdata", s.currentUserDataHandler) - r.With(roleAuth([]string{"currentuserdata:write"})).Put("/currentuserdata", s.updateCurrentUserDataHandler) - r.With(roleAuth([]string{"dashboard:read"})).Get("/dashboard/data", s.dashboardDataHandler) - r.With(roleAuth([]string{"dashboard:read"})).Get("/dashboards", s.listDashboardsHandler) - r.With(roleAuth([]string{"dashboard:write"})).Post("/dashboards", s.createDashboardHandler) - r.With(roleAuth([]string{"dashboard:read"})).Get("/dashboards/{id}", s.getDashboardHandler) - r.With(roleAuth([]string{"dashboard:write"})).Put("/dashboards/{id}", s.updateDashboardHandler) - r.With(roleAuth([]string{"dashboard:write"})).Delete("/dashboards/{id}", s.deleteDashboardHandler) - r.With(roleAuth([]string{"job:read"})).Get("/jobs", s.listJobsHandler) - r.With(roleAuth([]string{"job:write"})).Post("/jobs", s.runJobHandler) - r.With(roleAuth([]string{"job:read"})).Get("/jobs/{id}", s.getJobHandler) - r.With(roleAuth([]string{"job:write"})).Put("/jobs/{id}", s.updateJobHandler) - r.With(roleAuth([]string{"log:read"})).Get("/logs/{reference}", s.getLogsHandler) - r.With(roleAuth([]string{"playbook:read"})).Get("/playbooks", s.listPlaybooksHandler) - r.With(roleAuth([]string{"playbook:write"})).Post("/playbooks", s.createPlaybookHandler) - r.With(roleAuth([]string{"playbook:read"})).Get("/playbooks/{id}", s.getPlaybookHandler) - r.With(roleAuth([]string{"playbook:write"})).Put("/playbooks/{id}", s.updatePlaybookHandler) - r.With(roleAuth([]string{"playbook:write"})).Delete("/playbooks/{id}", s.deletePlaybookHandler) - r.With(roleAuth([]string{"settings:read"})).Get("/settings", s.getSettingsHandler) - r.With(roleAuth([]string{"settings:write"})).Post("/settings", s.saveSettingsHandler) - r.With(roleAuth([]string{"ticket:read"})).Get("/statistics", s.getStatisticsHandler) - r.With(roleAuth([]string{"ticket:read"})).Get("/tasks", s.listTasksHandler) - r.With(roleAuth([]string{"template:read"})).Get("/templates", s.listTemplatesHandler) - r.With(roleAuth([]string{"template:write"})).Post("/templates", s.createTemplateHandler) - r.With(roleAuth([]string{"template:read"})).Get("/templates/{id}", s.getTemplateHandler) - r.With(roleAuth([]string{"template:write"})).Put("/templates/{id}", s.updateTemplateHandler) - r.With(roleAuth([]string{"template:write"})).Delete("/templates/{id}", s.deleteTemplateHandler) - r.With(roleAuth([]string{"ticket:read"})).Get("/tickets", s.listTicketsHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets", s.createTicketHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/batch", s.createTicketBatchHandler) - r.With(roleAuth([]string{"ticket:read"})).Get("/tickets/{id}", s.getTicketHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}", s.updateTicketHandler) - r.With(roleAuth([]string{"ticket:delete"})).Delete("/tickets/{id}", s.deleteTicketHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/artifacts", s.addArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Get("/tickets/{id}/artifacts/{name}", s.getArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/artifacts/{name}", s.setArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Delete("/tickets/{id}/artifacts/{name}", s.removeArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/artifacts/{name}/enrich", s.enrichArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/artifacts/{name}/run/{automation}", s.runArtifactHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/comments", s.addCommentHandler) - r.With(roleAuth([]string{"ticket:write"})).Delete("/tickets/{id}/comments/{commentID}", s.removeCommentHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/playbooks", s.addTicketPlaybookHandler) - r.With(roleAuth([]string{"ticket:write"})).Delete("/tickets/{id}/playbooks/{playbookID}", s.removeTicketPlaybookHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/playbooks/{playbookID}/task/{taskID}", s.setTaskDataHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/playbooks/{playbookID}/task/{taskID}/complete", s.completeTaskHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/playbooks/{playbookID}/task/{taskID}/owner", s.setTaskOwnerHandler) - r.With(roleAuth([]string{"ticket:write"})).Post("/tickets/{id}/playbooks/{playbookID}/task/{taskID}/run", s.runTaskHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/references", s.setReferencesHandler) - r.With(roleAuth([]string{"ticket:write"})).Put("/tickets/{id}/schema", s.setSchemaHandler) - r.With(roleAuth([]string{"ticket:write"})).Patch("/tickets/{id}/tickets", s.linkTicketHandler) - r.With(roleAuth([]string{"ticket:write"})).Delete("/tickets/{id}/tickets", s.unlinkTicketHandler) - r.With(roleAuth([]string{"tickettype:read"})).Get("/tickettypes", s.listTicketTypesHandler) - r.With(roleAuth([]string{"tickettype:write"})).Post("/tickettypes", s.createTicketTypeHandler) - r.With(roleAuth([]string{"tickettype:read"})).Get("/tickettypes/{id}", s.getTicketTypeHandler) - r.With(roleAuth([]string{"tickettype:write"})).Put("/tickettypes/{id}", s.updateTicketTypeHandler) - r.With(roleAuth([]string{"tickettype:write"})).Delete("/tickettypes/{id}", s.deleteTicketTypeHandler) - r.With(roleAuth([]string{"userdata:read"})).Get("/userdata", s.listUserDataHandler) - r.With(roleAuth([]string{"userdata:read"})).Get("/userdata/{id}", s.getUserDataHandler) - r.With(roleAuth([]string{"userdata:write"})).Put("/userdata/{id}", s.updateUserDataHandler) - r.With(roleAuth([]string{"user:read"})).Get("/users", s.listUsersHandler) - r.With(roleAuth([]string{"user:write"})).Post("/users", s.createUserHandler) - r.With(roleAuth([]string{"user:read"})).Get("/users/{id}", s.getUserHandler) - r.With(roleAuth([]string{"user:write"})).Put("/users/{id}", s.updateUserHandler) - r.With(roleAuth([]string{"user:write"})).Delete("/users/{id}", s.deleteUserHandler) - return r -} - -type server struct { - service Service -} - -func (s *server) listAutomationsHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListAutomations(r.Context()) - response(w, result, err) -} - -func (s *server) createAutomationHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.AutomationFormSchema, w) { - return - } - - var automationP *model.AutomationForm - if err := parseBody(body, &automationP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateAutomation(r.Context(), automationP) - response(w, result, err) -} - -func (s *server) getAutomationHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetAutomation(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateAutomationHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.AutomationFormSchema, w) { - return - } - - var automationP *model.AutomationForm - if err := parseBody(body, &automationP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateAutomation(r.Context(), idP, automationP) - response(w, result, err) -} - -func (s *server) deleteAutomationHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeleteAutomation(r.Context(), idP)) -} - -func (s *server) currentUserHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.CurrentUser(r.Context()) - response(w, result, err) -} - -func (s *server) currentUserDataHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.CurrentUserData(r.Context()) - response(w, result, err) -} - -func (s *server) updateCurrentUserDataHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.UserDataSchema, w) { - return - } - - var userdataP *model.UserData - if err := parseBody(body, &userdataP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateCurrentUserData(r.Context(), userdataP) - response(w, result, err) -} - -func (s *server) dashboardDataHandler(w http.ResponseWriter, r *http.Request) { - aggregationP := r.URL.Query().Get("aggregation") - - filterP := r.URL.Query().Get("filter") - - result, err := s.service.DashboardData(r.Context(), aggregationP, &filterP) - response(w, result, err) -} - -func (s *server) listDashboardsHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListDashboards(r.Context()) - response(w, result, err) -} - -func (s *server) createDashboardHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.DashboardSchema, w) { - return - } - - var templateP *model.Dashboard - if err := parseBody(body, &templateP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateDashboard(r.Context(), templateP) - response(w, result, err) -} - -func (s *server) getDashboardHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetDashboard(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateDashboardHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.DashboardSchema, w) { - return - } - - var dashboardP *model.Dashboard - if err := parseBody(body, &dashboardP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateDashboard(r.Context(), idP, dashboardP) - response(w, result, err) -} - -func (s *server) deleteDashboardHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeleteDashboard(r.Context(), idP)) -} - -func (s *server) listJobsHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListJobs(r.Context()) - response(w, result, err) -} - -func (s *server) runJobHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.JobFormSchema, w) { - return - } - - var jobP *model.JobForm - if err := parseBody(body, &jobP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.RunJob(r.Context(), jobP) - response(w, result, err) -} - -func (s *server) getJobHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetJob(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateJobHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.JobUpdateSchema, w) { - return - } - - var jobP *model.JobUpdate - if err := parseBody(body, &jobP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateJob(r.Context(), idP, jobP) - response(w, result, err) -} - -func (s *server) getLogsHandler(w http.ResponseWriter, r *http.Request) { - referenceP := chi.URLParam(r, "reference") - - result, err := s.service.GetLogs(r.Context(), referenceP) - response(w, result, err) -} - -func (s *server) listPlaybooksHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListPlaybooks(r.Context()) - response(w, result, err) -} - -func (s *server) createPlaybookHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.PlaybookTemplateFormSchema, w) { - return - } - - var playbookP *model.PlaybookTemplateForm - if err := parseBody(body, &playbookP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreatePlaybook(r.Context(), playbookP) - response(w, result, err) -} - -func (s *server) getPlaybookHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetPlaybook(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updatePlaybookHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.PlaybookTemplateFormSchema, w) { - return - } - - var playbookP *model.PlaybookTemplateForm - if err := parseBody(body, &playbookP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdatePlaybook(r.Context(), idP, playbookP) - response(w, result, err) -} - -func (s *server) deletePlaybookHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeletePlaybook(r.Context(), idP)) -} - -func (s *server) getSettingsHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.GetSettings(r.Context()) - response(w, result, err) -} - -func (s *server) saveSettingsHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.SettingsSchema, w) { - return - } - - var settingsP *model.Settings - if err := parseBody(body, &settingsP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SaveSettings(r.Context(), settingsP) - response(w, result, err) -} - -func (s *server) getStatisticsHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.GetStatistics(r.Context()) - response(w, result, err) -} - -func (s *server) listTasksHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListTasks(r.Context()) - response(w, result, err) -} - -func (s *server) listTemplatesHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListTemplates(r.Context()) - response(w, result, err) -} - -func (s *server) createTemplateHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketTemplateFormSchema, w) { - return - } - - var templateP *model.TicketTemplateForm - if err := parseBody(body, &templateP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateTemplate(r.Context(), templateP) - response(w, result, err) -} - -func (s *server) getTemplateHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetTemplate(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateTemplateHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketTemplateFormSchema, w) { - return - } - - var templateP *model.TicketTemplateForm - if err := parseBody(body, &templateP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateTemplate(r.Context(), idP, templateP) - response(w, result, err) -} - -func (s *server) deleteTemplateHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeleteTemplate(r.Context(), idP)) -} - -func (s *server) listTicketsHandler(w http.ResponseWriter, r *http.Request) { - typeP := r.URL.Query().Get("type") - - offsetP, err := parseQueryOptionalInt(r, "offset") - if err != nil { - JSONError(w, err) - return - } - - countP, err := parseQueryOptionalInt(r, "count") - if err != nil { - JSONError(w, err) - return - } - - sortP, err := parseQueryOptionalStringArray(r, "sort") - if err != nil { - JSONError(w, err) - return - } - - descP, err := parseQueryOptionalBoolArray(r, "desc") - if err != nil { - JSONError(w, err) - return - } - - queryP := r.URL.Query().Get("query") - - result, err := s.service.ListTickets(r.Context(), &typeP, offsetP, countP, sortP, descP, &queryP) - response(w, result, err) -} - -func (s *server) createTicketHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketFormSchema, w) { - return - } - - var ticketP *model.TicketForm - if err := parseBody(body, &ticketP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateTicket(r.Context(), ticketP) - response(w, result, err) -} - -func (s *server) createTicketBatchHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketFormArraySchema, w) { - return - } - - var ticketP *model.TicketFormArray - if err := parseBody(body, &ticketP); err != nil { - JSONError(w, err) - return - } - - response(w, nil, s.service.CreateTicketBatch(r.Context(), ticketP)) -} - -func (s *server) getTicketHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - result, err := s.service.GetTicket(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateTicketHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketSchema, w) { - return - } - - var ticketP *model.Ticket - if err := parseBody(body, &ticketP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateTicket(r.Context(), idP, ticketP) - response(w, result, err) -} - -func (s *server) deleteTicketHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - response(w, nil, s.service.DeleteTicket(r.Context(), idP)) -} - -func (s *server) addArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.ArtifactSchema, w) { - return - } - - var artifactP *model.Artifact - if err := parseBody(body, &artifactP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.AddArtifact(r.Context(), idP, artifactP) - response(w, result, err) -} - -func (s *server) getArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - nameP := chi.URLParam(r, "name") - - result, err := s.service.GetArtifact(r.Context(), idP, nameP) - response(w, result, err) -} - -func (s *server) setArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - nameP := chi.URLParam(r, "name") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.ArtifactSchema, w) { - return - } - - var artifactP *model.Artifact - if err := parseBody(body, &artifactP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SetArtifact(r.Context(), idP, nameP, artifactP) - response(w, result, err) -} - -func (s *server) removeArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - nameP := chi.URLParam(r, "name") - - result, err := s.service.RemoveArtifact(r.Context(), idP, nameP) - response(w, result, err) -} - -func (s *server) enrichArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - nameP := chi.URLParam(r, "name") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.EnrichmentFormSchema, w) { - return - } - - var dataP *model.EnrichmentForm - if err := parseBody(body, &dataP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.EnrichArtifact(r.Context(), idP, nameP, dataP) - response(w, result, err) -} - -func (s *server) runArtifactHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - nameP := chi.URLParam(r, "name") - - automationP := chi.URLParam(r, "automation") - - response(w, nil, s.service.RunArtifact(r.Context(), idP, nameP, automationP)) -} - -func (s *server) addCommentHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.CommentFormSchema, w) { - return - } - - var commentP *model.CommentForm - if err := parseBody(body, &commentP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.AddComment(r.Context(), idP, commentP) - response(w, result, err) -} - -func (s *server) removeCommentHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - commentIDP, err := parseURLInt(r, "commentID") - if err != nil { - JSONError(w, err) - return - } - - result, err := s.service.RemoveComment(r.Context(), idP, commentIDP) - response(w, result, err) -} - -func (s *server) addTicketPlaybookHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.PlaybookTemplateFormSchema, w) { - return - } - - var playbookP *model.PlaybookTemplateForm - if err := parseBody(body, &playbookP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.AddTicketPlaybook(r.Context(), idP, playbookP) - response(w, result, err) -} - -func (s *server) removeTicketPlaybookHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - playbookIDP := chi.URLParam(r, "playbookID") - - result, err := s.service.RemoveTicketPlaybook(r.Context(), idP, playbookIDP) - response(w, result, err) -} - -func (s *server) setTaskDataHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - playbookIDP := chi.URLParam(r, "playbookID") - - taskIDP := chi.URLParam(r, "taskID") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var dataP map[string]any - if err := parseBody(body, &dataP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SetTaskData(r.Context(), idP, playbookIDP, taskIDP, dataP) - response(w, result, err) -} - -func (s *server) completeTaskHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - playbookIDP := chi.URLParam(r, "playbookID") - - taskIDP := chi.URLParam(r, "taskID") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var dataP map[string]any - if err := parseBody(body, &dataP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CompleteTask(r.Context(), idP, playbookIDP, taskIDP, dataP) - response(w, result, err) -} - -func (s *server) setTaskOwnerHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - playbookIDP := chi.URLParam(r, "playbookID") - - taskIDP := chi.URLParam(r, "taskID") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var ownerP string - if err := parseBody(body, &ownerP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SetTaskOwner(r.Context(), idP, playbookIDP, taskIDP, ownerP) - response(w, result, err) -} - -func (s *server) runTaskHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - playbookIDP := chi.URLParam(r, "playbookID") - - taskIDP := chi.URLParam(r, "taskID") - - response(w, nil, s.service.RunTask(r.Context(), idP, playbookIDP, taskIDP)) -} - -func (s *server) setReferencesHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.ReferenceArraySchema, w) { - return - } - - var referencesP *model.ReferenceArray - if err := parseBody(body, &referencesP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SetReferences(r.Context(), idP, referencesP) - response(w, result, err) -} - -func (s *server) setSchemaHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var schemaP string - if err := parseBody(body, &schemaP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.SetSchema(r.Context(), idP, schemaP) - response(w, result, err) -} - -func (s *server) linkTicketHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var linkedIDP int64 - if err := parseBody(body, &linkedIDP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.LinkTicket(r.Context(), idP, linkedIDP) - response(w, result, err) -} - -func (s *server) unlinkTicketHandler(w http.ResponseWriter, r *http.Request) { - idP, err := parseURLInt64(r, "id") - if err != nil { - JSONError(w, err) - return - } - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - var linkedIDP int64 - if err := parseBody(body, &linkedIDP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UnlinkTicket(r.Context(), idP, linkedIDP) - response(w, result, err) -} - -func (s *server) listTicketTypesHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListTicketTypes(r.Context()) - response(w, result, err) -} - -func (s *server) createTicketTypeHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketTypeFormSchema, w) { - return - } - - var tickettypeP *model.TicketTypeForm - if err := parseBody(body, &tickettypeP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateTicketType(r.Context(), tickettypeP) - response(w, result, err) -} - -func (s *server) getTicketTypeHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetTicketType(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateTicketTypeHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.TicketTypeFormSchema, w) { - return - } - - var tickettypeP *model.TicketTypeForm - if err := parseBody(body, &tickettypeP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateTicketType(r.Context(), idP, tickettypeP) - response(w, result, err) -} - -func (s *server) deleteTicketTypeHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeleteTicketType(r.Context(), idP)) -} - -func (s *server) listUserDataHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListUserData(r.Context()) - response(w, result, err) -} - -func (s *server) getUserDataHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetUserData(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateUserDataHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.UserDataSchema, w) { - return - } - - var userdataP *model.UserData - if err := parseBody(body, &userdataP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateUserData(r.Context(), idP, userdataP) - response(w, result, err) -} - -func (s *server) listUsersHandler(w http.ResponseWriter, r *http.Request) { - result, err := s.service.ListUsers(r.Context()) - response(w, result, err) -} - -func (s *server) createUserHandler(w http.ResponseWriter, r *http.Request) { - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.UserFormSchema, w) { - return - } - - var userP *model.UserForm - if err := parseBody(body, &userP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.CreateUser(r.Context(), userP) - response(w, result, err) -} - -func (s *server) getUserHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - result, err := s.service.GetUser(r.Context(), idP) - response(w, result, err) -} - -func (s *server) updateUserHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - body, err := io.ReadAll(r.Body) - if err != nil { - JSONError(w, err) - return - } - - if validateSchema(body, model.UserFormSchema, w) { - return - } - - var userP *model.UserForm - if err := parseBody(body, &userP); err != nil { - JSONError(w, err) - return - } - - result, err := s.service.UpdateUser(r.Context(), idP, userP) - response(w, result, err) -} - -func (s *server) deleteUserHandler(w http.ResponseWriter, r *http.Request) { - idP := chi.URLParam(r, "id") - - response(w, nil, s.service.DeleteUser(r.Context(), idP)) -} diff --git a/generated/api/static.go b/generated/api/static.go deleted file mode 100755 index 1afe231..0000000 --- a/generated/api/static.go +++ /dev/null @@ -1,40 +0,0 @@ -package api - -import ( - "io/fs" - "net/http" - "net/http/httputil" - "net/url" - "strings" -) - -func VueStatic(fsys fs.FS) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - handler := http.FileServer(http.FS(fsys)) - - if strings.HasPrefix(r.URL.Path, "/static/") { - handler = http.StripPrefix("/static/", handler) - } else { - r.URL.Path = "/" - } - - handler.ServeHTTP(w, r) - } -} - -func Static(fsys fs.FS) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - http.FileServer(http.FS(fsys)).ServeHTTP(w, r) - } -} - -func Proxy(dest string) func(w http.ResponseWriter, r *http.Request) { - return func(w http.ResponseWriter, r *http.Request) { - u, _ := url.Parse(dest) - proxy := httputil.NewSingleHostReverseProxy(u) - - r.Host = r.URL.Host - - proxy.ServeHTTP(w, r) - } -} diff --git a/generated/api/test_api.go b/generated/api/test_api.go deleted file mode 100755 index 2286176..0000000 --- a/generated/api/test_api.go +++ /dev/null @@ -1,650 +0,0 @@ -package api - -import "time" - -type Args struct { - Method string - URL string - Data any -} -type Want struct { - Status int - Body any -} - -var Tests = []struct { - Name string - Args Args - Want Want -}{ - - { - Name: "ListAutomations", - Args: Args{Method: "Get", URL: "/automations"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"id": "comment", "image": "docker.io/python:3", "script": "", "type": []any{"playbook"}}, map[string]any{"id": "hash.sha1", "image": "docker.io/python:3", "schema": "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}", "script": "", "type": []any{"global", "artifact", "playbook"}}, map[string]any{"id": "vt.hash", "image": "docker.io/python:3", "schema": "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}", "script": "", "type": []any{"global", "artifact", "playbook"}}}, - }, - }, - - { - Name: "CreateAutomation", - Args: Args{Method: "Post", URL: "/automations", Data: map[string]any{"id": "hash-sha-256", "image": "docker.io/python:3", "script": "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha256 = hashlib.sha256(msg['payload']['default'].encode('utf-8'))\n return {'hash': sha256.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", "type": []any{"global"}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "hash-sha-256", "image": "docker.io/python:3", "script": "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha256 = hashlib.sha256(msg['payload']['default'].encode('utf-8'))\n return {'hash': sha256.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", "type": []any{"global"}}, - }, - }, - - { - Name: "GetAutomation", - Args: Args{Method: "Get", URL: "/automations/hash.sha1"}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "hash.sha1", "image": "docker.io/python:3", "schema": "{\"title\":\"Input\",\"type\":\"object\",\"properties\":{\"default\":{\"type\":\"string\",\"title\":\"Value\"}},\"required\":[\"default\"]}", "script": "#!/usr/bin/env python\n\nimport sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha1 = hashlib.sha1(msg['payload']['default'].encode('utf-8'))\n return {\"hash\": sha1.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", "type": []any{"global", "artifact", "playbook"}}, - }, - }, - - { - Name: "UpdateAutomation", - Args: Args{Method: "Put", URL: "/automations/hash.sha1", Data: map[string]any{"id": "hash.sha1", "image": "docker.io/python:3", "script": "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha1 = hashlib.sha1(msg['payload'].encode('utf-8'))\n return {'hash': sha1.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", "type": []any{"global", "artifact", "playbook"}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "hash.sha1", "image": "docker.io/python:3", "script": "import sys\nimport json\nimport hashlib\n\n\ndef run(msg):\n sha1 = hashlib.sha1(msg['payload'].encode('utf-8'))\n return {'hash': sha1.hexdigest()}\n\n\nprint(json.dumps(run(json.loads(sys.argv[1]))))\n", "type": []any{"global", "artifact", "playbook"}}, - }, - }, - - { - Name: "DeleteAutomation", - Args: Args{Method: "Delete", URL: "/automations/hash.sha1"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "CurrentUser", - Args: Args{Method: "Get", URL: "/currentuser"}, - Want: Want{ - Status: 200, - Body: map[string]any{"apikey": false, "blocked": false, "id": "bob", "roles": []any{"admin"}}, - }, - }, - - { - Name: "CurrentUserData", - Args: Args{Method: "Get", URL: "/currentuserdata"}, - Want: Want{ - Status: 200, - Body: map[string]any{"email": "bob@example.org", "id": "bob", "name": "Bob Bad"}, - }, - }, - - { - Name: "UpdateCurrentUserData", - Args: Args{Method: "Put", URL: "/currentuserdata", Data: map[string]any{"email": "bob@example.org", "name": "Bob Bad"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"email": "bob@example.org", "id": "bob", "name": "Bob Bad"}, - }, - }, - - { - Name: "DashboardData", - Args: Args{Method: "Get", URL: "/dashboard/data?aggregation=type&filter=status+%3D%3D+%22closed%22"}, - Want: Want{ - Status: 200, - Body: map[string]any{"alert": 2, "incident": 1}, - }, - }, - - { - Name: "ListDashboards", - Args: Args{Method: "Get", URL: "/dashboards"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"id": "simple", "name": "Simple", "widgets": []any{map[string]any{"aggregation": "owner", "filter": "status == \"open\"", "name": "open_tickets_per_user", "type": "bar", "width": 4}, map[string]any{"aggregation": "CONCAT(DATE_YEAR(created), \"-\", DATE_ISOWEEK(created) < 10 ? \"0\" : \"\", DATE_ISOWEEK(created))", "name": "tickets_per_week", "type": "line", "width": 8}}}}, - }, - }, - - { - Name: "CreateDashboard", - Args: Args{Method: "Post", URL: "/dashboards", Data: map[string]any{"name": "My Dashboard", "widgets": []any{}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "my-dashboard", "name": "My Dashboard", "widgets": []any{}}, - }, - }, - - { - Name: "GetDashboard", - Args: Args{Method: "Get", URL: "/dashboards/simple"}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "simple", "name": "Simple", "widgets": []any{map[string]any{"aggregation": "owner", "filter": "status == \"open\"", "name": "open_tickets_per_user", "type": "bar", "width": 4}, map[string]any{"aggregation": "CONCAT(DATE_YEAR(created), \"-\", DATE_ISOWEEK(created) < 10 ? \"0\" : \"\", DATE_ISOWEEK(created))", "name": "tickets_per_week", "type": "line", "width": 8}}}, - }, - }, - - { - Name: "UpdateDashboard", - Args: Args{Method: "Put", URL: "/dashboards/simple", Data: map[string]any{"name": "Simple", "widgets": []any{}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "simple", "name": "Simple", "widgets": []any{}}, - }, - }, - - { - Name: "DeleteDashboard", - Args: Args{Method: "Delete", URL: "/dashboards/simple"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "ListJobs", - Args: Args{Method: "Get", URL: "/jobs"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"automation": "hash.sha1", "id": "b81c2366-ea37-43d2-b61b-03afdc21d985", "payload": "test", "status": "created"}}, - }, - }, - - { - Name: "RunJob", - Args: Args{Method: "Post", URL: "/jobs", Data: map[string]any{"automation": "hash.sha1", "payload": "test"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"automation": "hash.sha1", "id": "87390749-2125-4a87-91c5-da7e3f9bebf1", "payload": "test", "status": "created"}, - }, - }, - - { - Name: "GetJob", - Args: Args{Method: "Get", URL: "/jobs/b81c2366-ea37-43d2-b61b-03afdc21d985"}, - Want: Want{ - Status: 200, - Body: map[string]any{"automation": "hash.sha1", "id": "b81c2366-ea37-43d2-b61b-03afdc21d985", "payload": "test", "status": "created"}, - }, - }, - - { - Name: "UpdateJob", - Args: Args{Method: "Put", URL: "/jobs/b81c2366-ea37-43d2-b61b-03afdc21d985", Data: map[string]any{"running": false, "status": "failed"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"automation": "hash.sha1", "id": "b81c2366-ea37-43d2-b61b-03afdc21d985", "payload": "test", "status": "failed"}, - }, - }, - - { - Name: "GetLogs", - Args: Args{Method: "Get", URL: "/logs/tickets%252F294511"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "creator": "bob", "message": "Fail run account resist lend solve incident centre priority temperature. Cause change distribution examine location technique shape partner milk customer. Rail tea plate soil report cook railway interpretation breath action. Exercise dream accept park conclusion addition shoot assistance may answer. Gold writer link stop combine hear power name commitment operation. Determine lifespan support grow degree henry exclude detail set religion. Direct library policy convention chain retain discover ride walk student. Gather proposal select march aspect play noise avoid encourage employ. Assessment preserve transport combine wish influence income guess run stand. Charge limit crime ignore statement foundation study issue stop claim.", "reference": "tickets/294511", "type": "manual"}}, - }, - }, - - { - Name: "ListPlaybooks", - Args: Args{Method: "Get", URL: "/playbooks"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"id": "phishing", "name": "Phishing", "yaml": "name: Phishing\ntasks:\n board:\n name: Board Involvement?\n description: Is a board member involved?\n type: input\n schema:\n properties:\n boardInvolved:\n default: false\n title: A board member is involved.\n type: boolean\n required:\n - boardInvolved\n title: Board Involvement?\n type: object\n next:\n escalate: \"boardInvolved == true\"\n mail-available: \"boardInvolved == false\"\n\n escalate:\n name: Escalate to CISO\n description: Please escalate the task to the CISO\n type: task\n\n mail-available:\n name: Mail available\n type: input\n schema:\n oneOf:\n - properties:\n mail:\n title: Mail\n type: string\n x-display: textarea\n schemaKey:\n const: 'yes'\n type: string\n required:\n - mail\n title: 'Yes'\n - properties:\n schemaKey:\n const: 'no'\n type: string\n title: 'No'\n title: Mail available\n type: object\n next:\n block-sender: \"schemaKey == 'yes'\"\n extract-iocs: \"schemaKey == 'yes'\"\n search-email-gateway: \"schemaKey == 'no'\"\n\n search-email-gateway:\n name: Search email gateway\n description: Please search email-gateway for the phishing mail.\n type: task\n next:\n extract-iocs:\n\n block-sender:\n name: Block sender\n type: task\n next:\n extract-iocs:\n\n extract-iocs:\n name: Extract IOCs\n description: Please insert the IOCs\n type: input\n schema:\n properties:\n iocs:\n items:\n type: string\n title: IOCs\n type: array\n title: Extract IOCs\n type: object\n next:\n block-iocs:\n\n block-iocs:\n name: Block IOCs\n type: task\n"}, map[string]any{"id": "simple", "name": "Simple", "yaml": "name: Simple\ntasks:\n input:\n name: Enter something to hash\n type: input\n schema:\n title: Something\n type: object\n properties:\n something:\n type: string\n title: Something\n default: \"\"\n next:\n hash: \"something != ''\"\n\n hash:\n name: Hash the something\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['something']\"\n next:\n comment: \"hash != ''\"\n\n comment:\n name: Comment the hash\n type: automation\n automation: comment\n payload:\n default: \"playbook.tasks['hash'].data['hash']\"\n next:\n done: \"done\"\n\n done:\n name: You can close this case now\n type: task\n"}}, - }, - }, - - { - Name: "CreatePlaybook", - Args: Args{Method: "Post", URL: "/playbooks", Data: map[string]any{"yaml": "name: Simple2\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "simple-2", "name": "Simple2", "yaml": "name: Simple2\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n"}, - }, - }, - - { - Name: "GetPlaybook", - Args: Args{Method: "Get", URL: "/playbooks/simple"}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "simple", "name": "Simple", "yaml": "name: Simple\ntasks:\n input:\n name: Enter something to hash\n type: input\n schema:\n title: Something\n type: object\n properties:\n something:\n type: string\n title: Something\n default: \"\"\n next:\n hash: \"something != ''\"\n\n hash:\n name: Hash the something\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['something']\"\n next:\n comment: \"hash != ''\"\n\n comment:\n name: Comment the hash\n type: automation\n automation: comment\n payload:\n default: \"playbook.tasks['hash'].data['hash']\"\n next:\n done: \"done\"\n\n done:\n name: You can close this case now\n type: task\n"}, - }, - }, - - { - Name: "UpdatePlaybook", - Args: Args{Method: "Put", URL: "/playbooks/simple", Data: map[string]any{"yaml": "name: Simple\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "simple", "name": "Simple", "yaml": "name: Simple\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n"}, - }, - }, - - { - Name: "DeletePlaybook", - Args: Args{Method: "Delete", URL: "/playbooks/simple"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "GetSettings", - Args: Args{Method: "Get", URL: "/settings"}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifactKinds": []any{map[string]any{"icon": "mdi-server", "id": "asset", "name": "Asset"}, map[string]any{"icon": "mdi-bullseye", "id": "ioc", "name": "IOC"}}, "artifactStates": []any{map[string]any{"color": "info", "icon": "mdi-help-circle-outline", "id": "unknown", "name": "Unknown"}, map[string]any{"color": "error", "icon": "mdi-skull", "id": "malicious", "name": "Malicious"}, map[string]any{"color": "success", "icon": "mdi-check", "id": "clean", "name": "Clean"}}, "ticketTypes": []any{map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-alert", "id": "alert", "name": "Alerts"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-radioactive", "id": "incident", "name": "Incidents"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-fingerprint", "id": "investigation", "name": "Forensic Investigations"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-target", "id": "hunt", "name": "Threat Hunting"}}, "tier": "community", "timeformat": "yyyy-MM-dd hh:mm:ss", "version": "0.0.0-test"}, - }, - }, - - { - Name: "SaveSettings", - Args: Args{Method: "Post", URL: "/settings", Data: map[string]any{"artifactKinds": []any{map[string]any{"icon": "mdi-server", "id": "asset", "name": "Asset"}, map[string]any{"icon": "mdi-bullseye", "id": "ioc", "name": "IOC"}}, "artifactStates": []any{map[string]any{"color": "info", "icon": "mdi-help-circle-outline", "id": "unknown", "name": "Unknown"}, map[string]any{"color": "error", "icon": "mdi-skull", "id": "malicious", "name": "Malicious"}, map[string]any{"color": "success", "icon": "mdi-check", "id": "clean", "name": "Clean"}}, "timeformat": "yyyy-MM-dd hh:mm:ss"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifactKinds": []any{map[string]any{"icon": "mdi-server", "id": "asset", "name": "Asset"}, map[string]any{"icon": "mdi-bullseye", "id": "ioc", "name": "IOC"}}, "artifactStates": []any{map[string]any{"color": "info", "icon": "mdi-help-circle-outline", "id": "unknown", "name": "Unknown"}, map[string]any{"color": "error", "icon": "mdi-skull", "id": "malicious", "name": "Malicious"}, map[string]any{"color": "success", "icon": "mdi-check", "id": "clean", "name": "Clean"}}, "ticketTypes": []any{map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-alert", "id": "alert", "name": "Alerts"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-radioactive", "id": "incident", "name": "Incidents"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-fingerprint", "id": "investigation", "name": "Forensic Investigations"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-target", "id": "hunt", "name": "Threat Hunting"}}, "tier": "community", "timeformat": "yyyy-MM-dd hh:mm:ss", "version": "0.0.0-test"}, - }, - }, - - { - Name: "GetStatistics", - Args: Args{Method: "Get", URL: "/statistics"}, - Want: Want{ - Status: 200, - Body: map[string]any{"open_tickets_per_user": map[string]any{}, "tickets_per_type": map[string]any{"alert": 2, "incident": 1}, "tickets_per_week": map[string]any{"2021-39": 3}, "unassigned": 0}, - }, - }, - - { - Name: "ListTasks", - Args: Args{Method: "Get", URL: "/tasks"}, - Want: Want{ - Status: 200, - Body: nil, - }, - }, - - { - Name: "ListTemplates", - Args: Args{Method: "Get", URL: "/templates"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"id": "default", "name": "Default", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Default\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}}, - }, - }, - - { - Name: "CreateTemplate", - Args: Args{Method: "Post", URL: "/templates", Data: map[string]any{"name": "My Template", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "my-template", "name": "My Template", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}, - }, - }, - - { - Name: "GetTemplate", - Args: Args{Method: "Get", URL: "/templates/default"}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "default", "name": "Default", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Default\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}, - }, - }, - - { - Name: "UpdateTemplate", - Args: Args{Method: "Put", URL: "/templates/default", Data: map[string]any{"name": "My Template", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"id": "default", "name": "My Template", "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"}, - }, - }, - - { - Name: "DeleteTemplate", - Args: Args{Method: "Delete", URL: "/templates/default"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "ListTickets", - Args: Args{Method: "Get", URL: "/tickets"}, - Want: Want{ - Status: 200, - Body: map[string]any{"count": 3, "tickets": []any{map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "type": "task"}, "block-sender": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "type": "task"}, "board": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "type": "task"}, "extract-iocs": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "type": "alert"}, map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}}, - }, - }, - - { - Name: "CreateTicket", - Args: Args{Method: "Post", URL: "/tickets", Data: map[string]any{"id": 123, "name": "Wannacry infection", "owner": "bob", "status": "open", "type": "incident"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "id": 123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "Wannacry infection", "owner": "bob", "schema": "{}", "status": "open", "type": "incident"}, - }, - }, - - { - Name: "CreateTicketBatch", - Args: Args{Method: "Post", URL: "/tickets/batch", Data: []any{map[string]any{"id": 123, "name": "Wannacry infection", "owner": "bob", "status": "open", "type": "incident"}}}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "GetTicket", - Args: Args{Method: "Get", URL: "/tickets/8125"}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "UpdateTicket", - Args: Args{Method: "Put", URL: "/tickets/8125", Data: map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "phishing from selenafadel@von.org detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "type": "alert"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "id": 8125, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "phishing from selenafadel@von.org detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "DeleteTicket", - Args: Args{Method: "Delete", URL: "/tickets/8125"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "AddArtifact", - Args: Args{Method: "Post", URL: "/tickets/8123/artifacts", Data: map[string]any{"name": "2.2.2.2"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}, map[string]any{"name": "2.2.2.2", "status": "unknown", "type": "ip"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "GetArtifact", - Args: Args{Method: "Get", URL: "/tickets/8123/artifacts/leadreintermediate.io"}, - Want: Want{ - Status: 200, - Body: map[string]any{"name": "leadreintermediate.io", "status": "malicious"}, - }, - }, - - { - Name: "SetArtifact", - Args: Args{Method: "Put", URL: "/tickets/8123/artifacts/leadreintermediate.io", Data: map[string]any{"name": "leadreintermediate.io", "status": "clean"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "clean"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "RemoveArtifact", - Args: Args{Method: "Delete", URL: "/tickets/8123/artifacts/leadreintermediate.io"}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "EnrichArtifact", - Args: Args{Method: "Post", URL: "/tickets/8123/artifacts/leadreintermediate.io/enrich", Data: map[string]any{"data": map[string]any{"hash": "b7a067a742c20d07a7456646de89bc2d408a1153"}, "name": "hash.sha1"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"enrichments": map[string]any{"hash.sha1": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "data": map[string]any{"hash": "b7a067a742c20d07a7456646de89bc2d408a1153"}, "name": "hash.sha1"}}, "name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "RunArtifact", - Args: Args{Method: "Post", URL: "/tickets/8123/artifacts/leadreintermediate.io/run/hash.sha1"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "AddComment", - Args: Args{Method: "Post", URL: "/tickets/8125/comments", Data: map[string]any{"message": "My first comment"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"comments": []any{map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "creator": "bob", "message": "My first comment"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "RemoveComment", - Args: Args{Method: "Delete", URL: "/tickets/8123/comments/0"}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "AddTicketPlaybook", - Args: Args{Method: "Post", URL: "/tickets/8125/playbooks", Data: map[string]any{"yaml": "name: Simple\ntasks:\n input:\n name: Upload malware if possible\n type: input\n schema:\n title: Malware\n type: object\n properties:\n malware:\n type: string\n title: Select malware\n default: \"\"\n next:\n hash: \"malware != ''\"\n\n hash:\n name: Hash the malware\n type: automation\n automation: hash.sha1\n payload:\n default: \"playbook.tasks['input'].data['malware']\"\n next:\n escalate:\n\n escalate:\n name: Escalate to malware team\n type: task\n"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "playbooks": map[string]any{"simple": map[string]any{"name": "Simple", "tasks": map[string]any{"escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to malware team", "order": 2, "type": "task"}, "hash": map[string]any{"active": false, "automation": "hash.sha1", "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Hash the malware", "next": map[string]any{"escalate": ""}, "order": 1, "payload": map[string]any{"default": "playbook.tasks['input'].data['malware']"}, "type": "automation"}, "input": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Upload malware if possible", "next": map[string]any{"hash": "malware != ''"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"malware": map[string]any{"default": "", "title": "Select malware", "type": "string"}}, "title": "Malware", "type": "object"}, "type": "input"}}}}, "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "RemoveTicketPlaybook", - Args: Args{Method: "Delete", URL: "/tickets/8123/playbooks/phishing"}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "SetTaskData", - Args: Args{Method: "Put", URL: "/tickets/8123/playbooks/phishing/task/board", Data: map[string]any{"boardInvolved": true}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "data": map[string]any{"boardInvolved": true}, "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "CompleteTask", - Args: Args{Method: "Put", URL: "/tickets/8123/playbooks/phishing/task/board/complete", Data: map[string]any{"boardInvolved": true}}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": false, "closed": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "data": map[string]any{"boardInvolved": true}, "done": true, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "SetTaskOwner", - Args: Args{Method: "Put", URL: "/tickets/8123/playbooks/phishing/task/board/owner", Data: "eve"}, - Want: Want{ - Status: 200, - Body: map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "order": 6, "type": "task"}, "block-sender": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "order": 3, "type": "task"}, "board": map[string]any{"active": true, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "order": 0, "owner": "eve", "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "order": 1, "type": "task"}, "extract-iocs": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "order": 5, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "order": 2, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"active": false, "created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "order": 4, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, - }, - }, - - { - Name: "RunTask", - Args: Args{Method: "Post", URL: "/tickets/8123/playbooks/phishing/task/board/run"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "SetReferences", - Args: Args{Method: "Put", URL: "/tickets/8125/references", Data: []any{map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "SetSchema", - Args: Args{Method: "Put", URL: "/tickets/8125/schema", Data: "{}"}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "LinkTicket", - Args: Args{Method: "Patch", URL: "/tickets/8126/tickets", Data: 8123}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "tickets": []any{map[string]any{"artifacts": []any{map[string]any{"name": "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", "status": "unknown"}, map[string]any{"name": "http://www.customerviral.io/scalable/vertical/killer", "status": "clean"}, map[string]any{"name": "leadreintermediate.io", "status": "malicious"}}, "created": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "id": 8123, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78206000, time.UTC), "name": "live zebra", "owner": "demo", "playbooks": map[string]any{"phishing": map[string]any{"name": "Phishing", "tasks": map[string]any{"block-iocs": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block IOCs", "type": "task"}, "block-sender": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Block sender", "next": map[string]any{"extract-iocs": ""}, "type": "task"}, "board": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Board Involvement?", "next": map[string]any{"escalate": "boardInvolved == true", "mail-available": "boardInvolved == false"}, "schema": map[string]any{"properties": map[string]any{"boardInvolved": map[string]any{"default": false, "title": "A board member is involved.", "type": "boolean"}}, "required": []any{"boardInvolved"}, "title": "Board Involvement?", "type": "object"}, "type": "input"}, "escalate": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Escalate to CISO", "type": "task"}, "extract-iocs": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Extract IOCs", "next": map[string]any{"block-iocs": ""}, "schema": map[string]any{"properties": map[string]any{"iocs": map[string]any{"items": map[string]any{"type": "string"}, "title": "IOCs", "type": "array"}}, "title": "Extract IOCs", "type": "object"}, "type": "input"}, "mail-available": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Mail available", "next": map[string]any{"block-sender": "schemaKey == 'yes'", "extract-iocs": "schemaKey == 'yes'", "search-email-gateway": "schemaKey == 'no'"}, "schema": map[string]any{"oneOf": []any{map[string]any{"properties": map[string]any{"mail": map[string]any{"title": "Mail", "type": "string", "x-display": "textarea"}, "schemaKey": map[string]any{"const": "yes", "type": "string"}}, "required": []any{"mail"}, "title": "Yes"}, map[string]any{"properties": map[string]any{"schemaKey": map[string]any{"const": "no", "type": "string"}}, "title": "No"}}, "title": "Mail available", "type": "object"}, "type": "input"}, "search-email-gateway": map[string]any{"created": time.Date(2021, time.December, 12, 12, 12, 12, 12, time.UTC), "done": false, "name": "Search email gateway", "next": map[string]any{"extract-iocs": ""}, "type": "task"}}}}, "references": []any{map[string]any{"href": "https://www.leadmaximize.net/e-services/back-end", "name": "performance"}, map[string]any{"href": "http://www.corporateinteractive.name/rich", "name": "autumn"}, map[string]any{"href": "https://www.corporateintuitive.org/intuitive/platforms/integrate", "name": "suggest"}}, "schema": "{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n", "status": "closed", "type": "incident"}, map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8125, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "phishing from selenafadel@von.com detected", "owner": "demo", "references": []any{map[string]any{"href": "https://www.seniorleading-edge.name/users/efficient", "name": "recovery"}, map[string]any{"href": "http://www.dynamicseamless.com/clicks-and-mortar", "name": "force"}, map[string]any{"href": "http://www.leadscalable.biz/envisioneer", "name": "fund"}}, "schema": "{}", "status": "closed", "type": "alert"}}, "type": "alert"}, - }, - }, - - { - Name: "UnlinkTicket", - Args: Args{Method: "Delete", URL: "/tickets/8126/tickets", Data: 8125}, - Want: Want{ - Status: 200, - Body: map[string]any{"created": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "id": 8126, "modified": time.Date(2021, time.October, 2, 16, 4, 59, 78186000, time.UTC), "name": "Surfaceintroduce virus detected", "owner": "demo", "references": []any{map[string]any{"href": "http://www.centralworld-class.io/synthesize", "name": "university"}, map[string]any{"href": "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", "name": "goal"}, map[string]any{"href": "http://www.chiefsyndicate.io/action-items", "name": "unemployment"}}, "schema": "{}", "status": "closed", "type": "alert"}, - }, - }, - - { - Name: "ListTicketTypes", - Args: Args{Method: "Get", URL: "/tickettypes"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-alert", "id": "alert", "name": "Alerts"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-radioactive", "id": "incident", "name": "Incidents"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-fingerprint", "id": "investigation", "name": "Forensic Investigations"}, map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-target", "id": "hunt", "name": "Threat Hunting"}}, - }, - }, - - { - Name: "CreateTicketType", - Args: Args{Method: "Post", URL: "/tickettypes", Data: map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-newspaper-variant-outline", "name": "TI Tickets"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-newspaper-variant-outline", "id": "ti-tickets", "name": "TI Tickets"}, - }, - }, - - { - Name: "GetTicketType", - Args: Args{Method: "Get", URL: "/tickettypes/alert"}, - Want: Want{ - Status: 200, - Body: map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-alert", "id": "alert", "name": "Alerts"}, - }, - }, - - { - Name: "UpdateTicketType", - Args: Args{Method: "Put", URL: "/tickettypes/alert", Data: map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-bell", "id": "alert", "name": "Alerts"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"default_playbooks": []any{}, "default_template": "default", "icon": "mdi-bell", "id": "alert", "name": "Alerts"}, - }, - }, - - { - Name: "DeleteTicketType", - Args: Args{Method: "Delete", URL: "/tickettypes/alert"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, - - { - Name: "ListUserData", - Args: Args{Method: "Get", URL: "/userdata"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"email": "bob@example.org", "id": "bob", "name": "Bob Bad"}}, - }, - }, - - { - Name: "GetUserData", - Args: Args{Method: "Get", URL: "/userdata/bob"}, - Want: Want{ - Status: 200, - Body: map[string]any{"email": "bob@example.org", "id": "bob", "name": "Bob Bad"}, - }, - }, - - { - Name: "UpdateUserData", - Args: Args{Method: "Put", URL: "/userdata/bob", Data: map[string]any{"blocked": false, "email": "bob@example.org", "name": "Bob Bad"}}, - Want: Want{ - Status: 200, - Body: map[string]any{"email": "bob@example.org", "id": "bob", "name": "Bob Bad"}, - }, - }, - - { - Name: "ListUsers", - Args: Args{Method: "Get", URL: "/users"}, - Want: Want{ - Status: 200, - Body: []any{map[string]any{"apikey": false, "blocked": false, "id": "bob", "roles": []any{"admin"}}, map[string]any{"apikey": true, "blocked": false, "id": "script", "roles": []any{"engineer"}}}, - }, - }, - - { - Name: "CreateUser", - Args: Args{Method: "Post", URL: "/users", Data: map[string]any{"apikey": true, "blocked": false, "id": "syncscript", "roles": []any{"analyst"}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"blocked": false, "id": "syncscript", "roles": []any{"analyst"}, "secret": "v39bOuobnlEljfWzjAgoKzhmnh1xSMxH"}, - }, - }, - - { - Name: "GetUser", - Args: Args{Method: "Get", URL: "/users/script"}, - Want: Want{ - Status: 200, - Body: map[string]any{"apikey": true, "blocked": false, "id": "script", "roles": []any{"engineer"}}, - }, - }, - - { - Name: "UpdateUser", - Args: Args{Method: "Put", URL: "/users/bob", Data: map[string]any{"apikey": false, "blocked": false, "id": "syncscript", "roles": []any{"analyst", "admin"}}}, - Want: Want{ - Status: 200, - Body: map[string]any{"apikey": false, "blocked": false, "id": "bob", "roles": []any{"analyst", "admin"}}, - }, - }, - - { - Name: "DeleteUser", - Args: Args{Method: "Delete", URL: "/users/script"}, - Want: Want{ - Status: 204, - Body: nil, - }, - }, -} diff --git a/generated/caql/parser/caql_lexer.go b/generated/caql/parser/caql_lexer.go deleted file mode 100644 index e9e4781..0000000 --- a/generated/caql/parser/caql_lexer.go +++ /dev/null @@ -1,535 +0,0 @@ -// Code generated from CAQLLexer.g4 by ANTLR 4.10.1. DO NOT EDIT. - -package parser - -import ( - "fmt" - "sync" - "unicode" - - "github.com/antlr/antlr4/runtime/Go/antlr" -) - -// Suppress unused import error -var _ = fmt.Printf -var _ = sync.Once{} -var _ = unicode.IsLetter - -type CAQLLexer struct { - *antlr.BaseLexer - channelNames []string - modeNames []string - // TODO: EOF string -} - -var caqllexerLexerStaticData struct { - once sync.Once - serializedATN []int32 - channelNames []string - modeNames []string - literalNames []string - symbolicNames []string - ruleNames []string - predictionContextCache *antlr.PredictionContextCache - atn *antlr.ATN - decisionToDFA []*antlr.DFA -} - -func caqllexerLexerInit() { - staticData := &caqllexerLexerStaticData - staticData.channelNames = []string{ - "DEFAULT_TOKEN_CHANNEL", "HIDDEN", "ERRORCHANNEL", - } - staticData.modeNames = []string{ - "DEFAULT_MODE", - } - staticData.literalNames = []string{ - "", "'.'", "'=~'", "'!~'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='", - "'+'", "'-'", "'*'", "'/'", "'%'", "'?'", "':'", "'::'", "'..'", "','", - "'('", "')'", "'{'", "'}'", "'['", "']'", - } - staticData.symbolicNames = []string{ - "", "DOT", "T_REGEX_MATCH", "T_REGEX_NON_MATCH", "T_EQ", "T_NE", "T_LT", - "T_GT", "T_LE", "T_GE", "T_PLUS", "T_MINUS", "T_TIMES", "T_DIV", "T_MOD", - "T_QUESTION", "T_COLON", "T_SCOPE", "T_RANGE", "T_COMMA", "T_OPEN", - "T_CLOSE", "T_OBJECT_OPEN", "T_OBJECT_CLOSE", "T_ARRAY_OPEN", "T_ARRAY_CLOSE", - "T_AGGREGATE", "T_ALL", "T_AND", "T_ANY", "T_ASC", "T_COLLECT", "T_DESC", - "T_DISTINCT", "T_FALSE", "T_FILTER", "T_FOR", "T_GRAPH", "T_IN", "T_INBOUND", - "T_INSERT", "T_INTO", "T_K_SHORTEST_PATHS", "T_LET", "T_LIKE", "T_LIMIT", - "T_NONE", "T_NOT", "T_NULL", "T_OR", "T_OUTBOUND", "T_REMOVE", "T_REPLACE", - "T_RETURN", "T_SHORTEST_PATH", "T_SORT", "T_TRUE", "T_UPDATE", "T_UPSERT", - "T_WITH", "T_KEEP", "T_COUNT", "T_OPTIONS", "T_PRUNE", "T_SEARCH", "T_TO", - "T_CURRENT", "T_NEW", "T_OLD", "T_STRING", "T_INT", "T_FLOAT", "T_PARAMETER", - "T_QUOTED_STRING", "SINGLE_LINE_COMMENT", "MULTILINE_COMMENT", "SPACES", - "UNEXPECTED_CHAR", "ERROR_RECONGNIGION", - } - staticData.ruleNames = []string{ - "DOT", "T_REGEX_MATCH", "T_REGEX_NON_MATCH", "T_EQ", "T_NE", "T_LT", - "T_GT", "T_LE", "T_GE", "T_PLUS", "T_MINUS", "T_TIMES", "T_DIV", "T_MOD", - "T_QUESTION", "T_COLON", "T_SCOPE", "T_RANGE", "T_COMMA", "T_OPEN", - "T_CLOSE", "T_OBJECT_OPEN", "T_OBJECT_CLOSE", "T_ARRAY_OPEN", "T_ARRAY_CLOSE", - "T_AGGREGATE", "T_ALL", "T_AND", "T_ANY", "T_ASC", "T_COLLECT", "T_DESC", - "T_DISTINCT", "T_FALSE", "T_FILTER", "T_FOR", "T_GRAPH", "T_IN", "T_INBOUND", - "T_INSERT", "T_INTO", "T_K_SHORTEST_PATHS", "T_LET", "T_LIKE", "T_LIMIT", - "T_NONE", "T_NOT", "T_NULL", "T_OR", "T_OUTBOUND", "T_REMOVE", "T_REPLACE", - "T_RETURN", "T_SHORTEST_PATH", "T_SORT", "T_TRUE", "T_UPDATE", "T_UPSERT", - "T_WITH", "T_KEEP", "T_COUNT", "T_OPTIONS", "T_PRUNE", "T_SEARCH", "T_TO", - "T_CURRENT", "T_NEW", "T_OLD", "T_STRING", "T_INT", "T_FLOAT", "T_PARAMETER", - "T_QUOTED_STRING", "SINGLE_LINE_COMMENT", "MULTILINE_COMMENT", "SPACES", - "UNEXPECTED_CHAR", "HEX_DIGIT", "DIGIT", "A", "B", "C", "D", "E", "F", - "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", "Z", "ERROR_RECONGNIGION", - } - staticData.predictionContextCache = antlr.NewPredictionContextCache() - staticData.serializedATN = []int32{ - 4, 0, 78, 737, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, - 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, - 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, - 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, - 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, - 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, - 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, - 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, - 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, - 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, - 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, - 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, - 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, - 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, - 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, - 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, - 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, - 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, - 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, - 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, - 2, 104, 7, 104, 2, 105, 7, 105, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, - 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, - 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, - 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, - 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, - 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, - 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, - 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 292, 8, 27, 1, 28, 1, - 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, - 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, - 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, - 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, - 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, - 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, - 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, - 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, - 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, - 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, - 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, - 1, 46, 3, 46, 412, 8, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, - 48, 1, 48, 1, 48, 1, 48, 3, 48, 424, 8, 48, 1, 49, 1, 49, 1, 49, 1, 49, - 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, - 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, - 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, - 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, - 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, - 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, - 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, - 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, - 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, - 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, - 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, - 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 5, 68, 553, 8, 68, - 10, 68, 12, 68, 556, 9, 68, 1, 69, 1, 69, 5, 69, 560, 8, 69, 10, 69, 12, - 69, 563, 9, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 4, 69, 570, 8, 69, 11, - 69, 12, 69, 571, 1, 69, 1, 69, 1, 69, 1, 69, 4, 69, 578, 8, 69, 11, 69, - 12, 69, 579, 3, 69, 582, 8, 69, 1, 70, 1, 70, 5, 70, 586, 8, 70, 10, 70, - 12, 70, 589, 9, 70, 1, 70, 3, 70, 592, 8, 70, 1, 70, 1, 70, 4, 70, 596, - 8, 70, 11, 70, 12, 70, 597, 1, 70, 1, 70, 3, 70, 602, 8, 70, 1, 70, 4, - 70, 605, 8, 70, 11, 70, 12, 70, 606, 3, 70, 609, 8, 70, 1, 71, 1, 71, 1, - 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 5, 72, 620, 8, 72, 10, 72, - 12, 72, 623, 9, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 5, - 72, 632, 8, 72, 10, 72, 12, 72, 635, 9, 72, 1, 72, 3, 72, 638, 8, 72, 1, - 73, 1, 73, 1, 73, 1, 73, 5, 73, 644, 8, 73, 10, 73, 12, 73, 647, 9, 73, - 1, 73, 3, 73, 650, 8, 73, 1, 73, 1, 73, 3, 73, 654, 8, 73, 1, 73, 1, 73, - 1, 74, 1, 74, 1, 74, 1, 74, 5, 74, 662, 8, 74, 10, 74, 12, 74, 665, 9, - 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, - 1, 76, 1, 77, 1, 77, 1, 78, 1, 78, 1, 79, 1, 79, 1, 80, 1, 80, 1, 81, 1, - 81, 1, 82, 1, 82, 1, 83, 1, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 86, 1, 86, - 1, 87, 1, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 91, 1, 91, 1, - 92, 1, 92, 1, 93, 1, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 97, - 1, 97, 1, 98, 1, 98, 1, 99, 1, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 102, - 1, 102, 1, 103, 1, 103, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, - 1, 663, 0, 106, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, - 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, - 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, - 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, - 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, - 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, - 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, - 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, - 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, - 155, 0, 157, 0, 159, 0, 161, 0, 163, 0, 165, 0, 167, 0, 169, 0, 171, 0, - 173, 0, 175, 0, 177, 0, 179, 0, 181, 0, 183, 0, 185, 0, 187, 0, 189, 0, - 191, 0, 193, 0, 195, 0, 197, 0, 199, 0, 201, 0, 203, 0, 205, 0, 207, 0, - 209, 0, 211, 78, 1, 0, 37, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, - 65, 90, 95, 95, 97, 122, 1, 0, 49, 57, 1, 0, 48, 49, 2, 0, 43, 43, 45, - 45, 2, 0, 39, 39, 92, 92, 2, 0, 34, 34, 92, 92, 2, 0, 10, 10, 13, 13, 3, - 0, 9, 11, 13, 13, 32, 32, 3, 0, 48, 57, 65, 70, 97, 102, 1, 0, 48, 57, - 2, 0, 65, 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, 2, 0, - 68, 68, 100, 100, 2, 0, 69, 69, 101, 101, 2, 0, 70, 70, 102, 102, 2, 0, - 71, 71, 103, 103, 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, - 74, 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, - 77, 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, - 80, 80, 112, 112, 2, 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, 2, 0, - 83, 83, 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, 85, 117, 117, 2, 0, - 86, 86, 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, - 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 736, 0, 1, 1, 0, 0, 0, 0, 3, - 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, - 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, - 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, - 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, - 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, - 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, - 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, - 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, - 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, - 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, - 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, - 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, - 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, - 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, - 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, - 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, - 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, - 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, - 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, - 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, - 0, 0, 0, 0, 211, 1, 0, 0, 0, 1, 213, 1, 0, 0, 0, 3, 215, 1, 0, 0, 0, 5, - 218, 1, 0, 0, 0, 7, 221, 1, 0, 0, 0, 9, 224, 1, 0, 0, 0, 11, 227, 1, 0, - 0, 0, 13, 229, 1, 0, 0, 0, 15, 231, 1, 0, 0, 0, 17, 234, 1, 0, 0, 0, 19, - 237, 1, 0, 0, 0, 21, 239, 1, 0, 0, 0, 23, 241, 1, 0, 0, 0, 25, 243, 1, - 0, 0, 0, 27, 245, 1, 0, 0, 0, 29, 247, 1, 0, 0, 0, 31, 249, 1, 0, 0, 0, - 33, 251, 1, 0, 0, 0, 35, 254, 1, 0, 0, 0, 37, 257, 1, 0, 0, 0, 39, 259, - 1, 0, 0, 0, 41, 261, 1, 0, 0, 0, 43, 263, 1, 0, 0, 0, 45, 265, 1, 0, 0, - 0, 47, 267, 1, 0, 0, 0, 49, 269, 1, 0, 0, 0, 51, 271, 1, 0, 0, 0, 53, 281, - 1, 0, 0, 0, 55, 291, 1, 0, 0, 0, 57, 293, 1, 0, 0, 0, 59, 297, 1, 0, 0, - 0, 61, 301, 1, 0, 0, 0, 63, 309, 1, 0, 0, 0, 65, 314, 1, 0, 0, 0, 67, 323, - 1, 0, 0, 0, 69, 329, 1, 0, 0, 0, 71, 336, 1, 0, 0, 0, 73, 340, 1, 0, 0, - 0, 75, 346, 1, 0, 0, 0, 77, 349, 1, 0, 0, 0, 79, 357, 1, 0, 0, 0, 81, 364, - 1, 0, 0, 0, 83, 369, 1, 0, 0, 0, 85, 386, 1, 0, 0, 0, 87, 390, 1, 0, 0, - 0, 89, 395, 1, 0, 0, 0, 91, 401, 1, 0, 0, 0, 93, 411, 1, 0, 0, 0, 95, 413, - 1, 0, 0, 0, 97, 423, 1, 0, 0, 0, 99, 425, 1, 0, 0, 0, 101, 434, 1, 0, 0, - 0, 103, 441, 1, 0, 0, 0, 105, 449, 1, 0, 0, 0, 107, 456, 1, 0, 0, 0, 109, - 470, 1, 0, 0, 0, 111, 475, 1, 0, 0, 0, 113, 480, 1, 0, 0, 0, 115, 487, - 1, 0, 0, 0, 117, 494, 1, 0, 0, 0, 119, 499, 1, 0, 0, 0, 121, 504, 1, 0, - 0, 0, 123, 510, 1, 0, 0, 0, 125, 518, 1, 0, 0, 0, 127, 524, 1, 0, 0, 0, - 129, 531, 1, 0, 0, 0, 131, 534, 1, 0, 0, 0, 133, 542, 1, 0, 0, 0, 135, - 546, 1, 0, 0, 0, 137, 550, 1, 0, 0, 0, 139, 581, 1, 0, 0, 0, 141, 591, - 1, 0, 0, 0, 143, 610, 1, 0, 0, 0, 145, 637, 1, 0, 0, 0, 147, 639, 1, 0, - 0, 0, 149, 657, 1, 0, 0, 0, 151, 671, 1, 0, 0, 0, 153, 675, 1, 0, 0, 0, - 155, 677, 1, 0, 0, 0, 157, 679, 1, 0, 0, 0, 159, 681, 1, 0, 0, 0, 161, - 683, 1, 0, 0, 0, 163, 685, 1, 0, 0, 0, 165, 687, 1, 0, 0, 0, 167, 689, - 1, 0, 0, 0, 169, 691, 1, 0, 0, 0, 171, 693, 1, 0, 0, 0, 173, 695, 1, 0, - 0, 0, 175, 697, 1, 0, 0, 0, 177, 699, 1, 0, 0, 0, 179, 701, 1, 0, 0, 0, - 181, 703, 1, 0, 0, 0, 183, 705, 1, 0, 0, 0, 185, 707, 1, 0, 0, 0, 187, - 709, 1, 0, 0, 0, 189, 711, 1, 0, 0, 0, 191, 713, 1, 0, 0, 0, 193, 715, - 1, 0, 0, 0, 195, 717, 1, 0, 0, 0, 197, 719, 1, 0, 0, 0, 199, 721, 1, 0, - 0, 0, 201, 723, 1, 0, 0, 0, 203, 725, 1, 0, 0, 0, 205, 727, 1, 0, 0, 0, - 207, 729, 1, 0, 0, 0, 209, 731, 1, 0, 0, 0, 211, 733, 1, 0, 0, 0, 213, - 214, 5, 46, 0, 0, 214, 2, 1, 0, 0, 0, 215, 216, 5, 61, 0, 0, 216, 217, - 5, 126, 0, 0, 217, 4, 1, 0, 0, 0, 218, 219, 5, 33, 0, 0, 219, 220, 5, 126, - 0, 0, 220, 6, 1, 0, 0, 0, 221, 222, 5, 61, 0, 0, 222, 223, 5, 61, 0, 0, - 223, 8, 1, 0, 0, 0, 224, 225, 5, 33, 0, 0, 225, 226, 5, 61, 0, 0, 226, - 10, 1, 0, 0, 0, 227, 228, 5, 60, 0, 0, 228, 12, 1, 0, 0, 0, 229, 230, 5, - 62, 0, 0, 230, 14, 1, 0, 0, 0, 231, 232, 5, 60, 0, 0, 232, 233, 5, 61, - 0, 0, 233, 16, 1, 0, 0, 0, 234, 235, 5, 62, 0, 0, 235, 236, 5, 61, 0, 0, - 236, 18, 1, 0, 0, 0, 237, 238, 5, 43, 0, 0, 238, 20, 1, 0, 0, 0, 239, 240, - 5, 45, 0, 0, 240, 22, 1, 0, 0, 0, 241, 242, 5, 42, 0, 0, 242, 24, 1, 0, - 0, 0, 243, 244, 5, 47, 0, 0, 244, 26, 1, 0, 0, 0, 245, 246, 5, 37, 0, 0, - 246, 28, 1, 0, 0, 0, 247, 248, 5, 63, 0, 0, 248, 30, 1, 0, 0, 0, 249, 250, - 5, 58, 0, 0, 250, 32, 1, 0, 0, 0, 251, 252, 5, 58, 0, 0, 252, 253, 5, 58, - 0, 0, 253, 34, 1, 0, 0, 0, 254, 255, 5, 46, 0, 0, 255, 256, 5, 46, 0, 0, - 256, 36, 1, 0, 0, 0, 257, 258, 5, 44, 0, 0, 258, 38, 1, 0, 0, 0, 259, 260, - 5, 40, 0, 0, 260, 40, 1, 0, 0, 0, 261, 262, 5, 41, 0, 0, 262, 42, 1, 0, - 0, 0, 263, 264, 5, 123, 0, 0, 264, 44, 1, 0, 0, 0, 265, 266, 5, 125, 0, - 0, 266, 46, 1, 0, 0, 0, 267, 268, 5, 91, 0, 0, 268, 48, 1, 0, 0, 0, 269, - 270, 5, 93, 0, 0, 270, 50, 1, 0, 0, 0, 271, 272, 3, 159, 79, 0, 272, 273, - 3, 171, 85, 0, 273, 274, 3, 171, 85, 0, 274, 275, 3, 193, 96, 0, 275, 276, - 3, 167, 83, 0, 276, 277, 3, 171, 85, 0, 277, 278, 3, 159, 79, 0, 278, 279, - 3, 197, 98, 0, 279, 280, 3, 167, 83, 0, 280, 52, 1, 0, 0, 0, 281, 282, - 3, 159, 79, 0, 282, 283, 3, 181, 90, 0, 283, 284, 3, 181, 90, 0, 284, 54, - 1, 0, 0, 0, 285, 286, 3, 159, 79, 0, 286, 287, 3, 185, 92, 0, 287, 288, - 3, 165, 82, 0, 288, 292, 1, 0, 0, 0, 289, 290, 5, 38, 0, 0, 290, 292, 5, - 38, 0, 0, 291, 285, 1, 0, 0, 0, 291, 289, 1, 0, 0, 0, 292, 56, 1, 0, 0, - 0, 293, 294, 3, 159, 79, 0, 294, 295, 3, 185, 92, 0, 295, 296, 3, 207, - 103, 0, 296, 58, 1, 0, 0, 0, 297, 298, 3, 159, 79, 0, 298, 299, 3, 195, - 97, 0, 299, 300, 3, 163, 81, 0, 300, 60, 1, 0, 0, 0, 301, 302, 3, 163, - 81, 0, 302, 303, 3, 187, 93, 0, 303, 304, 3, 181, 90, 0, 304, 305, 3, 181, - 90, 0, 305, 306, 3, 167, 83, 0, 306, 307, 3, 163, 81, 0, 307, 308, 3, 197, - 98, 0, 308, 62, 1, 0, 0, 0, 309, 310, 3, 165, 82, 0, 310, 311, 3, 167, - 83, 0, 311, 312, 3, 195, 97, 0, 312, 313, 3, 163, 81, 0, 313, 64, 1, 0, - 0, 0, 314, 315, 3, 165, 82, 0, 315, 316, 3, 175, 87, 0, 316, 317, 3, 195, - 97, 0, 317, 318, 3, 197, 98, 0, 318, 319, 3, 175, 87, 0, 319, 320, 3, 185, - 92, 0, 320, 321, 3, 163, 81, 0, 321, 322, 3, 197, 98, 0, 322, 66, 1, 0, - 0, 0, 323, 324, 3, 169, 84, 0, 324, 325, 3, 159, 79, 0, 325, 326, 3, 181, - 90, 0, 326, 327, 3, 195, 97, 0, 327, 328, 3, 167, 83, 0, 328, 68, 1, 0, - 0, 0, 329, 330, 3, 169, 84, 0, 330, 331, 3, 175, 87, 0, 331, 332, 3, 181, - 90, 0, 332, 333, 3, 197, 98, 0, 333, 334, 3, 167, 83, 0, 334, 335, 3, 193, - 96, 0, 335, 70, 1, 0, 0, 0, 336, 337, 3, 169, 84, 0, 337, 338, 3, 187, - 93, 0, 338, 339, 3, 193, 96, 0, 339, 72, 1, 0, 0, 0, 340, 341, 3, 171, - 85, 0, 341, 342, 3, 193, 96, 0, 342, 343, 3, 159, 79, 0, 343, 344, 3, 189, - 94, 0, 344, 345, 3, 173, 86, 0, 345, 74, 1, 0, 0, 0, 346, 347, 3, 175, - 87, 0, 347, 348, 3, 185, 92, 0, 348, 76, 1, 0, 0, 0, 349, 350, 3, 175, - 87, 0, 350, 351, 3, 185, 92, 0, 351, 352, 3, 161, 80, 0, 352, 353, 3, 187, - 93, 0, 353, 354, 3, 199, 99, 0, 354, 355, 3, 185, 92, 0, 355, 356, 3, 165, - 82, 0, 356, 78, 1, 0, 0, 0, 357, 358, 3, 175, 87, 0, 358, 359, 3, 185, - 92, 0, 359, 360, 3, 195, 97, 0, 360, 361, 3, 167, 83, 0, 361, 362, 3, 193, - 96, 0, 362, 363, 3, 197, 98, 0, 363, 80, 1, 0, 0, 0, 364, 365, 3, 175, - 87, 0, 365, 366, 3, 185, 92, 0, 366, 367, 3, 197, 98, 0, 367, 368, 3, 187, - 93, 0, 368, 82, 1, 0, 0, 0, 369, 370, 3, 179, 89, 0, 370, 371, 5, 95, 0, - 0, 371, 372, 3, 195, 97, 0, 372, 373, 3, 173, 86, 0, 373, 374, 3, 187, - 93, 0, 374, 375, 3, 193, 96, 0, 375, 376, 3, 197, 98, 0, 376, 377, 3, 167, - 83, 0, 377, 378, 3, 195, 97, 0, 378, 379, 3, 197, 98, 0, 379, 380, 5, 95, - 0, 0, 380, 381, 3, 189, 94, 0, 381, 382, 3, 159, 79, 0, 382, 383, 3, 197, - 98, 0, 383, 384, 3, 173, 86, 0, 384, 385, 3, 195, 97, 0, 385, 84, 1, 0, - 0, 0, 386, 387, 3, 181, 90, 0, 387, 388, 3, 167, 83, 0, 388, 389, 3, 197, - 98, 0, 389, 86, 1, 0, 0, 0, 390, 391, 3, 181, 90, 0, 391, 392, 3, 175, - 87, 0, 392, 393, 3, 179, 89, 0, 393, 394, 3, 167, 83, 0, 394, 88, 1, 0, - 0, 0, 395, 396, 3, 181, 90, 0, 396, 397, 3, 175, 87, 0, 397, 398, 3, 183, - 91, 0, 398, 399, 3, 175, 87, 0, 399, 400, 3, 197, 98, 0, 400, 90, 1, 0, - 0, 0, 401, 402, 3, 185, 92, 0, 402, 403, 3, 187, 93, 0, 403, 404, 3, 185, - 92, 0, 404, 405, 3, 167, 83, 0, 405, 92, 1, 0, 0, 0, 406, 407, 3, 185, - 92, 0, 407, 408, 3, 187, 93, 0, 408, 409, 3, 197, 98, 0, 409, 412, 1, 0, - 0, 0, 410, 412, 5, 33, 0, 0, 411, 406, 1, 0, 0, 0, 411, 410, 1, 0, 0, 0, - 412, 94, 1, 0, 0, 0, 413, 414, 3, 185, 92, 0, 414, 415, 3, 199, 99, 0, - 415, 416, 3, 181, 90, 0, 416, 417, 3, 181, 90, 0, 417, 96, 1, 0, 0, 0, - 418, 419, 3, 187, 93, 0, 419, 420, 3, 193, 96, 0, 420, 424, 1, 0, 0, 0, - 421, 422, 5, 124, 0, 0, 422, 424, 5, 124, 0, 0, 423, 418, 1, 0, 0, 0, 423, - 421, 1, 0, 0, 0, 424, 98, 1, 0, 0, 0, 425, 426, 3, 187, 93, 0, 426, 427, - 3, 199, 99, 0, 427, 428, 3, 197, 98, 0, 428, 429, 3, 161, 80, 0, 429, 430, - 3, 187, 93, 0, 430, 431, 3, 199, 99, 0, 431, 432, 3, 185, 92, 0, 432, 433, - 3, 165, 82, 0, 433, 100, 1, 0, 0, 0, 434, 435, 3, 193, 96, 0, 435, 436, - 3, 167, 83, 0, 436, 437, 3, 183, 91, 0, 437, 438, 3, 187, 93, 0, 438, 439, - 3, 201, 100, 0, 439, 440, 3, 167, 83, 0, 440, 102, 1, 0, 0, 0, 441, 442, - 3, 193, 96, 0, 442, 443, 3, 167, 83, 0, 443, 444, 3, 189, 94, 0, 444, 445, - 3, 181, 90, 0, 445, 446, 3, 159, 79, 0, 446, 447, 3, 163, 81, 0, 447, 448, - 3, 167, 83, 0, 448, 104, 1, 0, 0, 0, 449, 450, 3, 193, 96, 0, 450, 451, - 3, 167, 83, 0, 451, 452, 3, 197, 98, 0, 452, 453, 3, 199, 99, 0, 453, 454, - 3, 193, 96, 0, 454, 455, 3, 185, 92, 0, 455, 106, 1, 0, 0, 0, 456, 457, - 3, 195, 97, 0, 457, 458, 3, 173, 86, 0, 458, 459, 3, 187, 93, 0, 459, 460, - 3, 193, 96, 0, 460, 461, 3, 197, 98, 0, 461, 462, 3, 167, 83, 0, 462, 463, - 3, 195, 97, 0, 463, 464, 3, 197, 98, 0, 464, 465, 5, 95, 0, 0, 465, 466, - 3, 189, 94, 0, 466, 467, 3, 159, 79, 0, 467, 468, 3, 197, 98, 0, 468, 469, - 3, 173, 86, 0, 469, 108, 1, 0, 0, 0, 470, 471, 3, 195, 97, 0, 471, 472, - 3, 187, 93, 0, 472, 473, 3, 193, 96, 0, 473, 474, 3, 197, 98, 0, 474, 110, - 1, 0, 0, 0, 475, 476, 3, 197, 98, 0, 476, 477, 3, 193, 96, 0, 477, 478, - 3, 199, 99, 0, 478, 479, 3, 167, 83, 0, 479, 112, 1, 0, 0, 0, 480, 481, - 3, 199, 99, 0, 481, 482, 3, 189, 94, 0, 482, 483, 3, 165, 82, 0, 483, 484, - 3, 159, 79, 0, 484, 485, 3, 197, 98, 0, 485, 486, 3, 167, 83, 0, 486, 114, - 1, 0, 0, 0, 487, 488, 3, 199, 99, 0, 488, 489, 3, 189, 94, 0, 489, 490, - 3, 195, 97, 0, 490, 491, 3, 167, 83, 0, 491, 492, 3, 193, 96, 0, 492, 493, - 3, 197, 98, 0, 493, 116, 1, 0, 0, 0, 494, 495, 3, 203, 101, 0, 495, 496, - 3, 175, 87, 0, 496, 497, 3, 197, 98, 0, 497, 498, 3, 173, 86, 0, 498, 118, - 1, 0, 0, 0, 499, 500, 3, 179, 89, 0, 500, 501, 3, 167, 83, 0, 501, 502, - 3, 167, 83, 0, 502, 503, 3, 189, 94, 0, 503, 120, 1, 0, 0, 0, 504, 505, - 3, 163, 81, 0, 505, 506, 3, 187, 93, 0, 506, 507, 3, 199, 99, 0, 507, 508, - 3, 185, 92, 0, 508, 509, 3, 197, 98, 0, 509, 122, 1, 0, 0, 0, 510, 511, - 3, 187, 93, 0, 511, 512, 3, 189, 94, 0, 512, 513, 3, 197, 98, 0, 513, 514, - 3, 175, 87, 0, 514, 515, 3, 187, 93, 0, 515, 516, 3, 185, 92, 0, 516, 517, - 3, 195, 97, 0, 517, 124, 1, 0, 0, 0, 518, 519, 3, 189, 94, 0, 519, 520, - 3, 193, 96, 0, 520, 521, 3, 199, 99, 0, 521, 522, 3, 185, 92, 0, 522, 523, - 3, 167, 83, 0, 523, 126, 1, 0, 0, 0, 524, 525, 3, 195, 97, 0, 525, 526, - 3, 167, 83, 0, 526, 527, 3, 159, 79, 0, 527, 528, 3, 193, 96, 0, 528, 529, - 3, 163, 81, 0, 529, 530, 3, 173, 86, 0, 530, 128, 1, 0, 0, 0, 531, 532, - 3, 197, 98, 0, 532, 533, 3, 187, 93, 0, 533, 130, 1, 0, 0, 0, 534, 535, - 3, 163, 81, 0, 535, 536, 3, 199, 99, 0, 536, 537, 3, 193, 96, 0, 537, 538, - 3, 193, 96, 0, 538, 539, 3, 167, 83, 0, 539, 540, 3, 185, 92, 0, 540, 541, - 3, 197, 98, 0, 541, 132, 1, 0, 0, 0, 542, 543, 3, 185, 92, 0, 543, 544, - 3, 167, 83, 0, 544, 545, 3, 203, 101, 0, 545, 134, 1, 0, 0, 0, 546, 547, - 3, 187, 93, 0, 547, 548, 3, 181, 90, 0, 548, 549, 3, 165, 82, 0, 549, 136, - 1, 0, 0, 0, 550, 554, 7, 0, 0, 0, 551, 553, 7, 1, 0, 0, 552, 551, 1, 0, - 0, 0, 553, 556, 1, 0, 0, 0, 554, 552, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, - 555, 138, 1, 0, 0, 0, 556, 554, 1, 0, 0, 0, 557, 561, 7, 2, 0, 0, 558, - 560, 3, 157, 78, 0, 559, 558, 1, 0, 0, 0, 560, 563, 1, 0, 0, 0, 561, 559, - 1, 0, 0, 0, 561, 562, 1, 0, 0, 0, 562, 582, 1, 0, 0, 0, 563, 561, 1, 0, - 0, 0, 564, 582, 5, 48, 0, 0, 565, 566, 5, 48, 0, 0, 566, 567, 5, 120, 0, - 0, 567, 569, 1, 0, 0, 0, 568, 570, 3, 155, 77, 0, 569, 568, 1, 0, 0, 0, - 570, 571, 1, 0, 0, 0, 571, 569, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, - 582, 1, 0, 0, 0, 573, 574, 5, 48, 0, 0, 574, 575, 5, 98, 0, 0, 575, 577, - 1, 0, 0, 0, 576, 578, 7, 3, 0, 0, 577, 576, 1, 0, 0, 0, 578, 579, 1, 0, - 0, 0, 579, 577, 1, 0, 0, 0, 579, 580, 1, 0, 0, 0, 580, 582, 1, 0, 0, 0, - 581, 557, 1, 0, 0, 0, 581, 564, 1, 0, 0, 0, 581, 565, 1, 0, 0, 0, 581, - 573, 1, 0, 0, 0, 582, 140, 1, 0, 0, 0, 583, 587, 7, 2, 0, 0, 584, 586, - 3, 157, 78, 0, 585, 584, 1, 0, 0, 0, 586, 589, 1, 0, 0, 0, 587, 585, 1, - 0, 0, 0, 587, 588, 1, 0, 0, 0, 588, 592, 1, 0, 0, 0, 589, 587, 1, 0, 0, - 0, 590, 592, 5, 48, 0, 0, 591, 583, 1, 0, 0, 0, 591, 590, 1, 0, 0, 0, 591, - 592, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 595, 5, 46, 0, 0, 594, 596, - 3, 157, 78, 0, 595, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 595, 1, - 0, 0, 0, 597, 598, 1, 0, 0, 0, 598, 608, 1, 0, 0, 0, 599, 601, 3, 167, - 83, 0, 600, 602, 7, 4, 0, 0, 601, 600, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, - 602, 604, 1, 0, 0, 0, 603, 605, 3, 157, 78, 0, 604, 603, 1, 0, 0, 0, 605, - 606, 1, 0, 0, 0, 606, 604, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 609, - 1, 0, 0, 0, 608, 599, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609, 142, 1, 0, - 0, 0, 610, 611, 5, 64, 0, 0, 611, 612, 3, 137, 68, 0, 612, 144, 1, 0, 0, - 0, 613, 621, 5, 39, 0, 0, 614, 615, 5, 92, 0, 0, 615, 620, 9, 0, 0, 0, - 616, 617, 5, 39, 0, 0, 617, 620, 5, 39, 0, 0, 618, 620, 8, 5, 0, 0, 619, - 614, 1, 0, 0, 0, 619, 616, 1, 0, 0, 0, 619, 618, 1, 0, 0, 0, 620, 623, - 1, 0, 0, 0, 621, 619, 1, 0, 0, 0, 621, 622, 1, 0, 0, 0, 622, 624, 1, 0, - 0, 0, 623, 621, 1, 0, 0, 0, 624, 638, 5, 39, 0, 0, 625, 633, 5, 34, 0, - 0, 626, 627, 5, 92, 0, 0, 627, 632, 9, 0, 0, 0, 628, 629, 5, 34, 0, 0, - 629, 632, 5, 34, 0, 0, 630, 632, 8, 6, 0, 0, 631, 626, 1, 0, 0, 0, 631, - 628, 1, 0, 0, 0, 631, 630, 1, 0, 0, 0, 632, 635, 1, 0, 0, 0, 633, 631, - 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 636, 1, 0, 0, 0, 635, 633, 1, 0, - 0, 0, 636, 638, 5, 34, 0, 0, 637, 613, 1, 0, 0, 0, 637, 625, 1, 0, 0, 0, - 638, 146, 1, 0, 0, 0, 639, 640, 5, 47, 0, 0, 640, 641, 5, 47, 0, 0, 641, - 645, 1, 0, 0, 0, 642, 644, 8, 7, 0, 0, 643, 642, 1, 0, 0, 0, 644, 647, - 1, 0, 0, 0, 645, 643, 1, 0, 0, 0, 645, 646, 1, 0, 0, 0, 646, 653, 1, 0, - 0, 0, 647, 645, 1, 0, 0, 0, 648, 650, 5, 13, 0, 0, 649, 648, 1, 0, 0, 0, - 649, 650, 1, 0, 0, 0, 650, 651, 1, 0, 0, 0, 651, 654, 5, 10, 0, 0, 652, - 654, 5, 0, 0, 1, 653, 649, 1, 0, 0, 0, 653, 652, 1, 0, 0, 0, 654, 655, - 1, 0, 0, 0, 655, 656, 6, 73, 0, 0, 656, 148, 1, 0, 0, 0, 657, 658, 5, 47, - 0, 0, 658, 659, 5, 42, 0, 0, 659, 663, 1, 0, 0, 0, 660, 662, 9, 0, 0, 0, - 661, 660, 1, 0, 0, 0, 662, 665, 1, 0, 0, 0, 663, 664, 1, 0, 0, 0, 663, - 661, 1, 0, 0, 0, 664, 666, 1, 0, 0, 0, 665, 663, 1, 0, 0, 0, 666, 667, - 5, 42, 0, 0, 667, 668, 5, 47, 0, 0, 668, 669, 1, 0, 0, 0, 669, 670, 6, - 74, 0, 0, 670, 150, 1, 0, 0, 0, 671, 672, 7, 8, 0, 0, 672, 673, 1, 0, 0, - 0, 673, 674, 6, 75, 0, 0, 674, 152, 1, 0, 0, 0, 675, 676, 9, 0, 0, 0, 676, - 154, 1, 0, 0, 0, 677, 678, 7, 9, 0, 0, 678, 156, 1, 0, 0, 0, 679, 680, - 7, 10, 0, 0, 680, 158, 1, 0, 0, 0, 681, 682, 7, 11, 0, 0, 682, 160, 1, - 0, 0, 0, 683, 684, 7, 12, 0, 0, 684, 162, 1, 0, 0, 0, 685, 686, 7, 13, - 0, 0, 686, 164, 1, 0, 0, 0, 687, 688, 7, 14, 0, 0, 688, 166, 1, 0, 0, 0, - 689, 690, 7, 15, 0, 0, 690, 168, 1, 0, 0, 0, 691, 692, 7, 16, 0, 0, 692, - 170, 1, 0, 0, 0, 693, 694, 7, 17, 0, 0, 694, 172, 1, 0, 0, 0, 695, 696, - 7, 18, 0, 0, 696, 174, 1, 0, 0, 0, 697, 698, 7, 19, 0, 0, 698, 176, 1, - 0, 0, 0, 699, 700, 7, 20, 0, 0, 700, 178, 1, 0, 0, 0, 701, 702, 7, 21, - 0, 0, 702, 180, 1, 0, 0, 0, 703, 704, 7, 22, 0, 0, 704, 182, 1, 0, 0, 0, - 705, 706, 7, 23, 0, 0, 706, 184, 1, 0, 0, 0, 707, 708, 7, 24, 0, 0, 708, - 186, 1, 0, 0, 0, 709, 710, 7, 25, 0, 0, 710, 188, 1, 0, 0, 0, 711, 712, - 7, 26, 0, 0, 712, 190, 1, 0, 0, 0, 713, 714, 7, 27, 0, 0, 714, 192, 1, - 0, 0, 0, 715, 716, 7, 28, 0, 0, 716, 194, 1, 0, 0, 0, 717, 718, 7, 29, - 0, 0, 718, 196, 1, 0, 0, 0, 719, 720, 7, 30, 0, 0, 720, 198, 1, 0, 0, 0, - 721, 722, 7, 31, 0, 0, 722, 200, 1, 0, 0, 0, 723, 724, 7, 32, 0, 0, 724, - 202, 1, 0, 0, 0, 725, 726, 7, 33, 0, 0, 726, 204, 1, 0, 0, 0, 727, 728, - 7, 34, 0, 0, 728, 206, 1, 0, 0, 0, 729, 730, 7, 35, 0, 0, 730, 208, 1, - 0, 0, 0, 731, 732, 7, 36, 0, 0, 732, 210, 1, 0, 0, 0, 733, 734, 9, 0, 0, - 0, 734, 735, 1, 0, 0, 0, 735, 736, 6, 105, 1, 0, 736, 212, 1, 0, 0, 0, - 24, 0, 291, 411, 423, 554, 561, 571, 579, 581, 587, 591, 597, 601, 606, - 608, 619, 621, 631, 633, 637, 645, 649, 653, 663, 2, 0, 1, 0, 0, 2, 0, - } - deserializer := antlr.NewATNDeserializer(nil) - staticData.atn = deserializer.Deserialize(staticData.serializedATN) - atn := staticData.atn - staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) - decisionToDFA := staticData.decisionToDFA - for index, state := range atn.DecisionToState { - decisionToDFA[index] = antlr.NewDFA(state, index) - } -} - -// CAQLLexerInit initializes any static state used to implement CAQLLexer. By default the -// static state used to implement the lexer is lazily initialized during the first call to -// NewCAQLLexer(). You can call this function if you wish to initialize the static state ahead -// of time. -func CAQLLexerInit() { - staticData := &caqllexerLexerStaticData - staticData.once.Do(caqllexerLexerInit) -} - -// NewCAQLLexer produces a new lexer instance for the optional input antlr.CharStream. -func NewCAQLLexer(input antlr.CharStream) *CAQLLexer { - CAQLLexerInit() - l := new(CAQLLexer) - l.BaseLexer = antlr.NewBaseLexer(input) - staticData := &caqllexerLexerStaticData - l.Interpreter = antlr.NewLexerATNSimulator(l, staticData.atn, staticData.decisionToDFA, staticData.predictionContextCache) - l.channelNames = staticData.channelNames - l.modeNames = staticData.modeNames - l.RuleNames = staticData.ruleNames - l.LiteralNames = staticData.literalNames - l.SymbolicNames = staticData.symbolicNames - l.GrammarFileName = "CAQLLexer.g4" - // TODO: l.EOF = antlr.TokenEOF - - return l -} - -// CAQLLexer tokens. -const ( - CAQLLexerDOT = 1 - CAQLLexerT_REGEX_MATCH = 2 - CAQLLexerT_REGEX_NON_MATCH = 3 - CAQLLexerT_EQ = 4 - CAQLLexerT_NE = 5 - CAQLLexerT_LT = 6 - CAQLLexerT_GT = 7 - CAQLLexerT_LE = 8 - CAQLLexerT_GE = 9 - CAQLLexerT_PLUS = 10 - CAQLLexerT_MINUS = 11 - CAQLLexerT_TIMES = 12 - CAQLLexerT_DIV = 13 - CAQLLexerT_MOD = 14 - CAQLLexerT_QUESTION = 15 - CAQLLexerT_COLON = 16 - CAQLLexerT_SCOPE = 17 - CAQLLexerT_RANGE = 18 - CAQLLexerT_COMMA = 19 - CAQLLexerT_OPEN = 20 - CAQLLexerT_CLOSE = 21 - CAQLLexerT_OBJECT_OPEN = 22 - CAQLLexerT_OBJECT_CLOSE = 23 - CAQLLexerT_ARRAY_OPEN = 24 - CAQLLexerT_ARRAY_CLOSE = 25 - CAQLLexerT_AGGREGATE = 26 - CAQLLexerT_ALL = 27 - CAQLLexerT_AND = 28 - CAQLLexerT_ANY = 29 - CAQLLexerT_ASC = 30 - CAQLLexerT_COLLECT = 31 - CAQLLexerT_DESC = 32 - CAQLLexerT_DISTINCT = 33 - CAQLLexerT_FALSE = 34 - CAQLLexerT_FILTER = 35 - CAQLLexerT_FOR = 36 - CAQLLexerT_GRAPH = 37 - CAQLLexerT_IN = 38 - CAQLLexerT_INBOUND = 39 - CAQLLexerT_INSERT = 40 - CAQLLexerT_INTO = 41 - CAQLLexerT_K_SHORTEST_PATHS = 42 - CAQLLexerT_LET = 43 - CAQLLexerT_LIKE = 44 - CAQLLexerT_LIMIT = 45 - CAQLLexerT_NONE = 46 - CAQLLexerT_NOT = 47 - CAQLLexerT_NULL = 48 - CAQLLexerT_OR = 49 - CAQLLexerT_OUTBOUND = 50 - CAQLLexerT_REMOVE = 51 - CAQLLexerT_REPLACE = 52 - CAQLLexerT_RETURN = 53 - CAQLLexerT_SHORTEST_PATH = 54 - CAQLLexerT_SORT = 55 - CAQLLexerT_TRUE = 56 - CAQLLexerT_UPDATE = 57 - CAQLLexerT_UPSERT = 58 - CAQLLexerT_WITH = 59 - CAQLLexerT_KEEP = 60 - CAQLLexerT_COUNT = 61 - CAQLLexerT_OPTIONS = 62 - CAQLLexerT_PRUNE = 63 - CAQLLexerT_SEARCH = 64 - CAQLLexerT_TO = 65 - CAQLLexerT_CURRENT = 66 - CAQLLexerT_NEW = 67 - CAQLLexerT_OLD = 68 - CAQLLexerT_STRING = 69 - CAQLLexerT_INT = 70 - CAQLLexerT_FLOAT = 71 - CAQLLexerT_PARAMETER = 72 - CAQLLexerT_QUOTED_STRING = 73 - CAQLLexerSINGLE_LINE_COMMENT = 74 - CAQLLexerMULTILINE_COMMENT = 75 - CAQLLexerSPACES = 76 - CAQLLexerUNEXPECTED_CHAR = 77 - CAQLLexerERROR_RECONGNIGION = 78 -) - -// CAQLLexerERRORCHANNEL is the CAQLLexer channel. -const CAQLLexerERRORCHANNEL = 2 diff --git a/generated/caql/parser/caql_parser.go b/generated/caql/parser/caql_parser.go deleted file mode 100644 index 651fd4d..0000000 --- a/generated/caql/parser/caql_parser.go +++ /dev/null @@ -1,2746 +0,0 @@ -// Code generated from CAQLParser.g4 by ANTLR 4.10.1. DO NOT EDIT. - -package parser // CAQLParser - -import ( - "fmt" - "strconv" - "sync" - - "github.com/antlr/antlr4/runtime/Go/antlr" -) - -// Suppress unused import errors -var _ = fmt.Printf -var _ = strconv.Itoa -var _ = sync.Once{} - -type CAQLParser struct { - *antlr.BaseParser -} - -var caqlparserParserStaticData struct { - once sync.Once - serializedATN []int32 - literalNames []string - symbolicNames []string - ruleNames []string - predictionContextCache *antlr.PredictionContextCache - atn *antlr.ATN - decisionToDFA []*antlr.DFA -} - -func caqlparserParserInit() { - staticData := &caqlparserParserStaticData - staticData.literalNames = []string{ - "", "'.'", "'=~'", "'!~'", "'=='", "'!='", "'<'", "'>'", "'<='", "'>='", - "'+'", "'-'", "'*'", "'/'", "'%'", "'?'", "':'", "'::'", "'..'", "','", - "'('", "')'", "'{'", "'}'", "'['", "']'", - } - staticData.symbolicNames = []string{ - "", "DOT", "T_REGEX_MATCH", "T_REGEX_NON_MATCH", "T_EQ", "T_NE", "T_LT", - "T_GT", "T_LE", "T_GE", "T_PLUS", "T_MINUS", "T_TIMES", "T_DIV", "T_MOD", - "T_QUESTION", "T_COLON", "T_SCOPE", "T_RANGE", "T_COMMA", "T_OPEN", - "T_CLOSE", "T_OBJECT_OPEN", "T_OBJECT_CLOSE", "T_ARRAY_OPEN", "T_ARRAY_CLOSE", - "T_AGGREGATE", "T_ALL", "T_AND", "T_ANY", "T_ASC", "T_COLLECT", "T_DESC", - "T_DISTINCT", "T_FALSE", "T_FILTER", "T_FOR", "T_GRAPH", "T_IN", "T_INBOUND", - "T_INSERT", "T_INTO", "T_K_SHORTEST_PATHS", "T_LET", "T_LIKE", "T_LIMIT", - "T_NONE", "T_NOT", "T_NULL", "T_OR", "T_OUTBOUND", "T_REMOVE", "T_REPLACE", - "T_RETURN", "T_SHORTEST_PATH", "T_SORT", "T_TRUE", "T_UPDATE", "T_UPSERT", - "T_WITH", "T_KEEP", "T_COUNT", "T_OPTIONS", "T_PRUNE", "T_SEARCH", "T_TO", - "T_CURRENT", "T_NEW", "T_OLD", "T_STRING", "T_INT", "T_FLOAT", "T_PARAMETER", - "T_QUOTED_STRING", "SINGLE_LINE_COMMENT", "MULTILINE_COMMENT", "SPACES", - "UNEXPECTED_CHAR", "ERROR_RECONGNIGION", - } - staticData.ruleNames = []string{ - "parse", "expression", "operator_unary", "reference", "compound_value", - "function_call", "value_literal", "array", "object", "object_element", - "object_element_name", - } - staticData.predictionContextCache = antlr.NewPredictionContextCache() - staticData.serializedATN = []int32{ - 4, 1, 78, 190, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, - 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, - 10, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 30, 8, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 46, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 64, 8, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 5, 1, 84, 8, 1, 10, 1, 12, 1, 87, 9, 1, 1, 2, 1, 2, - 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 95, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 3, 3, 105, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 3, 1, 3, 5, 3, 115, 8, 3, 10, 3, 12, 3, 118, 9, 3, 1, 4, 1, 4, 3, 4, 122, - 8, 4, 1, 5, 1, 5, 1, 5, 3, 5, 127, 8, 5, 1, 5, 1, 5, 5, 5, 131, 8, 5, 10, - 5, 12, 5, 134, 9, 5, 1, 5, 3, 5, 137, 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, - 7, 1, 7, 3, 7, 145, 8, 7, 1, 7, 1, 7, 5, 7, 149, 8, 7, 10, 7, 12, 7, 152, - 9, 7, 1, 7, 3, 7, 155, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 161, 8, 8, 1, - 8, 1, 8, 5, 8, 165, 8, 8, 10, 8, 12, 8, 168, 9, 8, 1, 8, 3, 8, 171, 8, - 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, - 9, 1, 9, 3, 9, 186, 8, 9, 1, 10, 1, 10, 1, 10, 2, 132, 150, 2, 2, 6, 11, - 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 0, 9, 1, 0, 10, 11, 1, 0, 12, 14, - 1, 0, 6, 9, 1, 0, 4, 5, 3, 0, 27, 27, 29, 29, 46, 46, 2, 0, 4, 9, 38, 38, - 2, 0, 2, 3, 44, 44, 5, 0, 34, 34, 48, 48, 56, 56, 70, 71, 73, 73, 2, 0, - 69, 69, 73, 73, 214, 0, 22, 1, 0, 0, 0, 2, 29, 1, 0, 0, 0, 4, 94, 1, 0, - 0, 0, 6, 104, 1, 0, 0, 0, 8, 121, 1, 0, 0, 0, 10, 123, 1, 0, 0, 0, 12, - 140, 1, 0, 0, 0, 14, 142, 1, 0, 0, 0, 16, 158, 1, 0, 0, 0, 18, 185, 1, - 0, 0, 0, 20, 187, 1, 0, 0, 0, 22, 23, 3, 2, 1, 0, 23, 24, 5, 0, 0, 1, 24, - 1, 1, 0, 0, 0, 25, 26, 6, 1, -1, 0, 26, 30, 3, 12, 6, 0, 27, 30, 3, 6, - 3, 0, 28, 30, 3, 4, 2, 0, 29, 25, 1, 0, 0, 0, 29, 27, 1, 0, 0, 0, 29, 28, - 1, 0, 0, 0, 30, 85, 1, 0, 0, 0, 31, 32, 10, 13, 0, 0, 32, 33, 7, 0, 0, - 0, 33, 84, 3, 2, 1, 14, 34, 35, 10, 12, 0, 0, 35, 36, 7, 1, 0, 0, 36, 84, - 3, 2, 1, 13, 37, 38, 10, 11, 0, 0, 38, 39, 5, 18, 0, 0, 39, 84, 3, 2, 1, - 12, 40, 41, 10, 10, 0, 0, 41, 42, 7, 2, 0, 0, 42, 84, 3, 2, 1, 11, 43, - 45, 10, 9, 0, 0, 44, 46, 5, 47, 0, 0, 45, 44, 1, 0, 0, 0, 45, 46, 1, 0, - 0, 0, 46, 47, 1, 0, 0, 0, 47, 48, 5, 38, 0, 0, 48, 84, 3, 2, 1, 10, 49, - 50, 10, 8, 0, 0, 50, 51, 7, 3, 0, 0, 51, 84, 3, 2, 1, 9, 52, 53, 10, 7, - 0, 0, 53, 54, 7, 4, 0, 0, 54, 55, 7, 5, 0, 0, 55, 84, 3, 2, 1, 8, 56, 57, - 10, 6, 0, 0, 57, 58, 7, 4, 0, 0, 58, 59, 5, 47, 0, 0, 59, 60, 5, 38, 0, - 0, 60, 84, 3, 2, 1, 7, 61, 63, 10, 5, 0, 0, 62, 64, 5, 47, 0, 0, 63, 62, - 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 66, 7, 6, 0, 0, - 66, 84, 3, 2, 1, 6, 67, 68, 10, 4, 0, 0, 68, 69, 5, 28, 0, 0, 69, 84, 3, - 2, 1, 5, 70, 71, 10, 3, 0, 0, 71, 72, 5, 49, 0, 0, 72, 84, 3, 2, 1, 4, - 73, 74, 10, 2, 0, 0, 74, 75, 5, 15, 0, 0, 75, 76, 3, 2, 1, 0, 76, 77, 5, - 16, 0, 0, 77, 78, 3, 2, 1, 3, 78, 84, 1, 0, 0, 0, 79, 80, 10, 1, 0, 0, - 80, 81, 5, 15, 0, 0, 81, 82, 5, 16, 0, 0, 82, 84, 3, 2, 1, 2, 83, 31, 1, - 0, 0, 0, 83, 34, 1, 0, 0, 0, 83, 37, 1, 0, 0, 0, 83, 40, 1, 0, 0, 0, 83, - 43, 1, 0, 0, 0, 83, 49, 1, 0, 0, 0, 83, 52, 1, 0, 0, 0, 83, 56, 1, 0, 0, - 0, 83, 61, 1, 0, 0, 0, 83, 67, 1, 0, 0, 0, 83, 70, 1, 0, 0, 0, 83, 73, - 1, 0, 0, 0, 83, 79, 1, 0, 0, 0, 84, 87, 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, - 85, 86, 1, 0, 0, 0, 86, 3, 1, 0, 0, 0, 87, 85, 1, 0, 0, 0, 88, 89, 5, 10, - 0, 0, 89, 95, 3, 2, 1, 0, 90, 91, 5, 11, 0, 0, 91, 95, 3, 2, 1, 0, 92, - 93, 5, 47, 0, 0, 93, 95, 3, 2, 1, 0, 94, 88, 1, 0, 0, 0, 94, 90, 1, 0, - 0, 0, 94, 92, 1, 0, 0, 0, 95, 5, 1, 0, 0, 0, 96, 97, 6, 3, -1, 0, 97, 105, - 5, 69, 0, 0, 98, 105, 3, 8, 4, 0, 99, 105, 3, 10, 5, 0, 100, 101, 5, 20, - 0, 0, 101, 102, 3, 2, 1, 0, 102, 103, 5, 21, 0, 0, 103, 105, 1, 0, 0, 0, - 104, 96, 1, 0, 0, 0, 104, 98, 1, 0, 0, 0, 104, 99, 1, 0, 0, 0, 104, 100, - 1, 0, 0, 0, 105, 116, 1, 0, 0, 0, 106, 107, 10, 2, 0, 0, 107, 108, 5, 1, - 0, 0, 108, 115, 5, 69, 0, 0, 109, 110, 10, 1, 0, 0, 110, 111, 5, 24, 0, - 0, 111, 112, 3, 2, 1, 0, 112, 113, 5, 25, 0, 0, 113, 115, 1, 0, 0, 0, 114, - 106, 1, 0, 0, 0, 114, 109, 1, 0, 0, 0, 115, 118, 1, 0, 0, 0, 116, 114, - 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 7, 1, 0, 0, 0, 118, 116, 1, 0, 0, - 0, 119, 122, 3, 14, 7, 0, 120, 122, 3, 16, 8, 0, 121, 119, 1, 0, 0, 0, - 121, 120, 1, 0, 0, 0, 122, 9, 1, 0, 0, 0, 123, 124, 5, 69, 0, 0, 124, 126, - 5, 20, 0, 0, 125, 127, 3, 2, 1, 0, 126, 125, 1, 0, 0, 0, 126, 127, 1, 0, - 0, 0, 127, 132, 1, 0, 0, 0, 128, 129, 5, 19, 0, 0, 129, 131, 3, 2, 1, 0, - 130, 128, 1, 0, 0, 0, 131, 134, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 132, - 130, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 135, 137, - 5, 19, 0, 0, 136, 135, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 138, 1, 0, - 0, 0, 138, 139, 5, 21, 0, 0, 139, 11, 1, 0, 0, 0, 140, 141, 7, 7, 0, 0, - 141, 13, 1, 0, 0, 0, 142, 144, 5, 24, 0, 0, 143, 145, 3, 2, 1, 0, 144, - 143, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 150, 1, 0, 0, 0, 146, 147, - 5, 19, 0, 0, 147, 149, 3, 2, 1, 0, 148, 146, 1, 0, 0, 0, 149, 152, 1, 0, - 0, 0, 150, 151, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, - 152, 150, 1, 0, 0, 0, 153, 155, 5, 19, 0, 0, 154, 153, 1, 0, 0, 0, 154, - 155, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 157, 5, 25, 0, 0, 157, 15, - 1, 0, 0, 0, 158, 160, 5, 22, 0, 0, 159, 161, 3, 18, 9, 0, 160, 159, 1, - 0, 0, 0, 160, 161, 1, 0, 0, 0, 161, 166, 1, 0, 0, 0, 162, 163, 5, 19, 0, - 0, 163, 165, 3, 18, 9, 0, 164, 162, 1, 0, 0, 0, 165, 168, 1, 0, 0, 0, 166, - 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, - 1, 0, 0, 0, 169, 171, 5, 19, 0, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, - 0, 0, 171, 172, 1, 0, 0, 0, 172, 173, 5, 23, 0, 0, 173, 17, 1, 0, 0, 0, - 174, 186, 5, 69, 0, 0, 175, 176, 3, 20, 10, 0, 176, 177, 5, 16, 0, 0, 177, - 178, 3, 2, 1, 0, 178, 186, 1, 0, 0, 0, 179, 180, 5, 24, 0, 0, 180, 181, - 3, 2, 1, 0, 181, 182, 5, 25, 0, 0, 182, 183, 5, 16, 0, 0, 183, 184, 3, - 2, 1, 0, 184, 186, 1, 0, 0, 0, 185, 174, 1, 0, 0, 0, 185, 175, 1, 0, 0, - 0, 185, 179, 1, 0, 0, 0, 186, 19, 1, 0, 0, 0, 187, 188, 7, 8, 0, 0, 188, - 21, 1, 0, 0, 0, 20, 29, 45, 63, 83, 85, 94, 104, 114, 116, 121, 126, 132, - 136, 144, 150, 154, 160, 166, 170, 185, - } - deserializer := antlr.NewATNDeserializer(nil) - staticData.atn = deserializer.Deserialize(staticData.serializedATN) - atn := staticData.atn - staticData.decisionToDFA = make([]*antlr.DFA, len(atn.DecisionToState)) - decisionToDFA := staticData.decisionToDFA - for index, state := range atn.DecisionToState { - decisionToDFA[index] = antlr.NewDFA(state, index) - } -} - -// CAQLParserInit initializes any static state used to implement CAQLParser. By default the -// static state used to implement the parser is lazily initialized during the first call to -// NewCAQLParser(). You can call this function if you wish to initialize the static state ahead -// of time. -func CAQLParserInit() { - staticData := &caqlparserParserStaticData - staticData.once.Do(caqlparserParserInit) -} - -// NewCAQLParser produces a new parser instance for the optional input antlr.TokenStream. -func NewCAQLParser(input antlr.TokenStream) *CAQLParser { - CAQLParserInit() - this := new(CAQLParser) - this.BaseParser = antlr.NewBaseParser(input) - staticData := &caqlparserParserStaticData - this.Interpreter = antlr.NewParserATNSimulator(this, staticData.atn, staticData.decisionToDFA, staticData.predictionContextCache) - this.RuleNames = staticData.ruleNames - this.LiteralNames = staticData.literalNames - this.SymbolicNames = staticData.symbolicNames - this.GrammarFileName = "CAQLParser.g4" - - return this -} - -// CAQLParser tokens. -const ( - CAQLParserEOF = antlr.TokenEOF - CAQLParserDOT = 1 - CAQLParserT_REGEX_MATCH = 2 - CAQLParserT_REGEX_NON_MATCH = 3 - CAQLParserT_EQ = 4 - CAQLParserT_NE = 5 - CAQLParserT_LT = 6 - CAQLParserT_GT = 7 - CAQLParserT_LE = 8 - CAQLParserT_GE = 9 - CAQLParserT_PLUS = 10 - CAQLParserT_MINUS = 11 - CAQLParserT_TIMES = 12 - CAQLParserT_DIV = 13 - CAQLParserT_MOD = 14 - CAQLParserT_QUESTION = 15 - CAQLParserT_COLON = 16 - CAQLParserT_SCOPE = 17 - CAQLParserT_RANGE = 18 - CAQLParserT_COMMA = 19 - CAQLParserT_OPEN = 20 - CAQLParserT_CLOSE = 21 - CAQLParserT_OBJECT_OPEN = 22 - CAQLParserT_OBJECT_CLOSE = 23 - CAQLParserT_ARRAY_OPEN = 24 - CAQLParserT_ARRAY_CLOSE = 25 - CAQLParserT_AGGREGATE = 26 - CAQLParserT_ALL = 27 - CAQLParserT_AND = 28 - CAQLParserT_ANY = 29 - CAQLParserT_ASC = 30 - CAQLParserT_COLLECT = 31 - CAQLParserT_DESC = 32 - CAQLParserT_DISTINCT = 33 - CAQLParserT_FALSE = 34 - CAQLParserT_FILTER = 35 - CAQLParserT_FOR = 36 - CAQLParserT_GRAPH = 37 - CAQLParserT_IN = 38 - CAQLParserT_INBOUND = 39 - CAQLParserT_INSERT = 40 - CAQLParserT_INTO = 41 - CAQLParserT_K_SHORTEST_PATHS = 42 - CAQLParserT_LET = 43 - CAQLParserT_LIKE = 44 - CAQLParserT_LIMIT = 45 - CAQLParserT_NONE = 46 - CAQLParserT_NOT = 47 - CAQLParserT_NULL = 48 - CAQLParserT_OR = 49 - CAQLParserT_OUTBOUND = 50 - CAQLParserT_REMOVE = 51 - CAQLParserT_REPLACE = 52 - CAQLParserT_RETURN = 53 - CAQLParserT_SHORTEST_PATH = 54 - CAQLParserT_SORT = 55 - CAQLParserT_TRUE = 56 - CAQLParserT_UPDATE = 57 - CAQLParserT_UPSERT = 58 - CAQLParserT_WITH = 59 - CAQLParserT_KEEP = 60 - CAQLParserT_COUNT = 61 - CAQLParserT_OPTIONS = 62 - CAQLParserT_PRUNE = 63 - CAQLParserT_SEARCH = 64 - CAQLParserT_TO = 65 - CAQLParserT_CURRENT = 66 - CAQLParserT_NEW = 67 - CAQLParserT_OLD = 68 - CAQLParserT_STRING = 69 - CAQLParserT_INT = 70 - CAQLParserT_FLOAT = 71 - CAQLParserT_PARAMETER = 72 - CAQLParserT_QUOTED_STRING = 73 - CAQLParserSINGLE_LINE_COMMENT = 74 - CAQLParserMULTILINE_COMMENT = 75 - CAQLParserSPACES = 76 - CAQLParserUNEXPECTED_CHAR = 77 - CAQLParserERROR_RECONGNIGION = 78 -) - -// CAQLParser rules. -const ( - CAQLParserRULE_parse = 0 - CAQLParserRULE_expression = 1 - CAQLParserRULE_operator_unary = 2 - CAQLParserRULE_reference = 3 - CAQLParserRULE_compound_value = 4 - CAQLParserRULE_function_call = 5 - CAQLParserRULE_value_literal = 6 - CAQLParserRULE_array = 7 - CAQLParserRULE_object = 8 - CAQLParserRULE_object_element = 9 - CAQLParserRULE_object_element_name = 10 -) - -// IParseContext is an interface to support dynamic dispatch. -type IParseContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // IsParseContext differentiates from other interfaces. - IsParseContext() -} - -type ParseContext struct { - *antlr.BaseParserRuleContext - parser antlr.Parser -} - -func NewEmptyParseContext() *ParseContext { - var p = new(ParseContext) - p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) - p.RuleIndex = CAQLParserRULE_parse - return p -} - -func (*ParseContext) IsParseContext() {} - -func NewParseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ParseContext { - var p = new(ParseContext) - - p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) - - p.parser = parser - p.RuleIndex = CAQLParserRULE_parse - - return p -} - -func (s *ParseContext) GetParser() antlr.Parser { return s.parser } - -func (s *ParseContext) Expression() IExpressionContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpressionContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IExpressionContext) -} - -func (s *ParseContext) EOF() antlr.TerminalNode { - return s.GetToken(CAQLParserEOF, 0) -} - -func (s *ParseContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *ParseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *ParseContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(CAQLParserListener); ok { - listenerT.EnterParse(s) - } -} - -func (s *ParseContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(CAQLParserListener); ok { - listenerT.ExitParse(s) - } -} - -func (p *CAQLParser) Parse() (localctx IParseContext) { - this := p - _ = this - - localctx = NewParseContext(p, p.GetParserRuleContext(), p.GetState()) - p.EnterRule(localctx, 0, CAQLParserRULE_parse) - - defer func() { - p.ExitRule() - }() - - defer func() { - if err := recover(); err != nil { - if v, ok := err.(antlr.RecognitionException); ok { - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - } else { - panic(err) - } - } - }() - - p.EnterOuterAlt(localctx, 1) - { - p.SetState(22) - p.expression(0) - } - { - p.SetState(23) - p.Match(CAQLParserEOF) - } - - return localctx -} - -// IExpressionContext is an interface to support dynamic dispatch. -type IExpressionContext interface { - antlr.ParserRuleContext - - // GetParser returns the parser. - GetParser() antlr.Parser - - // GetEq_op returns the eq_op token. - GetEq_op() antlr.Token - - // SetEq_op sets the eq_op token. - SetEq_op(antlr.Token) - - // IsExpressionContext differentiates from other interfaces. - IsExpressionContext() -} - -type ExpressionContext struct { - *antlr.BaseParserRuleContext - parser antlr.Parser - eq_op antlr.Token -} - -func NewEmptyExpressionContext() *ExpressionContext { - var p = new(ExpressionContext) - p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1) - p.RuleIndex = CAQLParserRULE_expression - return p -} - -func (*ExpressionContext) IsExpressionContext() {} - -func NewExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExpressionContext { - var p = new(ExpressionContext) - - p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState) - - p.parser = parser - p.RuleIndex = CAQLParserRULE_expression - - return p -} - -func (s *ExpressionContext) GetParser() antlr.Parser { return s.parser } - -func (s *ExpressionContext) GetEq_op() antlr.Token { return s.eq_op } - -func (s *ExpressionContext) SetEq_op(v antlr.Token) { s.eq_op = v } - -func (s *ExpressionContext) Value_literal() IValue_literalContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IValue_literalContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IValue_literalContext) -} - -func (s *ExpressionContext) Reference() IReferenceContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IReferenceContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IReferenceContext) -} - -func (s *ExpressionContext) Operator_unary() IOperator_unaryContext { - var t antlr.RuleContext - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IOperator_unaryContext); ok { - t = ctx.(antlr.RuleContext) - break - } - } - - if t == nil { - return nil - } - - return t.(IOperator_unaryContext) -} - -func (s *ExpressionContext) AllExpression() []IExpressionContext { - children := s.GetChildren() - len := 0 - for _, ctx := range children { - if _, ok := ctx.(IExpressionContext); ok { - len++ - } - } - - tst := make([]IExpressionContext, len) - i := 0 - for _, ctx := range children { - if t, ok := ctx.(IExpressionContext); ok { - tst[i] = t.(IExpressionContext) - i++ - } - } - - return tst -} - -func (s *ExpressionContext) Expression(i int) IExpressionContext { - var t antlr.RuleContext - j := 0 - for _, ctx := range s.GetChildren() { - if _, ok := ctx.(IExpressionContext); ok { - if j == i { - t = ctx.(antlr.RuleContext) - break - } - j++ - } - } - - if t == nil { - return nil - } - - return t.(IExpressionContext) -} - -func (s *ExpressionContext) T_PLUS() antlr.TerminalNode { - return s.GetToken(CAQLParserT_PLUS, 0) -} - -func (s *ExpressionContext) T_MINUS() antlr.TerminalNode { - return s.GetToken(CAQLParserT_MINUS, 0) -} - -func (s *ExpressionContext) T_TIMES() antlr.TerminalNode { - return s.GetToken(CAQLParserT_TIMES, 0) -} - -func (s *ExpressionContext) T_DIV() antlr.TerminalNode { - return s.GetToken(CAQLParserT_DIV, 0) -} - -func (s *ExpressionContext) T_MOD() antlr.TerminalNode { - return s.GetToken(CAQLParserT_MOD, 0) -} - -func (s *ExpressionContext) T_RANGE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_RANGE, 0) -} - -func (s *ExpressionContext) T_LT() antlr.TerminalNode { - return s.GetToken(CAQLParserT_LT, 0) -} - -func (s *ExpressionContext) T_GT() antlr.TerminalNode { - return s.GetToken(CAQLParserT_GT, 0) -} - -func (s *ExpressionContext) T_LE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_LE, 0) -} - -func (s *ExpressionContext) T_GE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_GE, 0) -} - -func (s *ExpressionContext) T_IN() antlr.TerminalNode { - return s.GetToken(CAQLParserT_IN, 0) -} - -func (s *ExpressionContext) T_NOT() antlr.TerminalNode { - return s.GetToken(CAQLParserT_NOT, 0) -} - -func (s *ExpressionContext) T_EQ() antlr.TerminalNode { - return s.GetToken(CAQLParserT_EQ, 0) -} - -func (s *ExpressionContext) T_NE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_NE, 0) -} - -func (s *ExpressionContext) T_ALL() antlr.TerminalNode { - return s.GetToken(CAQLParserT_ALL, 0) -} - -func (s *ExpressionContext) T_ANY() antlr.TerminalNode { - return s.GetToken(CAQLParserT_ANY, 0) -} - -func (s *ExpressionContext) T_NONE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_NONE, 0) -} - -func (s *ExpressionContext) T_LIKE() antlr.TerminalNode { - return s.GetToken(CAQLParserT_LIKE, 0) -} - -func (s *ExpressionContext) T_REGEX_MATCH() antlr.TerminalNode { - return s.GetToken(CAQLParserT_REGEX_MATCH, 0) -} - -func (s *ExpressionContext) T_REGEX_NON_MATCH() antlr.TerminalNode { - return s.GetToken(CAQLParserT_REGEX_NON_MATCH, 0) -} - -func (s *ExpressionContext) T_AND() antlr.TerminalNode { - return s.GetToken(CAQLParserT_AND, 0) -} - -func (s *ExpressionContext) T_OR() antlr.TerminalNode { - return s.GetToken(CAQLParserT_OR, 0) -} - -func (s *ExpressionContext) T_QUESTION() antlr.TerminalNode { - return s.GetToken(CAQLParserT_QUESTION, 0) -} - -func (s *ExpressionContext) T_COLON() antlr.TerminalNode { - return s.GetToken(CAQLParserT_COLON, 0) -} - -func (s *ExpressionContext) GetRuleContext() antlr.RuleContext { - return s -} - -func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string { - return antlr.TreesStringTree(s, ruleNames, recog) -} - -func (s *ExpressionContext) EnterRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(CAQLParserListener); ok { - listenerT.EnterExpression(s) - } -} - -func (s *ExpressionContext) ExitRule(listener antlr.ParseTreeListener) { - if listenerT, ok := listener.(CAQLParserListener); ok { - listenerT.ExitExpression(s) - } -} - -func (p *CAQLParser) Expression() (localctx IExpressionContext) { - return p.expression(0) -} - -func (p *CAQLParser) expression(_p int) (localctx IExpressionContext) { - this := p - _ = this - - var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext() - _parentState := p.GetState() - localctx = NewExpressionContext(p, p.GetParserRuleContext(), _parentState) - var _prevctx IExpressionContext = localctx - var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning. - _startState := 2 - p.EnterRecursionRule(localctx, 2, CAQLParserRULE_expression, _p) - var _la int - - defer func() { - p.UnrollRecursionContexts(_parentctx) - }() - - defer func() { - if err := recover(); err != nil { - if v, ok := err.(antlr.RecognitionException); ok { - localctx.SetException(v) - p.GetErrorHandler().ReportError(p, v) - p.GetErrorHandler().Recover(p, v) - } else { - panic(err) - } - } - }() - - var _alt int - - p.EnterOuterAlt(localctx, 1) - p.SetState(29) - p.GetErrorHandler().Sync(p) - - switch p.GetTokenStream().LA(1) { - case CAQLParserT_FALSE, CAQLParserT_NULL, CAQLParserT_TRUE, CAQLParserT_INT, CAQLParserT_FLOAT, CAQLParserT_QUOTED_STRING: - { - p.SetState(26) - p.Value_literal() - } - - case CAQLParserT_OPEN, CAQLParserT_OBJECT_OPEN, CAQLParserT_ARRAY_OPEN, CAQLParserT_STRING: - { - p.SetState(27) - p.reference(0) - } - - case CAQLParserT_PLUS, CAQLParserT_MINUS, CAQLParserT_NOT: - { - p.SetState(28) - p.Operator_unary() - } - - default: - panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil)) - } - p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1)) - p.SetState(85) - p.GetErrorHandler().Sync(p) - _alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 4, p.GetParserRuleContext()) - - for _alt != 2 && _alt != antlr.ATNInvalidAltNumber { - if _alt == 1 { - if p.GetParseListeners() != nil { - p.TriggerExitRuleEvent() - } - _prevctx = localctx - p.SetState(83) - p.GetErrorHandler().Sync(p) - switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 3, p.GetParserRuleContext()) { - case 1: - localctx = NewExpressionContext(p, _parentctx, _parentState) - p.PushNewRecursionContext(localctx, _startState, CAQLParserRULE_expression) - p.SetState(31) - - if !(p.Precpred(p.GetParserRuleContext(), 13)) { - panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 13)", "")) - } - { - p.SetState(32) - _la = p.GetTokenStream().LA(1) - - if !(_la == CAQLParserT_PLUS || _la == CAQLParserT_MINUS) { - p.GetErrorHandler().RecoverInline(p) - } else { - p.GetErrorHandler().ReportMatch(p) - p.Consume() - } - } - { - p.SetState(33) - p.expression(14) - } - - case 2: - localctx = NewExpressionContext(p, _parentctx, _parentState) - p.PushNewRecursionContext(localctx, _startState, CAQLParserRULE_expression) - p.SetState(34) - - if !(p.Precpred(p.GetParserRuleContext(), 12)) { - panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 12)", "")) - } - { - p.SetState(35) - _la = p.GetTokenStream().LA(1) - - if !(((_la)&-(0x1f+1)) == 0 && ((1< github.com/warjiang/gojsonschema v1.2.1-0.20201027075954-b076d39a02e5 +go 1.22.1 require ( - github.com/alecthomas/kong v0.8.1 - github.com/alecthomas/kong-yaml v0.2.0 - github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220816024939-bc8df83d7b9d - github.com/arangodb/go-driver v1.6.0 - github.com/aws/aws-sdk-go v1.46.2 - github.com/blevesearch/bleve/v2 v2.3.10 - github.com/coreos/go-oidc/v3 v3.7.0 - github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible - github.com/go-chi/chi/v5 v5.0.10 - github.com/gobwas/ws v1.3.0 - github.com/google/uuid v1.3.1 - github.com/iancoleman/strcase v0.3.0 - github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0 - github.com/imdario/mergo v0.3.16 - github.com/jonas-plum/maut v0.0.0-20221105155335-ed984fd96915 - github.com/mingrammer/commonregex v1.0.1 - github.com/stretchr/testify v1.8.4 - github.com/tidwall/gjson v1.17.0 - github.com/tidwall/sjson v1.2.5 - github.com/tus/tusd v1.13.0 - github.com/xeipuuv/gojsonschema v1.2.0 - golang.org/x/exp v0.0.0-20231006140011-7918f672742d - golang.org/x/oauth2 v0.13.0 - gopkg.in/yaml.v3 v3.0.1 + github.com/brianvoe/gofakeit/v7 v7.0.3 + github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61 + github.com/pocketbase/dbx v1.10.1 + github.com/pocketbase/pocketbase v0.22.10 + github.com/spf13/cobra v1.8.0 ) require ( - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/RoaringBitmap/roaring v1.6.0 // indirect - github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e // indirect - github.com/bits-and-blooms/bitset v1.10.0 // indirect - github.com/blevesearch/bleve_index_api v1.0.6 // indirect - github.com/blevesearch/geo v0.1.18 // indirect - github.com/blevesearch/go-porterstemmer v1.0.3 // indirect - github.com/blevesearch/gtreap v0.1.1 // indirect - github.com/blevesearch/mmap-go v1.0.4 // indirect - github.com/blevesearch/scorch_segment_api/v2 v2.1.6 // indirect - github.com/blevesearch/segment v0.9.1 // indirect - github.com/blevesearch/snowballstem v0.9.0 // indirect - github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect - github.com/blevesearch/vellum v1.0.10 // indirect - github.com/blevesearch/zapx/v11 v11.3.10 // indirect - github.com/blevesearch/zapx/v12 v12.3.10 // indirect - github.com/blevesearch/zapx/v13 v13.3.10 // indirect - github.com/blevesearch/zapx/v14 v14.3.10 // indirect - github.com/blevesearch/zapx/v15 v15.3.13 // indirect - github.com/bmizerany/pat v0.0.0-20210406213842-e4b6760bdd6f // indirect - github.com/containerd/containerd v1.6.26 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docker/distribution v2.7.1+incompatible // indirect - github.com/docker/go-connections v0.4.0 // indirect - github.com/docker/go-units v0.4.0 // indirect - github.com/go-jose/go-jose/v3 v3.0.3 // indirect - github.com/gobwas/httphead v0.1.0 // indirect - github.com/gobwas/pool v0.2.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/gorilla/securecookie v1.1.1 // indirect - github.com/gorilla/sessions v1.2.1 // indirect + cloud.google.com/go v0.112.2 // indirect + cloud.google.com/go/iam v1.1.7 // indirect + github.com/AlecAivazis/survey/v2 v2.3.7 // indirect + github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect + github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect + github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect + github.com/aws/smithy-go v1.20.2 // indirect + github.com/disintegration/imaging v1.6.2 // indirect + github.com/domodwyer/mailyak/v3 v3.6.2 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/fatih/color v1.16.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/ganigeorgiev/fexpr v0.4.0 // indirect + github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect + github.com/go-sql-driver/mysql v1.8.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect + github.com/golang-jwt/jwt/v4 v4.5.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.3 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/morikuni/aec v1.0.0 // indirect - github.com/mschoch/smat v0.2.0 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/sirupsen/logrus v1.9.3 // indirect - github.com/tidwall/match v1.1.1 // indirect - github.com/tidwall/pretty v1.2.1 // indirect - github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - go.etcd.io/bbolt v1.3.7 // indirect - golang.org/x/crypto v0.19.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.17.0 // indirect - google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/grpc v1.58.3 // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-sqlite3 v1.14.22 // indirect + github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect + github.com/ncruces/go-strftime v0.1.9 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rogpeppe/go-internal v1.10.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.9.0 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/otel v1.25.0 // indirect + go.opentelemetry.io/otel/trace v1.25.0 // indirect + gocloud.dev v0.37.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/image v0.15.0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/oauth2 v0.19.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect + golang.org/x/text v0.14.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.20.0 // indirect + golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect + google.golang.org/api v0.176.1 // indirect + google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect + google.golang.org/grpc v1.63.2 // indirect google.golang.org/protobuf v1.33.0 // indirect - gotest.tools v2.2.0+incompatible // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b // indirect + modernc.org/libc v1.50.2 // indirect + modernc.org/mathutil v1.6.0 // indirect + modernc.org/memory v1.8.0 // indirect + modernc.org/sqlite v1.29.8 // indirect + modernc.org/strutil v1.2.0 // indirect + modernc.org/token v1.1.0 // indirect ) diff --git a/go.sum b/go.sum index e507d28..f713614 100644 --- a/go.sum +++ b/go.sum @@ -1,1996 +1,324 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= -cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= -cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= -cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= -cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= -cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= -cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= -cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= -cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= -cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= -cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= -cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= -cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= -cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= -cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= -cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= -cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= -cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= -cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= -cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= -cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= -cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= -cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= -cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= -cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= -cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= -cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= -cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= -cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= -cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= -cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= -cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= -cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= -cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= -cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= -cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= -cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= -cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= -cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= -cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= -cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= -cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= -cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= -cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= -cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= -cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= -cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= -cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= -cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= -cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= -cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= -cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= -cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= -cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= -cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= -cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= -cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= -cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= -cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= -cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= -cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= -cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= -cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= -cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= -cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= -cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= -cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= -cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= -cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= -cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= -cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= -cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= -cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= -cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= -cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= -cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= -cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= -cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= -cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= -cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= -cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= -cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= -cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= -cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= -cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= -cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= -cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= -cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= -cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= -cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= -cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= -cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= -cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= -cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= -cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= -cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= -cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= -cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= -cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= -cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= -cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= -cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= -cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= -cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= -cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= -cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= -cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= -cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= -cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= -cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= -cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= -cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= -cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= -cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= -cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= -cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= -cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= -cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= -cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= -cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= -cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= -cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= -cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= -cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= -cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= -cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= -cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= -cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= -cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= -cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= -cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= -cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= -cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= -cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= -cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= -cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= -cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= -cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= -cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= -cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= -cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= -cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= -cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= -cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= -cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= -cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= -cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= -cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= -cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= -cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= -cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= -cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= -cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= -cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= -cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= -cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= -cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= -cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= -cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= -cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= -cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= -cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= -cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= -cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= -cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= -cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= -cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= -cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= -cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= -cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= -cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= -cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= -cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= -cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= -cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= -cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= -cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= -cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= -cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= -cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= -cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= -cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= -cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= -cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= -cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= -cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= -cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= -cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= -cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= -cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= -cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= -cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= -cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= -cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= -cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= -cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= -cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= -cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= -cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= -cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= -cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= -cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= -cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= -cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= -cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= -cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= -cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= -cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= -cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= -cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= -cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= -cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= -cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= -cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= -cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= -cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= -cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= -cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= -cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= -cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= -cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= -cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= -cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= -cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= -cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= -cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= -cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= -cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= -cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= -cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= -cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= -cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= -cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= -cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= -cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= -cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= -cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= -cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= -cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= -cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= -cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= -cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= -cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= -cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= -cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= -cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= -cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= -cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= -cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= -cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= -cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= -cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= -cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= -cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= -cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= -cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= -cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= -cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= -cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= -cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= -cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= -cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= -cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= -cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= -cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= -cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= -cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= -cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= -cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= -cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= -cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= -cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= -cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= -cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= -cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= -cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= -cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= -cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= -cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= -cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= -cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= -cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= -cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= -cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= -cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= -cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= -cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= -cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= -cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= -cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= -cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= -cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= -cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= -cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= -cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= -cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= -cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= -cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= -cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= -cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= -cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= -cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= -cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= -cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= -cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= -cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= -cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= -cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= -cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= -cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= -cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= -cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= -cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= -cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= -cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= -cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= -cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= -cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= -cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= -cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= -cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= -cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= -cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= -cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= -cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= -cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= -cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= -cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= -cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= -cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= -cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= -cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= -cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= -cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= -cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= -cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= -cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= -cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= -cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= -cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= -cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= -cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= -cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= -cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= -cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= -cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= -cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= -cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= -cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= -cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= -cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= -cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= -cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= -cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= -cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= -cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= -cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= -cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= -cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= -cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= -cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= -cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= -cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= -cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= -cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= -cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= -cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= -cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= -cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= -cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= -cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= -cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= -cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= -cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= -cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= -cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= -cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= -cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= -cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= -cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= -cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= -cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= -cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= -cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= -cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= -cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= -cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= -cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= -cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= -cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= -cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= -cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= -cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= -cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= -cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= -cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= -cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= -cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= -cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= -cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= -cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= -cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= -cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= -cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU= -cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= -cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= -cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= -cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= -cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= -cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= -cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= -cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= -cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= -cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= -cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= -cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= -cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= -cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= -cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= -cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= -cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= -cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= -cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= -cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= -cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= -cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= -cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= -cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= -cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= -cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= -cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= -cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= -cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= -cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= -cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= -cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= -cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= -cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= -cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= -cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= -cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= -cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= -cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= -cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= -cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= -cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= -cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= -cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= -cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= -cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= -cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= -cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= -cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= -cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= -cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= -cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= -cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= -cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= -cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= -cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= -cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= -cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= -cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= -cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= -cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= -cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= -cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= -cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= -cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= -cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= -cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= -cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= -cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= -cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= -cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= -cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= -cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= -cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= -cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= -cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= -cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= -cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= -cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= -cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= -cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= -cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= -cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= -cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= -cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= -cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= -cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= -cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= -cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= -cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= -cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= -cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= -cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= -cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= -cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= -cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= -cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= -cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= -cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= -cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= -cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= -cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= -cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= -cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= -cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= -cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= -cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= -cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= -cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= -cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= -cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= -cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= -cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= -cloud.google.com/go/storage v1.32.0/go.mod h1:Hhh/dogNRGca7IWv1RC2YqEn0c0G77ctA/OxflYkiD8= -cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= -cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= -cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= -cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= -cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= -cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= -cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= -cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= -cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= -cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= -cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= -cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= -cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= -cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= -cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= -cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= -cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= -cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= -cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= -cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= -cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= -cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= -cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= -cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= -cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= -cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= -cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= -cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= -cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= -cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= -cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= -cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= -cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= -cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= -cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= -cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= -cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= -cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= -cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= -cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= -cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= -cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= -cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= -cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= -cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= -cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= -cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= -cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= -cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= -cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= -cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= -cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= -cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= -cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= -cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= -cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= -cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= -cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= -cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= -cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= -cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= -cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= -cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= -cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= -git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +cloud.google.com/go v0.112.2 h1:ZaGT6LiG7dBzi6zNOvVZwacaXlmf3lRqnC4DQzqyRQw= +cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= +cloud.google.com/go/auth v0.3.0 h1:PRyzEpGfx/Z9e8+lHsbkoUVXD0gnu4MNmm7Gp8TQNIs= +cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= +cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/iam v1.1.7 h1:z4VHOhwKLF/+UYXAJDFwGtNF0b6gjsW1Pk9Ml0U/IoM= +cloud.google.com/go/iam v1.1.7/go.mod h1:J4PMPg8TtyurAUvSmPj8FF3EDgY1SPRZxcUGrn7WXGA= +cloud.google.com/go/storage v1.39.1 h1:MvraqHKhogCOTXTlct/9C3K3+Uy2jBmFYb3/Sp6dVtY= +cloud.google.com/go/storage v1.39.1/go.mod h1:xK6xZmxZmo+fyP7+DEF6FhNc24/JAe95OLyOHCXFH1o= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/RoaringBitmap/roaring v1.6.0 h1:dc7kRiroETgJcHhWX6BerXkZz2b3JgLGg9nTURJL/og= -github.com/RoaringBitmap/roaring v1.6.0/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE= -github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= -github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= -github.com/alecthomas/assert/v2 v2.1.0 h1:tbredtNcQnoSd3QBhQWI7QZ3XHOVkw1Moklp2ojoH/0= -github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= -github.com/alecthomas/kong v0.8.1 h1:acZdn3m4lLRobeh3Zi2S2EpnXTd1mOL6U7xVml+vfkY= -github.com/alecthomas/kong v0.8.1/go.mod h1:n1iCIO2xS46oE8ZfYCNDqdR0b0wZNrXAIAqro/2132U= -github.com/alecthomas/kong-yaml v0.2.0 h1:iiVVqVttmOsHKawlaW/TljPsjaEv1O4ODx6dloSA58Y= -github.com/alecthomas/kong-yaml v0.2.0/go.mod h1:vMvOIy+wpB49MCZ0TA3KMts38Mu9YfRP03Q1StN69/g= -github.com/alecthomas/repr v0.1.0 h1:ENn2e1+J3k09gyj2shc0dHr/yjaWSHRlrJ4DPMevDqE= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220816024939-bc8df83d7b9d h1:0xIrH2lJbraclvJT3pvTf3u2oCAL60cAqiv4qRpz4EI= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20220816024939-bc8df83d7b9d/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= -github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= -github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= -github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= -github.com/arangodb/go-driver v1.6.0 h1:NFWj/idqXZxhFVueihMSI2R9NotNIsgvNfM/xmpekb4= -github.com/arangodb/go-driver v1.6.0/go.mod h1:HQmdGkvNMVBTE3SIPSQ8T/ZddC6iwNsfMR+dDJQxIsI= -github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g= -github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho= -github.com/aws/aws-sdk-go v1.45.1/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go v1.46.2 h1:XZbOmjtN1VCfEtQq7QNFsbxIqO+bB+bRhiOBjp6AzWc= -github.com/aws/aws-sdk-go v1.46.2/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88= -github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= -github.com/blevesearch/bleve/v2 v2.3.10 h1:z8V0wwGoL4rp7nG/O3qVVLYxUqCbEwskMt4iRJsPLgg= -github.com/blevesearch/bleve/v2 v2.3.10/go.mod h1:RJzeoeHC+vNHsoLR54+crS1HmOWpnH87fL70HAUCzIA= -github.com/blevesearch/bleve_index_api v1.0.6 h1:gyUUxdsrvmW3jVhhYdCVL6h9dCjNT/geNU7PxGn37p8= -github.com/blevesearch/bleve_index_api v1.0.6/go.mod h1:YXMDwaXFFXwncRS8UobWs7nvo0DmusriM1nztTlj1ms= -github.com/blevesearch/geo v0.1.18 h1:Np8jycHTZ5scFe7VEPLrDoHnnb9C4j636ue/CGrhtDw= -github.com/blevesearch/geo v0.1.18/go.mod h1:uRMGWG0HJYfWfFJpK3zTdnnr1K+ksZTuWKhXeSokfnM= -github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo= -github.com/blevesearch/go-porterstemmer v1.0.3/go.mod h1:angGc5Ht+k2xhJdZi511LtmxuEf0OVpvUUNrwmM1P7M= -github.com/blevesearch/gtreap v0.1.1 h1:2JWigFrzDMR+42WGIN/V2p0cUvn4UP3C4Q5nmaZGW8Y= -github.com/blevesearch/gtreap v0.1.1/go.mod h1:QaQyDRAT51sotthUWAH4Sj08awFSSWzgYICSZ3w0tYk= -github.com/blevesearch/mmap-go v1.0.4 h1:OVhDhT5B/M1HNPpYPBKIEJaD0F3Si+CrEKULGCDPWmc= -github.com/blevesearch/mmap-go v1.0.4/go.mod h1:EWmEAOmdAS9z/pi/+Toxu99DnsbhG1TIxUoRmJw/pSs= -github.com/blevesearch/scorch_segment_api/v2 v2.1.6 h1:CdekX/Ob6YCYmeHzD72cKpwzBjvkOGegHOqhAkXp6yA= -github.com/blevesearch/scorch_segment_api/v2 v2.1.6/go.mod h1:nQQYlp51XvoSVxcciBjtvuHPIVjlWrN1hX4qwK2cqdc= -github.com/blevesearch/segment v0.9.1 h1:+dThDy+Lvgj5JMxhmOVlgFfkUtZV2kw49xax4+jTfSU= -github.com/blevesearch/segment v0.9.1/go.mod h1:zN21iLm7+GnBHWTao9I+Au/7MBiL8pPFtJBJTsk6kQw= -github.com/blevesearch/snowballstem v0.9.0 h1:lMQ189YspGP6sXvZQ4WZ+MLawfV8wOmPoD/iWeNXm8s= -github.com/blevesearch/snowballstem v0.9.0/go.mod h1:PivSj3JMc8WuaFkTSRDW2SlrulNWPl4ABg1tC/hlgLs= -github.com/blevesearch/upsidedown_store_api v1.0.2 h1:U53Q6YoWEARVLd1OYNc9kvhBMGZzVrdmaozG2MfoB+A= -github.com/blevesearch/upsidedown_store_api v1.0.2/go.mod h1:M01mh3Gpfy56Ps/UXHjEO/knbqyQ1Oamg8If49gRwrQ= -github.com/blevesearch/vellum v1.0.10 h1:HGPJDT2bTva12hrHepVT3rOyIKFFF4t7Gf6yMxyMIPI= -github.com/blevesearch/vellum v1.0.10/go.mod h1:ul1oT0FhSMDIExNjIxHqJoGpVrBpKCdgDQNxfqgJt7k= -github.com/blevesearch/zapx/v11 v11.3.10 h1:hvjgj9tZ9DeIqBCxKhi70TtSZYMdcFn7gDb71Xo/fvk= -github.com/blevesearch/zapx/v11 v11.3.10/go.mod h1:0+gW+FaE48fNxoVtMY5ugtNHHof/PxCqh7CnhYdnMzQ= -github.com/blevesearch/zapx/v12 v12.3.10 h1:yHfj3vXLSYmmsBleJFROXuO08mS3L1qDCdDK81jDl8s= -github.com/blevesearch/zapx/v12 v12.3.10/go.mod h1:0yeZg6JhaGxITlsS5co73aqPtM04+ycnI6D1v0mhbCs= -github.com/blevesearch/zapx/v13 v13.3.10 h1:0KY9tuxg06rXxOZHg3DwPJBjniSlqEgVpxIqMGahDE8= -github.com/blevesearch/zapx/v13 v13.3.10/go.mod h1:w2wjSDQ/WBVeEIvP0fvMJZAzDwqwIEzVPnCPrz93yAk= -github.com/blevesearch/zapx/v14 v14.3.10 h1:SG6xlsL+W6YjhX5N3aEiL/2tcWh3DO75Bnz77pSwwKU= -github.com/blevesearch/zapx/v14 v14.3.10/go.mod h1:qqyuR0u230jN1yMmE4FIAuCxmahRQEOehF78m6oTgns= -github.com/blevesearch/zapx/v15 v15.3.13 h1:6EkfaZiPlAxqXz0neniq35my6S48QI94W/wyhnpDHHQ= -github.com/blevesearch/zapx/v15 v15.3.13/go.mod h1:Turk/TNRKj9es7ZpKK95PS7f6D44Y7fAFy8F4LXQtGg= -github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= -github.com/bmizerany/pat v0.0.0-20210406213842-e4b6760bdd6f h1:gOO/tNZMjjvTKZWpY7YnXC72ULNLErRtp94LountVE8= -github.com/bmizerany/pat v0.0.0-20210406213842-e4b6760bdd6f/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63nhn5WAunQHLTznkw5W8b1Xc0dNjp83s= +github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= +github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/aws/aws-sdk-go v1.51.11 h1:El5VypsMIz7sFwAAj/j06JX9UGs4KAbAIEaZ57bNY4s= +github.com/aws/aws-sdk-go v1.51.11/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= +github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= +github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= +github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= +github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 h1:81KE7vaZzrl7yHBYHVEzYB8sypz11NMOZ40YlWvPxsU= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5/go.mod h1:LIt2rg7Mcgn09Ygbdh/RdIm0rQ+3BNkbP1gyVMFtRK0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 h1:ZMeFZ5yk+Ek+jNr1+uwCd2tG89t6oTS5yVWpa6yy2es= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7/go.mod h1:mxV05U+4JiHqIpGqqYXOHLPKUC6bDXC44bsUhNjOEwY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= +github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= +github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= +github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/brianvoe/gofakeit/v7 v7.0.3 h1:tGCt+eYfhTMWE1ko5G2EO1f/yE44yNpIwUb4h32O0wo= +github.com/brianvoe/gofakeit/v7 v7.0.3/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/containerd/containerd v1.6.26 h1:VVfrE6ZpyisvB1fzoY8Vkiq4sy+i5oF4uk7zu03RaHs= -github.com/containerd/containerd v1.6.26/go.mod h1:I4TRdsdoo5MlKob5khDJS2EPT1l1oMNaE2MBm6FrwxM= -github.com/coreos/go-oidc/v3 v3.7.0 h1:FTdj0uexT4diYIPlF4yoFVI5MRO1r5+SEcIpEw9vC0o= -github.com/coreos/go-oidc/v3 v3.7.0/go.mod h1:yQzSCqBnK3e6Fs5l+f5i0F8Kwf0zpH9bPEsbY00KanM= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= +github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible h1:rsPfdypSNWulLrsXo3WiBdlNQpokgBqfWLjEa/aXiBc= -github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c= +github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4= +github.com/domodwyer/mailyak/v3 v3.6.2 h1:x3tGMsyFhTCaxp6ycgR0FE/bu5QiNp+hetUuCOBXMn8= +github.com/domodwyer/mailyak/v3 v3.6.2/go.mod h1:lOm/u9CyCVWHeaAmHIdF4RiKVxKUT/H5XX10lIKAL6c= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= -github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= -github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= -github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= -github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= -github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk= -github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= -github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= -github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= -github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= -github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.3.0 h1:sbeU3Y4Qzlb+MOzIe6mQGf7QR4Hkv6ZD0qhGkBFL2O0= -github.com/gobwas/ws v1.3.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/geo v0.0.0-20230421003525-6adc56603217 h1:HKlyj6in2JV6wVkmQ4XmG/EIm+SCYlPZ+V4GWit7Z+I= -github.com/golang/geo v0.0.0-20230421003525-6adc56603217/go.mod h1:8wI0hitZ3a1IxZfeH3/5I97CI8i5cLGsYe7xNhQGs9U= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= +github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/ganigeorgiev/fexpr v0.4.0 h1:ojitI+VMNZX/odeNL1x3RzTTE8qAIVvnSSYPNAnQFDI= +github.com/ganigeorgiev/fexpr v0.4.0/go.mod h1:RyGiGqmeXhEQ6+mlGdnUleLHgtzzu/VGO2WtJkF5drE= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ozzo/ozzo-validation/v4 v4.3.0 h1:byhDUpfEwjsVQb1vBunvIjh2BHQ9ead57VkAEY4V+Es= +github.com/go-ozzo/ozzo-validation/v4 v4.3.0/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= +github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= -github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= -github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= -github.com/google/s2a-go v0.1.5/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo= +github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= -github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= -github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= -github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/schema v1.2.0 h1:YufUaxZYCKGFuAq3c96BOhjgd5nmXiOY9NGzF247Tsc= -github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= -github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= -github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= -github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= -github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0 h1:nHoRIX8iXob3Y2kdt9KsjyIb7iApSvb3vgsd93xb5Ow= -github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0/go.mod h1:c1tRKs5Tx7E2+uHGSyyncziFjvGpgv4H2HrqXeUQ/Uk= -github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= -github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.6.0 h1:HBkoIh4BdSxoyo9PveV8giw7ZsaBOvzWKfcg/6MrVwI= +github.com/google/wire v0.6.0/go.mod h1:F4QhpQ9EDIdJ1Mbop/NZBRB+5yrR6qg3BnctaoUk6NA= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= +github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= +github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jonas-plum/maut v0.0.0-20221105155335-ed984fd96915 h1:KMj2qGSB7YUIaUftqWASPI+ggVelUlXYppv1DA/CCD0= -github.com/jonas-plum/maut v0.0.0-20221105155335-ed984fd96915/go.mod h1:GHi17CboIfEAzcLKyOforrRGpNsJkIahosnrlgfsOvM= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61 h1:FwuzbVh87iLiUQj1+uQUsuw9x5t9m5n5g7rG7o4svW4= +github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61/go.mod h1:paQfF1YtHe+GrGg5fOgjsjoCX/UKDr9bc1DoWpZfns8= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mingrammer/commonregex v1.0.1 h1:QY0Z1Bl80jw9M3+488HJXPWnZmvtu3UdvxyodP2FTyY= -github.com/mingrammer/commonregex v1.0.1/go.mod h1:/HNZq7qReKgXBxJxce5SOxf33y0il/ZqL4Kxgo2NLcA= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= -github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b h1:YWuSjZCQAPM8UUBLkYUk1e+rZcvWHJmFb6i6rM44Xs8= -github.com/opencontainers/image-spec v1.1.0-rc2.0.20221005185240-3a7f492d3f1b/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= +github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= +github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/pocketbase/dbx v1.10.1 h1:cw+vsyfCJD8YObOVeqb93YErnlxwYMkNZ4rwN0G0AaA= +github.com/pocketbase/dbx v1.10.1/go.mod h1:xXRCIAKTHMgUCyCKZm55pUOdvFziJjQfXaWKhu2vhMs= +github.com/pocketbase/pocketbase v0.22.10 h1:5iRTl2wGdH/l/IrJKi/gwzMB4t7pF/oLaGX86BQIy4o= +github.com/pocketbase/pocketbase v0.22.10/go.mod h1:rk8bn2ywGEC6+bQRfduM8xy0weLVqjDULiMEkgvbpYs= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= -github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= -github.com/sethgrid/pester v1.2.0/go.mod h1:hEUINb4RqvDxtoCaU0BNT/HV4ig5kfgOasrf1xcvr0A= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM= -github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= -github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= -github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= -github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= -github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= -github.com/tus/tusd v1.13.0 h1:W7rtb1XPSpde/GPZAgdfUS3vus2Jt2KmckS6OUd3CU8= -github.com/tus/tusd v1.13.0/go.mod h1:1tX4CDGlx8koHGFJdSaJ5ybUIm2NeVloJgZEPSKRcQA= -github.com/vimeo/go-util v1.4.1/go.mod h1:r+yspV//C48HeMXV8nEvtUeNiIiGfVv3bbEHzOgudwE= -github.com/warjiang/gojsonschema v1.2.1-0.20201027075954-b076d39a02e5 h1:dgD8Na9CIf4VZQj8pSVcF0c9ihnb6BW/dJZQ71I2TGU= -github.com/warjiang/gojsonschema v1.2.1-0.20201027075954-b076d39a02e5/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -github.com/zitadel/logging v0.3.4 h1:9hZsTjMMTE3X2LUi0xcF9Q9EdLo+FAezeu52ireBbHM= -github.com/zitadel/oidc v1.8.0 h1:FEUuAaZVgZv0dWGpCNcG1ov7COVDA5x2yzlYwqy8iTs= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.25.0 h1:gldB5FfhRl7OJQbUHt/8s0a7cE8fbsPAtdpRaApKy4k= +go.opentelemetry.io/otel v1.25.0/go.mod h1:Wa2ds5NOXEMkCmUou1WA7ZBfLTHWIsp034OVD7AO+Vg= +go.opentelemetry.io/otel/metric v1.25.0 h1:LUKbS7ArpFL/I2jJHdJcqMGxkRdxpPHE0VU/D4NuEwA= +go.opentelemetry.io/otel/metric v1.25.0/go.mod h1:rkDLUSd2lC5lq2dFNrX9LGAbINP5B7WBkC78RXCpH5s= +go.opentelemetry.io/otel/trace v1.25.0 h1:tqukZGLwQYRIFtSQM2u2+yfMVTgGVeqRLPUYx1Dq6RM= +go.opentelemetry.io/otel/trace v1.25.0/go.mod h1:hCCs70XM/ljO+BeQkyFnbK28SBIJ/Emuha+ccrCRT7I= +gocloud.dev v0.37.0 h1:XF1rN6R0qZI/9DYjN16Uy0durAmSlf58DHOcb28GPro= +gocloud.dev v0.37.0/go.mod h1:7/O4kqdInCNsc6LqgmuFnS0GRew4XNNYWpA44yQnwco= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= -golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8= +golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= -golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= -golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= -golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= -golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= -golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= +golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= -golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= -gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= -google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= -google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= -google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= -google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= -google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= -google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= -google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= -google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= -google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= -google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= -google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= -google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= -google.golang.org/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= -google.golang.org/api v0.132.0/go.mod h1:AeTBC6GpJnJSRJjktDcPX0QwtS8pGYZOV6MSuSCusw0= -google.golang.org/api v0.138.0/go.mod h1:4xyob8CxC+0GChNBvEUAk8VBKNvYOTWM9T3v3UfRxuY= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/api v0.176.1 h1:DJSXnV6An+NhJ1J+GWtoF2nHEuqB1VNoTfnIbjNvwD4= +google.golang.org/api v0.176.1/go.mod h1:j2MaSDYcvYV1lkZ1+SMW4IeF90SrEyFA+tluDYWRrFg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= -google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= -google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= -google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= -google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= -google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= -google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= -google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= -google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= -google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= -google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= -google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= -google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= -google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= -google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= -google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= -google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= -google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= -google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20230711160842-782d3b101e98/go.mod h1:3QoBVwTHkXbY1oRGzlhwhOykfcATQN43LJ6iT8Wy8kE= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa h1:ePqxpG3LVx+feAUOx8YmR5T7rc0rdzK8DyxM8cQ9zq0= +google.golang.org/genproto v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:CnZenrTdRJb7jc+jOm0Rkywq+9wh0QC4U8tyiRbEPPM= +google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa h1:Jt1XW5PaLXF1/ePZrznsh/aAUvI7Adfc3LY1dAKlzRs= +google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:K4kfzHtI0kqWA79gecJarFtDn/Mls+GxQcg3Zox91Ac= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= -google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= -google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= -google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1999,103 +327,42 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/Acconut/lockfile.v1 v1.1.0/go.mod h1:6UCz3wJ8tSFUsPR6uP/j8uegEtDuEEqFxlpi0JI4Umw= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/h2non/gock.v1 v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaDva0= -gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= -modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= -modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= -modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= -modernc.org/ccgo/v3 v3.0.0-20220904174949-82d86e1b6d56/go.mod h1:YSXjPL62P2AMSxBphRHPn7IkzhVHqkvOnRKAKh+W6ZI= -modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= -modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= -modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= -modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= -modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= -modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= -modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= -modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= -modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= -modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= -modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= -modernc.org/libc v1.17.4/go.mod h1:WNg2ZH56rDEwdropAJeZPQkXmDwh+JCA1s/htl6r2fA= -modernc.org/libc v1.18.0/go.mod h1:vj6zehR5bfc98ipowQOM2nIDUZnVew/wNC/2tOGS+q0= -modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= -modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= -modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= -modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/cc/v4 v4.21.0 h1:D/gLKtcztomvWbsbvBKo3leKQv+86f+DdqEZBBXhnag= +modernc.org/cc/v4 v4.21.0/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ= +modernc.org/ccgo/v4 v4.17.0 h1:cX97L5Bv/7PEmyk1oEAD890fQu5/yUQRYeYBsCSnzww= +modernc.org/ccgo/v4 v4.17.0/go.mod h1:keES1eiOIBJhbA5qKrV7ADG3w8DsX8G7jfHAT76riOg= +modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE= +modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ= +modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw= +modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU= +modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b h1:BnN1t+pb1cy61zbvSUV7SeI0PwosMhlAEi/vBY4qxp8= +modernc.org/gc/v3 v3.0.0-20240304020402-f0dba7c97c2b/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4= +modernc.org/libc v1.50.2 h1:I0+3wlRvXmAEjAJvD7BhP1kmKHwkzV0rOcqFcD85u+0= +modernc.org/libc v1.50.2/go.mod h1:Fd8TZdfRorOd1vB0QCtYSHYAuzobS4xS3mhMGUkeVcA= +modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= +modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= +modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E= +modernc.org/memory v1.8.0/go.mod h1:XPZ936zp5OMKGWPqbD3JShgd/ZoQ7899TUuQqxY+peU= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= -modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= -modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= -modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= -modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= -modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc= +modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss= +modernc.org/sqlite v1.29.8 h1:nGKglNx9K5v0As+zF0/Gcl1kMkmaU1XynYyq92PbsC8= +modernc.org/sqlite v1.29.8/go.mod h1:lQPm27iqa4UNZpmr4Aor0MH0HkCLbt1huYDfWylLZFk= +modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= +modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/hooks/hooks.go b/hooks/hooks.go deleted file mode 100644 index c116c33..0000000 --- a/hooks/hooks.go +++ /dev/null @@ -1,55 +0,0 @@ -package hooks - -import ( - "context" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/index" -) - -type Hooks struct { - DatabaseAfterConnectFuncs []func(ctx context.Context, client driver.Client, name string) - IngestionFilterFunc func(ctx context.Context, index *index.Index) (string, error) - TicketReadFilterFunc func(ctx context.Context) (string, map[string]any, error) - TicketWriteFilterFunc func(ctx context.Context) (string, map[string]any, error) - GetGroupsFunc func(ctx context.Context, username string) ([]string, error) -} - -func (h *Hooks) DatabaseAfterConnect(ctx context.Context, client driver.Client, name string) { - for _, f := range h.DatabaseAfterConnectFuncs { - f(ctx, client, name) - } -} - -func (h *Hooks) IngestionFilter(ctx context.Context, index *index.Index) (string, error) { - if h.IngestionFilterFunc != nil { - return h.IngestionFilterFunc(ctx, index) - } - - return "[]", nil -} - -func (h *Hooks) TicketReadFilter(ctx context.Context) (string, map[string]any, error) { - if h.TicketReadFilterFunc != nil { - return h.TicketReadFilterFunc(ctx) - } - - return "", nil, nil -} - -func (h *Hooks) TicketWriteFilter(ctx context.Context) (string, map[string]any, error) { - if h.TicketWriteFilterFunc != nil { - return h.TicketWriteFilterFunc(ctx) - } - - return "", nil, nil -} - -func (h *Hooks) GetGroups(ctx context.Context, username string) ([]string, error) { - if h.GetGroupsFunc != nil { - return h.GetGroupsFunc(ctx, username) - } - - return nil, nil -} diff --git a/index/index.go b/index/index.go deleted file mode 100644 index 27705dc..0000000 --- a/index/index.go +++ /dev/null @@ -1,87 +0,0 @@ -package index - -import ( - "errors" - "fmt" - "log" - "os" - - "github.com/blevesearch/bleve/v2" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -type Index struct { - name string - internal bleve.Index -} - -func New(name string) (*Index, error) { - var err error - var bleveIndex bleve.Index - if _, oerr := os.Stat(name); os.IsNotExist(oerr) { - bleveIndex, err = bleve.New(name, bleve.NewIndexMapping()) - } else { - bleveIndex, err = bleve.Open(name) - } - if err != nil { - return nil, err - } - - return &Index{name: name, internal: bleveIndex}, nil -} - -func (i *Index) Index(incidents []*model.TicketSimpleResponse) { - b := i.internal.NewBatch() - for _, incident := range incidents { - if incident.ID == 0 { - log.Println(errors.New("no ID"), incident) - - continue - } - - err := b.Index(fmt.Sprint(incident.ID), incident) - if err != nil { - log.Println(err) - } - } - - if err := i.internal.Batch(b); err != nil { - log.Println(err) - } -} - -func (i *Index) Search(term string) (ids []string, err error) { - query := bleve.NewQueryStringQuery(term) - result, err := i.internal.Search(bleve.NewSearchRequestOptions(query, 10000, 0, false)) - if err != nil { - return nil, err - } - for _, match := range result.Hits { - ids = append(ids, match.ID) - } - - return ids, nil -} - -func (i *Index) Truncate() error { - err := i.internal.Close() - if err != nil { - return err - } - err = os.RemoveAll(i.name) - if err != nil { - return err - } - index, err := bleve.New(i.name, bleve.NewIndexMapping()) - if err != nil { - return err - } - i.internal = index - - return nil -} - -func (i *Index) Close() error { - return i.internal.Close() -} diff --git a/index/index_test.go b/index/index_test.go deleted file mode 100644 index 9033691..0000000 --- a/index/index_test.go +++ /dev/null @@ -1,94 +0,0 @@ -package index_test - -import ( - "reflect" - "testing" - - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/test" -) - -func TestIndex(t *testing.T) { - t.Parallel() - - type args struct { - term string - } - tests := []struct { - name string - args args - wantIds []string - wantErr bool - }{ - {name: "Exists", args: args{"foo"}, wantIds: []string{"1"}}, - {name: "Not exists", args: args{"bar"}}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - i, cleanup, err := test.Index(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - i.Index([]*model.TicketSimpleResponse{ - {ID: 0, Name: "bar"}, - {ID: 1, Name: "foo"}, - }) - - gotIds, err := i.Search(tt.args.term) - if (err != nil) != tt.wantErr { - t.Errorf("Search() error = %v, wantErr %v", err, tt.wantErr) - - return - } - if !reflect.DeepEqual(gotIds, tt.wantIds) { - t.Errorf("Search() gotIds = %v, want %v", gotIds, tt.wantIds) - } - }) - } -} - -func TestIndex_Truncate(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - wantErr bool - }{ - {name: "Truncate"}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - i, cleanup, err := test.Index(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - i.Index([]*model.TicketSimpleResponse{ - {ID: 0, Name: "bar"}, - {ID: 1, Name: "foo"}, - }) - - if err := i.Truncate(); (err != nil) != tt.wantErr { - t.Errorf("Truncate() error = %v, wantErr %v", err, tt.wantErr) - } - - ids, err := i.Search("foo") - if err != nil { - t.Fatal(err) - } - - if ids != nil { - t.Fatal("should return no results") - } - }) - } -} diff --git a/main.go b/main.go new file mode 100644 index 0000000..4dc326b --- /dev/null +++ b/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "log" + + "github.com/pocketbase/pocketbase" + + "github.com/SecurityBrewery/catalyst/migrations" +) + +func main() { + if err := run(); err != nil { + log.Fatal(err) + } +} + +func run() error { + migrations.Register() + + app := pocketbase.NewWithConfig(pocketbase.Config{ + DefaultDev: dev(), + DefaultDataDir: "catalyst_data", + }) + + attachWebhooks(app) + + // Register additional commands + app.RootCmd.AddCommand(bootstrapCmd(app)) + app.RootCmd.AddCommand(fakeDataCmd(app)) + app.RootCmd.AddCommand(setFeatureFlagsCmd(app)) + + app.OnBeforeServe().Add(addRoutes()) + + return app.Start() +} diff --git a/migrations/0_base.go b/migrations/0_base.go new file mode 100644 index 0000000..5e5b145 --- /dev/null +++ b/migrations/0_base.go @@ -0,0 +1,57 @@ +package migrations + +import ( + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + "github.com/pocketbase/pocketbase/models/settings" + "github.com/pocketbase/pocketbase/tools/types" +) + +type baseUpFunc func(dao *daos.Dao) error + +func baseUp(db dbx.Builder) error { + dao := daos.New(db) + + for _, f := range []baseUpFunc{ + settingsUp, + allowUserViewUp, + } { + if err := f(dao); err != nil { + return err + } + } + + return nil +} + +func settingsUp(dao *daos.Dao) error { + s := settings.New() + s.Meta.AppName = "Catalyst" + s.Meta.HideControls = false + + return dao.SaveSettings(s) +} + +func allowUserViewUp(dao *daos.Dao) error { + collection, err := dao.FindCollectionByNameOrId(UserCollectionName) + if err != nil { + return err + } + + collection.ViewRule = types.Pointer("@request.auth.id != ''") + collection.ListRule = types.Pointer("@request.auth.id != ''") + + return dao.SaveCollection(collection) +} + +func baseDown(db dbx.Builder) error { + collection, err := daos.New(db).FindCollectionByNameOrId(UserCollectionName) + if err != nil { + return err + } + + collection.ViewRule = types.Pointer("id = @request.auth.id") + collection.ListRule = types.Pointer("id = @request.auth.id") + + return daos.New(db).SaveCollection(collection) +} diff --git a/migrations/1_collections.go b/migrations/1_collections.go new file mode 100644 index 0000000..cdbf058 --- /dev/null +++ b/migrations/1_collections.go @@ -0,0 +1,165 @@ +package migrations + +import ( + "fmt" + + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + "github.com/pocketbase/pocketbase/models" + "github.com/pocketbase/pocketbase/models/schema" + "github.com/pocketbase/pocketbase/tools/types" +) + +const ( + TimelineCollectionName = "timeline" + CommentCollectionName = "comments" + fileCollectionName = "files" + LinkCollectionName = "links" + TaskCollectionName = "tasks" + TicketCollectionName = "tickets" + TypeCollectionName = "types" + WebhookCollectionName = "webhooks" + FeatureCollectionName = "features" + + UserCollectionName = "_pb_users_auth_" +) + +func collectionsUp(db dbx.Builder) error { + collections := []*models.Collection{ + internalCollection(&models.Collection{ + Name: TypeCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "singular", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "plural", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "icon", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "schema", Type: schema.FieldTypeJson, Required: true, Options: &schema.JsonOptions{MaxSize: 50_000}}, + ), + }), + internalCollection(&models.Collection{ + Name: TicketCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "name", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "type", Type: schema.FieldTypeRelation, Options: &schema.RelationOptions{CollectionId: TypeCollectionName, MaxSelect: types.Pointer(1)}}, + &schema.SchemaField{Name: "description", Type: schema.FieldTypeText}, + &schema.SchemaField{Name: "open", Type: schema.FieldTypeBool}, + &schema.SchemaField{Name: "resolution", Type: schema.FieldTypeText}, + &schema.SchemaField{Name: "schema", Type: schema.FieldTypeJson, Options: &schema.JsonOptions{MaxSize: 50_000}}, + &schema.SchemaField{Name: "state", Type: schema.FieldTypeJson, Options: &schema.JsonOptions{MaxSize: 50_000}}, + &schema.SchemaField{Name: "owner", Type: schema.FieldTypeRelation, Options: &schema.RelationOptions{CollectionId: UserCollectionName, MaxSelect: types.Pointer(1)}}, + ), + }), + internalCollection(&models.Collection{ + Name: TaskCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "ticket", Type: schema.FieldTypeRelation, Required: true, Options: &schema.RelationOptions{CollectionId: TicketCollectionName, MaxSelect: types.Pointer(1), CascadeDelete: true}}, + &schema.SchemaField{Name: "name", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "open", Type: schema.FieldTypeBool}, + &schema.SchemaField{Name: "owner", Type: schema.FieldTypeRelation, Options: &schema.RelationOptions{CollectionId: UserCollectionName, MaxSelect: types.Pointer(1)}}, + ), + }), + internalCollection(&models.Collection{ + Name: CommentCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "ticket", Type: schema.FieldTypeRelation, Required: true, Options: &schema.RelationOptions{CollectionId: TicketCollectionName, MaxSelect: types.Pointer(1), CascadeDelete: true}}, + &schema.SchemaField{Name: "author", Type: schema.FieldTypeRelation, Options: &schema.RelationOptions{CollectionId: UserCollectionName, MaxSelect: types.Pointer(1)}}, + &schema.SchemaField{Name: "message", Type: schema.FieldTypeText, Required: true}, + ), + }), + internalCollection(&models.Collection{ + Name: TimelineCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "ticket", Type: schema.FieldTypeRelation, Required: true, Options: &schema.RelationOptions{CollectionId: TicketCollectionName, MaxSelect: types.Pointer(1), CascadeDelete: true}}, + &schema.SchemaField{Name: "time", Type: schema.FieldTypeDate, Required: true}, + &schema.SchemaField{Name: "message", Type: schema.FieldTypeText, Required: true}, + ), + }), + internalCollection(&models.Collection{ + Name: LinkCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "ticket", Type: schema.FieldTypeRelation, Required: true, Options: &schema.RelationOptions{CollectionId: TicketCollectionName, MaxSelect: types.Pointer(1), CascadeDelete: true}}, + &schema.SchemaField{Name: "name", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "url", Type: schema.FieldTypeUrl, Required: true}, + ), + }), + + internalCollection(&models.Collection{ + Name: fileCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "ticket", Type: schema.FieldTypeRelation, Required: true, Options: &schema.RelationOptions{CollectionId: TicketCollectionName, MaxSelect: types.Pointer(1), CascadeDelete: true}}, + &schema.SchemaField{Name: "name", Type: schema.FieldTypeText, Required: true}, + &schema.SchemaField{Name: "size", Type: schema.FieldTypeNumber, Required: true}, + &schema.SchemaField{Name: "blob", Type: schema.FieldTypeFile, Required: true, Options: &schema.FileOptions{MaxSelect: 1, MaxSize: 1024 * 1024 * 100}}, + ), + }), + { + BaseModel: models.BaseModel{ + Id: FeatureCollectionName, + }, + Name: FeatureCollectionName, + Type: models.CollectionTypeBase, + Schema: schema.NewSchema( + &schema.SchemaField{Name: "name", Type: schema.FieldTypeText, Required: true}, + ), + ListRule: types.Pointer("@request.auth.id != ''"), + ViewRule: types.Pointer("@request.auth.id != ''"), + Indexes: types.JsonArray[string]{ + fmt.Sprintf("CREATE UNIQUE INDEX `unique_name` ON `%s` (`name`)", FeatureCollectionName), + }, + }, + } + + dao := daos.New(db) + for _, c := range collections { + if err := dao.SaveCollection(c); err != nil { + return err + } + } + + return nil +} + +func internalCollection(c *models.Collection) *models.Collection { + c.Id = c.Name + c.ListRule = types.Pointer("@request.auth.id != ''") + c.ViewRule = types.Pointer("@request.auth.id != ''") + c.CreateRule = types.Pointer("@request.auth.id != ''") + c.UpdateRule = types.Pointer("@request.auth.id != ''") + c.DeleteRule = types.Pointer("@request.auth.id != ''") + + return c +} + +func collectionsDown(db dbx.Builder) error { + collections := []string{ + TicketCollectionName, + TypeCollectionName, + fileCollectionName, + LinkCollectionName, + TaskCollectionName, + CommentCollectionName, + TimelineCollectionName, + FeatureCollectionName, + } + + dao := daos.New(db) + + for _, name := range collections { + id, err := dao.FindCollectionByNameOrId(name) + if err != nil { + return err + } + + if err := dao.DeleteCollection(id); err != nil { + return err + } + } + + return nil +} diff --git a/migrations/3_defaultdata.go b/migrations/3_defaultdata.go new file mode 100644 index 0000000..8170745 --- /dev/null +++ b/migrations/3_defaultdata.go @@ -0,0 +1,51 @@ +package migrations + +import ( + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + "github.com/pocketbase/pocketbase/models" + "github.com/pocketbase/pocketbase/tools/security" +) + +func defaultDataUp(db dbx.Builder) error { + dao := daos.New(db) + + for _, records := range [][]*models.Record{typeRecords(dao)} { + for _, record := range records { + if err := dao.SaveRecord(record); err != nil { + return err + } + } + } + + return nil +} + +func typeRecords(dao *daos.Dao) []*models.Record { + collection, err := dao.FindCollectionByNameOrId(TypeCollectionName) + if err != nil { + panic(err) + } + + var records []*models.Record + + record := models.NewRecord(collection) + record.SetId("y_" + security.PseudorandomString(5)) + record.Set("singular", "Incident") + record.Set("plural", "Incidents") + record.Set("icon", "Flame") + record.Set("schema", `{"type":"object","properties":{"tlp":{"title":"TLP","type":"string"}}}`) + + records = append(records, record) + + record = models.NewRecord(collection) + record.SetId("y_" + security.PseudorandomString(5)) + record.Set("singular", "Alert") + record.Set("plural", "Alerts") + record.Set("icon", "AlertTriangle") + record.Set("schema", `{"type":"object","properties":{"severity":{"title":"Severity","type":"string"}},"required": ["severity"]}`) + + records = append(records, record) + + return records +} diff --git a/migrations/4_views.go b/migrations/4_views.go new file mode 100644 index 0000000..7ad190d --- /dev/null +++ b/migrations/4_views.go @@ -0,0 +1,70 @@ +package migrations + +import ( + "github.com/pocketbase/dbx" + "github.com/pocketbase/pocketbase/daos" + "github.com/pocketbase/pocketbase/models" + "github.com/pocketbase/pocketbase/tools/types" +) + +const ( + dashboardCountsViewName = "dashboard_counts" + sidebarViewName = "sidebar" +) + +const dashboardCountsViewQuery = `SELECT id, count FROM ( + SELECT 'users' as id, COUNT(users.id) as count FROM users + UNION + SELECT 'tickets' as id, COUNT(tickets.id) as count FROM tickets + UNION + SELECT 'tasks' as id, COUNT(tasks.id) as count FROM tasks +) as counts;` + +const sidebarViewQuery = `SELECT types.id as id, types.singular as singular, types.plural as plural, types.icon as icon, (SELECT COUNT(tickets.id) FROM tickets WHERE tickets.type = types.id AND tickets.open = true) as count +FROM types +ORDER BY types.plural;` + +func viewsUp(db dbx.Builder) error { + collections := []*models.Collection{ + internalView(dashboardCountsViewName, dashboardCountsViewQuery), + internalView(sidebarViewName, sidebarViewQuery), + } + + dao := daos.New(db) + for _, c := range collections { + if err := dao.SaveCollection(c); err != nil { + return err + } + } + + return nil +} + +func internalView(name, query string) *models.Collection { + return &models.Collection{ + Name: name, + Type: models.CollectionTypeView, + Options: types.JsonMap{"query": query}, + ListRule: types.Pointer("@request.auth.id != ''"), + ViewRule: types.Pointer("@request.auth.id != ''"), + } +} + +func viewsDown(db dbx.Builder) error { + dao := daos.New(db) + + collections := []string{dashboardCountsViewName, sidebarViewName} + + for _, c := range collections { + id, err := dao.FindCollectionByNameOrId(c) + if err != nil { + return err + } + + if err := dao.DeleteCollection(id); err != nil { + return err + } + } + + return nil +} diff --git a/migrations/migrations.go b/migrations/migrations.go new file mode 100644 index 0000000..d0ab957 --- /dev/null +++ b/migrations/migrations.go @@ -0,0 +1,12 @@ +package migrations + +import ( + "github.com/pocketbase/pocketbase/migrations" +) + +func Register() { + migrations.Register(baseUp, baseDown, "1700000000_base.go") + migrations.Register(collectionsUp, collectionsDown, "1700000001_collections.go") + migrations.Register(defaultDataUp, nil, "1700000003_defaultdata.go") + migrations.Register(viewsUp, viewsDown, "1700000004_views.go") +} diff --git a/roles.go b/roles.go deleted file mode 100644 index a0c64be..0000000 --- a/roles.go +++ /dev/null @@ -1,50 +0,0 @@ -package catalyst - -import maut "github.com/jonas-plum/maut/auth" - -var Admin = &maut.Role{ - Name: "admin", - Permissions: append(engineer.Permissions, - "backup:create", - "backup:restore", - "dashboard:write", - "job:read", - "job:write", - "log:read", - "settings:write", - "ticket:delete", - "user:write", - "userdata:write", - ), -} - -var engineer = &maut.Role{ - Name: "engineer", - Permissions: append(analyst.Permissions, - "automation:write", - "playbook:write", - "template:write", - "tickettype:write", - ), -} - -var analyst = &maut.Role{ - Name: "analyst", - Permissions: []string{ - "automation:read", - "currentuser:read", - "currentuserdata:read", - "currentuserdata:write", - "dashboard:read", - "file:read", - "file:write", - "playbook:read", - "settings:read", - "template:read", - "ticket:read", - "ticket:write", - "tickettype:read", - "user:read", - "userdata:read", - }, -} diff --git a/routes.go b/routes.go new file mode 100644 index 0000000..dc9fa99 --- /dev/null +++ b/routes.go @@ -0,0 +1,62 @@ +package main + +import ( + "embed" + "io/fs" + "net/http" + "net/http/httputil" + "net/url" + "os" + "strings" + + "github.com/labstack/echo/v5" + "github.com/pocketbase/pocketbase/apis" + "github.com/pocketbase/pocketbase/core" +) + +//go:embed ui/dist/* +var ui embed.FS + +func dev() bool { + return strings.HasPrefix(os.Args[0], os.TempDir()) +} + +func addRoutes() func(*core.ServeEvent) error { + return func(e *core.ServeEvent) error { + e.Router.GET("/", func(c echo.Context) error { + return c.Redirect(http.StatusFound, "/ui/") + }) + e.Router.GET("/ui/*", staticFiles()) + e.Router.GET("/api/config", func(c echo.Context) error { + flags, err := flags(e.App) + if err != nil { + return err + } + + return c.JSON(http.StatusOK, map[string]any{ + "flags": flags, + }) + }) + + return nil + } +} + +func staticFiles() func(echo.Context) error { + return func(c echo.Context) error { + if dev() { + u, _ := url.Parse("http://localhost:3000/") + proxy := httputil.NewSingleHostReverseProxy(u) + + c.Request().Host = c.Request().URL.Host + + proxy.ServeHTTP(c.Response(), c.Request()) + + return nil + } + + fsys, _ := fs.Sub(ui, "ui/dist") + + return apis.StaticDirectoryHandler(fsys, true)(c) + } +} diff --git a/server.go b/server.go deleted file mode 100644 index 40bc126..0000000 --- a/server.go +++ /dev/null @@ -1,131 +0,0 @@ -package catalyst - -import ( - "context" - "fmt" - "net/http" - "time" - - "github.com/go-chi/chi/v5" - "github.com/go-chi/chi/v5/middleware" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/busservice" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/hooks" - "github.com/SecurityBrewery/catalyst/index" - "github.com/SecurityBrewery/catalyst/service" - "github.com/SecurityBrewery/catalyst/storage" -) - -type Config struct { - IndexPath string - DB *database.Config - Storage *storage.Config - - Auth *maut.Config - ExternalAddress string - InternalAddress string - Network string - Port int -} - -type Server struct { - Bus *bus.Bus - DB *database.Database - Index *index.Index - Storage *storage.Storage - Server chi.Router -} - -func New(hooks *hooks.Hooks, config *Config) (*Server, error) { - ctx := context.Background() - ctx, cancel := context.WithTimeout(ctx, time.Minute*10) - defer cancel() - - catalystStorage, err := storage.New(config.Storage) - if err != nil { - return nil, fmt.Errorf("failed to create storage: %w", err) - } - - catalystIndex, err := index.New(config.IndexPath) - if err != nil { - return nil, fmt.Errorf("failed to create index: %w", err) - } - - catalystBus := bus.New() - - catalystDatabase, err := database.New(ctx, catalystIndex, catalystBus, hooks, config.DB) - if err != nil { - return nil, fmt.Errorf("failed to create database: %w", err) - } - - busservice.New(config.InternalAddress+"/api", config.Auth.InitialAPIKey, config.Network, catalystBus, catalystDatabase) - - catalystService, err := service.New(catalystBus, catalystDatabase, catalystStorage, GetVersion()) - if err != nil { - return nil, fmt.Errorf("failed to create service: %w", err) - } - - authenticator, err := maut.NewAuthenticator(ctx, config.Auth, newCatalystResolver(catalystDatabase)) - if err != nil { - return nil, fmt.Errorf("failed to create authenticator: %w", err) - } - - apiServer, err := setupAPI(authenticator, catalystService, catalystStorage, catalystDatabase, catalystBus, config) - if err != nil { - return nil, fmt.Errorf("failed to create api server: %w", err) - } - - return &Server{ - Bus: catalystBus, - DB: catalystDatabase, - Index: catalystIndex, - Storage: catalystStorage, - Server: apiServer, - }, nil -} - -func setupAPI(authenticator *maut.Authenticator, catalystService *service.Service, catalystStorage *storage.Storage, catalystDatabase *database.Database, bus *bus.Bus, config *Config) (chi.Router, error) { - middlewares := []func(next http.Handler) http.Handler{ - authenticator.Authenticate(), - authenticator.AuthorizeBlockedUser(), - } - - // create server - apiServer := api.NewServer(catalystService, permissionAuth(authenticator), middlewares...) - apiServer.Mount("/files", fileServer(authenticator, catalystDatabase, bus, catalystStorage, config)) - - server := chi.NewRouter() - server.Use(middleware.RequestID, middleware.RealIP, middleware.Logger, middleware.Recoverer) - server.Mount("/api", apiServer) - server.Mount("/auth", authenticator.Server()) - server.With(middlewares...).Handle("/wss", handleWebSocket(bus)) - - server.Get("/", func(w http.ResponseWriter, r *http.Request) { - http.Redirect(w, r, "/ui/", http.StatusFound) - }) - - return server, nil -} - -func permissionAuth(authenticator *maut.Authenticator) func([]string) func(http.Handler) http.Handler { - return func(strings []string) func(http.Handler) http.Handler { - return authenticator.AuthorizePermission(strings...) - } -} - -func fileServer(authenticator *maut.Authenticator, catalystDatabase *database.Database, bus *bus.Bus, catalystStorage *storage.Storage, config *Config) *chi.Mux { - fileRW := authenticator.AuthorizePermission("file:read", "file:write") // TODO: add test - tudHandler := tusdUpload(catalystDatabase, bus, catalystStorage.S3(), config.ExternalAddress) - server := chi.NewRouter() - server.With(fileRW).Head("/{ticketID}/tusd/{id}", tudHandler) - server.With(fileRW).Patch("/{ticketID}/tusd/{id}", tudHandler) - server.With(fileRW).Post("/{ticketID}/tusd", tudHandler) - server.With(fileRW).Post("/{ticketID}/upload", upload(catalystDatabase, catalystStorage.S3(), catalystStorage.Uploader())) - server.With(fileRW).Get("/{ticketID}/download/{key}", download(catalystStorage.Downloader())) - - return server -} diff --git a/service/automation.go b/service/automation.go deleted file mode 100644 index c8a81ca..0000000 --- a/service/automation.go +++ /dev/null @@ -1,49 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func automationResponseID(automation *model.AutomationResponse) []driver.DocumentID { - if automation == nil { - return nil - } - - return automationID(automation.ID) -} - -func automationID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.AutomationCollectionName, id))} -} - -func (s *Service) ListAutomations(ctx context.Context) ([]*model.AutomationResponse, error) { - return s.database.AutomationList(ctx) -} - -func (s *Service) CreateAutomation(ctx context.Context, form *model.AutomationForm) (doc *model.AutomationResponse, err error) { - defer s.publishRequest(ctx, err, "CreateAutomation", automationResponseID(doc)) - - return s.database.AutomationCreate(ctx, form) -} - -func (s *Service) GetAutomation(ctx context.Context, id string) (*model.AutomationResponse, error) { - return s.database.AutomationGet(ctx, id) -} - -func (s *Service) UpdateAutomation(ctx context.Context, id string, form *model.AutomationForm) (doc *model.AutomationResponse, err error) { - defer s.publishRequest(ctx, err, "UpdateAutomation", automationResponseID(doc)) - - return s.database.AutomationUpdate(ctx, id, form) -} - -func (s *Service) DeleteAutomation(ctx context.Context, id string) (err error) { - defer s.publishRequest(ctx, err, "DeleteAutomation", automationID(id)) - - return s.database.AutomationDelete(ctx, id) -} diff --git a/service/dashboard.go b/service/dashboard.go deleted file mode 100644 index abba06c..0000000 --- a/service/dashboard.go +++ /dev/null @@ -1,53 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func dashboardResponseID(doc *model.DashboardResponse) []driver.DocumentID { - if doc == nil { - return nil - } - - return templateID(doc.ID) -} - -func dashboardID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.DashboardCollectionName, id))} -} - -func (s *Service) ListDashboards(ctx context.Context) ([]*model.DashboardResponse, error) { - return s.database.DashboardList(ctx) -} - -func (s *Service) CreateDashboard(ctx context.Context, dashboard *model.Dashboard) (doc *model.DashboardResponse, err error) { - defer s.publishRequest(ctx, err, "CreateDashboard", dashboardResponseID(doc)) - - return s.database.DashboardCreate(ctx, dashboard) -} - -func (s *Service) GetDashboard(ctx context.Context, id string) (*model.DashboardResponse, error) { - return s.database.DashboardGet(ctx, id) -} - -func (s *Service) UpdateDashboard(ctx context.Context, id string, form *model.Dashboard) (doc *model.DashboardResponse, err error) { - defer s.publishRequest(ctx, err, "UpdateDashboard", dashboardResponseID(doc)) - - return s.database.DashboardUpdate(ctx, id, form) -} - -func (s *Service) DeleteDashboard(ctx context.Context, id string) (err error) { - defer s.publishRequest(ctx, err, "DeleteDashboard", dashboardID(id)) - - return s.database.DashboardDelete(ctx, id) -} - -func (s *Service) DashboardData(ctx context.Context, aggregation string, filter *string) (map[string]any, error) { - return s.database.WidgetData(ctx, aggregation, filter) -} diff --git a/service/job.go b/service/job.go deleted file mode 100644 index 16fa862..0000000 --- a/service/job.go +++ /dev/null @@ -1,63 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - "github.com/google/uuid" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func jobResponseID(job *model.JobResponse) []driver.DocumentID { - if job == nil { - return nil - } - - return jobID(job.ID) -} - -func jobID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.JobCollectionName, id))} -} - -func (s *Service) ListJobs(ctx context.Context) ([]*model.JobResponse, error) { - return s.database.JobList(ctx) -} - -func (s *Service) RunJob(ctx context.Context, form *model.JobForm) (doc *model.JobResponse, err error) { - msgContext := &model.Context{} - newJobID := uuid.NewString() - - defer s.publishRequest(ctx, err, "RunJob", jobID(newJobID)) - s.bus.JobChannel.Publish(&bus.JobMsg{ - ID: newJobID, - Automation: form.Automation, - Origin: form.Origin, - Message: &model.Message{ - Context: msgContext, - Payload: form.Payload, - }, - }) - - return &model.JobResponse{ - Automation: form.Automation, - ID: newJobID, - Origin: form.Origin, - Payload: form.Payload, - Status: "published", - }, nil -} - -func (s *Service) GetJob(ctx context.Context, id string) (*model.JobResponse, error) { - return s.database.JobGet(ctx, id) -} - -func (s *Service) UpdateJob(ctx context.Context, id string, job *model.JobUpdate) (doc *model.JobResponse, err error) { - defer s.publishRequest(ctx, err, "UpdateJob", jobResponseID(doc)) - - return s.database.JobUpdate(ctx, id, job) -} diff --git a/service/log.go b/service/log.go deleted file mode 100644 index d0ae307..0000000 --- a/service/log.go +++ /dev/null @@ -1,14 +0,0 @@ -package service - -import ( - "context" - "net/url" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (s *Service) GetLogs(ctx context.Context, reference string) ([]*model.LogEntry, error) { - id, _ := url.QueryUnescape(reference) - - return s.database.LogList(ctx, id) -} diff --git a/service/playbook.go b/service/playbook.go deleted file mode 100644 index 9309355..0000000 --- a/service/playbook.go +++ /dev/null @@ -1,49 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func playbookResponseID(playbook *model.PlaybookTemplateResponse) []driver.DocumentID { - if playbook == nil { - return nil - } - - return playbookID(playbook.ID) -} - -func playbookID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.PlaybookCollectionName, id))} -} - -func (s *Service) ListPlaybooks(ctx context.Context) ([]*model.PlaybookTemplateResponse, error) { - return s.database.PlaybookList(ctx) -} - -func (s *Service) CreatePlaybook(ctx context.Context, form *model.PlaybookTemplateForm) (doc *model.PlaybookTemplateResponse, err error) { - defer s.publishRequest(ctx, err, "CreatePlaybook", playbookResponseID(doc)) - - return s.database.PlaybookCreate(ctx, form) -} - -func (s *Service) GetPlaybook(ctx context.Context, id string) (*model.PlaybookTemplateResponse, error) { - return s.database.PlaybookGet(ctx, id) -} - -func (s *Service) UpdatePlaybook(ctx context.Context, id string, form *model.PlaybookTemplateForm) (doc *model.PlaybookTemplateResponse, err error) { - defer s.publishRequest(ctx, err, "UpdatePlaybook", playbookResponseID(doc)) - - return s.database.PlaybookUpdate(ctx, id, form) -} - -func (s *Service) DeletePlaybook(ctx context.Context, id string) (err error) { - defer s.publishRequest(ctx, err, "DeletePlaybook", playbookID(id)) - - return s.database.PlaybookDelete(ctx, id) -} diff --git a/service/service.go b/service/service.go deleted file mode 100644 index ea3ce76..0000000 --- a/service/service.go +++ /dev/null @@ -1,42 +0,0 @@ -package service - -import ( - "context" - - "github.com/arangodb/go-driver" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/storage" -) - -type Service struct { - bus *bus.Bus - database *database.Database - storage *storage.Storage - version string -} - -func New(bus *bus.Bus, database *database.Database, storage *storage.Storage, version string) (*Service, error) { - return &Service{database: database, bus: bus, storage: storage, version: version}, nil -} - -func (s *Service) publishRequest(ctx context.Context, err error, function string, ids []driver.DocumentID) { - if err != nil { - return - } - if ids != nil { - userID := "unknown" - user, _, ok := maut.UserFromContext(ctx) - if ok { - userID = user.ID - } - - s.bus.RequestChannel.Publish(&bus.RequestMsg{ - User: userID, - Function: function, - IDs: ids, - }) - } -} diff --git a/service/settings.go b/service/settings.go deleted file mode 100644 index 1223b10..0000000 --- a/service/settings.go +++ /dev/null @@ -1,50 +0,0 @@ -package service - -import ( - "context" - - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (s *Service) GetSettings(ctx context.Context) (*model.SettingsResponse, error) { - globalSettings, err := s.database.Settings(ctx) - if err != nil { - return nil, err - } - - return s.settings(ctx, globalSettings) -} - -func (s *Service) SaveSettings(ctx context.Context, settings *model.Settings) (*model.SettingsResponse, error) { - globalSettings, err := s.database.SaveSettings(ctx, settings) - if err != nil { - return nil, err - } - - return s.settings(ctx, globalSettings) -} - -func (s *Service) settings(ctx context.Context, globalSettings *model.Settings) (*model.SettingsResponse, error) { - user, permissions, ok := maut.UserFromContext(ctx) - if ok { - userData, _ := s.database.UserDataGet(ctx, user.ID) - - if userData != nil && userData.Timeformat != nil { - globalSettings.Timeformat = *userData.Timeformat - } - } - - ticketTypeList, _ := s.database.TicketTypeList(ctx) - - return &model.SettingsResponse{ - Tier: model.SettingsResponseTierCommunity, - Version: s.version, - Roles: permissions, - TicketTypes: ticketTypeList, - ArtifactStates: globalSettings.ArtifactStates, - ArtifactKinds: globalSettings.ArtifactKinds, - Timeformat: globalSettings.Timeformat, - }, nil -} diff --git a/service/statistics.go b/service/statistics.go deleted file mode 100644 index c9a2449..0000000 --- a/service/statistics.go +++ /dev/null @@ -1,11 +0,0 @@ -package service - -import ( - "context" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (s *Service) GetStatistics(ctx context.Context) (*model.Statistics, error) { - return s.database.Statistics(ctx) -} diff --git a/service/task.go b/service/task.go deleted file mode 100644 index 5935ea4..0000000 --- a/service/task.go +++ /dev/null @@ -1,11 +0,0 @@ -package service - -import ( - "context" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func (s *Service) ListTasks(ctx context.Context) ([]*model.TaskWithContext, error) { - return s.database.TaskList(ctx) -} diff --git a/service/template.go b/service/template.go deleted file mode 100644 index 886dfa8..0000000 --- a/service/template.go +++ /dev/null @@ -1,49 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func templateResponseID(template *model.TicketTemplateResponse) []driver.DocumentID { - if template == nil { - return nil - } - - return templateID(template.ID) -} - -func templateID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.TemplateCollectionName, id))} -} - -func (s *Service) ListTemplates(ctx context.Context) ([]*model.TicketTemplateResponse, error) { - return s.database.TemplateList(ctx) -} - -func (s *Service) CreateTemplate(ctx context.Context, form *model.TicketTemplateForm) (doc *model.TicketTemplateResponse, err error) { - defer s.publishRequest(ctx, err, "CreateTemplate", templateResponseID(doc)) - - return s.database.TemplateCreate(ctx, form) -} - -func (s *Service) GetTemplate(ctx context.Context, id string) (*model.TicketTemplateResponse, error) { - return s.database.TemplateGet(ctx, id) -} - -func (s *Service) UpdateTemplate(ctx context.Context, id string, form *model.TicketTemplateForm) (doc *model.TicketTemplateResponse, err error) { - defer s.publishRequest(ctx, err, "UpdateTemplate", templateResponseID(doc)) - - return s.database.TemplateUpdate(ctx, id, form) -} - -func (s *Service) DeleteTemplate(ctx context.Context, id string) (err error) { - defer s.publishRequest(ctx, err, "DeleteTemplate", templateID(id)) - - return s.database.TemplateDelete(ctx, id) -} diff --git a/service/ticket.go b/service/ticket.go deleted file mode 100644 index b7b6f0e..0000000 --- a/service/ticket.go +++ /dev/null @@ -1,233 +0,0 @@ -package service - -import ( - "context" - "errors" - "fmt" - "net/http" - - "github.com/arangodb/go-driver" - "github.com/google/uuid" - - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func ticketWithTicketsID(ticketResponse *model.TicketWithTickets) []driver.DocumentID { - if ticketResponse == nil { - return nil - } - - return ticketID(ticketResponse.ID) -} - -func ticketID(ticketID int64) []driver.DocumentID { - id := fmt.Sprintf("%s/%d", database.TicketCollectionName, ticketID) - - return []driver.DocumentID{driver.DocumentID(id)} -} - -func ticketIDs(ticketResponses []*model.TicketResponse) []driver.DocumentID { - var ids []driver.DocumentID - for _, ticketResponse := range ticketResponses { - ids = append(ids, ticketID(ticketResponse.ID)...) - } - - return ids -} - -func (s *Service) ListTickets(ctx context.Context, ticketType *string, offsetP, countP *int, sort []string, descending []bool, queryP *string) (*model.TicketList, error) { - q := "" - if queryP != nil && *queryP != "" { - q = *queryP - } - t := "" - if ticketType != nil && *ticketType != "" { - t = *ticketType - } - - offset := int64(0) - if offsetP != nil { - offset = int64(*offsetP) - } - - count := int64(25) - if countP != nil { - count = int64(*countP) - } - - return s.database.TicketList(ctx, t, q, sort, descending, offset, count) -} - -func (s *Service) CreateTicket(ctx context.Context, form *model.TicketForm) (doc *model.TicketResponse, err error) { - createdTickets, err := s.database.TicketBatchCreate(ctx, []*model.TicketForm{form}) - defer s.publishRequest(ctx, err, "CreateTicket", ticketIDs(createdTickets)) - if len(createdTickets) > 0 { - return createdTickets[0], err - } - - return nil, err -} - -func (s *Service) CreateTicketBatch(ctx context.Context, ticketFormArray *model.TicketFormArray) error { - if ticketFormArray == nil { - return &api.HTTPError{Status: http.StatusUnprocessableEntity, Internal: errors.New("no tickets given")} - } - createdTickets, err := s.database.TicketBatchCreate(ctx, *ticketFormArray) - defer s.publishRequest(ctx, err, "CreateTicket", ticketIDs(createdTickets)) - - return err -} - -func (s *Service) GetTicket(ctx context.Context, i int64) (*model.TicketWithTickets, error) { - return s.database.TicketGet(ctx, i) -} - -func (s *Service) UpdateTicket(ctx context.Context, i int64, ticket *model.Ticket) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "UpdateTicket", ticketWithTicketsID(doc)) - - return s.database.TicketUpdate(ctx, i, ticket) -} - -func (s *Service) DeleteTicket(ctx context.Context, i int64) (err error) { - defer s.publishRequest(ctx, err, "DeleteTicket", ticketID(i)) - - return s.database.TicketDelete(ctx, i) -} - -func (s *Service) AddArtifact(ctx context.Context, i int64, artifact *model.Artifact) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "AddArtifact", ticketWithTicketsID(doc)) - - return s.database.AddArtifact(ctx, i, artifact) -} - -func (s *Service) GetArtifact(ctx context.Context, i int64, s2 string) (*model.Artifact, error) { - return s.database.ArtifactGet(ctx, i, s2) -} - -func (s *Service) SetArtifact(ctx context.Context, i int64, s2 string, artifact *model.Artifact) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "SetArtifact", ticketWithTicketsID(doc)) - - return s.database.ArtifactUpdate(ctx, i, s2, artifact) -} - -func (s *Service) RemoveArtifact(ctx context.Context, i int64, s2 string) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "RemoveArtifact", ticketWithTicketsID(doc)) - - return s.database.RemoveArtifact(ctx, i, s2) -} - -func (s *Service) EnrichArtifact(ctx context.Context, i int64, s2 string, form *model.EnrichmentForm) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "EnrichArtifact", ticketWithTicketsID(doc)) - - return s.database.EnrichArtifact(ctx, i, s2, form) -} - -func (s *Service) RunArtifact(ctx context.Context, id int64, name string, automation string) error { - artifact, err := s.database.ArtifactGet(ctx, id, name) - if err != nil { - return err - } - - defer s.publishRequest(ctx, err, "RunArtifact", ticketID(id)) - - jobID := uuid.NewString() - origin := &model.Origin{ArtifactOrigin: &model.ArtifactOrigin{TicketId: id, Artifact: name}} - - s.bus.JobChannel.Publish(&bus.JobMsg{ - ID: jobID, - Automation: automation, - Origin: origin, - Message: &model.Message{ - Context: &model.Context{Artifact: artifact}, - Payload: map[string]string{"default": name}, - }, - }) - - return nil -} - -func (s *Service) AddComment(ctx context.Context, i int64, form *model.CommentForm) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "AddComment", ticketWithTicketsID(doc)) - - return s.database.AddComment(ctx, i, form) -} - -func (s *Service) RemoveComment(ctx context.Context, i int64, i2 int) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "RemoveComment", ticketWithTicketsID(doc)) - - return s.database.RemoveComment(ctx, i, int64(i2)) -} - -func (s *Service) AddTicketPlaybook(ctx context.Context, i int64, form *model.PlaybookTemplateForm) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "AddTicketPlaybook", ticketWithTicketsID(doc)) - - return s.database.AddTicketPlaybook(ctx, i, form) -} - -func (s *Service) RemoveTicketPlaybook(ctx context.Context, i int64, s2 string) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "RemoveTicketPlaybook", ticketWithTicketsID(doc)) - - return s.database.RemoveTicketPlaybook(ctx, i, s2) -} - -func (s *Service) SetTaskData(ctx context.Context, i int64, s3 string, s2 string, data map[string]any) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "SetTask", ticketWithTicketsID(doc)) - - return s.database.TaskUpdateData(ctx, i, s3, s2, data) -} - -func (s *Service) SetTaskOwner(ctx context.Context, i int64, s3 string, s2 string, owner string) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "SetTask", ticketWithTicketsID(doc)) - - return s.database.TaskUpdateOwner(ctx, i, s3, s2, owner) -} - -func (s *Service) CompleteTask(ctx context.Context, i int64, s3 string, s2 string, m map[string]any) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "CompleteTask", ticketWithTicketsID(doc)) - - return s.database.TaskComplete(ctx, i, s3, s2, m) -} - -func (s *Service) RunTask(ctx context.Context, i int64, s3 string, s2 string) (err error) { - defer s.publishRequest(ctx, err, "RunTask", ticketID(i)) - - return s.database.TaskRun(ctx, i, s3, s2) -} - -func (s *Service) SetReferences(ctx context.Context, i int64, references *model.ReferenceArray) (doc *model.TicketWithTickets, err error) { - if references == nil { - return nil, &api.HTTPError{Status: http.StatusUnprocessableEntity, Internal: errors.New("no references given")} - } - defer s.publishRequest(ctx, err, "SetReferences", ticketID(i)) - - return s.database.SetReferences(ctx, i, *references) -} - -func (s *Service) SetSchema(ctx context.Context, i int64, s2 string) (doc *model.TicketWithTickets, err error) { - defer s.publishRequest(ctx, err, "SetSchema", ticketID(i)) - - return s.database.SetTemplate(ctx, i, s2) -} - -func (s *Service) LinkTicket(ctx context.Context, i int64, i2 int64) (*model.TicketWithTickets, error) { - err := s.database.RelatedCreate(ctx, i, i2) - if err != nil { - return nil, err - } - defer s.publishRequest(ctx, err, "LinkTicket", ticketID(i)) - - return s.GetTicket(ctx, i) -} - -func (s *Service) UnlinkTicket(ctx context.Context, i int64, i2 int64) (*model.TicketWithTickets, error) { - err := s.database.RelatedRemove(ctx, i, i2) - if err != nil { - return nil, err - } - defer s.publishRequest(ctx, err, "UnlinkTicket", ticketID(i)) - - return s.GetTicket(ctx, i) -} diff --git a/service/tickettype.go b/service/tickettype.go deleted file mode 100644 index ae405ee..0000000 --- a/service/tickettype.go +++ /dev/null @@ -1,49 +0,0 @@ -package service - -import ( - "context" - "fmt" - - "github.com/arangodb/go-driver" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func ticketTypeResponseID(ticketType *model.TicketTypeResponse) []driver.DocumentID { - if ticketType == nil { - return nil - } - - return userDataID(ticketType.ID) -} - -func ticketTypeID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.UserDataCollectionName, id))} -} - -func (s *Service) ListTicketTypes(ctx context.Context) ([]*model.TicketTypeResponse, error) { - return s.database.TicketTypeList(ctx) -} - -func (s *Service) CreateTicketType(ctx context.Context, form *model.TicketTypeForm) (doc *model.TicketTypeResponse, err error) { - defer s.publishRequest(ctx, err, "CreateTicketType", ticketTypeResponseID(doc)) - - return s.database.TicketTypeCreate(ctx, form) -} - -func (s *Service) GetTicketType(ctx context.Context, id string) (*model.TicketTypeResponse, error) { - return s.database.TicketTypeGet(ctx, id) -} - -func (s *Service) UpdateTicketType(ctx context.Context, id string, form *model.TicketTypeForm) (doc *model.TicketTypeResponse, err error) { - defer s.publishRequest(ctx, err, "UpdateTicketType", ticketTypeResponseID(doc)) - - return s.database.TicketTypeUpdate(ctx, id, form) -} - -func (s *Service) DeleteTicketType(ctx context.Context, id string) (err error) { - defer s.publishRequest(ctx, err, "DeleteTicketType", ticketTypeID(id)) - - return s.database.TicketTypeDelete(ctx, id) -} diff --git a/service/user.go b/service/user.go deleted file mode 100644 index b117822..0000000 --- a/service/user.go +++ /dev/null @@ -1,82 +0,0 @@ -package service - -import ( - "context" - "errors" - "fmt" - "net/url" - - "github.com/arangodb/go-driver" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func newUserResponseID(user *model.NewUserResponse) []driver.DocumentID { - if user == nil { - return nil - } - - return userID(user.ID) -} - -func userID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.UserCollectionName, id))} -} - -func (s *Service) ListUsers(ctx context.Context) ([]*model.UserResponse, error) { - return s.database.UserList(ctx) -} - -func (s *Service) CreateUser(ctx context.Context, form *model.UserForm) (doc *model.NewUserResponse, err error) { - defer s.publishRequest(ctx, err, "CreateUser", newUserResponseID(doc)) - - return s.database.UserCreate(ctx, form) -} - -func (s *Service) GetUser(ctx context.Context, id string) (*model.UserResponse, error) { - decodedValue, err := url.QueryUnescape(id) - if err == nil { - id = decodedValue - } - - return s.database.UserGet(ctx, id) -} - -func (s *Service) UpdateUser(ctx context.Context, id string, form *model.UserForm) (doc *model.UserResponse, err error) { - decodedValue, err := url.QueryUnescape(id) - if err == nil { - id = decodedValue - } - - defer s.publishRequest(ctx, err, "UpdateUser", userID(id)) - - return s.database.UserUpdate(ctx, id, form) -} - -func (s *Service) DeleteUser(ctx context.Context, id string) (err error) { - decodedValue, err := url.QueryUnescape(id) - if err == nil { - id = decodedValue - } - - defer s.publishRequest(ctx, err, "DeleteUser", userID(id)) - - return s.database.UserDelete(ctx, id) -} - -func (s *Service) CurrentUser(ctx context.Context) (*model.UserResponse, error) { - user, _, ok := maut.UserFromContext(ctx) - if !ok { - return nil, errors.New("no user in context") - } - s.publishRequest(ctx, nil, "CurrentUser", userID(user.ID)) - - return &model.UserResponse{ - ID: user.ID, - Apikey: user.APIKey, - Blocked: user.Blocked, - Roles: user.Roles, - }, nil -} diff --git a/service/userdata.go b/service/userdata.go deleted file mode 100644 index e8e62ee..0000000 --- a/service/userdata.go +++ /dev/null @@ -1,70 +0,0 @@ -package service - -import ( - "context" - "errors" - "fmt" - "net/url" - - "github.com/arangodb/go-driver" - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func userDataResponseID(userData *model.UserDataResponse) []driver.DocumentID { - if userData == nil { - return nil - } - - return userDataID(userData.ID) -} - -func userDataID(id string) []driver.DocumentID { - return []driver.DocumentID{driver.DocumentID(fmt.Sprintf("%s/%s", database.UserDataCollectionName, id))} -} - -func (s *Service) ListUserData(ctx context.Context) (doc []*model.UserDataResponse, err error) { - return s.database.UserDataList(ctx) -} - -func (s *Service) GetUserData(ctx context.Context, id string) (*model.UserDataResponse, error) { - decodedValue, err := url.QueryUnescape(id) - if err == nil { - id = decodedValue - } - - return s.database.UserDataGet(ctx, id) -} - -func (s *Service) UpdateUserData(ctx context.Context, id string, data *model.UserData) (doc *model.UserDataResponse, err error) { - decodedValue, err := url.QueryUnescape(id) - if err == nil { - id = decodedValue - } - - defer s.publishRequest(ctx, err, "UpdateUserData", userDataResponseID(doc)) - - return s.database.UserDataUpdate(ctx, id, data) -} - -func (s *Service) CurrentUserData(ctx context.Context) (doc *model.UserDataResponse, err error) { - user, _, ok := maut.UserFromContext(ctx) - if !ok { - return nil, errors.New("no user in context") - } - - return s.database.UserDataGet(ctx, user.ID) -} - -func (s *Service) UpdateCurrentUserData(ctx context.Context, data *model.UserData) (doc *model.UserDataResponse, err error) { - user, _, ok := maut.UserFromContext(ctx) - if !ok { - return nil, errors.New("no user in context") - } - - defer s.publishRequest(ctx, err, "UpdateCurrentUserData", userDataResponseID(doc)) - - return s.database.UserDataUpdate(ctx, user.ID, data) -} diff --git a/storage/storage.go b/storage/storage.go deleted file mode 100644 index bfbd90b..0000000 --- a/storage/storage.go +++ /dev/null @@ -1,80 +0,0 @@ -package storage - -import ( - "errors" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/session" - "github.com/aws/aws-sdk-go/service/s3" - "github.com/aws/aws-sdk-go/service/s3/s3manager" - - "github.com/SecurityBrewery/catalyst/generated/pointer" -) - -type Storage struct { - session *session.Session -} - -type Config struct { - Host string - User string - Region string - Password string -} - -func New(config *Config) (*Storage, error) { - s, err := session.NewSession(&aws.Config{ - Credentials: credentials.NewStaticCredentials(config.User, config.Password, ""), - Endpoint: aws.String(config.Host), - Region: aws.String(config.Region), - DisableSSL: aws.Bool(true), - S3ForcePathStyle: aws.Bool(true), - }) - - return &Storage{s}, err -} - -func (s *Storage) S3() *s3.S3 { - return s3.New(s.session) -} - -func (s *Storage) Downloader() *s3manager.Downloader { - d := s3manager.NewDownloader(s.session) - d.Concurrency = 1 - - return d -} - -func (s *Storage) Uploader() *s3manager.Uploader { - d := s3manager.NewUploader(s.session) - d.Concurrency = 1 - - return d -} - -func (s *Storage) DeleteBucket(name string) error { - _, err := s.S3().DeleteBucket(&s3.DeleteBucketInput{Bucket: pointer.String("catalyst-" + name)}) - - return err -} - -func CreateBucket(client *s3.S3, ticketID string) error { - _, err := client.CreateBucket(&s3.CreateBucketInput{Bucket: pointer.String("catalyst-" + ticketID)}) - if err == nil { - err = client.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: pointer.String("catalyst-" + ticketID)}) - if err != nil { - return err - } - } else { - var awsError awserr.Error - if errors.As(err, &awsError) && (awsError.Code() == s3.ErrCodeBucketAlreadyExists || awsError.Code() == s3.ErrCodeBucketAlreadyOwnedByYou) { - return nil - } - - return err - } - - return err -} diff --git a/test/data.go b/test/data.go deleted file mode 100644 index 6a5fafb..0000000 --- a/test/data.go +++ /dev/null @@ -1,118 +0,0 @@ -package test - -import ( - "context" - "time" - - maut "github.com/jonas-plum/maut/auth" - - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/database/migrations" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/generated/pointer" -) - -var ( - bobSetting = &model.UserData{Email: pointer.String("bob@example.org"), Name: pointer.String("Bob Bad")} - bobForm = &model.UserForm{ID: "bob", Blocked: false, Roles: []string{"admin"}} - Bob = &maut.User{ID: "bob", Blocked: false, Roles: []string{"admin"}} -) - -func SetupTestData(ctx context.Context, db *database.Database) error { - if err := db.UserDataCreate(ctx, "bob", bobSetting); err != nil { - return err - } - - if _, err := db.UserCreate(ctx, bobForm); err != nil { - return err - } - if _, err := db.UserCreate(ctx, &model.UserForm{ID: "script", Roles: []string{"engineer"}, Apikey: true}); err != nil { - return err - } - - if _, err := db.TicketBatchCreate(ctx, []*model.TicketForm{ - { - ID: pointer.Int64(8125), - Created: parse("2021-10-02T18:04:59.078186+02:00"), - Modified: parse("2021-10-02T18:04:59.078186+02:00"), - Name: "phishing from selenafadel@von.com detected", - Owner: pointer.String("demo"), - References: []*model.Reference{{Href: "https://www.seniorleading-edge.name/users/efficient", Name: "recovery"}, {Href: "http://www.dynamicseamless.com/clicks-and-mortar", Name: "force"}, {Href: "http://www.leadscalable.biz/envisioneer", Name: "fund"}}, - Schema: pointer.String("{}"), - Status: "closed", - Type: "alert", - }, { - ID: pointer.Int64(8126), - Created: parse("2021-10-02T18:04:59.078186+02:00"), - Modified: parse("2021-10-02T18:04:59.078186+02:00"), - Name: "Surfaceintroduce virus detected", - Owner: pointer.String("demo"), - References: []*model.Reference{{Href: "http://www.centralworld-class.io/synthesize", Name: "university"}, {Href: "https://www.futurevirtual.org/supply-chains/markets/sticky/iterate", Name: "goal"}, {Href: "http://www.chiefsyndicate.io/action-items", Name: "unemployment"}}, - Schema: pointer.String("{}"), - Status: "closed", - Type: "alert", - }, { - ID: pointer.Int64(8123), - Created: parse("2021-10-02T18:04:59.078206+02:00"), - Modified: parse("2021-10-02T18:04:59.078206+02:00"), - Artifacts: []*model.Artifact{ - {Name: "94d5cab6f5fe3422a447ab15436e7a672bc0c09a", Status: pointer.String("unknown")}, - {Name: "http://www.customerviral.io/scalable/vertical/killer", Status: pointer.String("clean")}, - {Name: "leadreintermediate.io", Status: pointer.String("malicious")}, - }, - Name: "live zebra", - Owner: pointer.String("demo"), - References: []*model.Reference{{Href: "https://www.leadmaximize.net/e-services/back-end", Name: "performance"}, {Href: "http://www.corporateinteractive.name/rich", Name: "autumn"}, {Href: "https://www.corporateintuitive.org/intuitive/platforms/integrate", Name: "suggest"}}, - Schema: pointer.String("{\n \"definitions\": {},\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://example.com/object1618746510.json\",\n \"title\": \"Event\",\n \"type\": \"object\",\n \"required\": [\n \"severity\",\n \"description\",\n \"tlp\"\n ],\n \"properties\": {\n \"severity\": {\n \"$id\": \"#root/severity\",\n \"title\": \"Severity\",\n \"type\": \"string\",\n \"default\": \"Medium\",\n \"nx-enum\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"Low\",\n \"title\": \"Low\",\n \"icon\": \"mdi-chevron-up\"\n },\n {\n \"const\": \"Medium\",\n \"title\": \"Medium\",\n \"icon\": \"mdi-chevron-double-up\"\n },\n {\n \"const\": \"High\",\n \"title\": \"High\",\n \"icon\": \"mdi-chevron-triple-up\"\n }\n ]\n },\n \"tlp\": {\n \"$id\": \"#root/tlp\",\n \"title\": \"TLP\",\n \"type\": \"string\",\n \"nx-enum\": [\n \"White\",\n \"Green\",\n \"Amber\",\n \"Red\"\n ],\n \"x-cols\": 6,\n \"x-class\": \"pr-2\",\n \"x-display\": \"icon\",\n \"x-itemIcon\": \"icon\",\n \"oneOf\": [\n {\n \"const\": \"White\",\n \"title\": \"White\",\n \"icon\": \"mdi-alpha-w\"\n },\n {\n \"const\": \"Green\",\n \"title\": \"Green\",\n \"icon\": \"mdi-alpha-g\"\n },\n {\n \"const\": \"Amber\",\n \"title\": \"Amber\",\n \"icon\": \"mdi-alpha-a\"\n },\n {\n \"const\": \"Red\",\n \"title\": \"Red\",\n \"icon\": \"mdi-alpha-r\"\n }\n ]\n },\n \"description\": {\n \"$id\": \"#root/description\",\n \"title\": \"Description\",\n \"type\": \"string\",\n \"x-display\": \"textarea\",\n \"x-class\": \"pr-2\"\n }\n }\n}\n"), - Status: "closed", - Type: "incident", - Playbooks: []*model.PlaybookTemplateForm{ - {Yaml: migrations.PhishingPlaybook}, - }, - }, - }); err != nil { - return err - } - - if err := db.RelatedCreate(ctx, 8125, 8126); err != nil { - return err - } - - if _, err := db.LogCreate(ctx, "manual", "tickets/294511", "Fail run account resist lend solve incident centre priority temperature. Cause change distribution examine location technique shape partner milk customer. Rail tea plate soil report cook railway interpretation breath action. Exercise dream accept park conclusion addition shoot assistance may answer. Gold writer link stop combine hear power name commitment operation. Determine lifespan support grow degree henry exclude detail set religion. Direct library policy convention chain retain discover ride walk student. Gather proposal select march aspect play noise avoid encourage employ. Assessment preserve transport combine wish influence income guess run stand. Charge limit crime ignore statement foundation study issue stop claim."); err != nil { - return err - } - - if _, err := db.DashboardCreate(ctx, &model.Dashboard{ - Name: "Simple", - Widgets: []*model.Widget{ - { - Name: "open_tickets_per_user", - Type: model.WidgetTypeBar, - Aggregation: "owner", - Filter: pointer.String(`status == "open"`), - Width: 4, - }, - { - Name: "tickets_per_week", - Type: model.WidgetTypeLine, - Aggregation: `CONCAT(DATE_YEAR(created), "-", DATE_ISOWEEK(created) < 10 ? "0" : "", DATE_ISOWEEK(created))`, - Width: 8, - }, - }, - }); err != nil { - return err - } - - return nil -} - -func parse(s string) *time.Time { - modified, err := time.Parse(time.RFC3339, s) - if err != nil { - panic(err) - } - - utc := modified.UTC() - - return &utc -} diff --git a/test/job_test.go b/test/job_test.go deleted file mode 100644 index 19fdfc3..0000000 --- a/test/job_test.go +++ /dev/null @@ -1,87 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "io" - "log" - "net/http" - "net/http/httptest" - "testing" - "time" - - "github.com/go-chi/chi/v5" - "github.com/stretchr/testify/assert" - "github.com/tidwall/gjson" - - "github.com/SecurityBrewery/catalyst/generated/model" -) - -func TestJob(t *testing.T) { - t.Parallel() - - log.SetFlags(log.LstdFlags | log.Lshortfile) - - _, _, server, err := Catalyst(t) - if err != nil { - t.Fatal(err) - } - - b, err := json.Marshal(model.JobForm{ - Automation: "hash.sha1", - Payload: map[string]any{"default": "test"}, - }) - if err != nil { - t.Fatal(err) - } - result := request(t, server.Server, http.MethodPost, "/api/jobs", bytes.NewBuffer(b)) - id := gjson.GetBytes(result, "id").String() - - start := time.Now() - for { - time.Sleep(5 * time.Second) - - if time.Since(start) > time.Minute { - t.Fatal("job did not complete within a minute") - } - - job := request(t, server.Server, http.MethodGet, "/api/jobs/"+id, nil) - - status := gjson.GetBytes(job, "status").String() - if status != "completed" { - continue - } - - output := gjson.GetBytes(job, "output.hash").String() - assert.Equal(t, "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", output) - - break - } -} - -func request(t *testing.T, server chi.Router, method, url string, data io.Reader) []byte { - t.Helper() - - w := httptest.NewRecorder() - - // setup request - req := httptest.NewRequest(method, url, data) - req.Header.Set("Content-Type", "application/json") - req.Header.Set("PRIVATE-TOKEN", "test") - - // run request - server.ServeHTTP(w, req) - - result := w.Result() - - b, err := io.ReadAll(result.Body) - if err != nil { - t.Fatal(err) - } - - if result.StatusCode != http.StatusOK { - t.Fatalf("Status got = %v: %v, want %v", result.Status, string(b), http.StatusOK) - } - - return b -} diff --git a/test/server_test.go b/test/server_test.go deleted file mode 100644 index 741ab32..0000000 --- a/test/server_test.go +++ /dev/null @@ -1,125 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "io" - "net/http" - "net/http/httptest" - "strings" - "testing" - "time" - - "github.com/stretchr/testify/assert" - "github.com/tidwall/gjson" - "github.com/tidwall/sjson" - - "github.com/SecurityBrewery/catalyst/generated/api" - ctime "github.com/SecurityBrewery/catalyst/generated/time" -) - -type testClock struct{} - -func (testClock) Now() time.Time { - return time.Date(2021, 12, 12, 12, 12, 12, 12, time.UTC) -} - -func TestServer(t *testing.T) { - t.Parallel() - - ctime.DefaultClock = testClock{} - - for _, tt := range api.Tests { - tt := tt - t.Run(tt.Name, func(t *testing.T) { - t.Parallel() - - ctx, _, _, _, _, db, _, server, cleanup, err := Server(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - if err := SetupTestData(ctx, db); err != nil { - t.Fatal(err) - } - - w := httptest.NewRecorder() - - // setup request - var req *http.Request - if tt.Args.Data != nil { - b, err := json.Marshal(tt.Args.Data) - if err != nil { - t.Fatal(err) - } - - req = httptest.NewRequest(strings.ToUpper(tt.Args.Method), tt.Args.URL, bytes.NewBuffer(b)) - req.Header.Set("Content-Type", "application/json") - } else { - req = httptest.NewRequest(strings.ToUpper(tt.Args.Method), tt.Args.URL, nil) - } - - // run request - server.ServeHTTP(w, req) - - result := w.Result() - - // assert results - if result.StatusCode != tt.Want.Status { - msg, _ := io.ReadAll(result.Body) - - t.Fatalf("Status got = %v (%s), want %v", result.Status, msg, tt.Want.Status) - } - if tt.Want.Status != http.StatusNoContent { - jsonEqual(t, tt.Name, result.Body, tt.Want.Body) - } - }) - } -} - -func jsonEqual(t *testing.T, name string, got io.Reader, want any) { - t.Helper() - - var gotObject, wantObject any - - // load bytes - wantBytes, err := json.Marshal(want) - if err != nil { - t.Fatal(err) - } - gotBytes, err := io.ReadAll(got) - if err != nil { - t.Fatal(err) - } - - var fields []string - - if name == "CreateUser" { - fields = append(fields, "secret") - } - if name == "RunJob" { - fields = append(fields, "id", "status") - } - - for _, field := range fields { - gField := gjson.GetBytes(wantBytes, field) - if gField.Exists() && gjson.GetBytes(gotBytes, field).Exists() { - gotBytes, err = sjson.SetBytes(gotBytes, field, gField.Value()) - if err != nil { - t.Fatal(err) - } - } - } - - // normalize bytes - if err = json.Unmarshal(wantBytes, &wantObject); err != nil { - t.Fatal(err) - } - if err := json.Unmarshal(gotBytes, &gotObject); err != nil { - t.Fatal(string(gotBytes), err) - } - - // compare - assert.Equal(t, wantObject, gotObject) -} diff --git a/test/test.go b/test/test.go deleted file mode 100644 index cf98e6d..0000000 --- a/test/test.go +++ /dev/null @@ -1,227 +0,0 @@ -package test - -import ( - "context" - "log" - "net/http" - "os" - "path" - "strings" - "testing" - - "github.com/arangodb/go-driver" - "github.com/coreos/go-oidc/v3/oidc" - "github.com/go-chi/chi/v5" - maut "github.com/jonas-plum/maut/auth" - "golang.org/x/oauth2" - - "github.com/SecurityBrewery/catalyst" - "github.com/SecurityBrewery/catalyst/bus" - "github.com/SecurityBrewery/catalyst/database" - "github.com/SecurityBrewery/catalyst/generated/api" - "github.com/SecurityBrewery/catalyst/generated/model" - "github.com/SecurityBrewery/catalyst/hooks" - "github.com/SecurityBrewery/catalyst/index" - "github.com/SecurityBrewery/catalyst/service" - "github.com/SecurityBrewery/catalyst/storage" -) - -func Context() context.Context { - return maut.UserContext(context.Background(), Bob, nil) // TODO add permissions ? -} - -func Config(_ context.Context) (*catalyst.Config, error) { - config := &catalyst.Config{ - IndexPath: "index.bleve", - Network: "catalyst", - DB: &database.Config{ - Host: "http://localhost:8529", - User: "root", - Password: "foobar", - }, - Storage: &storage.Config{ - Host: "http://localhost:9000", - User: "minio", - Region: "eu-central-1", - Password: "minio123", - }, - Auth: &maut.Config{ - InitialAPIKey: "test", - CookieSecret: []byte("4ef5b29539b70233dd40c02a1799d25079595565e05a193b09da2c3e60ada1cd"), - SimpleAuthEnable: true, - APIKeyAuthEnable: true, - OIDCAuthEnable: true, - OIDCIssuer: "http://localhost:8082", - OAuth2: &oauth2.Config{ - ClientID: "catalyst", - ClientSecret: "13d4a081-7395-4f71-a911-bc098d8d3c45", - RedirectURL: "http://localhost:8002/callback", - Scopes: []string{oidc.ScopeOpenID, "profile", "email"}, - }, - // OIDCClaimUsername: "", - // OIDCClaimEmail: "", - // OIDCClaimName: "", - // AuthBlockNew: false, - // AuthDefaultRoles: nil, - }, - } - - return config, nil -} - -func Index(t *testing.T) (*index.Index, func(), error) { - t.Helper() - - dir, err := os.MkdirTemp("", "catalyst-test-"+cleanName(t)) - if err != nil { - return nil, nil, err - } - - catalystIndex, err := index.New(path.Join(dir, "index.bleve")) - if err != nil { - return nil, nil, err - } - - return catalystIndex, func() { catalystIndex.Close(); os.RemoveAll(dir) }, nil -} - -func Bus(t *testing.T) (context.Context, *catalyst.Config, *bus.Bus, error) { - t.Helper() - - ctx := Context() - - config, err := Config(ctx) - if err != nil { - t.Fatal(err) - } - - catalystBus := bus.New() - - return ctx, config, catalystBus, err -} - -func DB(t *testing.T) (context.Context, *catalyst.Config, *bus.Bus, *index.Index, *storage.Storage, *database.Database, func(), error) { - t.Helper() - - ctx, config, rbus, err := Bus(t) - if err != nil { - return nil, nil, nil, nil, nil, nil, nil, err - } - - catalystStorage, err := storage.New(config.Storage) - if err != nil { - return nil, nil, nil, nil, nil, nil, nil, err - } - - catalystIndex, cleanup, err := Index(t) - if err != nil { - return nil, nil, nil, nil, nil, nil, nil, err - } - - c := config.DB - c.Name = cleanName(t) - db, err := database.New(ctx, catalystIndex, rbus, &hooks.Hooks{ - DatabaseAfterConnectFuncs: []func(ctx context.Context, client driver.Client, name string){Clear}, - }, c) - if err != nil { - return nil, nil, nil, nil, nil, nil, nil, err - } - - _, err = db.JobCreate(ctx, "b81c2366-ea37-43d2-b61b-03afdc21d985", &model.JobForm{ - Automation: "hash.sha1", - Payload: "test", - Origin: nil, - }) - if err != nil { - return nil, nil, nil, nil, nil, nil, nil, err - } - - return ctx, config, rbus, catalystIndex, catalystStorage, db, func() { - err := db.Remove(context.Background()) - if err != nil { - log.Println(err) - } - cleanup() - }, err -} - -func Service(t *testing.T) (context.Context, *catalyst.Config, *bus.Bus, *index.Index, *storage.Storage, *database.Database, *service.Service, func(), error) { - t.Helper() - - ctx, config, rbus, catalystIndex, catalystStorage, db, cleanup, err := DB(t) - if err != nil { - t.Fatal(err) - } - - catalystService, err := service.New(rbus, db, catalystStorage, "0.0.0-test") - if err != nil { - t.Fatal(err) - } - - return ctx, config, rbus, catalystIndex, catalystStorage, db, catalystService, cleanup, err -} - -func Server(t *testing.T) (context.Context, *catalyst.Config, *bus.Bus, *index.Index, *storage.Storage, *database.Database, *service.Service, chi.Router, func(), error) { - t.Helper() - - ctx, config, rbus, catalystIndex, catalystStorage, db, catalystService, cleanup, err := Service(t) - if err != nil { - t.Fatal(err) - } - - catalystServer := api.NewServer(catalystService, func(s []string) func(http.Handler) http.Handler { - return func(handler http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - handler.ServeHTTP(w, r.WithContext(maut.UserContext(r.Context(), Bob, nil))) - }) - } - }) - - return ctx, config, rbus, catalystIndex, catalystStorage, db, catalystService, catalystServer, cleanup, err -} - -func Catalyst(t *testing.T) (context.Context, *catalyst.Config, *catalyst.Server, error) { - t.Helper() - - ctx := Context() - - config, err := Config(ctx) - if err != nil { - t.Fatal(err) - } - config.DB.Name = cleanName(t) - config.IndexPath = cleanName(t) + ".bleve" - - c, err := catalyst.New(&hooks.Hooks{ - DatabaseAfterConnectFuncs: []func(ctx context.Context, client driver.Client, name string){Clear}, - }, config) - - return ctx, config, c, err -} - -func cleanName(t *testing.T) string { - t.Helper() - - name := t.Name() - name = strings.ReplaceAll(name, " ", "") - name = strings.ReplaceAll(name, "/", "_") - - return strings.ReplaceAll(name, "#", "_") -} - -func Clear(ctx context.Context, client driver.Client, name string) { - if exists, _ := client.DatabaseExists(ctx, name); exists { - if db, err := client.Database(ctx, name); err == nil { - if exists, _ = db.GraphExists(ctx, database.TicketArtifactsGraphName); exists { - if g, err := db.Graph(ctx, database.TicketArtifactsGraphName); err == nil { - if err := g.Remove(ctx); err != nil { - log.Println(err) - } - } - } - if err := db.Remove(ctx); err != nil { - log.Println(err) - } - } - } -} diff --git a/test/user_test.go b/test/user_test.go deleted file mode 100644 index f1371ab..0000000 --- a/test/user_test.go +++ /dev/null @@ -1,73 +0,0 @@ -package test - -import ( - "bytes" - "encoding/json" - "net/http" - "net/http/httptest" - "testing" -) - -func TestUser(t *testing.T) { - t.Parallel() - - type args struct { - method string - url string - data any - } - type want struct { - status int - body any - } - tests := []struct { - name string - args args - want want - }{ - {name: "GetUser not existing", args: args{method: http.MethodGet, url: "/users/123"}, want: want{status: http.StatusNotFound, body: map[string]string{"error": "document not found"}}}, - {name: "ListUsers", args: args{method: http.MethodGet, url: "/users"}, want: want{status: http.StatusOK}}, - } - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - _, _, _, _, _, _, _, server, cleanup, err := Server(t) - if err != nil { - t.Fatal(err) - } - defer cleanup() - - // server.ConfigureRoutes() - w := httptest.NewRecorder() - - // setup request - var req *http.Request - if tt.args.data != nil { - b, err := json.Marshal(tt.args.data) - if err != nil { - t.Fatal(err) - } - - req = httptest.NewRequest(tt.args.method, tt.args.url, bytes.NewBuffer(b)) - req.Header.Set("Content-Type", "application/json") - } else { - req = httptest.NewRequest(tt.args.method, tt.args.url, nil) - } - - // run request - server.ServeHTTP(w, req) - - result := w.Result() - - // assert results - if result.StatusCode != tt.want.status { - t.Fatalf("Status got = %v, want %v", result.Status, tt.want.status) - } - if tt.want.status != http.StatusNoContent { - jsonEqual(t, tt.name, result.Body, tt.want.body) - } - }) - } -} diff --git a/ui/.browserslistrc b/ui/.browserslistrc deleted file mode 100644 index 214388f..0000000 --- a/ui/.browserslistrc +++ /dev/null @@ -1,3 +0,0 @@ -> 1% -last 2 versions -not dead diff --git a/ui/.eslintrc.cjs b/ui/.eslintrc.cjs new file mode 100644 index 0000000..6f40582 --- /dev/null +++ b/ui/.eslintrc.cjs @@ -0,0 +1,15 @@ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution') + +module.exports = { + root: true, + 'extends': [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + '@vue/eslint-config-typescript', + '@vue/eslint-config-prettier/skip-formatting' + ], + parserOptions: { + ecmaVersion: 'latest' + } +} diff --git a/ui/.eslintrc.js b/ui/.eslintrc.js deleted file mode 100644 index ba02536..0000000 --- a/ui/.eslintrc.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - "plugin:vue/essential", - "eslint:recommended", - "@vue/typescript/recommended", - ], - parserOptions: { - ecmaVersion: 2020, - }, - rules: { - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - 'vue/valid-v-slot': ['error', { - allowModifiers: true, - }], - }, - overrides: [ - { - files: ["**/__tests__/*.{j,t}s?(x)", "**/tests/unit/**/*.spec.{j,t}s?(x)"], - env: { - jest: true, - }, - }, - ], - ignorePatterns: ["src/suggestions/grammar/*.js", "src/views/playbook/vue-blocks/"], -}; diff --git a/ui/.prettierrc.json b/ui/.prettierrc.json new file mode 100644 index 0000000..c29e1c4 --- /dev/null +++ b/ui/.prettierrc.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "tabWidth": 2, + "singleQuote": true, + "printWidth": 100, + "trailingComma": "none", + "plugins": [ + "@trivago/prettier-plugin-sort-imports", + "prettier-plugin-tailwindcss" + ], + "importOrder": [ + "(.*).css$", + "^@/components/(.*)$", + "^lucide-vue-next", + "", + "^@/(.*)$" + ], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true +} \ No newline at end of file diff --git a/ui/README.md b/ui/README.md index 609de9f..3cb7823 100644 --- a/ui/README.md +++ b/ui/README.md @@ -1,27 +1,39 @@ -## Project setup +# catalyst -``` -yarn install +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +bun install ``` -### Compiles and hot-reloads for development +### Compile and Hot-Reload for Development -``` -yarn serve +```sh +bun dev ``` -### Compiles and minifies for production +### Type-Check, Compile and Minify for Production -``` -yarn build +```sh +bun build ``` -### Lints and fixes files +### Lint with [ESLint](https://eslint.org/) +```sh +bun lint ``` -yarn lint -``` - -### Customize configuration - -See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/ui/babel.config.js b/ui/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/ui/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/ui/bun.lockb b/ui/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..91c6e250783cb8941c56242d481bb368bb9d260c GIT binary patch literal 225732 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�Nvnv( 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�rGXC{LbW_xd{D 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 literal 0 HcmV?d00001 diff --git a/ui/components.json b/ui/components.json new file mode 100644 index 0000000..9c826ef --- /dev/null +++ b/ui/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://shadcn-vue.com/schema.json", + "style": "default", + "typescript": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "src/assets/main.css", + "baseColor": "slate", + "cssVariables": true + }, + "framework": "vite", + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} \ No newline at end of file diff --git a/ui/cypress.config.ts b/ui/cypress.config.ts deleted file mode 100644 index 4be4a01..0000000 --- a/ui/cypress.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'cypress' - -export default defineConfig({ - chromeWebSecurity: false, - e2e: { - // We've imported your old cypress plugins here. - // You may want to clean this up later by importing these. - setupNodeEvents(on, config) { - return require('./cypress/plugins/index.js')(on, config) - }, - baseUrl: 'http://localhost', - experimentalSessionAndOrigin: true, - }, -}) diff --git a/ui/cypress/e2e/catalyst.cy.js b/ui/cypress/e2e/catalyst.cy.js deleted file mode 100644 index ac99952..0000000 --- a/ui/cypress/e2e/catalyst.cy.js +++ /dev/null @@ -1,152 +0,0 @@ -beforeEach(() => { - cy.visit('/'); - - cy.login(); - - cy.getCookie('maut_user').should('exist'); - - cy.intercept('GET', '/api/userdata/demo', { fixture: 'userdata_demo.json' }) - cy.intercept('GET', '/api/users/demo', { fixture: 'user_demo.json' }) -}) - -if (Cypress.env('TEST') === 'tickets') { - describe('tickets', {"retries": 3}, () => { - it('open ticket', () => { - cy.visit('http://localhost/ui/tickets'); - - // clear caql - cy.get("#caqlbar > div > div > div > div > div:nth-child(2) > div > button").click(); - - // wait for results to load - cy.get("#app > div > main > div > div > div > div > div > div.v-data-table__wrapper > table > tbody > tr:nth-child(1)").should('exist'); - cy.wait(1000); - - // open ticket - cy.contains("live zebra").click(); - - // assert url - cy.url().should('eq', "http://localhost/ui/tickets/8123") - - // assert title - cy.get("h1").should("have.text", " Incident #8123: live zebra ") - }) - }) -} - -if (Cypress.env('TEST') === 'templates') { - describe('templates', {"retries": 3}, () => { - it('create template', () => { - cy.get("#toggle_menu").click(); - cy.contains('Templates').click(); - cy.get("#toggle_menu").click(); - - cy.get("body").then($body => { - if ($body.find('a[href="/ui/templates/description-only"]').length > 0) { - cy.get('a[href="/ui/templates/description-only"]').trigger('mouseover'); - cy.get('a[href="/ui/templates/description-only"] button').click(); - cy.get("#delete-button").click(); - } - }); - - cy.contains("New Template").click(); - cy.url().should('eq', "http://localhost/ui/templates/new"); - cy.get("#name-edit").click().clear().type("DescriptionOnly"); - cy.get("#template-edit #advanced").click({force: true}); - cy.get(".prism-editor__textarea").clear().type('{ "type": "object", "name": "Incident", "required": [ "description" ], "properties": { "description": { "title": "Description", "type": "string", "x-display": "textarea" } } }', {parseSpecialCharSequences: false}); - cy.contains("Create").click(); - - cy.get("#toggle_menu").click(); - cy.contains('Alerts').click(); - cy.get("#toggle_menu").click(); - - cy.contains("New Alert").click(); - cy.get("#title-edit").type("New Alert"); - cy.get("#templates-edit .v-input__slot").click(); - cy.contains("DescriptionOnly").click(); - cy.contains("Create").click(); - cy.url().should('match', /http:\/\/localhost\/ui\/tickets\/\d+/); - - cy.get("#description").type("Lorem Ipsum"); - cy.contains("Save Details").click(); - }) - }) -} - -if (Cypress.env('TEST') === 'playbooks') { - describe('playbooks', {"retries": 3}, () => { - it('create playbook', () => { - cy.get("#toggle_menu").click(); - cy.contains('Playbooks').click(); - cy.get("#toggle_menu").click(); - - cy.get("body").then($body => { - if ($body.find('a[href="/ui/playbooks/test"]').length > 0) { - cy.get('a[href="/ui/playbooks/test"]').trigger('mouseover'); - cy.get('a[href="/ui/playbooks/test"] button').click(); - cy.get("#delete-button").click(); - } - }); - - cy.contains("New Playbook").click(); - cy.url().should('eq', "http://localhost/ui/playbooks/new"); - cy.get(".prism-editor__textarea").clear().type('name: Test\n' + - 'tasks:\n' + - ' input:\n' + - ' name: Enter something to hash\n' + - 'type: input\n' + - 'schema:\n' + - ' title: Something\n' + - 'type: object\n' + - 'properties:\n' + - ' something:\n' + - ' type: string\n' + - 'title: Something\n' + - 'default: ""\n' + - '{backspace}{backspace}{backspace}next:\n' + - ' hash: "something != \'\'"\n' + - '{backspace}{backspace}\n' + - 'hash:\n' + - ' name: Hash the something\n' + - 'type: automation\n' + - 'automation: hash.sha1\n' + - 'payload:\n' + - ' default: "playbook.tasks[\'input\'].data[\'something\']"\n' + - '{backspace}next:\n' + - ' comment: "hash != \'\'"\n' + - '{backspace}{backspace}\n' + - 'comment:\n' + - ' name: Comment the hash\n' + - 'type: automation\n' + - 'automation: comment\n' + - 'payload:\n' + - ' default: "playbook.tasks[\'hash\'].data[\'hash\']"\n' + - '{backspace}next:\n' + - ' done: "done"\n' + - '{backspace}{backspace}\n' + - 'done:\n' + - ' name: You can close this case now\n' + - 'type: task\n'); - cy.scrollTo('bottom'); - cy.contains("Create").click(); - - cy.get("#toggle_menu").click(); - cy.contains('Alerts').click(); - cy.get("#toggle_menu").click(); - - cy.contains("New Alert").click(); - cy.get("#title-edit").type("New Alert"); - cy.get("#playbooks-edit .v-input__slot").click(); - cy.contains("Test").click(); - cy.contains("Create").click(); - cy.url().should('match', /http:\/\/localhost\/ui\/tickets\/\d+/); - - cy.scrollTo('bottom'); - cy.get(".playbook-test .tasks").contains("Enter something to hash").click(); - cy.get("#something").type("my test value"); - cy.contains("Complete").click(); - - // cy.wait(300 * 1000); - // cy.contains("a94a8fe5ccb19ba61c4c0873d391e987982fbbd3").should('exist'); - }) - }) -} diff --git a/ui/cypress/fixtures/user_demo.json b/ui/cypress/fixtures/user_demo.json deleted file mode 100644 index e08d96b..0000000 --- a/ui/cypress/fixtures/user_demo.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "apikey": false, - "blocked": false, - "id": "demo", - "roles": [ "admin" ] -} \ No newline at end of file diff --git a/ui/cypress/fixtures/userdata_demo.json b/ui/cypress/fixtures/userdata_demo.json deleted file mode 100644 index a386415..0000000 --- a/ui/cypress/fixtures/userdata_demo.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "email": "demo@example.org", - "id": "demo", - "name": "Demo" -} \ No newline at end of file diff --git a/ui/cypress/plugins/index.js b/ui/cypress/plugins/index.js deleted file mode 100644 index 59b2bab..0000000 --- a/ui/cypress/plugins/index.js +++ /dev/null @@ -1,22 +0,0 @@ -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -// eslint-disable-next-line no-unused-vars -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -} diff --git a/ui/cypress/support/commands.js b/ui/cypress/support/commands.js deleted file mode 100644 index c1d36c5..0000000 --- a/ui/cypress/support/commands.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************** -// custom commands -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/ui/cypress/support/e2e.js b/ui/cypress/support/e2e.js deleted file mode 100644 index 1386450..0000000 --- a/ui/cypress/support/e2e.js +++ /dev/null @@ -1,34 +0,0 @@ -// *********************************************************** -// global configuration -// https://on.cypress.io/configuration -// *********************************************************** - -import './commands' - -Cypress.Cookies.defaults({ - preserve: 'user', -}) - -Cypress.on('uncaught:exception', (err, runnable) => { - return false -}) - -Cypress.Commands.add('login', (options = {}) => { - if (Cypress.env('AUTH') === 'simple') { - cy.contains("Name").click({force: true}); - cy.get("#username").type("tom"); - cy.contains("Password").click({force: true}); - cy.get("#password").type("tom"); - cy.get("button").contains("Login").click(); - } else if (Cypress.env('AUTH') === 'keycloak') { - cy.get("#username").type("bob"); - cy.get("#password").type("bob"); - cy.get("#kc-login").click(); - } else if (Cypress.env('AUTH') === 'authelia') { - cy.contains("Login with OIDC").should('be.visible').click(); - cy.get("#username-textfield").should('be.visible').type("bob@example.com"); - cy.get("#password-textfield").type("bob"); - cy.get("#sign-in-button").click(); - cy.get("#accept-button").should('be.visible').click(); - } -}) diff --git a/ui/env.d.ts b/ui/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/ui/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/ui/index.html b/ui/index.html new file mode 100644 index 0000000..eb40416 --- /dev/null +++ b/ui/index.html @@ -0,0 +1,13 @@ + + + + + + + Catalyst + + +

    + + + diff --git a/ui/jest.config.js b/ui/jest.config.js deleted file mode 100644 index f9d5bfe..0000000 --- a/ui/jest.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - preset: "@vue/cli-plugin-unit-jest/presets/typescript-and-babel", -}; diff --git a/ui/package.json b/ui/package.json index 3cba90d..7399420 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,87 +1,68 @@ { "name": "catalyst", - "version": "0.2.0", + "version": "0.0.0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test": "vue-cli-service test:unit", - "lint": "vue-cli-service lint" + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", + "format": "prettier --write src/" }, "dependencies": { - "@crinkles/digl": "^2.0.2", - "@koumoul/vjsf": "2.23.2", - "@mdi/font": "7.3.67", - "@mdi/util": "0.3.2", - "@types/luxon": "3.3.3", - "@types/prismjs": "1.26.2", - "@uppy/core": "1.20.1", - "@uppy/tus": "1.9.2", - "@uppy/vue": "0.2.7", - "ajv": "8.12.0", - "ant-design-vue": "1.7.8", - "antlr4": "4.11.0", - "axios": "1.5.1", - "chart.js": "2.9.4", - "core-js": "3.33.1", - "d3": "^7.8.0", - "graphlib": "2.1.8", - "json-schema-editor-vue": "2.2.3", - "just-kebab-case": "4.2.0", - "less": "4.2.0", - "less-loader": "11.1.3", - "lodash": "4.17.21", - "luxon": "3.4.3", - "panzoom": "^9.4.3", - "register-service-worker": "1.7.2", - "splitpanes": "2.4.1", - "swagger-ui": "4.13.0", - "vue": "2.7.15", - "vue-axios": "3.5.2", - "vue-chartjs": "3.5.1", - "vue-class-component": "7.2.6", - "vue-cropperjs": "5.0.0", - "vue-d3-network": "0.1.28", - "vue-lodash": "2.1.2", - "vue-luxon": "0.10.0", - "vue-markdown": "2.2.4", - "vue-native-websocket": "2.0.15", - "vue-pipeline": "1.0.12", - "vue-prism-editor": "1.3.0", - "vue-property-decorator": "9.1.2", - "vue-router": "3.6.5", - "vuetify": "2.7.1", - "vuex": "3.6.2", - "yaml": "2.0.1" + "@atlaskit/pragmatic-drag-and-drop": "^1.1.3", + "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3", + "@formkit/auto-animate": "^0.8.2", + "@tanstack/vue-query": "^5.32.0", + "@unovis/ts": "^1.4.1", + "@unovis/vue": "^1.4.1", + "@vee-validate/rules": "^4.12.8", + "@vee-validate/zod": "^4.12.8", + "@vueuse/core": "^10.10.0", + "add": "^2.0.6", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.0", + "date-fns": "^3.6.0", + "easymde": "^2.18.0", + "lodash.debounce": "^4.0.8", + "lucide-vue-next": "^0.365.0", + "marked": "^12.0.2", + "pinia": "^2.1.7", + "pocketbase": "^0.21.2", + "radix-vue": "^1.6.2", + "tailwind-merge": "^2.2.2", + "tailwindcss-animate": "^1.0.7", + "v-calendar": "^3.1.2", + "vee-validate": "^4.12.8", + "vue": "^3.4.21", + "vue-router": "^4.3.0", + "vue3-easymde": "^1.0.1", + "zod": "^3.23.8" }, "devDependencies": { - "@testing-library/vue": "7.0.0", - "@types/jest": "29.5.6", - "@types/lodash": "4.14.200", - "@types/vue-markdown": "2.2.3", - "@typescript-eslint/eslint-plugin": "5.62.0", - "@typescript-eslint/parser": "5.62.0", - "@vue/cli-plugin-babel": "4.5.19", - "@vue/cli-plugin-eslint": "4.5.19", - "@vue/cli-plugin-pwa": "4.5.19", - "@vue/cli-plugin-router": "4.5.19", - "@vue/cli-plugin-typescript": "4.5.19", - "@vue/cli-plugin-unit-jest": "4.5.19", - "@vue/cli-plugin-vuex": "4.5.19", - "@vue/cli-service": "4.5.19", - "@vue/compiler-sfc": "3.3.6", - "@vue/eslint-config-typescript": "10.0.0", - "@vue/test-utils": "2.4.1", - "@babel/eslint-parser": "7.22.15", - "cypress": "11.2.0", - "eslint": "7.32.0", - "eslint-plugin-jest": "27.4.3", - "eslint-plugin-vue": "7.20.0", - "sass": "1.69.4", - "sass-loader": "^10", - "typescript": "5.1.6", - "vue-cli-plugin-vuetify": "2.5.8", - "vue-template-compiler": "2.7.15", - "vuetify-loader": "1.9.2" + "@rushstack/eslint-patch": "^1.3.3", + "@tailwindcss/typography": "^0.5.13", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@tsconfig/node20": "^20.1.2", + "@types/lodash.debounce": "^4.0.9", + "@types/node": "^20.11.28", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/eslint-config-prettier": "^8.0.0", + "@vue/eslint-config-typescript": "^12.0.0", + "@vue/tsconfig": "^0.5.1", + "autoprefixer": "^10.4.19", + "bun-types": "^1.1.6", + "eslint": "^8.49.0", + "eslint-plugin-vue": "^9.17.0", + "npm-run-all2": "^6.1.2", + "prettier": "^3.0.3", + "prettier-plugin-tailwindcss": "^0.6.0", + "tailwindcss": "^3.4.3", + "typescript": "~5.4.0", + "vite": "^5.1.6", + "vue-tsc": "^2.0.6" } } diff --git a/ui/public/img/icons/android-chrome-192x192.png b/ui/public/img/icons/android-chrome-192x192.png deleted file mode 100644 index fa3c74d6ea100d2670fdc21aae1623fbb437ad1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9609 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 diff --git a/ui/public/img/icons/android-chrome-512x512.png b/ui/public/img/icons/android-chrome-512x512.png deleted file mode 100644 index 5cef2efb673bf906785d20cbdbce36d47ea91e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33814 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 u%n;gf_2}x%mdpb*Zr#s#C?yL9D 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 diff --git a/ui/public/img/icons/android-chrome-maskable-512x512.png b/ui/public/img/icons/android-chrome-maskable-512x512.png deleted file mode 100644 index 5cef2efb673bf906785d20cbdbce36d47ea91e18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33814 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 diff --git a/ui/public/img/icons/apple-touch-icon-152x152.png b/ui/public/img/icons/apple-touch-icon-152x152.png deleted file mode 100644 index a62830bf860454a4c995ab92ebb1c24f41e86f43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7497 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 diff --git a/ui/public/img/icons/apple-touch-icon-180x180.png b/ui/public/img/icons/apple-touch-icon-180x180.png deleted file mode 100644 index 576825d2ccf398abdb026c92bf527120a2c9943c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9004 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 S=h#{R0000h=>(5CI%2u!vfI| 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 diff --git a/ui/public/img/icons/apple-touch-icon-76x76.png b/ui/public/img/icons/apple-touch-icon-76x76.png deleted file mode 100644 index 0d99887371bd9dd780bfbbacf6d567c5073469e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3285 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 T?)W#S00000NkvXXu0mjf90WH> diff --git a/ui/public/img/icons/apple-touch-icon.png b/ui/public/img/icons/apple-touch-icon.png deleted file mode 100644 index 576825d2ccf398abdb026c92bf527120a2c9943c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9004 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 S=h#{R0000RQ|aTHn%4F-T1NCd|&d^x;( z&-vW*z2}K+TEJ!<1)c%-ft`*0Ef@a^Q@|UZ3zIRt}0mdaDdwK zSzyReJA*){8w5T0#jg;9@)``?=>AmPuK3!DR{jr5;8es>esidhcit*R4 z+wZ4UN2PAFZP@XYvEwP#Y@6CK&tLp>Sj$WK#|u-ByvMzoViXS_)QkR$YaUFJ__J(%v%pwMfBLa&QzXZmb4 nf6kWYhSjQGaMQrAg&q6_UAJl8+b&gu00000NkvXXu0mjfoQxQj diff --git a/ui/public/img/icons/favicon-32x32.png b/ui/public/img/icons/favicon-32x32.png deleted file mode 100644 index e586f11d465246740068370c780b015873969f03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 zcmV9I zTHAOH$OzySKudUU4dqx5T#}?d(Z#qPPTnjPT5m$#w@JW0;053?aAP9AhSXnbJzw8? ziMcrOB5 zfSVdBLTYMH4xWX;pCa;Rn1TtBjldnrA=Qu;JOhEnVe~Eo?mUIS{Q3!au?Q>*BljNQ z+ByR5bs1^g2&P6LIR{<~^ZqN~(Yho0Tj1$a?g`@u=j0*O0`!W=Ln3k|kgpS?PydcM zj!&AN&bjeNFCvMk-VUw!O*n||3Tu*1@ZXmv-7&5#P>Vh}0cV2jf@+KOwPz_E%)0|C z4NmLV%nFy0N%hn4f=J*a8~D|T*tCc>Lb*+dhsNxZJqTmKM8zRZ0sfqfs`i#pblz`FOUf zYMkl}5!W48j$KV$GQ{PSP(42q_~&f3NsbH<)MKrb}08lpAtUZnH+Y z>om%lVJkKnx6T-U8I3Cg?}^oqt*WuAndE|cp3%F^Fu3XhIa*XL7al;SsyZ`(r^j3hJb}1uD!$e)8Bb=b`|Uo}jRse2 zjy1~Rih1XKATeyt`(jQhOw{hxMtip|Rj1nO35d9KwRGg%1W1%$i++h5UYmeB4?GM$ zVjkGKVqQW8!3VJ zdDV_4ceE|zx?88%>hb-)6mt?SoRfg~ejXw4x(sepjWV$-HmNH%x!})e>V4Ft+R^L= zH)OQCbxItUdVLla`Ht|xjV%LKjZl3MtLnDTtLpd0X_R$ZNT1c5_fgtuG3$ChH*)x= z7p+y*xIA#Ph#Ol5@K)|M>VI4PPRd8rZJ)1h^Hg}mJ0wo~#OaEj jXkn^);*j6-v?BZ;|Jog9L4YGl00000NkvXXu0mjfB0^>m diff --git a/ui/public/img/icons/msapplication-icon-144x144.png b/ui/public/img/icons/msapplication-icon-144x144.png deleted file mode 100644 index 9ebb285bb04b4cd906a71ede737df517ec685ff5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7043 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 diff --git a/ui/public/img/icons/mstile-150x150.png b/ui/public/img/icons/mstile-150x150.png deleted file mode 100644 index a740f77d1f1c92fe865a72baf32db33d0966ff23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7326 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 Eg3xCI@Bjb+ diff --git a/ui/public/img/icons/safari-pinned-tab.svg b/ui/public/img/icons/safari-pinned-tab.svg deleted file mode 100644 index 1476170..0000000 --- a/ui/public/img/icons/safari-pinned-tab.svg +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/ui/public/index.html b/ui/public/index.html deleted file mode 100644 index 94672c3..0000000 --- a/ui/public/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Catalyst - - - -
    - - diff --git a/ui/public/manifest.json b/ui/public/manifest.json deleted file mode 100644 index 2c3ebae..0000000 --- a/ui/public/manifest.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "icons": [ - { - "src": "./img/icons/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "./img/icons/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "./img/icons/android-chrome-maskable-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "./img/icons/android-chrome-maskable-512x512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "./img/icons/apple-touch-icon-60x60.png", - "sizes": "60x60", - "type": "image/png" - }, - { - "src": "./img/icons/apple-touch-icon-76x76.png", - "sizes": "76x76", - "type": "image/png" - }, - { - "src": "./img/icons/apple-touch-icon-120x120.png", - "sizes": "120x120", - "type": "image/png" - }, - { - "src": "./img/icons/apple-touch-icon-152x152.png", - "sizes": "152x152", - "type": "image/png" - }, - { - "src": "./img/icons/apple-touch-icon-180x180.png", - "sizes": "180x180", - "type": "image/png" - }, - { - "src": "./img/icons/apple-touch-icon.png", - "sizes": "180x180", - "type": "image/png" - }, - { - "src": "./img/icons/favicon-16x16.png", - "sizes": "16x16", - "type": "image/png" - }, - { - "src": "./img/icons/favicon-32x32.png", - "sizes": "32x32", - "type": "image/png" - }, - { - "src": "./img/icons/msapplication-icon-144x144.png", - "sizes": "144x144", - "type": "image/png" - }, - { - "src": "./img/icons/mstile-150x150.png", - "sizes": "150x150", - "type": "image/png" - } - ] -} \ No newline at end of file diff --git a/ui/public/silent-renew-oidc.html b/ui/public/silent-renew-oidc.html deleted file mode 100644 index 1022e8b..0000000 --- a/ui/public/silent-renew-oidc.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/ui/src/App.vue b/ui/src/App.vue index f7c4e0d..eabfe58 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -1,392 +1,8 @@ - - - - + diff --git a/ui/public/favicon.ico b/ui/src/assets/favicon.ico similarity index 100% rename from ui/public/favicon.ico rename to ui/src/assets/favicon.ico diff --git a/ui/public/flask.svg b/ui/src/assets/flask.svg similarity index 100% rename from ui/public/flask.svg rename to ui/src/assets/flask.svg diff --git a/ui/public/flask_white.svg b/ui/src/assets/flask_white.svg similarity index 100% rename from ui/public/flask_white.svg rename to ui/src/assets/flask_white.svg diff --git a/ui/src/assets/main.css b/ui/src/assets/main.css new file mode 100644 index 0000000..0bd327d --- /dev/null +++ b/ui/src/assets/main.css @@ -0,0 +1,90 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; /* zinc-950 */ + + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + + --primary: 346.8 77.2% 49.8%; + --primary-foreground: 355.7 100% 97.3%; + + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; /* zinc-900 */ + + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 346.8 77.2% 49.8%; + --radius: 0.5rem; + + --vis-tooltip-background-color: none !important; + --vis-tooltip-border-color: none !important; + --vis-tooltip-text-color: none !important; + --vis-tooltip-shadow-color: none !important; + --vis-tooltip-backdrop-filter: none !important; + --vis-tooltip-padding: none !important; + + --vis-primary-color: var(--primary); + /* change to any hsl value you want */ + --vis-secondary-color: 160 81% 40%; + --vis-text-color: var(--muted-foreground); + } + + @media (prefers-color-scheme: dark) { + :root { + --background: 20 14.3% 4.1%; + --foreground: 0 0% 95%; + + --card: 24 9.8% 10%; + --card-foreground: 0 0% 95%; + + --popover: 0 0% 9%; + --popover-foreground: 0 0% 95%; + + --primary: 346.8 77.2% 49.8%; + --primary-foreground: 355.7 100% 97.3%; + + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + + --muted: 0 0% 15%; + --muted-foreground: 240 5% 64.9%; + + --accent: 12 6.5% 15.1%; + --accent-foreground: 0 0% 98%; + + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 85.7% 97.3%; + + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 346.8 77.2% 49.8%; + } + } + + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + font-feature-settings: + 'rlig' 1, + 'calt' 1; + } +} diff --git a/ui/src/client/.npmignore b/ui/src/client/.npmignore deleted file mode 100644 index 999d88d..0000000 --- a/ui/src/client/.npmignore +++ /dev/null @@ -1 +0,0 @@ -# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm \ No newline at end of file diff --git a/ui/src/client/api.ts b/ui/src/client/api.ts deleted file mode 100644 index ac89745..0000000 --- a/ui/src/client/api.ts +++ /dev/null @@ -1,8722 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * - * API for the catalyst incident response platform. - * - * The version of the OpenAPI document: - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Configuration } from './configuration'; -import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; -// Some imports not used depending on template conditions -// @ts-ignore -import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base'; - -/** - * - * @export - * @interface Artifact - */ -export interface Artifact { - /** - * - * @type {{ [key: string]: Enrichment; }} - * @memberof Artifact - */ - 'enrichments'?: { [key: string]: Enrichment; }; - /** - * - * @type {string} - * @memberof Artifact - */ - 'kind'?: string; - /** - * - * @type {string} - * @memberof Artifact - */ - 'name': string; - /** - * - * @type {string} - * @memberof Artifact - */ - 'status'?: string; - /** - * - * @type {string} - * @memberof Artifact - */ - 'type'?: string; -} -/** - * - * @export - * @interface ArtifactOrigin - */ -export interface ArtifactOrigin { - /** - * - * @type {string} - * @memberof ArtifactOrigin - */ - 'artifact': string; - /** - * - * @type {number} - * @memberof ArtifactOrigin - */ - 'ticket_id': number; -} -/** - * - * @export - * @interface Automation - */ -export interface Automation { - /** - * - * @type {string} - * @memberof Automation - */ - 'image': string; - /** - * - * @type {string} - * @memberof Automation - */ - 'schema'?: string; - /** - * - * @type {string} - * @memberof Automation - */ - 'script': string; - /** - * - * @type {Array} - * @memberof Automation - */ - 'type': Array; -} - -export const AutomationTypeEnum = { - Artifact: 'artifact', - Playbook: 'playbook', - Global: 'global' -} as const; - -export type AutomationTypeEnum = typeof AutomationTypeEnum[keyof typeof AutomationTypeEnum]; - -/** - * - * @export - * @interface AutomationForm - */ -export interface AutomationForm { - /** - * - * @type {string} - * @memberof AutomationForm - */ - 'id': string; - /** - * - * @type {string} - * @memberof AutomationForm - */ - 'image': string; - /** - * - * @type {string} - * @memberof AutomationForm - */ - 'schema'?: string; - /** - * - * @type {string} - * @memberof AutomationForm - */ - 'script': string; - /** - * - * @type {Array} - * @memberof AutomationForm - */ - 'type': Array; -} - -export const AutomationFormTypeEnum = { - Artifact: 'artifact', - Playbook: 'playbook', - Global: 'global' -} as const; - -export type AutomationFormTypeEnum = typeof AutomationFormTypeEnum[keyof typeof AutomationFormTypeEnum]; - -/** - * - * @export - * @interface AutomationResponse - */ -export interface AutomationResponse { - /** - * - * @type {string} - * @memberof AutomationResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof AutomationResponse - */ - 'image': string; - /** - * - * @type {string} - * @memberof AutomationResponse - */ - 'schema'?: string; - /** - * - * @type {string} - * @memberof AutomationResponse - */ - 'script': string; - /** - * - * @type {Array} - * @memberof AutomationResponse - */ - 'type': Array; -} - -export const AutomationResponseTypeEnum = { - Artifact: 'artifact', - Playbook: 'playbook', - Global: 'global' -} as const; - -export type AutomationResponseTypeEnum = typeof AutomationResponseTypeEnum[keyof typeof AutomationResponseTypeEnum]; - -/** - * - * @export - * @interface Comment - */ -export interface Comment { - /** - * - * @type {string} - * @memberof Comment - */ - 'created': string; - /** - * - * @type {string} - * @memberof Comment - */ - 'creator': string; - /** - * - * @type {string} - * @memberof Comment - */ - 'message': string; -} -/** - * - * @export - * @interface CommentForm - */ -export interface CommentForm { - /** - * - * @type {string} - * @memberof CommentForm - */ - 'created'?: string; - /** - * - * @type {string} - * @memberof CommentForm - */ - 'creator'?: string; - /** - * - * @type {string} - * @memberof CommentForm - */ - 'message': string; -} -/** - * - * @export - * @interface Context - */ -export interface Context { - /** - * - * @type {Artifact} - * @memberof Context - */ - 'artifact'?: Artifact; - /** - * - * @type {PlaybookResponse} - * @memberof Context - */ - 'playbook'?: PlaybookResponse; - /** - * - * @type {TaskResponse} - * @memberof Context - */ - 'task'?: TaskResponse; - /** - * - * @type {TicketResponse} - * @memberof Context - */ - 'ticket'?: TicketResponse; -} -/** - * - * @export - * @interface Dashboard - */ -export interface Dashboard { - /** - * - * @type {string} - * @memberof Dashboard - */ - 'name': string; - /** - * - * @type {Array} - * @memberof Dashboard - */ - 'widgets': Array; -} -/** - * - * @export - * @interface DashboardResponse - */ -export interface DashboardResponse { - /** - * - * @type {string} - * @memberof DashboardResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof DashboardResponse - */ - 'name': string; - /** - * - * @type {Array} - * @memberof DashboardResponse - */ - 'widgets': Array; -} -/** - * - * @export - * @interface Enrichment - */ -export interface Enrichment { - /** - * - * @type {string} - * @memberof Enrichment - */ - 'created': string; - /** - * - * @type {object} - * @memberof Enrichment - */ - 'data': object; - /** - * - * @type {string} - * @memberof Enrichment - */ - 'name': string; -} -/** - * - * @export - * @interface EnrichmentForm - */ -export interface EnrichmentForm { - /** - * - * @type {object} - * @memberof EnrichmentForm - */ - 'data': object; - /** - * - * @type {string} - * @memberof EnrichmentForm - */ - 'name': string; -} -/** - * - * @export - * @interface Graph - */ -export interface Graph { - /** - * - * @type {Array} - * @memberof Graph - */ - 'links'?: Array; - /** - * - * @type {Array} - * @memberof Graph - */ - 'nodes'?: Array; -} -/** - * - * @export - * @interface Group - */ -export interface Group { - /** - * - * @type {string} - * @memberof Group - */ - 'name': string; - /** - * - * @type {Array} - * @memberof Group - */ - 'users': Array; -} -/** - * - * @export - * @interface GroupForm - */ -export interface GroupForm { - /** - * - * @type {string} - * @memberof GroupForm - */ - 'id'?: string; - /** - * - * @type {string} - * @memberof GroupForm - */ - 'name': string; - /** - * - * @type {Array} - * @memberof GroupForm - */ - 'users': Array; -} -/** - * - * @export - * @interface GroupResponse - */ -export interface GroupResponse { - /** - * - * @type {string} - * @memberof GroupResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof GroupResponse - */ - 'name': string; - /** - * - * @type {Array} - * @memberof GroupResponse - */ - 'users': Array; -} -/** - * - * @export - * @interface Job - */ -export interface Job { - /** - * - * @type {string} - * @memberof Job - */ - 'automation': string; - /** - * - * @type {string} - * @memberof Job - */ - 'container'?: string; - /** - * - * @type {string} - * @memberof Job - */ - 'log'?: string; - /** - * - * @type {Origin} - * @memberof Job - */ - 'origin'?: Origin; - /** - * - * @type {object} - * @memberof Job - */ - 'output'?: object; - /** - * - * @type {object} - * @memberof Job - */ - 'payload'?: object; - /** - * - * @type {boolean} - * @memberof Job - */ - 'running': boolean; - /** - * - * @type {string} - * @memberof Job - */ - 'status': string; -} -/** - * - * @export - * @interface JobForm - */ -export interface JobForm { - /** - * - * @type {string} - * @memberof JobForm - */ - 'automation': string; - /** - * - * @type {Origin} - * @memberof JobForm - */ - 'origin'?: Origin; - /** - * - * @type {object} - * @memberof JobForm - */ - 'payload'?: object; -} -/** - * - * @export - * @interface JobResponse - */ -export interface JobResponse { - /** - * - * @type {string} - * @memberof JobResponse - */ - 'automation': string; - /** - * - * @type {string} - * @memberof JobResponse - */ - 'container'?: string; - /** - * - * @type {string} - * @memberof JobResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof JobResponse - */ - 'log'?: string; - /** - * - * @type {Origin} - * @memberof JobResponse - */ - 'origin'?: Origin; - /** - * - * @type {object} - * @memberof JobResponse - */ - 'output'?: object; - /** - * - * @type {object} - * @memberof JobResponse - */ - 'payload'?: object; - /** - * - * @type {string} - * @memberof JobResponse - */ - 'status': string; -} -/** - * - * @export - * @interface JobUpdate - */ -export interface JobUpdate { - /** - * - * @type {string} - * @memberof JobUpdate - */ - 'container'?: string; - /** - * - * @type {string} - * @memberof JobUpdate - */ - 'log'?: string; - /** - * - * @type {object} - * @memberof JobUpdate - */ - 'output'?: object; - /** - * - * @type {boolean} - * @memberof JobUpdate - */ - 'running': boolean; - /** - * - * @type {string} - * @memberof JobUpdate - */ - 'status': string; -} -/** - * - * @export - * @interface Link - */ -export interface Link { - /** - * - * @type {string} - * @memberof Link - */ - 'id': string; - /** - * - * @type {string} - * @memberof Link - */ - 'sid': string; - /** - * - * @type {string} - * @memberof Link - */ - 'tid': string; -} -/** - * - * @export - * @interface LogEntry - */ -export interface LogEntry { - /** - * - * @type {string} - * @memberof LogEntry - */ - 'created': string; - /** - * - * @type {string} - * @memberof LogEntry - */ - 'creator': string; - /** - * - * @type {string} - * @memberof LogEntry - */ - 'message': string; - /** - * - * @type {string} - * @memberof LogEntry - */ - 'reference': string; - /** - * - * @type {string} - * @memberof LogEntry - */ - 'type': string; -} -/** - * - * @export - * @interface Message - */ -export interface Message { - /** - * - * @type {Context} - * @memberof Message - */ - 'context'?: Context; - /** - * - * @type {object} - * @memberof Message - */ - 'payload'?: object; - /** - * - * @type {{ [key: string]: string; }} - * @memberof Message - */ - 'secrets'?: { [key: string]: string; }; -} -/** - * - * @export - * @interface ModelFile - */ -export interface ModelFile { - /** - * - * @type {string} - * @memberof ModelFile - */ - 'key': string; - /** - * - * @type {string} - * @memberof ModelFile - */ - 'name': string; -} -/** - * - * @export - * @interface NewUserResponse - */ -export interface NewUserResponse { - /** - * - * @type {boolean} - * @memberof NewUserResponse - */ - 'blocked': boolean; - /** - * - * @type {string} - * @memberof NewUserResponse - */ - 'id': string; - /** - * - * @type {Array} - * @memberof NewUserResponse - */ - 'roles': Array; - /** - * - * @type {string} - * @memberof NewUserResponse - */ - 'secret'?: string; -} -/** - * - * @export - * @interface Node - */ -export interface Node { - /** - * - * @type {string} - * @memberof Node - */ - 'id': string; - /** - * - * @type {string} - * @memberof Node - */ - 'name': string; -} -/** - * - * @export - * @interface Origin - */ -export interface Origin { - /** - * - * @type {ArtifactOrigin} - * @memberof Origin - */ - 'artifact_origin'?: ArtifactOrigin; - /** - * - * @type {TaskOrigin} - * @memberof Origin - */ - 'task_origin'?: TaskOrigin; -} -/** - * - * @export - * @interface Playbook - */ -export interface Playbook { - /** - * - * @type {string} - * @memberof Playbook - */ - 'name': string; - /** - * - * @type {{ [key: string]: Task; }} - * @memberof Playbook - */ - 'tasks': { [key: string]: Task; }; -} -/** - * - * @export - * @interface PlaybookResponse - */ -export interface PlaybookResponse { - /** - * - * @type {string} - * @memberof PlaybookResponse - */ - 'name': string; - /** - * - * @type {{ [key: string]: TaskResponse; }} - * @memberof PlaybookResponse - */ - 'tasks': { [key: string]: TaskResponse; }; -} -/** - * - * @export - * @interface PlaybookTemplate - */ -export interface PlaybookTemplate { - /** - * - * @type {string} - * @memberof PlaybookTemplate - */ - 'name': string; - /** - * - * @type {string} - * @memberof PlaybookTemplate - */ - 'yaml': string; -} -/** - * - * @export - * @interface PlaybookTemplateForm - */ -export interface PlaybookTemplateForm { - /** - * - * @type {string} - * @memberof PlaybookTemplateForm - */ - 'id'?: string; - /** - * - * @type {string} - * @memberof PlaybookTemplateForm - */ - 'yaml': string; -} -/** - * - * @export - * @interface PlaybookTemplateResponse - */ -export interface PlaybookTemplateResponse { - /** - * - * @type {string} - * @memberof PlaybookTemplateResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof PlaybookTemplateResponse - */ - 'name': string; - /** - * - * @type {string} - * @memberof PlaybookTemplateResponse - */ - 'yaml': string; -} -/** - * - * @export - * @interface Reference - */ -export interface Reference { - /** - * - * @type {string} - * @memberof Reference - */ - 'href': string; - /** - * - * @type {string} - * @memberof Reference - */ - 'name': string; -} -/** - * - * @export - * @interface Rule - */ -export interface Rule { - /** - * - * @type {string} - * @memberof Rule - */ - 'condition': string; - /** - * - * @type {string} - * @memberof Rule - */ - 'name': string; - /** - * - * @type {object} - * @memberof Rule - */ - 'update': object; -} -/** - * - * @export - * @interface RuleForm - */ -export interface RuleForm { - /** - * - * @type {string} - * @memberof RuleForm - */ - 'condition': string; - /** - * - * @type {string} - * @memberof RuleForm - */ - 'id'?: string; - /** - * - * @type {string} - * @memberof RuleForm - */ - 'name': string; - /** - * - * @type {object} - * @memberof RuleForm - */ - 'update': object; -} -/** - * - * @export - * @interface RuleResponse - */ -export interface RuleResponse { - /** - * - * @type {string} - * @memberof RuleResponse - */ - 'condition': string; - /** - * - * @type {string} - * @memberof RuleResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof RuleResponse - */ - 'name': string; - /** - * - * @type {object} - * @memberof RuleResponse - */ - 'update': object; -} -/** - * - * @export - * @interface Settings - */ -export interface Settings { - /** - * - * @type {Array} - * @memberof Settings - */ - 'artifactKinds': Array; - /** - * - * @type {Array} - * @memberof Settings - */ - 'artifactStates': Array; - /** - * - * @type {string} - * @memberof Settings - */ - 'timeformat': string; -} -/** - * - * @export - * @interface SettingsResponse - */ -export interface SettingsResponse { - /** - * - * @type {Array} - * @memberof SettingsResponse - */ - 'artifactKinds': Array; - /** - * - * @type {Array} - * @memberof SettingsResponse - */ - 'artifactStates': Array; - /** - * - * @type {Array} - * @memberof SettingsResponse - */ - 'roles'?: Array; - /** - * - * @type {Array} - * @memberof SettingsResponse - */ - 'ticketTypes': Array; - /** - * - * @type {string} - * @memberof SettingsResponse - */ - 'tier': SettingsResponseTierEnum; - /** - * - * @type {string} - * @memberof SettingsResponse - */ - 'timeformat': string; - /** - * - * @type {string} - * @memberof SettingsResponse - */ - 'version': string; -} - -export const SettingsResponseTierEnum = { - Community: 'community', - Enterprise: 'enterprise' -} as const; - -export type SettingsResponseTierEnum = typeof SettingsResponseTierEnum[keyof typeof SettingsResponseTierEnum]; - -/** - * - * @export - * @interface Statistics - */ -export interface Statistics { - /** - * - * @type {{ [key: string]: number; }} - * @memberof Statistics - */ - 'open_tickets_per_user': { [key: string]: number; }; - /** - * - * @type {{ [key: string]: number; }} - * @memberof Statistics - */ - 'tickets_per_type': { [key: string]: number; }; - /** - * - * @type {{ [key: string]: number; }} - * @memberof Statistics - */ - 'tickets_per_week': { [key: string]: number; }; - /** - * - * @type {number} - * @memberof Statistics - */ - 'unassigned': number; -} -/** - * - * @export - * @interface Task - */ -export interface Task { - /** - * - * @type {string} - * @memberof Task - */ - 'automation'?: string; - /** - * - * @type {string} - * @memberof Task - */ - 'closed'?: string; - /** - * - * @type {string} - * @memberof Task - */ - 'created': string; - /** - * - * @type {object} - * @memberof Task - */ - 'data'?: object; - /** - * - * @type {boolean} - * @memberof Task - */ - 'done': boolean; - /** - * - * @type {boolean} - * @memberof Task - */ - 'join'?: boolean; - /** - * - * @type {string} - * @memberof Task - */ - 'name': string; - /** - * - * @type {{ [key: string]: string; }} - * @memberof Task - */ - 'next'?: { [key: string]: string; }; - /** - * - * @type {string} - * @memberof Task - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: string; }} - * @memberof Task - */ - 'payload'?: { [key: string]: string; }; - /** - * - * @type {object} - * @memberof Task - */ - 'schema'?: object; - /** - * - * @type {string} - * @memberof Task - */ - 'type': TaskTypeEnum; -} - -export const TaskTypeEnum = { - Task: 'task', - Input: 'input', - Automation: 'automation' -} as const; - -export type TaskTypeEnum = typeof TaskTypeEnum[keyof typeof TaskTypeEnum]; - -/** - * - * @export - * @interface TaskOrigin - */ -export interface TaskOrigin { - /** - * - * @type {string} - * @memberof TaskOrigin - */ - 'playbook_id': string; - /** - * - * @type {string} - * @memberof TaskOrigin - */ - 'task_id': string; - /** - * - * @type {number} - * @memberof TaskOrigin - */ - 'ticket_id': number; -} -/** - * - * @export - * @interface TaskResponse - */ -export interface TaskResponse { - /** - * - * @type {boolean} - * @memberof TaskResponse - */ - 'active': boolean; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'automation'?: string; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'closed'?: string; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'created': string; - /** - * - * @type {object} - * @memberof TaskResponse - */ - 'data'?: object; - /** - * - * @type {boolean} - * @memberof TaskResponse - */ - 'done': boolean; - /** - * - * @type {boolean} - * @memberof TaskResponse - */ - 'join'?: boolean; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'name': string; - /** - * - * @type {{ [key: string]: string; }} - * @memberof TaskResponse - */ - 'next'?: { [key: string]: string; }; - /** - * - * @type {number} - * @memberof TaskResponse - */ - 'order': number; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: string; }} - * @memberof TaskResponse - */ - 'payload'?: { [key: string]: string; }; - /** - * - * @type {object} - * @memberof TaskResponse - */ - 'schema'?: object; - /** - * - * @type {string} - * @memberof TaskResponse - */ - 'type': TaskResponseTypeEnum; -} - -export const TaskResponseTypeEnum = { - Task: 'task', - Input: 'input', - Automation: 'automation' -} as const; - -export type TaskResponseTypeEnum = typeof TaskResponseTypeEnum[keyof typeof TaskResponseTypeEnum]; - -/** - * - * @export - * @interface TaskWithContext - */ -export interface TaskWithContext { - /** - * - * @type {string} - * @memberof TaskWithContext - */ - 'playbook_id': string; - /** - * - * @type {string} - * @memberof TaskWithContext - */ - 'playbook_name': string; - /** - * - * @type {TaskResponse} - * @memberof TaskWithContext - */ - 'task': TaskResponse; - /** - * - * @type {string} - * @memberof TaskWithContext - */ - 'task_id': string; - /** - * - * @type {number} - * @memberof TaskWithContext - */ - 'ticket_id': number; - /** - * - * @type {string} - * @memberof TaskWithContext - */ - 'ticket_name': string; -} -/** - * - * @export - * @interface Ticket - */ -export interface Ticket { - /** - * - * @type {Array} - * @memberof Ticket - */ - 'artifacts'?: Array; - /** - * - * @type {Array} - * @memberof Ticket - */ - 'comments'?: Array; - /** - * - * @type {string} - * @memberof Ticket - */ - 'created': string; - /** - * - * @type {object} - * @memberof Ticket - */ - 'details'?: object; - /** - * - * @type {Array} - * @memberof Ticket - */ - 'files'?: Array; - /** - * - * @type {string} - * @memberof Ticket - */ - 'modified': string; - /** - * - * @type {string} - * @memberof Ticket - */ - 'name': string; - /** - * - * @type {string} - * @memberof Ticket - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: Playbook; }} - * @memberof Ticket - */ - 'playbooks'?: { [key: string]: Playbook; }; - /** - * - * @type {Array} - * @memberof Ticket - */ - 'read'?: Array; - /** - * - * @type {Array} - * @memberof Ticket - */ - 'references'?: Array; - /** - * - * @type {string} - * @memberof Ticket - */ - 'schema': string; - /** - * - * @type {string} - * @memberof Ticket - */ - 'status': string; - /** - * - * @type {string} - * @memberof Ticket - */ - 'type': string; - /** - * - * @type {Array} - * @memberof Ticket - */ - 'write'?: Array; -} -/** - * - * @export - * @interface TicketForm - */ -export interface TicketForm { - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'artifacts'?: Array; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'comments'?: Array; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'created'?: string; - /** - * - * @type {object} - * @memberof TicketForm - */ - 'details'?: object; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'files'?: Array; - /** - * - * @type {number} - * @memberof TicketForm - */ - 'id'?: number; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'modified'?: string; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'owner'?: string; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'playbooks'?: Array; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'read'?: Array; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'references'?: Array; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'schema'?: string; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'status': string; - /** - * - * @type {string} - * @memberof TicketForm - */ - 'type': string; - /** - * - * @type {Array} - * @memberof TicketForm - */ - 'write'?: Array; -} -/** - * - * @export - * @interface TicketList - */ -export interface TicketList { - /** - * - * @type {number} - * @memberof TicketList - */ - 'count': number; - /** - * - * @type {Array} - * @memberof TicketList - */ - 'tickets': Array; -} -/** - * - * @export - * @interface TicketResponse - */ -export interface TicketResponse { - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'artifacts'?: Array; - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'comments'?: Array; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'created': string; - /** - * - * @type {object} - * @memberof TicketResponse - */ - 'details'?: object; - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'files'?: Array; - /** - * - * @type {number} - * @memberof TicketResponse - */ - 'id': number; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'modified': string; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: PlaybookResponse; }} - * @memberof TicketResponse - */ - 'playbooks'?: { [key: string]: PlaybookResponse; }; - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'read'?: Array; - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'references'?: Array; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'schema': string; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'status': string; - /** - * - * @type {string} - * @memberof TicketResponse - */ - 'type': string; - /** - * - * @type {Array} - * @memberof TicketResponse - */ - 'write'?: Array; -} -/** - * - * @export - * @interface TicketSimpleResponse - */ -export interface TicketSimpleResponse { - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'artifacts'?: Array; - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'comments'?: Array; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'created': string; - /** - * - * @type {object} - * @memberof TicketSimpleResponse - */ - 'details'?: object; - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'files'?: Array; - /** - * - * @type {number} - * @memberof TicketSimpleResponse - */ - 'id': number; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'modified': string; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: Playbook; }} - * @memberof TicketSimpleResponse - */ - 'playbooks'?: { [key: string]: Playbook; }; - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'read'?: Array; - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'references'?: Array; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'schema': string; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'status': string; - /** - * - * @type {string} - * @memberof TicketSimpleResponse - */ - 'type': string; - /** - * - * @type {Array} - * @memberof TicketSimpleResponse - */ - 'write'?: Array; -} -/** - * - * @export - * @interface TicketTemplate - */ -export interface TicketTemplate { - /** - * - * @type {string} - * @memberof TicketTemplate - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketTemplate - */ - 'schema': string; -} -/** - * - * @export - * @interface TicketTemplateForm - */ -export interface TicketTemplateForm { - /** - * - * @type {string} - * @memberof TicketTemplateForm - */ - 'id'?: string; - /** - * - * @type {string} - * @memberof TicketTemplateForm - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketTemplateForm - */ - 'schema': string; -} -/** - * - * @export - * @interface TicketTemplateResponse - */ -export interface TicketTemplateResponse { - /** - * - * @type {string} - * @memberof TicketTemplateResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof TicketTemplateResponse - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketTemplateResponse - */ - 'schema': string; -} -/** - * - * @export - * @interface TicketType - */ -export interface TicketType { - /** - * - * @type {Array} - * @memberof TicketType - */ - 'default_groups'?: Array; - /** - * - * @type {Array} - * @memberof TicketType - */ - 'default_playbooks': Array; - /** - * - * @type {string} - * @memberof TicketType - */ - 'default_template': string; - /** - * - * @type {string} - * @memberof TicketType - */ - 'icon': string; - /** - * - * @type {string} - * @memberof TicketType - */ - 'name': string; -} -/** - * - * @export - * @interface TicketTypeForm - */ -export interface TicketTypeForm { - /** - * - * @type {Array} - * @memberof TicketTypeForm - */ - 'default_groups'?: Array; - /** - * - * @type {Array} - * @memberof TicketTypeForm - */ - 'default_playbooks': Array; - /** - * - * @type {string} - * @memberof TicketTypeForm - */ - 'default_template': string; - /** - * - * @type {string} - * @memberof TicketTypeForm - */ - 'icon': string; - /** - * - * @type {string} - * @memberof TicketTypeForm - */ - 'id'?: string; - /** - * - * @type {string} - * @memberof TicketTypeForm - */ - 'name': string; -} -/** - * - * @export - * @interface TicketTypeResponse - */ -export interface TicketTypeResponse { - /** - * - * @type {Array} - * @memberof TicketTypeResponse - */ - 'default_groups'?: Array; - /** - * - * @type {Array} - * @memberof TicketTypeResponse - */ - 'default_playbooks': Array; - /** - * - * @type {string} - * @memberof TicketTypeResponse - */ - 'default_template': string; - /** - * - * @type {string} - * @memberof TicketTypeResponse - */ - 'icon': string; - /** - * - * @type {string} - * @memberof TicketTypeResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof TicketTypeResponse - */ - 'name': string; -} -/** - * - * @export - * @interface TicketWithTickets - */ -export interface TicketWithTickets { - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'artifacts'?: Array; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'comments'?: Array; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'correlated_tickets'?: Array; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'created': string; - /** - * - * @type {object} - * @memberof TicketWithTickets - */ - 'details'?: object; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'files'?: Array; - /** - * - * @type {number} - * @memberof TicketWithTickets - */ - 'id': number; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'logs'?: Array; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'modified': string; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'name': string; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'owner'?: string; - /** - * - * @type {{ [key: string]: PlaybookResponse; }} - * @memberof TicketWithTickets - */ - 'playbooks'?: { [key: string]: PlaybookResponse; }; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'read'?: Array; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'references'?: Array; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'schema': string; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'status': string; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'tickets'?: Array; - /** - * - * @type {string} - * @memberof TicketWithTickets - */ - 'type': string; - /** - * - * @type {Array} - * @memberof TicketWithTickets - */ - 'write'?: Array; -} -/** - * - * @export - * @interface Type - */ -export interface Type { - /** - * - * @type {string} - * @memberof Type - */ - 'color'?: TypeColorEnum; - /** - * - * @type {string} - * @memberof Type - */ - 'icon': string; - /** - * - * @type {string} - * @memberof Type - */ - 'id': string; - /** - * - * @type {string} - * @memberof Type - */ - 'name': string; -} - -export const TypeColorEnum = { - Error: 'error', - Info: 'info', - Success: 'success', - Warning: 'warning' -} as const; - -export type TypeColorEnum = typeof TypeColorEnum[keyof typeof TypeColorEnum]; - -/** - * - * @export - * @interface User - */ -export interface User { - /** - * - * @type {boolean} - * @memberof User - */ - 'apikey': boolean; - /** - * - * @type {boolean} - * @memberof User - */ - 'blocked': boolean; - /** - * - * @type {Array} - * @memberof User - */ - 'roles': Array; - /** - * - * @type {string} - * @memberof User - */ - 'sha256'?: string; -} -/** - * - * @export - * @interface UserData - */ -export interface UserData { - /** - * - * @type {string} - * @memberof UserData - */ - 'email'?: string; - /** - * - * @type {string} - * @memberof UserData - */ - 'image'?: string; - /** - * - * @type {string} - * @memberof UserData - */ - 'name'?: string; - /** - * - * @type {string} - * @memberof UserData - */ - 'timeformat'?: string; -} -/** - * - * @export - * @interface UserDataResponse - */ -export interface UserDataResponse { - /** - * - * @type {string} - * @memberof UserDataResponse - */ - 'email'?: string; - /** - * - * @type {string} - * @memberof UserDataResponse - */ - 'id': string; - /** - * - * @type {string} - * @memberof UserDataResponse - */ - 'image'?: string; - /** - * - * @type {string} - * @memberof UserDataResponse - */ - 'name'?: string; - /** - * - * @type {string} - * @memberof UserDataResponse - */ - 'timeformat'?: string; -} -/** - * - * @export - * @interface UserForm - */ -export interface UserForm { - /** - * - * @type {boolean} - * @memberof UserForm - */ - 'apikey': boolean; - /** - * - * @type {boolean} - * @memberof UserForm - */ - 'blocked': boolean; - /** - * - * @type {string} - * @memberof UserForm - */ - 'id': string; - /** - * - * @type {Array} - * @memberof UserForm - */ - 'roles': Array; -} -/** - * - * @export - * @interface UserResponse - */ -export interface UserResponse { - /** - * - * @type {boolean} - * @memberof UserResponse - */ - 'apikey': boolean; - /** - * - * @type {boolean} - * @memberof UserResponse - */ - 'blocked': boolean; - /** - * - * @type {string} - * @memberof UserResponse - */ - 'id': string; - /** - * - * @type {Array} - * @memberof UserResponse - */ - 'roles': Array; -} -/** - * - * @export - * @interface Widget - */ -export interface Widget { - /** - * - * @type {string} - * @memberof Widget - */ - 'aggregation': string; - /** - * - * @type {string} - * @memberof Widget - */ - 'filter'?: string; - /** - * - * @type {string} - * @memberof Widget - */ - 'name': string; - /** - * - * @type {string} - * @memberof Widget - */ - 'type': WidgetTypeEnum; - /** - * - * @type {number} - * @memberof Widget - */ - 'width': number; -} - -export const WidgetTypeEnum = { - Bar: 'bar', - Line: 'line', - Pie: 'pie' -} as const; - -export type WidgetTypeEnum = typeof WidgetTypeEnum[keyof typeof WidgetTypeEnum]; - - -/** - * AutomationsApi - axios parameter creator - * @export - */ -export const AutomationsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a new automation - * @param {AutomationForm} automation New automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createAutomation: async (automation: AutomationForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'automation' is not null or undefined - assertParamExists('createAutomation', 'automation', automation) - const localVarPath = `/automations`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(automation, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteAutomation: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteAutomation', 'id', id) - const localVarPath = `/automations/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getAutomation: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getAutomation', 'id', id) - const localVarPath = `/automations/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List automations - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listAutomations: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/automations`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing automation - * @param {string} id Automation ID - * @param {AutomationForm} automation Automation object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateAutomation: async (id: string, automation: AutomationForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateAutomation', 'id', id) - // verify required parameter 'automation' is not null or undefined - assertParamExists('updateAutomation', 'automation', automation) - const localVarPath = `/automations/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(automation, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * AutomationsApi - functional programming interface - * @export - */ -export const AutomationsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = AutomationsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a new automation - * @param {AutomationForm} automation New automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createAutomation(automation: AutomationForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createAutomation(automation, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteAutomation(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAutomation(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getAutomation(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getAutomation(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List automations - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listAutomations(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listAutomations(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing automation - * @param {string} id Automation ID - * @param {AutomationForm} automation Automation object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateAutomation(id: string, automation: AutomationForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateAutomation(id, automation, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * AutomationsApi - factory interface - * @export - */ -export const AutomationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = AutomationsApiFp(configuration) - return { - /** - * - * @summary Create a new automation - * @param {AutomationForm} automation New automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createAutomation(automation: AutomationForm, options?: any): AxiosPromise { - return localVarFp.createAutomation(automation, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteAutomation(id: string, options?: any): AxiosPromise { - return localVarFp.deleteAutomation(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getAutomation(id: string, options?: any): AxiosPromise { - return localVarFp.getAutomation(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List automations - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listAutomations(options?: any): AxiosPromise> { - return localVarFp.listAutomations(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing automation - * @param {string} id Automation ID - * @param {AutomationForm} automation Automation object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateAutomation(id: string, automation: AutomationForm, options?: any): AxiosPromise { - return localVarFp.updateAutomation(id, automation, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * AutomationsApi - object-oriented interface - * @export - * @class AutomationsApi - * @extends {BaseAPI} - */ -export class AutomationsApi extends BaseAPI { - /** - * - * @summary Create a new automation - * @param {AutomationForm} automation New automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AutomationsApi - */ - public createAutomation(automation: AutomationForm, options?: AxiosRequestConfig) { - return AutomationsApiFp(this.configuration).createAutomation(automation, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AutomationsApi - */ - public deleteAutomation(id: string, options?: AxiosRequestConfig) { - return AutomationsApiFp(this.configuration).deleteAutomation(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single automation - * @param {string} id Automation ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AutomationsApi - */ - public getAutomation(id: string, options?: AxiosRequestConfig) { - return AutomationsApiFp(this.configuration).getAutomation(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List automations - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AutomationsApi - */ - public listAutomations(options?: AxiosRequestConfig) { - return AutomationsApiFp(this.configuration).listAutomations(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing automation - * @param {string} id Automation ID - * @param {AutomationForm} automation Automation object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof AutomationsApi - */ - public updateAutomation(id: string, automation: AutomationForm, options?: AxiosRequestConfig) { - return AutomationsApiFp(this.configuration).updateAutomation(id, automation, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * DashboardsApi - axios parameter creator - * @export - */ -export const DashboardsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a new dashboard - * @param {Dashboard} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createDashboard: async (template: Dashboard, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'template' is not null or undefined - assertParamExists('createDashboard', 'template', template) - const localVarPath = `/dashboards`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(template, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get widget data - * @param {string} aggregation Aggregation - * @param {string} [filter] Filter - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - dashboardData: async (aggregation: string, filter?: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'aggregation' is not null or undefined - assertParamExists('dashboardData', 'aggregation', aggregation) - const localVarPath = `/dashboard/data`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (aggregation !== undefined) { - localVarQueryParameter['aggregation'] = aggregation; - } - - if (filter !== undefined) { - localVarQueryParameter['filter'] = filter; - } - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteDashboard: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteDashboard', 'id', id) - const localVarPath = `/dashboards/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getDashboard: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getDashboard', 'id', id) - const localVarPath = `/dashboards/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List dashboards - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listDashboards: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/dashboards`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing dashboard - * @param {string} id Dashboard ID - * @param {Dashboard} dashboard Dashboard object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateDashboard: async (id: string, dashboard: Dashboard, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateDashboard', 'id', id) - // verify required parameter 'dashboard' is not null or undefined - assertParamExists('updateDashboard', 'dashboard', dashboard) - const localVarPath = `/dashboards/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(dashboard, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * DashboardsApi - functional programming interface - * @export - */ -export const DashboardsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = DashboardsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a new dashboard - * @param {Dashboard} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createDashboard(template: Dashboard, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createDashboard(template, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get widget data - * @param {string} aggregation Aggregation - * @param {string} [filter] Filter - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async dashboardData(aggregation: string, filter?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.dashboardData(aggregation, filter, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteDashboard(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteDashboard(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getDashboard(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getDashboard(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List dashboards - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listDashboards(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listDashboards(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing dashboard - * @param {string} id Dashboard ID - * @param {Dashboard} dashboard Dashboard object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateDashboard(id: string, dashboard: Dashboard, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateDashboard(id, dashboard, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * DashboardsApi - factory interface - * @export - */ -export const DashboardsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = DashboardsApiFp(configuration) - return { - /** - * - * @summary Create a new dashboard - * @param {Dashboard} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createDashboard(template: Dashboard, options?: any): AxiosPromise { - return localVarFp.createDashboard(template, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get widget data - * @param {string} aggregation Aggregation - * @param {string} [filter] Filter - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - dashboardData(aggregation: string, filter?: string, options?: any): AxiosPromise { - return localVarFp.dashboardData(aggregation, filter, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteDashboard(id: string, options?: any): AxiosPromise { - return localVarFp.deleteDashboard(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getDashboard(id: string, options?: any): AxiosPromise { - return localVarFp.getDashboard(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List dashboards - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listDashboards(options?: any): AxiosPromise> { - return localVarFp.listDashboards(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing dashboard - * @param {string} id Dashboard ID - * @param {Dashboard} dashboard Dashboard object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateDashboard(id: string, dashboard: Dashboard, options?: any): AxiosPromise { - return localVarFp.updateDashboard(id, dashboard, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * DashboardsApi - object-oriented interface - * @export - * @class DashboardsApi - * @extends {BaseAPI} - */ -export class DashboardsApi extends BaseAPI { - /** - * - * @summary Create a new dashboard - * @param {Dashboard} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public createDashboard(template: Dashboard, options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).createDashboard(template, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get widget data - * @param {string} aggregation Aggregation - * @param {string} [filter] Filter - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public dashboardData(aggregation: string, filter?: string, options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).dashboardData(aggregation, filter, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public deleteDashboard(id: string, options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).deleteDashboard(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single dashboard - * @param {string} id Dashboard ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public getDashboard(id: string, options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).getDashboard(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List dashboards - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public listDashboards(options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).listDashboards(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing dashboard - * @param {string} id Dashboard ID - * @param {Dashboard} dashboard Dashboard object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DashboardsApi - */ - public updateDashboard(id: string, dashboard: Dashboard, options?: AxiosRequestConfig) { - return DashboardsApiFp(this.configuration).updateDashboard(id, dashboard, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * GraphApi - axios parameter creator - * @export - */ -export const GraphApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Graph - * @param {string} col Graph Start - * @param {string} id Graph Start - * @param {number} depth Graph Start - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - graph: async (col: string, id: string, depth: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'col' is not null or undefined - assertParamExists('graph', 'col', col) - // verify required parameter 'id' is not null or undefined - assertParamExists('graph', 'id', id) - // verify required parameter 'depth' is not null or undefined - assertParamExists('graph', 'depth', depth) - const localVarPath = `/graph/{col}/{id}` - .replace(`{${"col"}}`, encodeURIComponent(String(col))) - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (depth !== undefined) { - localVarQueryParameter['depth'] = depth; - } - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * GraphApi - functional programming interface - * @export - */ -export const GraphApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = GraphApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Graph - * @param {string} col Graph Start - * @param {string} id Graph Start - * @param {number} depth Graph Start - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async graph(col: string, id: string, depth: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.graph(col, id, depth, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * GraphApi - factory interface - * @export - */ -export const GraphApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = GraphApiFp(configuration) - return { - /** - * - * @summary Graph - * @param {string} col Graph Start - * @param {string} id Graph Start - * @param {number} depth Graph Start - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - graph(col: string, id: string, depth: number, options?: any): AxiosPromise { - return localVarFp.graph(col, id, depth, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * GraphApi - object-oriented interface - * @export - * @class GraphApi - * @extends {BaseAPI} - */ -export class GraphApi extends BaseAPI { - /** - * - * @summary Graph - * @param {string} col Graph Start - * @param {string} id Graph Start - * @param {number} depth Graph Start - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GraphApi - */ - public graph(col: string, id: string, depth: number, options?: AxiosRequestConfig) { - return GraphApiFp(this.configuration).graph(col, id, depth, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * GroupsApi - axios parameter creator - * @export - */ -export const GroupsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a new group - * @param {GroupForm} group New group - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createGroup: async (group: GroupForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'group' is not null or undefined - assertParamExists('createGroup', 'group', group) - const localVarPath = `/groups`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(group, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteGroup: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteGroup', 'id', id) - const localVarPath = `/groups/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getGroup: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getGroup', 'id', id) - const localVarPath = `/groups/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List groups - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listGroups: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/groups`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing group - * @param {string} id Group ID - * @param {Group} group Group object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateGroup: async (id: string, group: Group, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateGroup', 'id', id) - // verify required parameter 'group' is not null or undefined - assertParamExists('updateGroup', 'group', group) - const localVarPath = `/groups/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(group, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * GroupsApi - functional programming interface - * @export - */ -export const GroupsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = GroupsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a new group - * @param {GroupForm} group New group - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createGroup(group: GroupForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createGroup(group, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteGroup(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteGroup(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getGroup(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getGroup(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List groups - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listGroups(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listGroups(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing group - * @param {string} id Group ID - * @param {Group} group Group object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateGroup(id: string, group: Group, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateGroup(id, group, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * GroupsApi - factory interface - * @export - */ -export const GroupsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = GroupsApiFp(configuration) - return { - /** - * - * @summary Create a new group - * @param {GroupForm} group New group - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createGroup(group: GroupForm, options?: any): AxiosPromise { - return localVarFp.createGroup(group, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteGroup(id: string, options?: any): AxiosPromise { - return localVarFp.deleteGroup(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getGroup(id: string, options?: any): AxiosPromise { - return localVarFp.getGroup(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List groups - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listGroups(options?: any): AxiosPromise> { - return localVarFp.listGroups(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing group - * @param {string} id Group ID - * @param {Group} group Group object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateGroup(id: string, group: Group, options?: any): AxiosPromise { - return localVarFp.updateGroup(id, group, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * GroupsApi - object-oriented interface - * @export - * @class GroupsApi - * @extends {BaseAPI} - */ -export class GroupsApi extends BaseAPI { - /** - * - * @summary Create a new group - * @param {GroupForm} group New group - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GroupsApi - */ - public createGroup(group: GroupForm, options?: AxiosRequestConfig) { - return GroupsApiFp(this.configuration).createGroup(group, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GroupsApi - */ - public deleteGroup(id: string, options?: AxiosRequestConfig) { - return GroupsApiFp(this.configuration).deleteGroup(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single group - * @param {string} id Group ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GroupsApi - */ - public getGroup(id: string, options?: AxiosRequestConfig) { - return GroupsApiFp(this.configuration).getGroup(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List groups - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GroupsApi - */ - public listGroups(options?: AxiosRequestConfig) { - return GroupsApiFp(this.configuration).listGroups(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing group - * @param {string} id Group ID - * @param {Group} group Group object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof GroupsApi - */ - public updateGroup(id: string, group: Group, options?: AxiosRequestConfig) { - return GroupsApiFp(this.configuration).updateGroup(id, group, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * JobsApi - axios parameter creator - * @export - */ -export const JobsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get a single job - * @param {string} id Job ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getJob: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getJob', 'id', id) - const localVarPath = `/jobs/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List jobs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listJobs: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/jobs`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Start a new job - * @param {JobForm} job New job - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runJob: async (job: JobForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'job' is not null or undefined - assertParamExists('runJob', 'job', job) - const localVarPath = `/jobs`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(job, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing job - * @param {string} id Job ID - * @param {JobUpdate} job Job object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateJob: async (id: string, job: JobUpdate, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateJob', 'id', id) - // verify required parameter 'job' is not null or undefined - assertParamExists('updateJob', 'job', job) - const localVarPath = `/jobs/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(job, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * JobsApi - functional programming interface - * @export - */ -export const JobsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = JobsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get a single job - * @param {string} id Job ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getJob(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getJob(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List jobs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listJobs(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listJobs(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Start a new job - * @param {JobForm} job New job - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async runJob(job: JobForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.runJob(job, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing job - * @param {string} id Job ID - * @param {JobUpdate} job Job object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateJob(id: string, job: JobUpdate, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateJob(id, job, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * JobsApi - factory interface - * @export - */ -export const JobsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = JobsApiFp(configuration) - return { - /** - * - * @summary Get a single job - * @param {string} id Job ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getJob(id: string, options?: any): AxiosPromise { - return localVarFp.getJob(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List jobs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listJobs(options?: any): AxiosPromise> { - return localVarFp.listJobs(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Start a new job - * @param {JobForm} job New job - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runJob(job: JobForm, options?: any): AxiosPromise { - return localVarFp.runJob(job, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing job - * @param {string} id Job ID - * @param {JobUpdate} job Job object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateJob(id: string, job: JobUpdate, options?: any): AxiosPromise { - return localVarFp.updateJob(id, job, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * JobsApi - object-oriented interface - * @export - * @class JobsApi - * @extends {BaseAPI} - */ -export class JobsApi extends BaseAPI { - /** - * - * @summary Get a single job - * @param {string} id Job ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof JobsApi - */ - public getJob(id: string, options?: AxiosRequestConfig) { - return JobsApiFp(this.configuration).getJob(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List jobs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof JobsApi - */ - public listJobs(options?: AxiosRequestConfig) { - return JobsApiFp(this.configuration).listJobs(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Start a new job - * @param {JobForm} job New job - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof JobsApi - */ - public runJob(job: JobForm, options?: AxiosRequestConfig) { - return JobsApiFp(this.configuration).runJob(job, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing job - * @param {string} id Job ID - * @param {JobUpdate} job Job object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof JobsApi - */ - public updateJob(id: string, job: JobUpdate, options?: AxiosRequestConfig) { - return JobsApiFp(this.configuration).updateJob(id, job, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * LogsApi - axios parameter creator - * @export - */ -export const LogsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get log entries - * @param {string} reference Reference - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getLogs: async (reference: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'reference' is not null or undefined - assertParamExists('getLogs', 'reference', reference) - const localVarPath = `/logs/{reference}` - .replace(`{${"reference"}}`, encodeURIComponent(String(reference))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * LogsApi - functional programming interface - * @export - */ -export const LogsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = LogsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get log entries - * @param {string} reference Reference - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getLogs(reference: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getLogs(reference, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * LogsApi - factory interface - * @export - */ -export const LogsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = LogsApiFp(configuration) - return { - /** - * - * @summary Get log entries - * @param {string} reference Reference - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getLogs(reference: string, options?: any): AxiosPromise> { - return localVarFp.getLogs(reference, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * LogsApi - object-oriented interface - * @export - * @class LogsApi - * @extends {BaseAPI} - */ -export class LogsApi extends BaseAPI { - /** - * - * @summary Get log entries - * @param {string} reference Reference - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof LogsApi - */ - public getLogs(reference: string, options?: AxiosRequestConfig) { - return LogsApiFp(this.configuration).getLogs(reference, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * PlaybooksApi - axios parameter creator - * @export - */ -export const PlaybooksApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a playbook - * @param {PlaybookTemplateForm} playbook New playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createPlaybook: async (playbook: PlaybookTemplateForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'playbook' is not null or undefined - assertParamExists('createPlaybook', 'playbook', playbook) - const localVarPath = `/playbooks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(playbook, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deletePlaybook: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deletePlaybook', 'id', id) - const localVarPath = `/playbooks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getPlaybook: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getPlaybook', 'id', id) - const localVarPath = `/playbooks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List playbooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listPlaybooks: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/playbooks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing ticket playbook - * @param {string} id Playbook ID - * @param {PlaybookTemplateForm} playbook Updated playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updatePlaybook: async (id: string, playbook: PlaybookTemplateForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updatePlaybook', 'id', id) - // verify required parameter 'playbook' is not null or undefined - assertParamExists('updatePlaybook', 'playbook', playbook) - const localVarPath = `/playbooks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(playbook, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * PlaybooksApi - functional programming interface - * @export - */ -export const PlaybooksApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = PlaybooksApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a playbook - * @param {PlaybookTemplateForm} playbook New playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createPlaybook(playbook: PlaybookTemplateForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createPlaybook(playbook, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deletePlaybook(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deletePlaybook(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getPlaybook(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getPlaybook(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List playbooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listPlaybooks(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listPlaybooks(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing ticket playbook - * @param {string} id Playbook ID - * @param {PlaybookTemplateForm} playbook Updated playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updatePlaybook(id: string, playbook: PlaybookTemplateForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updatePlaybook(id, playbook, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * PlaybooksApi - factory interface - * @export - */ -export const PlaybooksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = PlaybooksApiFp(configuration) - return { - /** - * - * @summary Create a playbook - * @param {PlaybookTemplateForm} playbook New playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createPlaybook(playbook: PlaybookTemplateForm, options?: any): AxiosPromise { - return localVarFp.createPlaybook(playbook, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deletePlaybook(id: string, options?: any): AxiosPromise { - return localVarFp.deletePlaybook(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getPlaybook(id: string, options?: any): AxiosPromise { - return localVarFp.getPlaybook(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List playbooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listPlaybooks(options?: any): AxiosPromise> { - return localVarFp.listPlaybooks(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing ticket playbook - * @param {string} id Playbook ID - * @param {PlaybookTemplateForm} playbook Updated playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updatePlaybook(id: string, playbook: PlaybookTemplateForm, options?: any): AxiosPromise { - return localVarFp.updatePlaybook(id, playbook, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * PlaybooksApi - object-oriented interface - * @export - * @class PlaybooksApi - * @extends {BaseAPI} - */ -export class PlaybooksApi extends BaseAPI { - /** - * - * @summary Create a playbook - * @param {PlaybookTemplateForm} playbook New playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof PlaybooksApi - */ - public createPlaybook(playbook: PlaybookTemplateForm, options?: AxiosRequestConfig) { - return PlaybooksApiFp(this.configuration).createPlaybook(playbook, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof PlaybooksApi - */ - public deletePlaybook(id: string, options?: AxiosRequestConfig) { - return PlaybooksApiFp(this.configuration).deletePlaybook(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single playbook - * @param {string} id Playbook name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof PlaybooksApi - */ - public getPlaybook(id: string, options?: AxiosRequestConfig) { - return PlaybooksApiFp(this.configuration).getPlaybook(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List playbooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof PlaybooksApi - */ - public listPlaybooks(options?: AxiosRequestConfig) { - return PlaybooksApiFp(this.configuration).listPlaybooks(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing ticket playbook - * @param {string} id Playbook ID - * @param {PlaybookTemplateForm} playbook Updated playbook - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof PlaybooksApi - */ - public updatePlaybook(id: string, playbook: PlaybookTemplateForm, options?: AxiosRequestConfig) { - return PlaybooksApiFp(this.configuration).updatePlaybook(id, playbook, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * RulesApi - axios parameter creator - * @export - */ -export const RulesApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a rule - * @param {RuleForm} rule New rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createRule: async (rule: RuleForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'rule' is not null or undefined - assertParamExists('createRule', 'rule', rule) - const localVarPath = `/rules`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(rule, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteRule: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteRule', 'id', id) - const localVarPath = `/rules/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getRule: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getRule', 'id', id) - const localVarPath = `/rules/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List rules - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listRules: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/rules`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing ticket rule - * @param {string} id Rule ID - * @param {RuleForm} rule Updated rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateRule: async (id: string, rule: RuleForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateRule', 'id', id) - // verify required parameter 'rule' is not null or undefined - assertParamExists('updateRule', 'rule', rule) - const localVarPath = `/rules/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(rule, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * RulesApi - functional programming interface - * @export - */ -export const RulesApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = RulesApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a rule - * @param {RuleForm} rule New rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createRule(rule: RuleForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createRule(rule, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteRule(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRule(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getRule(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getRule(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List rules - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listRules(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listRules(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing ticket rule - * @param {string} id Rule ID - * @param {RuleForm} rule Updated rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateRule(id: string, rule: RuleForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateRule(id, rule, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * RulesApi - factory interface - * @export - */ -export const RulesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = RulesApiFp(configuration) - return { - /** - * - * @summary Create a rule - * @param {RuleForm} rule New rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createRule(rule: RuleForm, options?: any): AxiosPromise> { - return localVarFp.createRule(rule, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteRule(id: string, options?: any): AxiosPromise { - return localVarFp.deleteRule(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getRule(id: string, options?: any): AxiosPromise { - return localVarFp.getRule(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List rules - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listRules(options?: any): AxiosPromise> { - return localVarFp.listRules(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing ticket rule - * @param {string} id Rule ID - * @param {RuleForm} rule Updated rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateRule(id: string, rule: RuleForm, options?: any): AxiosPromise { - return localVarFp.updateRule(id, rule, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * RulesApi - object-oriented interface - * @export - * @class RulesApi - * @extends {BaseAPI} - */ -export class RulesApi extends BaseAPI { - /** - * - * @summary Create a rule - * @param {RuleForm} rule New rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof RulesApi - */ - public createRule(rule: RuleForm, options?: AxiosRequestConfig) { - return RulesApiFp(this.configuration).createRule(rule, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof RulesApi - */ - public deleteRule(id: string, options?: AxiosRequestConfig) { - return RulesApiFp(this.configuration).deleteRule(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single rule - * @param {string} id Rule name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof RulesApi - */ - public getRule(id: string, options?: AxiosRequestConfig) { - return RulesApiFp(this.configuration).getRule(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List rules - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof RulesApi - */ - public listRules(options?: AxiosRequestConfig) { - return RulesApiFp(this.configuration).listRules(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing ticket rule - * @param {string} id Rule ID - * @param {RuleForm} rule Updated rule - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof RulesApi - */ - public updateRule(id: string, rule: RuleForm, options?: AxiosRequestConfig) { - return RulesApiFp(this.configuration).updateRule(id, rule, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * SettingsApi - axios parameter creator - * @export - */ -export const SettingsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getSettings: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/settings`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Save settings - * @param {Settings} settings Save settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - saveSettings: async (settings: Settings, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'settings' is not null or undefined - assertParamExists('saveSettings', 'settings', settings) - const localVarPath = `/settings`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(settings, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * SettingsApi - functional programming interface - * @export - */ -export const SettingsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = SettingsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getSettings(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getSettings(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Save settings - * @param {Settings} settings Save settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async saveSettings(settings: Settings, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.saveSettings(settings, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * SettingsApi - factory interface - * @export - */ -export const SettingsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = SettingsApiFp(configuration) - return { - /** - * - * @summary Get settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getSettings(options?: any): AxiosPromise { - return localVarFp.getSettings(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Save settings - * @param {Settings} settings Save settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - saveSettings(settings: Settings, options?: any): AxiosPromise { - return localVarFp.saveSettings(settings, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * SettingsApi - object-oriented interface - * @export - * @class SettingsApi - * @extends {BaseAPI} - */ -export class SettingsApi extends BaseAPI { - /** - * - * @summary Get settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof SettingsApi - */ - public getSettings(options?: AxiosRequestConfig) { - return SettingsApiFp(this.configuration).getSettings(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Save settings - * @param {Settings} settings Save settings - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof SettingsApi - */ - public saveSettings(settings: Settings, options?: AxiosRequestConfig) { - return SettingsApiFp(this.configuration).saveSettings(settings, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * StatisticsApi - axios parameter creator - * @export - */ -export const StatisticsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getStatistics: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/statistics`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * StatisticsApi - functional programming interface - * @export - */ -export const StatisticsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = StatisticsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getStatistics(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getStatistics(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * StatisticsApi - factory interface - * @export - */ -export const StatisticsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = StatisticsApiFp(configuration) - return { - /** - * - * @summary Get statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getStatistics(options?: any): AxiosPromise { - return localVarFp.getStatistics(options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * StatisticsApi - object-oriented interface - * @export - * @class StatisticsApi - * @extends {BaseAPI} - */ -export class StatisticsApi extends BaseAPI { - /** - * - * @summary Get statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof StatisticsApi - */ - public getStatistics(options?: AxiosRequestConfig) { - return StatisticsApiFp(this.configuration).getStatistics(options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * TasksApi - axios parameter creator - * @export - */ -export const TasksApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary List tasks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTasks: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/tasks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * TasksApi - functional programming interface - * @export - */ -export const TasksApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = TasksApiAxiosParamCreator(configuration) - return { - /** - * - * @summary List tasks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listTasks(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listTasks(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * TasksApi - factory interface - * @export - */ -export const TasksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = TasksApiFp(configuration) - return { - /** - * - * @summary List tasks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTasks(options?: any): AxiosPromise> { - return localVarFp.listTasks(options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * TasksApi - object-oriented interface - * @export - * @class TasksApi - * @extends {BaseAPI} - */ -export class TasksApi extends BaseAPI { - /** - * - * @summary List tasks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TasksApi - */ - public listTasks(options?: AxiosRequestConfig) { - return TasksApiFp(this.configuration).listTasks(options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * TemplatesApi - axios parameter creator - * @export - */ -export const TemplatesApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a new template - * @param {TicketTemplateForm} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTemplate: async (template: TicketTemplateForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'template' is not null or undefined - assertParamExists('createTemplate', 'template', template) - const localVarPath = `/templates`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(template, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTemplate: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteTemplate', 'id', id) - const localVarPath = `/templates/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTemplate: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getTemplate', 'id', id) - const localVarPath = `/templates/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List templates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTemplates: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/templates`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing template - * @param {string} id Template ID - * @param {TicketTemplateForm} template Template object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTemplate: async (id: string, template: TicketTemplateForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateTemplate', 'id', id) - // verify required parameter 'template' is not null or undefined - assertParamExists('updateTemplate', 'template', template) - const localVarPath = `/templates/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(template, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * TemplatesApi - functional programming interface - * @export - */ -export const TemplatesApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = TemplatesApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a new template - * @param {TicketTemplateForm} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createTemplate(template: TicketTemplateForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createTemplate(template, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteTemplate(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTemplate(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getTemplate(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getTemplate(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List templates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listTemplates(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listTemplates(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing template - * @param {string} id Template ID - * @param {TicketTemplateForm} template Template object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateTemplate(id: string, template: TicketTemplateForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateTemplate(id, template, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * TemplatesApi - factory interface - * @export - */ -export const TemplatesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = TemplatesApiFp(configuration) - return { - /** - * - * @summary Create a new template - * @param {TicketTemplateForm} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTemplate(template: TicketTemplateForm, options?: any): AxiosPromise { - return localVarFp.createTemplate(template, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTemplate(id: string, options?: any): AxiosPromise { - return localVarFp.deleteTemplate(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTemplate(id: string, options?: any): AxiosPromise { - return localVarFp.getTemplate(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List templates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTemplates(options?: any): AxiosPromise> { - return localVarFp.listTemplates(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing template - * @param {string} id Template ID - * @param {TicketTemplateForm} template Template object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTemplate(id: string, template: TicketTemplateForm, options?: any): AxiosPromise { - return localVarFp.updateTemplate(id, template, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * TemplatesApi - object-oriented interface - * @export - * @class TemplatesApi - * @extends {BaseAPI} - */ -export class TemplatesApi extends BaseAPI { - /** - * - * @summary Create a new template - * @param {TicketTemplateForm} template New template - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TemplatesApi - */ - public createTemplate(template: TicketTemplateForm, options?: AxiosRequestConfig) { - return TemplatesApiFp(this.configuration).createTemplate(template, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TemplatesApi - */ - public deleteTemplate(id: string, options?: AxiosRequestConfig) { - return TemplatesApiFp(this.configuration).deleteTemplate(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single template - * @param {string} id Template ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TemplatesApi - */ - public getTemplate(id: string, options?: AxiosRequestConfig) { - return TemplatesApiFp(this.configuration).getTemplate(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List templates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TemplatesApi - */ - public listTemplates(options?: AxiosRequestConfig) { - return TemplatesApiFp(this.configuration).listTemplates(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing template - * @param {string} id Template ID - * @param {TicketTemplateForm} template Template object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TemplatesApi - */ - public updateTemplate(id: string, template: TicketTemplateForm, options?: AxiosRequestConfig) { - return TemplatesApiFp(this.configuration).updateTemplate(id, template, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * TicketsApi - axios parameter creator - * @export - */ -export const TicketsApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Add a single artifact - * @param {number} id Ticket ID - * @param {Artifact} artifact Artifact object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addArtifact: async (id: number, artifact: Artifact, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('addArtifact', 'id', id) - // verify required parameter 'artifact' is not null or undefined - assertParamExists('addArtifact', 'artifact', artifact) - const localVarPath = `/tickets/{id}/artifacts` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(artifact, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Add ticket comment - * @param {number} id Ticket ID - * @param {CommentForm} comment Ticket comment - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addComment: async (id: number, comment: CommentForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('addComment', 'id', id) - // verify required parameter 'comment' is not null or undefined - assertParamExists('addComment', 'comment', comment) - const localVarPath = `/tickets/{id}/comments` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(comment, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Add a new ticket playbook - * @param {number} id Ticket ID - * @param {PlaybookTemplateForm} playbook Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addTicketPlaybook: async (id: number, playbook: PlaybookTemplateForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('addTicketPlaybook', 'id', id) - // verify required parameter 'playbook' is not null or undefined - assertParamExists('addTicketPlaybook', 'playbook', playbook) - const localVarPath = `/tickets/{id}/playbooks` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(playbook, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Complete ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - completeTask: async (id: number, playbookID: string, taskID: string, data: object, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('completeTask', 'id', id) - // verify required parameter 'playbookID' is not null or undefined - assertParamExists('completeTask', 'playbookID', playbookID) - // verify required parameter 'taskID' is not null or undefined - assertParamExists('completeTask', 'taskID', taskID) - // verify required parameter 'data' is not null or undefined - assertParamExists('completeTask', 'data', data) - const localVarPath = `/tickets/{id}/playbooks/{playbookID}/task/{taskID}/complete` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"playbookID"}}`, encodeURIComponent(String(playbookID))) - .replace(`{${"taskID"}}`, encodeURIComponent(String(taskID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(data, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Create a new ticket - * @param {TicketForm} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicket: async (ticket: TicketForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'ticket' is not null or undefined - assertParamExists('createTicket', 'ticket', ticket) - const localVarPath = `/tickets`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(ticket, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Create a new tickets in batch - * @param {Array} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicketBatch: async (ticket: Array, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'ticket' is not null or undefined - assertParamExists('createTicketBatch', 'ticket', ticket) - const localVarPath = `/tickets/batch`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(ticket, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete an ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTicket: async (id: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteTicket', 'id', id) - const localVarPath = `/tickets/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Enrich a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {EnrichmentForm} data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - enrichArtifact: async (id: number, name: string, data: EnrichmentForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('enrichArtifact', 'id', id) - // verify required parameter 'name' is not null or undefined - assertParamExists('enrichArtifact', 'name', name) - // verify required parameter 'data' is not null or undefined - assertParamExists('enrichArtifact', 'data', data) - const localVarPath = `/tickets/{id}/artifacts/{name}/enrich` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"name"}}`, encodeURIComponent(String(name))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(data, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getArtifact: async (id: number, name: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getArtifact', 'id', id) - // verify required parameter 'name' is not null or undefined - assertParamExists('getArtifact', 'name', name) - const localVarPath = `/tickets/{id}/artifacts/{name}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"name"}}`, encodeURIComponent(String(name))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTicket: async (id: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getTicket', 'id', id) - const localVarPath = `/tickets/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Link an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - linkTicket: async (id: number, linkedID: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('linkTicket', 'id', id) - // verify required parameter 'linkedID' is not null or undefined - assertParamExists('linkTicket', 'linkedID', linkedID) - const localVarPath = `/tickets/{id}/tickets` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(linkedID, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List tickets - * @param {string} [type] Ticket Type - * @param {number} [offset] Offset of the list - * @param {number} [count] Number of tickets - * @param {Array} [sort] Sort columns - * @param {Array} [desc] Sort descending - * @param {string} [query] Search query - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTickets: async (type?: string, offset?: number, count?: number, sort?: Array, desc?: Array, query?: string, options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/tickets`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (type !== undefined) { - localVarQueryParameter['type'] = type; - } - - if (offset !== undefined) { - localVarQueryParameter['offset'] = offset; - } - - if (count !== undefined) { - localVarQueryParameter['count'] = count; - } - - if (sort) { - localVarQueryParameter['sort'] = sort.join(COLLECTION_FORMATS.csv); - } - - if (desc) { - localVarQueryParameter['desc'] = desc.join(COLLECTION_FORMATS.csv); - } - - if (query !== undefined) { - localVarQueryParameter['query'] = query; - } - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Remove an artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeArtifact: async (id: number, name: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('removeArtifact', 'id', id) - // verify required parameter 'name' is not null or undefined - assertParamExists('removeArtifact', 'name', name) - const localVarPath = `/tickets/{id}/artifacts/{name}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"name"}}`, encodeURIComponent(String(name))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Comment will be removed from the ticket. - * @summary Remove an comment from an ticket - * @param {number} id Ticket ID - * @param {number} commentID Comment ID to remove - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeComment: async (id: number, commentID: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('removeComment', 'id', id) - // verify required parameter 'commentID' is not null or undefined - assertParamExists('removeComment', 'commentID', commentID) - const localVarPath = `/tickets/{id}/comments/{commentID}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"commentID"}}`, encodeURIComponent(String(commentID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Remove an ticket playbook - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeTicketPlaybook: async (id: number, playbookID: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('removeTicketPlaybook', 'id', id) - // verify required parameter 'playbookID' is not null or undefined - assertParamExists('removeTicketPlaybook', 'playbookID', playbookID) - const localVarPath = `/tickets/{id}/playbooks/{playbookID}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"playbookID"}}`, encodeURIComponent(String(playbookID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Run automation on a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {string} automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runArtifact: async (id: number, name: string, automation: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('runArtifact', 'id', id) - // verify required parameter 'name' is not null or undefined - assertParamExists('runArtifact', 'name', name) - // verify required parameter 'automation' is not null or undefined - assertParamExists('runArtifact', 'automation', automation) - const localVarPath = `/tickets/{id}/artifacts/{name}/run/{automation}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"name"}}`, encodeURIComponent(String(name))) - .replace(`{${"automation"}}`, encodeURIComponent(String(automation))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Run ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runTask: async (id: number, playbookID: string, taskID: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('runTask', 'id', id) - // verify required parameter 'playbookID' is not null or undefined - assertParamExists('runTask', 'playbookID', playbookID) - // verify required parameter 'taskID' is not null or undefined - assertParamExists('runTask', 'taskID', taskID) - const localVarPath = `/tickets/{id}/playbooks/{playbookID}/task/{taskID}/run` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"playbookID"}}`, encodeURIComponent(String(playbookID))) - .replace(`{${"taskID"}}`, encodeURIComponent(String(taskID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Set a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {Artifact} artifact - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setArtifact: async (id: number, name: string, artifact: Artifact, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('setArtifact', 'id', id) - // verify required parameter 'name' is not null or undefined - assertParamExists('setArtifact', 'name', name) - // verify required parameter 'artifact' is not null or undefined - assertParamExists('setArtifact', 'artifact', artifact) - const localVarPath = `/tickets/{id}/artifacts/{name}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"name"}}`, encodeURIComponent(String(name))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(artifact, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Set ticket references - * @param {number} id Ticket ID - * @param {Array} references All ticket references - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setReferences: async (id: number, references: Array, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('setReferences', 'id', id) - // verify required parameter 'references' is not null or undefined - assertParamExists('setReferences', 'references', references) - const localVarPath = `/tickets/{id}/references` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(references, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Set ticket schema - * @param {number} id Ticket ID - * @param {string} schema New ticket schema - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setSchema: async (id: number, schema: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('setSchema', 'id', id) - // verify required parameter 'schema' is not null or undefined - assertParamExists('setSchema', 'schema', schema) - const localVarPath = `/tickets/{id}/schema` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(schema, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Set a ticket playbook task data - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Task data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setTaskData: async (id: number, playbookID: string, taskID: string, data: object, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('setTaskData', 'id', id) - // verify required parameter 'playbookID' is not null or undefined - assertParamExists('setTaskData', 'playbookID', playbookID) - // verify required parameter 'taskID' is not null or undefined - assertParamExists('setTaskData', 'taskID', taskID) - // verify required parameter 'data' is not null or undefined - assertParamExists('setTaskData', 'data', data) - const localVarPath = `/tickets/{id}/playbooks/{playbookID}/task/{taskID}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"playbookID"}}`, encodeURIComponent(String(playbookID))) - .replace(`{${"taskID"}}`, encodeURIComponent(String(taskID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(data, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Set a ticket playbook task owner - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {string} owner Task owner - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setTaskOwner: async (id: number, playbookID: string, taskID: string, owner: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('setTaskOwner', 'id', id) - // verify required parameter 'playbookID' is not null or undefined - assertParamExists('setTaskOwner', 'playbookID', playbookID) - // verify required parameter 'taskID' is not null or undefined - assertParamExists('setTaskOwner', 'taskID', taskID) - // verify required parameter 'owner' is not null or undefined - assertParamExists('setTaskOwner', 'owner', owner) - const localVarPath = `/tickets/{id}/playbooks/{playbookID}/task/{taskID}/owner` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"playbookID"}}`, encodeURIComponent(String(playbookID))) - .replace(`{${"taskID"}}`, encodeURIComponent(String(taskID))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(owner, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Unlink an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - unlinkTicket: async (id: number, linkedID: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('unlinkTicket', 'id', id) - // verify required parameter 'linkedID' is not null or undefined - assertParamExists('unlinkTicket', 'linkedID', linkedID) - const localVarPath = `/tickets/{id}/tickets` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(linkedID, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing ticket - * @param {number} id Ticket ID - * @param {Ticket} ticket Updated ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTicket: async (id: number, ticket: Ticket, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateTicket', 'id', id) - // verify required parameter 'ticket' is not null or undefined - assertParamExists('updateTicket', 'ticket', ticket) - const localVarPath = `/tickets/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(ticket, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * TicketsApi - functional programming interface - * @export - */ -export const TicketsApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = TicketsApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Add a single artifact - * @param {number} id Ticket ID - * @param {Artifact} artifact Artifact object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async addArtifact(id: number, artifact: Artifact, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.addArtifact(id, artifact, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Add ticket comment - * @param {number} id Ticket ID - * @param {CommentForm} comment Ticket comment - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async addComment(id: number, comment: CommentForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.addComment(id, comment, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Add a new ticket playbook - * @param {number} id Ticket ID - * @param {PlaybookTemplateForm} playbook Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async addTicketPlaybook(id: number, playbook: PlaybookTemplateForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.addTicketPlaybook(id, playbook, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Complete ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async completeTask(id: number, playbookID: string, taskID: string, data: object, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.completeTask(id, playbookID, taskID, data, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Create a new ticket - * @param {TicketForm} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createTicket(ticket: TicketForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createTicket(ticket, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Create a new tickets in batch - * @param {Array} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createTicketBatch(ticket: Array, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createTicketBatch(ticket, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete an ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteTicket(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTicket(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Enrich a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {EnrichmentForm} data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async enrichArtifact(id: number, name: string, data: EnrichmentForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.enrichArtifact(id, name, data, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getArtifact(id: number, name: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getArtifact(id, name, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getTicket(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getTicket(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Link an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async linkTicket(id: number, linkedID: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.linkTicket(id, linkedID, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List tickets - * @param {string} [type] Ticket Type - * @param {number} [offset] Offset of the list - * @param {number} [count] Number of tickets - * @param {Array} [sort] Sort columns - * @param {Array} [desc] Sort descending - * @param {string} [query] Search query - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listTickets(type?: string, offset?: number, count?: number, sort?: Array, desc?: Array, query?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listTickets(type, offset, count, sort, desc, query, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Remove an artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async removeArtifact(id: number, name: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.removeArtifact(id, name, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * Comment will be removed from the ticket. - * @summary Remove an comment from an ticket - * @param {number} id Ticket ID - * @param {number} commentID Comment ID to remove - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async removeComment(id: number, commentID: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.removeComment(id, commentID, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Remove an ticket playbook - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async removeTicketPlaybook(id: number, playbookID: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.removeTicketPlaybook(id, playbookID, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Run automation on a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {string} automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async runArtifact(id: number, name: string, automation: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.runArtifact(id, name, automation, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Run ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async runTask(id: number, playbookID: string, taskID: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.runTask(id, playbookID, taskID, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Set a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {Artifact} artifact - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async setArtifact(id: number, name: string, artifact: Artifact, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.setArtifact(id, name, artifact, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Set ticket references - * @param {number} id Ticket ID - * @param {Array} references All ticket references - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async setReferences(id: number, references: Array, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.setReferences(id, references, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Set ticket schema - * @param {number} id Ticket ID - * @param {string} schema New ticket schema - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async setSchema(id: number, schema: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.setSchema(id, schema, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Set a ticket playbook task data - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Task data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async setTaskData(id: number, playbookID: string, taskID: string, data: object, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.setTaskData(id, playbookID, taskID, data, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Set a ticket playbook task owner - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {string} owner Task owner - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async setTaskOwner(id: number, playbookID: string, taskID: string, owner: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.setTaskOwner(id, playbookID, taskID, owner, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Unlink an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async unlinkTicket(id: number, linkedID: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.unlinkTicket(id, linkedID, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing ticket - * @param {number} id Ticket ID - * @param {Ticket} ticket Updated ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateTicket(id: number, ticket: Ticket, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateTicket(id, ticket, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * TicketsApi - factory interface - * @export - */ -export const TicketsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = TicketsApiFp(configuration) - return { - /** - * - * @summary Add a single artifact - * @param {number} id Ticket ID - * @param {Artifact} artifact Artifact object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addArtifact(id: number, artifact: Artifact, options?: any): AxiosPromise { - return localVarFp.addArtifact(id, artifact, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Add ticket comment - * @param {number} id Ticket ID - * @param {CommentForm} comment Ticket comment - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addComment(id: number, comment: CommentForm, options?: any): AxiosPromise { - return localVarFp.addComment(id, comment, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Add a new ticket playbook - * @param {number} id Ticket ID - * @param {PlaybookTemplateForm} playbook Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - addTicketPlaybook(id: number, playbook: PlaybookTemplateForm, options?: any): AxiosPromise { - return localVarFp.addTicketPlaybook(id, playbook, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Complete ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - completeTask(id: number, playbookID: string, taskID: string, data: object, options?: any): AxiosPromise { - return localVarFp.completeTask(id, playbookID, taskID, data, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Create a new ticket - * @param {TicketForm} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicket(ticket: TicketForm, options?: any): AxiosPromise { - return localVarFp.createTicket(ticket, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Create a new tickets in batch - * @param {Array} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicketBatch(ticket: Array, options?: any): AxiosPromise { - return localVarFp.createTicketBatch(ticket, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete an ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTicket(id: number, options?: any): AxiosPromise { - return localVarFp.deleteTicket(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Enrich a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {EnrichmentForm} data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - enrichArtifact(id: number, name: string, data: EnrichmentForm, options?: any): AxiosPromise { - return localVarFp.enrichArtifact(id, name, data, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getArtifact(id: number, name: string, options?: any): AxiosPromise { - return localVarFp.getArtifact(id, name, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTicket(id: number, options?: any): AxiosPromise { - return localVarFp.getTicket(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Link an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - linkTicket(id: number, linkedID: number, options?: any): AxiosPromise { - return localVarFp.linkTicket(id, linkedID, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List tickets - * @param {string} [type] Ticket Type - * @param {number} [offset] Offset of the list - * @param {number} [count] Number of tickets - * @param {Array} [sort] Sort columns - * @param {Array} [desc] Sort descending - * @param {string} [query] Search query - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTickets(type?: string, offset?: number, count?: number, sort?: Array, desc?: Array, query?: string, options?: any): AxiosPromise { - return localVarFp.listTickets(type, offset, count, sort, desc, query, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Remove an artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeArtifact(id: number, name: string, options?: any): AxiosPromise { - return localVarFp.removeArtifact(id, name, options).then((request) => request(axios, basePath)); - }, - /** - * Comment will be removed from the ticket. - * @summary Remove an comment from an ticket - * @param {number} id Ticket ID - * @param {number} commentID Comment ID to remove - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeComment(id: number, commentID: number, options?: any): AxiosPromise { - return localVarFp.removeComment(id, commentID, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Remove an ticket playbook - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - removeTicketPlaybook(id: number, playbookID: string, options?: any): AxiosPromise { - return localVarFp.removeTicketPlaybook(id, playbookID, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Run automation on a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {string} automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runArtifact(id: number, name: string, automation: string, options?: any): AxiosPromise { - return localVarFp.runArtifact(id, name, automation, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Run ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - runTask(id: number, playbookID: string, taskID: string, options?: any): AxiosPromise { - return localVarFp.runTask(id, playbookID, taskID, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Set a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {Artifact} artifact - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setArtifact(id: number, name: string, artifact: Artifact, options?: any): AxiosPromise { - return localVarFp.setArtifact(id, name, artifact, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Set ticket references - * @param {number} id Ticket ID - * @param {Array} references All ticket references - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setReferences(id: number, references: Array, options?: any): AxiosPromise { - return localVarFp.setReferences(id, references, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Set ticket schema - * @param {number} id Ticket ID - * @param {string} schema New ticket schema - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setSchema(id: number, schema: string, options?: any): AxiosPromise { - return localVarFp.setSchema(id, schema, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Set a ticket playbook task data - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Task data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setTaskData(id: number, playbookID: string, taskID: string, data: object, options?: any): AxiosPromise { - return localVarFp.setTaskData(id, playbookID, taskID, data, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Set a ticket playbook task owner - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {string} owner Task owner - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - setTaskOwner(id: number, playbookID: string, taskID: string, owner: string, options?: any): AxiosPromise { - return localVarFp.setTaskOwner(id, playbookID, taskID, owner, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Unlink an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - unlinkTicket(id: number, linkedID: number, options?: any): AxiosPromise { - return localVarFp.unlinkTicket(id, linkedID, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing ticket - * @param {number} id Ticket ID - * @param {Ticket} ticket Updated ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTicket(id: number, ticket: Ticket, options?: any): AxiosPromise { - return localVarFp.updateTicket(id, ticket, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * TicketsApi - object-oriented interface - * @export - * @class TicketsApi - * @extends {BaseAPI} - */ -export class TicketsApi extends BaseAPI { - /** - * - * @summary Add a single artifact - * @param {number} id Ticket ID - * @param {Artifact} artifact Artifact object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public addArtifact(id: number, artifact: Artifact, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).addArtifact(id, artifact, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Add ticket comment - * @param {number} id Ticket ID - * @param {CommentForm} comment Ticket comment - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public addComment(id: number, comment: CommentForm, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).addComment(id, comment, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Add a new ticket playbook - * @param {number} id Ticket ID - * @param {PlaybookTemplateForm} playbook Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public addTicketPlaybook(id: number, playbook: PlaybookTemplateForm, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).addTicketPlaybook(id, playbook, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Complete ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Ticket playbook object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public completeTask(id: number, playbookID: string, taskID: string, data: object, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).completeTask(id, playbookID, taskID, data, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Create a new ticket - * @param {TicketForm} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public createTicket(ticket: TicketForm, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).createTicket(ticket, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Create a new tickets in batch - * @param {Array} ticket New ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public createTicketBatch(ticket: Array, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).createTicketBatch(ticket, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete an ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public deleteTicket(id: number, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).deleteTicket(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Enrich a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {EnrichmentForm} data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public enrichArtifact(id: number, name: string, data: EnrichmentForm, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).enrichArtifact(id, name, data, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public getArtifact(id: number, name: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).getArtifact(id, name, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single ticket - * @param {number} id Ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public getTicket(id: number, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).getTicket(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Link an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public linkTicket(id: number, linkedID: number, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).linkTicket(id, linkedID, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List tickets - * @param {string} [type] Ticket Type - * @param {number} [offset] Offset of the list - * @param {number} [count] Number of tickets - * @param {Array} [sort] Sort columns - * @param {Array} [desc] Sort descending - * @param {string} [query] Search query - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public listTickets(type?: string, offset?: number, count?: number, sort?: Array, desc?: Array, query?: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).listTickets(type, offset, count, sort, desc, query, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Remove an artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public removeArtifact(id: number, name: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).removeArtifact(id, name, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Comment will be removed from the ticket. - * @summary Remove an comment from an ticket - * @param {number} id Ticket ID - * @param {number} commentID Comment ID to remove - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public removeComment(id: number, commentID: number, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).removeComment(id, commentID, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Remove an ticket playbook - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public removeTicketPlaybook(id: number, playbookID: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).removeTicketPlaybook(id, playbookID, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Run automation on a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {string} automation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public runArtifact(id: number, name: string, automation: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).runArtifact(id, name, automation, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Run ticket playbook task - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public runTask(id: number, playbookID: string, taskID: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).runTask(id, playbookID, taskID, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Set a single artifact - * @param {number} id Ticket ID - * @param {string} name - * @param {Artifact} artifact - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public setArtifact(id: number, name: string, artifact: Artifact, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).setArtifact(id, name, artifact, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Set ticket references - * @param {number} id Ticket ID - * @param {Array} references All ticket references - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public setReferences(id: number, references: Array, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).setReferences(id, references, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Set ticket schema - * @param {number} id Ticket ID - * @param {string} schema New ticket schema - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public setSchema(id: number, schema: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).setSchema(id, schema, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Set a ticket playbook task data - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {object} data Task data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public setTaskData(id: number, playbookID: string, taskID: string, data: object, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).setTaskData(id, playbookID, taskID, data, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Set a ticket playbook task owner - * @param {number} id Ticket ID - * @param {string} playbookID Playbook ID - * @param {string} taskID Task ID - * @param {string} owner Task owner - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public setTaskOwner(id: number, playbookID: string, taskID: string, owner: string, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).setTaskOwner(id, playbookID, taskID, owner, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Unlink an ticket to an ticket - * @param {number} id Ticket ID - * @param {number} linkedID Added ticket ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public unlinkTicket(id: number, linkedID: number, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).unlinkTicket(id, linkedID, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing ticket - * @param {number} id Ticket ID - * @param {Ticket} ticket Updated ticket - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TicketsApi - */ - public updateTicket(id: number, ticket: Ticket, options?: AxiosRequestConfig) { - return TicketsApiFp(this.configuration).updateTicket(id, ticket, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * TickettypesApi - axios parameter creator - * @export - */ -export const TickettypesApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create a new tickettype - * @param {TicketTypeForm} tickettype New tickettype - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicketType: async (tickettype: TicketTypeForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'tickettype' is not null or undefined - assertParamExists('createTicketType', 'tickettype', tickettype) - const localVarPath = `/tickettypes`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(tickettype, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete a tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTicketType: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteTicketType', 'id', id) - const localVarPath = `/tickettypes/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTicketType: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getTicketType', 'id', id) - const localVarPath = `/tickettypes/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List tickettypes - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTicketTypes: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/tickettypes`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing tickettype - * @param {string} id TicketType ID - * @param {TicketTypeForm} tickettype TicketType object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTicketType: async (id: string, tickettype: TicketTypeForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateTicketType', 'id', id) - // verify required parameter 'tickettype' is not null or undefined - assertParamExists('updateTicketType', 'tickettype', tickettype) - const localVarPath = `/tickettypes/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(tickettype, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * TickettypesApi - functional programming interface - * @export - */ -export const TickettypesApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = TickettypesApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create a new tickettype - * @param {TicketTypeForm} tickettype New tickettype - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createTicketType(tickettype: TicketTypeForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createTicketType(tickettype, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete a tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteTicketType(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTicketType(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getTicketType(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getTicketType(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List tickettypes - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listTicketTypes(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listTicketTypes(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing tickettype - * @param {string} id TicketType ID - * @param {TicketTypeForm} tickettype TicketType object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateTicketType(id: string, tickettype: TicketTypeForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateTicketType(id, tickettype, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * TickettypesApi - factory interface - * @export - */ -export const TickettypesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = TickettypesApiFp(configuration) - return { - /** - * - * @summary Create a new tickettype - * @param {TicketTypeForm} tickettype New tickettype - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createTicketType(tickettype: TicketTypeForm, options?: any): AxiosPromise { - return localVarFp.createTicketType(tickettype, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete a tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteTicketType(id: string, options?: any): AxiosPromise { - return localVarFp.deleteTicketType(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getTicketType(id: string, options?: any): AxiosPromise { - return localVarFp.getTicketType(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List tickettypes - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listTicketTypes(options?: any): AxiosPromise> { - return localVarFp.listTicketTypes(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing tickettype - * @param {string} id TicketType ID - * @param {TicketTypeForm} tickettype TicketType object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateTicketType(id: string, tickettype: TicketTypeForm, options?: any): AxiosPromise { - return localVarFp.updateTicketType(id, tickettype, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * TickettypesApi - object-oriented interface - * @export - * @class TickettypesApi - * @extends {BaseAPI} - */ -export class TickettypesApi extends BaseAPI { - /** - * - * @summary Create a new tickettype - * @param {TicketTypeForm} tickettype New tickettype - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TickettypesApi - */ - public createTicketType(tickettype: TicketTypeForm, options?: AxiosRequestConfig) { - return TickettypesApiFp(this.configuration).createTicketType(tickettype, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete a tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TickettypesApi - */ - public deleteTicketType(id: string, options?: AxiosRequestConfig) { - return TickettypesApiFp(this.configuration).deleteTicketType(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single tickettype - * @param {string} id TicketType ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TickettypesApi - */ - public getTicketType(id: string, options?: AxiosRequestConfig) { - return TickettypesApiFp(this.configuration).getTicketType(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List tickettypes - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TickettypesApi - */ - public listTicketTypes(options?: AxiosRequestConfig) { - return TickettypesApiFp(this.configuration).listTicketTypes(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing tickettype - * @param {string} id TicketType ID - * @param {TicketTypeForm} tickettype TicketType object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TickettypesApi - */ - public updateTicketType(id: string, tickettype: TicketTypeForm, options?: AxiosRequestConfig) { - return TickettypesApiFp(this.configuration).updateTicketType(id, tickettype, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * UserdataApi - axios parameter creator - * @export - */ -export const UserdataApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Get current user data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - currentUserData: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/currentuserdata`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single user data - * @param {string} id User Data ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getUserData: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getUserData', 'id', id) - const localVarPath = `/userdata/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List userdata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listUserData: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/userdata`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update current user data - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateCurrentUserData: async (userdata: UserData, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'userdata' is not null or undefined - assertParamExists('updateCurrentUserData', 'userdata', userdata) - const localVarPath = `/currentuserdata`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(userdata, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update an existing user data - * @param {string} id User Data ID - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateUserData: async (id: string, userdata: UserData, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateUserData', 'id', id) - // verify required parameter 'userdata' is not null or undefined - assertParamExists('updateUserData', 'userdata', userdata) - const localVarPath = `/userdata/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(userdata, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * UserdataApi - functional programming interface - * @export - */ -export const UserdataApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = UserdataApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Get current user data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async currentUserData(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.currentUserData(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single user data - * @param {string} id User Data ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getUserData(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getUserData(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List userdata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listUserData(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listUserData(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update current user data - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateCurrentUserData(userdata: UserData, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateCurrentUserData(userdata, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update an existing user data - * @param {string} id User Data ID - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateUserData(id: string, userdata: UserData, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateUserData(id, userdata, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * UserdataApi - factory interface - * @export - */ -export const UserdataApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = UserdataApiFp(configuration) - return { - /** - * - * @summary Get current user data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - currentUserData(options?: any): AxiosPromise { - return localVarFp.currentUserData(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single user data - * @param {string} id User Data ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getUserData(id: string, options?: any): AxiosPromise { - return localVarFp.getUserData(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List userdata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listUserData(options?: any): AxiosPromise> { - return localVarFp.listUserData(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update current user data - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateCurrentUserData(userdata: UserData, options?: any): AxiosPromise { - return localVarFp.updateCurrentUserData(userdata, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update an existing user data - * @param {string} id User Data ID - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateUserData(id: string, userdata: UserData, options?: any): AxiosPromise { - return localVarFp.updateUserData(id, userdata, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * UserdataApi - object-oriented interface - * @export - * @class UserdataApi - * @extends {BaseAPI} - */ -export class UserdataApi extends BaseAPI { - /** - * - * @summary Get current user data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UserdataApi - */ - public currentUserData(options?: AxiosRequestConfig) { - return UserdataApiFp(this.configuration).currentUserData(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single user data - * @param {string} id User Data ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UserdataApi - */ - public getUserData(id: string, options?: AxiosRequestConfig) { - return UserdataApiFp(this.configuration).getUserData(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List userdata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UserdataApi - */ - public listUserData(options?: AxiosRequestConfig) { - return UserdataApiFp(this.configuration).listUserData(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update current user data - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UserdataApi - */ - public updateCurrentUserData(userdata: UserData, options?: AxiosRequestConfig) { - return UserdataApiFp(this.configuration).updateCurrentUserData(userdata, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update an existing user data - * @param {string} id User Data ID - * @param {UserData} userdata User data object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UserdataApi - */ - public updateUserData(id: string, userdata: UserData, options?: AxiosRequestConfig) { - return UserdataApiFp(this.configuration).updateUserData(id, userdata, options).then((request) => request(this.axios, this.basePath)); - } -} - - -/** - * UsersApi - axios parameter creator - * @export - */ -export const UsersApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Create user - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createUser: async (user: UserForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'user' is not null or undefined - assertParamExists('createUser', 'user', user) - const localVarPath = `/users`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(user, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - currentUser: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/currentuser`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Delete user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteUser: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('deleteUser', 'id', id) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Get a single user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getUser: async (id: string, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('getUser', 'id', id) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary List users - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listUsers: async (options: AxiosRequestConfig = {}): Promise => { - const localVarPath = `/users`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * - * @summary Update user - * @param {string} id Template ID - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateUser: async (id: string, user: UserForm, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('updateUser', 'id', id) - // verify required parameter 'user' is not null or undefined - assertParamExists('updateUser', 'user', user) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - - - localVarHeaderParameter['Content-Type'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(user, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * UsersApi - functional programming interface - * @export - */ -export const UsersApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration) - return { - /** - * - * @summary Create user - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async createUser(user: UserForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.createUser(user, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async currentUser(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.currentUser(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Delete user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async deleteUser(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.deleteUser(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Get a single user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async getUser(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.getUser(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary List users - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async listUsers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.listUsers(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * - * @summary Update user - * @param {string} id Template ID - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async updateUser(id: string, user: UserForm, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.updateUser(id, user, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - } -}; - -/** - * UsersApi - factory interface - * @export - */ -export const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = UsersApiFp(configuration) - return { - /** - * - * @summary Create user - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - createUser(user: UserForm, options?: any): AxiosPromise { - return localVarFp.createUser(user, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - currentUser(options?: any): AxiosPromise { - return localVarFp.currentUser(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Delete user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - deleteUser(id: string, options?: any): AxiosPromise { - return localVarFp.deleteUser(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Get a single user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - getUser(id: string, options?: any): AxiosPromise { - return localVarFp.getUser(id, options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary List users - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - listUsers(options?: any): AxiosPromise> { - return localVarFp.listUsers(options).then((request) => request(axios, basePath)); - }, - /** - * - * @summary Update user - * @param {string} id Template ID - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - updateUser(id: string, user: UserForm, options?: any): AxiosPromise { - return localVarFp.updateUser(id, user, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * UsersApi - object-oriented interface - * @export - * @class UsersApi - * @extends {BaseAPI} - */ -export class UsersApi extends BaseAPI { - /** - * - * @summary Create user - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public createUser(user: UserForm, options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).createUser(user, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public currentUser(options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).currentUser(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Delete user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public deleteUser(id: string, options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).deleteUser(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Get a single user - * @param {string} id user ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public getUser(id: string, options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).getUser(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary List users - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public listUsers(options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).listUsers(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * - * @summary Update user - * @param {string} id Template ID - * @param {UserForm} user user object that needs to be added - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof UsersApi - */ - public updateUser(id: string, user: UserForm, options?: AxiosRequestConfig) { - return UsersApiFp(this.configuration).updateUser(id, user, options).then((request) => request(this.axios, this.basePath)); - } -} - - diff --git a/ui/src/client/base.ts b/ui/src/client/base.ts deleted file mode 100644 index 1a37ab9..0000000 --- a/ui/src/client/base.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * - * API for the catalyst incident response platform. - * - * The version of the OpenAPI document: - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Configuration } from "./configuration"; -// Some imports not used depending on template conditions -// @ts-ignore -import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; - -export const BASE_PATH = "http://./api".replace(/\/+$/, ""); - -/** - * - * @export - */ -export const COLLECTION_FORMATS = { - csv: ",", - ssv: " ", - tsv: "\t", - pipes: "|", -}; - -/** - * - * @export - * @interface RequestArgs - */ -export interface RequestArgs { - url: string; - options: AxiosRequestConfig; -} - -/** - * - * @export - * @class BaseAPI - */ -export class BaseAPI { - protected configuration: Configuration | undefined; - - constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { - if (configuration) { - this.configuration = configuration; - this.basePath = configuration.basePath || this.basePath; - } - } -}; - -/** - * - * @export - * @class RequiredError - * @extends {Error} - */ -export class RequiredError extends Error { - name: "RequiredError" = "RequiredError"; - constructor(public field: string, msg?: string) { - super(msg); - } -} diff --git a/ui/src/client/common.ts b/ui/src/client/common.ts deleted file mode 100644 index 0d69aae..0000000 --- a/ui/src/client/common.ts +++ /dev/null @@ -1,138 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * - * API for the catalyst incident response platform. - * - * The version of the OpenAPI document: - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Configuration } from "./configuration"; -import { RequiredError, RequestArgs } from "./base"; -import { AxiosInstance, AxiosResponse } from 'axios'; - -/** - * - * @export - */ -export const DUMMY_BASE_URL = 'https://example.com' - -/** - * - * @throws {RequiredError} - * @export - */ -export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { - if (paramValue === null || paramValue === undefined) { - throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); - } -} - -/** - * - * @export - */ -export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { - if (configuration && configuration.apiKey) { - const localVarApiKeyValue = typeof configuration.apiKey === 'function' - ? await configuration.apiKey(keyParamName) - : await configuration.apiKey; - object[keyParamName] = localVarApiKeyValue; - } -} - -/** - * - * @export - */ -export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { - if (configuration && (configuration.username || configuration.password)) { - object["auth"] = { username: configuration.username, password: configuration.password }; - } -} - -/** - * - * @export - */ -export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { - if (configuration && configuration.accessToken) { - const accessToken = typeof configuration.accessToken === 'function' - ? await configuration.accessToken() - : await configuration.accessToken; - object["Authorization"] = "Bearer " + accessToken; - } -} - -/** - * - * @export - */ -export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { - if (configuration && configuration.accessToken) { - const localVarAccessTokenValue = typeof configuration.accessToken === 'function' - ? await configuration.accessToken(name, scopes) - : await configuration.accessToken; - object["Authorization"] = "Bearer " + localVarAccessTokenValue; - } -} - -/** - * - * @export - */ -export const setSearchParams = function (url: URL, ...objects: any[]) { - const searchParams = new URLSearchParams(url.search); - for (const object of objects) { - for (const key in object) { - if (Array.isArray(object[key])) { - searchParams.delete(key); - for (const item of object[key]) { - searchParams.append(key, item); - } - } else { - searchParams.set(key, object[key]); - } - } - } - url.search = searchParams.toString(); -} - -/** - * - * @export - */ -export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { - const nonString = typeof value !== 'string'; - const needsSerialization = nonString && configuration && configuration.isJsonMime - ? configuration.isJsonMime(requestOptions.headers['Content-Type']) - : nonString; - return needsSerialization - ? JSON.stringify(value !== undefined ? value : {}) - : (value || ""); -} - -/** - * - * @export - */ -export const toPathString = function (url: URL) { - return url.pathname + url.search + url.hash -} - -/** - * - * @export - */ -export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) { - return >(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url}; - return axios.request(axiosRequestArgs); - }; -} diff --git a/ui/src/client/configuration.ts b/ui/src/client/configuration.ts deleted file mode 100644 index d88cb01..0000000 --- a/ui/src/client/configuration.ts +++ /dev/null @@ -1,101 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * - * API for the catalyst incident response platform. - * - * The version of the OpenAPI document: - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export interface ConfigurationParameters { - apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); - username?: string; - password?: string; - accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); - basePath?: string; - baseOptions?: any; - formDataCtor?: new () => any; -} - -export class Configuration { - /** - * parameter for apiKey security - * @param name security name - * @memberof Configuration - */ - apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); - /** - * parameter for basic security - * - * @type {string} - * @memberof Configuration - */ - username?: string; - /** - * parameter for basic security - * - * @type {string} - * @memberof Configuration - */ - password?: string; - /** - * parameter for oauth2 security - * @param name security name - * @param scopes oauth2 scope - * @memberof Configuration - */ - accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); - /** - * override base path - * - * @type {string} - * @memberof Configuration - */ - basePath?: string; - /** - * base options for axios calls - * - * @type {any} - * @memberof Configuration - */ - baseOptions?: any; - /** - * The FormData constructor that will be used to create multipart form data - * requests. You can inject this here so that execution environments that - * do not support the FormData class can still run the generated client. - * - * @type {new () => FormData} - */ - formDataCtor?: new () => any; - - constructor(param: ConfigurationParameters = {}) { - this.apiKey = param.apiKey; - this.username = param.username; - this.password = param.password; - this.accessToken = param.accessToken; - this.basePath = param.basePath; - this.baseOptions = param.baseOptions; - this.formDataCtor = param.formDataCtor; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } -} diff --git a/ui/src/client/index.ts b/ui/src/client/index.ts deleted file mode 100644 index 714cae3..0000000 --- a/ui/src/client/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * - * API for the catalyst incident response platform. - * - * The version of the OpenAPI document: - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export * from "./api"; -export * from "./configuration"; - diff --git a/ui/src/components/AdvancedJSONSchemaEditor.vue b/ui/src/components/AdvancedJSONSchemaEditor.vue deleted file mode 100644 index 41f07df..0000000 --- a/ui/src/components/AdvancedJSONSchemaEditor.vue +++ /dev/null @@ -1,196 +0,0 @@ - - - - - diff --git a/ui/src/components/AppLink.vue b/ui/src/components/AppLink.vue deleted file mode 100644 index c6a75a9..0000000 --- a/ui/src/components/AppLink.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/ui/src/components/Editor.vue b/ui/src/components/Editor.vue deleted file mode 100644 index 08c008f..0000000 --- a/ui/src/components/Editor.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - diff --git a/ui/src/components/Icon.vue b/ui/src/components/Icon.vue new file mode 100644 index 0000000..bc6e0b4 --- /dev/null +++ b/ui/src/components/Icon.vue @@ -0,0 +1,34 @@ + + + diff --git a/ui/src/components/JSONHTML.vue b/ui/src/components/JSONHTML.vue deleted file mode 100644 index 14b3941..0000000 --- a/ui/src/components/JSONHTML.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/ui/src/components/List.vue b/ui/src/components/List.vue deleted file mode 100644 index 296e67d..0000000 --- a/ui/src/components/List.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - - - diff --git a/ui/src/components/ShortCut.vue b/ui/src/components/ShortCut.vue new file mode 100644 index 0000000..13470de --- /dev/null +++ b/ui/src/components/ShortCut.vue @@ -0,0 +1,15 @@ + + + diff --git a/ui/src/components/TanView.vue b/ui/src/components/TanView.vue new file mode 100644 index 0000000..7dca086 --- /dev/null +++ b/ui/src/components/TanView.vue @@ -0,0 +1,23 @@ + + + diff --git a/ui/src/components/TicketList.vue b/ui/src/components/TicketList.vue deleted file mode 100644 index 4227c54..0000000 --- a/ui/src/components/TicketList.vue +++ /dev/null @@ -1,364 +0,0 @@ - - - - - diff --git a/ui/src/components/Timeline.vue b/ui/src/components/Timeline.vue deleted file mode 100644 index 811126c..0000000 --- a/ui/src/components/Timeline.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - diff --git a/ui/src/components/User.vue b/ui/src/components/User.vue deleted file mode 100644 index 4bcd425..0000000 --- a/ui/src/components/User.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/ui/src/components/UserDataEditor.vue b/ui/src/components/UserDataEditor.vue deleted file mode 100644 index 383efbc..0000000 --- a/ui/src/components/UserDataEditor.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - - - diff --git a/ui/src/components/VJsfCropImg.vue b/ui/src/components/VJsfCropImg.vue deleted file mode 100644 index 124a62d..0000000 --- a/ui/src/components/VJsfCropImg.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/ui/src/components/charts/Bar.ts b/ui/src/components/charts/Bar.ts deleted file mode 100644 index 82f5c1d..0000000 --- a/ui/src/components/charts/Bar.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Component, Mixins } from 'vue-property-decorator' -import {HorizontalBar, mixins} from 'vue-chartjs'; -import ChartOptions from "chart.js"; - -@Component({ - extends: HorizontalBar, - mixins: [mixins.reactiveProp], - props: { - chartOptions: { - type: ChartOptions, - default: null - } - }, -}) -export default class BarChart extends Mixins(mixins.reactiveProp, HorizontalBar) { - mounted () { - // @ts-expect-error chartOptions are not expected - this.renderChart(this.chartData, this.chartOptions); - } -} diff --git a/ui/src/components/charts/Doughnut.ts b/ui/src/components/charts/Doughnut.ts deleted file mode 100644 index cccc149..0000000 --- a/ui/src/components/charts/Doughnut.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Component, Mixins } from "vue-property-decorator"; -import { mixins, Pie } from "vue-chartjs"; -import ChartOptions from "chart.js"; - -@Component({ - extends: Pie, - mixins: [mixins.reactiveProp], - props: { - chartOptions: { - type: ChartOptions, - default: null - } - } -}) -export default class DoughnutChart extends Mixins(mixins.reactiveProp, Pie) { - mounted() { - // @ts-expect-error chartOptions are not expected - this.renderChart(this.chartData, this.chartOptions); - } -} diff --git a/ui/src/components/charts/Line.ts b/ui/src/components/charts/Line.ts deleted file mode 100644 index d801ed5..0000000 --- a/ui/src/components/charts/Line.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Component, Mixins } from 'vue-property-decorator' -import {Line, mixins} from 'vue-chartjs'; -import ChartOptions from "chart.js"; - -@Component({ - extends: Line, - mixins: [mixins.reactiveProp], - props: { - chartOptions: { - type: ChartOptions, - default: null, - } - }, -}) -export default class LineChart extends Mixins(mixins.reactiveProp, Line) { - mounted () { - // @ts-expect-error chartOptions are not expected - this.renderChart(this.chartData, this.chartOptions); - } -} diff --git a/ui/src/components/common/PanelListElement.vue b/ui/src/components/common/PanelListElement.vue new file mode 100644 index 0000000..6cb5ec1 --- /dev/null +++ b/ui/src/components/common/PanelListElement.vue @@ -0,0 +1,22 @@ + + + diff --git a/ui/src/components/common/ResourceListElement.vue b/ui/src/components/common/ResourceListElement.vue new file mode 100644 index 0000000..474f732 --- /dev/null +++ b/ui/src/components/common/ResourceListElement.vue @@ -0,0 +1,49 @@ + + + diff --git a/ui/src/components/common/UserSelect.vue b/ui/src/components/common/UserSelect.vue new file mode 100644 index 0000000..7e88e71 --- /dev/null +++ b/ui/src/components/common/UserSelect.vue @@ -0,0 +1,23 @@ + + + diff --git a/ui/src/components/common/UserSelectList.vue b/ui/src/components/common/UserSelectList.vue new file mode 100644 index 0000000..2c2a410 --- /dev/null +++ b/ui/src/components/common/UserSelectList.vue @@ -0,0 +1,72 @@ + + + diff --git a/ui/src/components/dashboard/OpenTasks.vue b/ui/src/components/dashboard/OpenTasks.vue new file mode 100644 index 0000000..8f49e3e --- /dev/null +++ b/ui/src/components/dashboard/OpenTasks.vue @@ -0,0 +1,55 @@ + + + diff --git a/ui/src/components/dashboard/OpenTickets.vue b/ui/src/components/dashboard/OpenTickets.vue new file mode 100644 index 0000000..bd8ac04 --- /dev/null +++ b/ui/src/components/dashboard/OpenTickets.vue @@ -0,0 +1,66 @@ + + + diff --git a/ui/src/components/dashboard/TicketOverTime.vue b/ui/src/components/dashboard/TicketOverTime.vue new file mode 100644 index 0000000..7266f08 --- /dev/null +++ b/ui/src/components/dashboard/TicketOverTime.vue @@ -0,0 +1,49 @@ + + + diff --git a/ui/src/components/dashboard/TicketTypes.vue b/ui/src/components/dashboard/TicketTypes.vue new file mode 100644 index 0000000..c97aa07 --- /dev/null +++ b/ui/src/components/dashboard/TicketTypes.vue @@ -0,0 +1,38 @@ + + + diff --git a/ui/src/components/form/JSONSchemaFormFields.vue b/ui/src/components/form/JSONSchemaFormFields.vue new file mode 100644 index 0000000..cc4827d --- /dev/null +++ b/ui/src/components/form/JSONSchemaFormFields.vue @@ -0,0 +1,71 @@ + + + diff --git a/ui/src/components/input/DynamicInput.vue b/ui/src/components/input/DynamicInput.vue new file mode 100644 index 0000000..96e7828 --- /dev/null +++ b/ui/src/components/input/DynamicInput.vue @@ -0,0 +1,90 @@ + + +

    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 diff --git a/docs/screenshots/ticket.png b/docs/screenshots/ticket.png index 8c0c4efe6928ba109a91f76803667512b16253e2..b6b85258c08371bbe3e6c0dff1e9119eada047c8 100644 GIT binary patch literal 355681 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%0D+mm{D z^BkXimFO8cB@iF{E6c?3Q51Oymh^c(5;GO^jN6Rka+L4cDt-&nzz-uH6KmTTBF90K zH%@$KoIQ^nFNmL%#uK=$@u}W9XMjYi`Uc>RHSmD@sekFap4fZ36z2AF zAQ}b!?Ehs~1Rw?}TC(|cOog#;P``|nmaEOU z_KgI&YqUKwaNF_V&S&Vu8MqkL^dt4Aae#`Ez#|eHbdJy#@FIok*7|`)2)d$5s3NRM zzHl6t4tY!I1XW=yX^+eu1!4b^vt-{$QX3#}RDu~4pr8Qi&YUQN0^fzQLzp%W8*NLi z#Hl|Qe(!?gU!CH8Kjxm}It7>;;k!=Of)S8n^s!x9-?IvCV83{6R=)!M&bD4tOk4GC zVBd7h3)J*bYWsZ)1#YeQO_OWbG$3~ec5UI%$YqwvwO7#*U)eSoG8L3pyYe}q_t&A= z_vQ}miNW?)VB@eOM~0CxH)1t4UPnk|Xx-4M-jiRdn?2C^Kx#;ldmpCh!eU4*S-O zA^;bgg&RJB+kgb}lNhNVkrltYumZhcBN-CIuD&Na1|ZdC|Jc{sGM(EO$-aZTV&WhB z!#0qg0$7EhuNoV^R?fTgsWtdh86bU^hyP_2XhPx5SLfmuL>46S(X7TdU$wtZXt3UQ zeGG0Yvwe+Ys}VQ8EdqvP(eTmlm?+=&4GuF%7nA?wu1p-2tYJ-*IFPrm0$vU-%S>k z*?WaB&4a&Egd(bSS*f5`M52ZNYyc#0oITRp)f?C$bOLe;cN$z7v)N+m7qR)=O00HJ z>TIFn<*`lZzVB!297lNMh0|I;#vX`mvJqX97vS)N-+^))N*UJ9L&TOg&PVfU`%*_v zDL@~RLvszaPiBzMnuI7^p8={sp1O4d`Q|A4=Q!&7RUz9|+sOo=_H?Eb$%%77VSaac zP-|FmXM+8iP)|?l#Vm`xL)ZYAwSnk4oelBZUA=Le{CztY_6liIGd1U(p8h5TShwlA zFi-KO>`C=+-arwc4(vyc{Q#2vEku?MR*SkFIQyC@B1%CKg;`W?U@!bN9d_u=yM|FG z&a8oTtQHWccG|bPOW65wU7-*nv?khvh0{3gOg)mKl1n*>HxtE_fc^A_EJDpt6{FZ8 zxkZm;a5SE#0IumY(OIdospgQ8{~&z++N-G3SpwPQ$d~%QH7D#sNT+yU)3OJ!DE0N! zoCsbPV}JDQdDW{3#_&~SMu8t$6`+L`1L@|v__CL%&D^R#$!e7{6X?9kyA7Qm_*-@* zIKW(!`6M#WvxHL~cmit%KSg&f#9-Ffl5c31{Ot$KJ4x?a;mO(667EOV{$(Ea^7RO} z5D_`J0tv%^Y{i`;o7^a1I`joEQEVw$PONq#7r7D~bjW|d@!y*49%$bOFhKy>Y8VT}!ru9d%xI<9^I^OC6R~|s<6v3fsdGsO%nyIE!fHeX#cRp|K13C?~)EU^@CFl6? zQ99&q{6A*gBmuMQuL6?g&Sn320`i_?Oafsl$3qkaP6*`M*q`g)MnpX`X#j-UH>W1} zzw7Y=?}DIxn+X&^>1Lb^>B{rm%CucHH-KIWXAb!T>J(swWht8!cL`|)|5y};Pr8An z(q_IOFa?*VbFl;2k(Kwoeonq13Q-?*e0p(IFUC*nJ-$^R?_GD}QxIQBdB3Uxa%X5!%syUJwdr60m&U#pc&A}V z>Y26U&ypJg(hvi$3OnWat98UayYt^gk!|*?90?1M3S*LI|VqT6<7$G}0 zIh&PG6==wN0=XF5!Wi;TfPHMZD-g*3Rg(vJQP99=M@1;2t6_|#3!+6rKRV`6SZMM$ zKmhp#vz(J|V2W;%7{z5){)xNminRvs^*?MF?d)Rt%k6#1CpJZP$xjkaM&iOQ*5`#f zT8G8ppb{4~azg*=-WUM`LUbG7Y8asQ-6uuQ#|}WytS>#^9N~}V#okclg4&Il2>rzC zDw_^hm~UxtoAJ^Q3fCSE+p_xYNFv6^n#Ok7Kc`tT|@tG3W1NgOiG(f-uYrv_2ny^zc(A}jh z!#TMK&W@cpIsyd`XA&qT6h@yOBAlUguXtPT9|=ia0)&SUFphJDYnY=OSM-6w9jb#r zVC>qsz&dO(Ar6Ne3Tvx{NhJVzr({=8kqNxT)L@Bxq*>0%EDf>avFj=NOefQAR>B|V zV!m!5Gcu)94m@xc#7KjL*OP~EX=gs)8qL>{htH;gU4k6pjOXL`y!WyR>649LZu&(Y zJt%?T5V@fM@>X?v@a58n<}>RFi3Yp@IfYL00y@zz!I_;c&wC88Qd2`i8ms7yo{Nm9 zdj+*!7k)l|G7|8s`@7V|pp|Mhm)bKZyDF8^WC;z08js&!Oj&PKR-Xg~#ipdBT+;Tk zPWBRx6C`>3?#mB!PPNeF^}v-_?BtnIpArK2}{pn7>wXDD}g4 zx+NY}4rcV5$Y9vN?Yx<*STKu3yf?hz8()6jtCgesxDB=D$63SB&08xNsvFzLHprO~ zEt;6qq|E=>2u2-oWw)}F^5B~vt96yX-&@WPppKpVY<*E(79`$dbBBD|-iOB|u5|o; z$-0<5=T`<#YFW0bCRavy2PEWEczOnL<28LA0;m6yL*tdbFNC!vbw9aV`6v+muwGNy z%*9@)S!?I0h$`oQ^%Cpg+B|fSpB%?p=+0#Kxn($P$*jTIJE#;(vC#~ya@D@B97V%A z&${a2CtX2PV%BAfijG@T3y|(kB!Ld?L#xZSGBQl7NjjB$!^)t4N^6lBqk}p21U8e;u>z>Rk zpL7CUE)MC`yjJartznA8FL>kopS6^7i|kWm`aMiiNGw)&lb5^L)Gy*X`_xby z8Hhc7eP@rUBR+id0>|WSY-7sB)lm-=b5YTeM79d~d>L}9#pl1@sM8pFaGKyzTF+Y0 zstVt*L4^*{)Dqq2VqZ$tseHE|2`pPuu-|f+EhXF&`rS2>?<`xdxze6*1o8eN689o* zGu=DqI;rIo|G?L(7nT=Kq0T2?J{*fQ?(=Dq7ZE*SAKD`O%%FOfM@~woGf{PRUyM%@ z@tN5%b<#6Fm0+f+T=u4r<`>aRj47^bjsMk4GmT>lSLuO^d3&xZj1lUz#- zxyO%}_kv9Q%3%VXhr=qFi9k78d;>%KXiMvG-|y%qGeEMUk*% zn(4J``XL3CkcIgB;OUy;|Js+ho%er_p~=e>+)s@&ZKp)&X9hskLj;BGQl~T zk4LX-mPWPx*Arq@wy(cmI0w#(;eImiixrtIoJA&G=xSG~D{~xZD=|MdQ!X{v`7y~t zTdVq8Z|wUhdF7eTC?9+(Ax5T7Eo8QkArP9H&97;lX5ttkUN@v2z;#l{%Ec!=mi|6! zUWIfhM#OkBB!_BK=!;}+79!%2v0x*l+>QM~7XRIV0^_ck#qoW(%msTrc?>#hxALU* znA^&0U;7xRE}J)=4Fg6dTTlitJ9kiRDaR!IC?ul^2WsK_#JwvhLE`G3EW ztRj`;`|XA^4Q$qqjM#>hjFxBJu&@7)_sAI~yULYDOTCeF)53~!Hu?7j=ap25-p)Cl zLji6XX9OK{P4!lyb z$z#=!X37};`hC>z30y+@{C{1k7QuVQyy{lH)V52iovT`ViY+u9?8Up?l(63urAt=o z7lmUFwl&Q93a6jAsJ`R&Qs6Fa_R#mq%SM{k)@L=|?VnF>MOg@Bq-;HWe(7MFv4s6> zA3!k?rN=mo1MwEM{Z=2ZO+52v+5MLZ0-Q!iH0GP8eov}F#7hR*dsc}(B7HkS#(iVw zg2Ghk^FPLj<-8)Gv2!Y#_sPIEOIpM0jG|5lQu#=bduhp&g-eNd1g2T-vTDjBM<`_)OV0$icIEIN9V$UHMwugsax;oPp9_W1ZF+6Th8v&YtDxx>!mM zO$7)=NsW-)G53z-u?UN61@dAq4eXA*OcXp~6=fYVz$2(*hEi=LkJdE#cBF24hMso7 zuS>zN;Ae70-5g3I>yMX}F`-pn4`jwzpP|r=)nZsNGao~KTp3P$3+%IOyn4FSbELd9 zoJQV-_ljg|L9eR+v-yz!$sPv>hseh(!)4Cn)xOR37fLYyI-w%{Ql00))y_hPWDoa< z(YG0+RUbm`rLL}A)ASgLEgN~%%&JrHn$R3~RKcx({vhYdRJE z4VCeoH$x@FQlC^Ey?v)>n4TbE9(urCHtE2pfl*QUNZ}Xg*~OD)QHlD=*z}hUczMW@ z)kpFr?!2AY3ecGkt&pEi5kGgv^ZUsC4ylL7#vT6; zHyFOn^W}Eg$x>xUw6@+ANjU1fXL-E0yO$CcxB8bx46E*0EjOr8L<)FVXars){^~(n zHwVqv1S#Jib^X@rr5IL{@Z#|s?Za-|ud_3Jnug`{-G0}D>dFRQWo+hZ)r%tpXR3K> zc~ok7LKZ@bk`9k_V*K*%n#xKYDe08Y(%l!O)g9j(ILHyh_i8I06xwp)?wwav%Skzm z-Hz)|->S-!eNoo>zsR*ekpp?_ZmE-jf^;+eW2V=mIl7Y+e}>2ZArFsFHb#B>vU+Du z_6zOK&i^L%JCSKV1VW$wz~9J&Upvxk%+rfqAXvi`y;$N|+k)SMuC%svoX&{|P}rJU z%y4+C&6S~k7_f2PbOOur5qE;_H_=b2+XLjm`r{>ylnUzuCz5QAr>oc|Xg3Y=i1!X1 zUlKu-Lb5i~K)!=^^u_s*_l3a)$p-(Cw_-V5M^)?(gTD^G^+MBTe$0gMJ9zw`m=u{f zZ7%jd{K{_P19AOkS$#abe>;>esP&iCMZUbwF-N!1nm8;Cqt5s&eu#^$-x~GEm*quk zG`M!Wn%8{x1M+MA1(bc@%#5p0TkEYvDcffe8KM=u*fU8`P1ljH1)v?&N^ibR?V<(k zkg?86^J1|s-ar@DdGD9L%E|hBs8;sp2Z_r^G>#b0JgSh8JFQ?U`{0J7>5@4lgn z3tYE}8}U@y2BEOG)qi8`-*DfT$pJ<^^JN13T3}VCm7L$=;2yVpnhM*RMA#~H)iB4WdmJ5&^R9(!HGzRtwlNbVN31LdM}380%@ z3+7o@jLGH9x54C$c8K_(QEd2@n@Jl&dS@P2zB$xb(pkiDr{og{Oo4-EOW5FKN^(SG z!eqWlUfQkX+?Qzu0gFX1AIUrOxaFEiG_@lmPHoBB6!5IGf1GY?#Cl`5Y_ylK2$`vy z>N%Se0l!R@mjpFV(-o0><~s0^hdQG{nSZCS)1vV0@1A$Ww7jz5iN1?c61evNo!S7f zjG8^2g1WEvYCIKKd2B@d`4^Hj5A7+w_0_D60%p^CodMR%-wS4k58uyx+@yiC7cowj zI1)4wh)d2di126w!D(GSz&X)ULBl5^_IAX|0z3Gla&6IRBWF zcS_H>_gvFrWmabIKzsGJ?aygoGym?aZ+w2LkuOU~cm0y~{0qYY^C)y>#QaN>SVa_C zJwgRmDzJiKu6j3Lzqoq%{?9jR@390pdmG*iFp#4u`t-$E(9(MAnmaN=)84P+^vs7i z>1D0GVcQw4W&7mp9`BEe(5#P7oDj_{;h*yBH*kd*gQ~zH0QkFQW$4}c?wT%_p$nK$ zH4}H-a(`JD1wf7VO@BUg{zkfu>~mXfSb-tJ=gQ2=w})Vy5#s!z0&IGJb_JF5a%RQU zx)qOQulgmfhVA;bm~=(k*wpJfpRi*iRTDvW^pzu+m;G0@#o6m|;Ak1fG`I5<5b;HR zfp8YlAGu>MG3-c6uswgdf2+D%Yf9H)k#r#)(B1FxpnVnfCwuz-8N&BxI2+D4Wh(uX z$PctQa~RNy2bQ%Xy>buhkgDEK)OvdVHPptsk#%bga;)$4ruAIW`l3%Svnw%}_6xIh zNt}Oq=irG(-H>7DxPsmvQ?Q-YCAnNVNY1g83kz>HHN&!9_Z~`;A`X~?1WbZ{@l#)oS}&fm{jle_~+WBOiY20z2xg&_;I{e&}fe{ zqsJtUw+?w&M`vfNW8Fp#v!=J+>_f>y#$j}!^Hs#O?B=pD%ozqU8zPvu^JXe`AZ#{X zu8HWlU3jb1lqqrLXd6s|D#Nlo4)aB}H?fO>T2X$Xgk4b$uy2HaAEKFI@B zK~A+6-$%#gQ-0WQ+0FXzfVRfdcTFnQ`8FVO0R4Gr zYsVAvr#Ld(?8XZPvyM^QmE3%72xdovnN_Yso>KWPYId|k8nt^mt(qBQMu{-K2tUtlo^&U6~`K;B31$@8GY zzm>8j7aVpbRlT~iR9(o`eU&cG$^|$_6($Dgm83#5q zXMKHCuBqBWE}GZsV?pT8J8D|?)alk4avX{W3d0kckIvogLKPUFx17EA3}WxAJ_Q6| z=~P6Ax#Peoo8AY^twA~?Hmo-*wr8?g2z;zzJq8qAV4m@j`ye$O>%@b!n0Yd_1|+Ae z>y$T!*_3wHYJZ-B%CG;Zkxm>uy7a}Y&C{R0R!!=Bxm&5DyEU8_S;(T*_P5C+sV%gb zG^@#1(kF+-#tJok_u@Ynmk7!*7fnLP?JXJf>I^6>q;|${r3_mF@hemVa6R&b(X=~w zCj`9&co%@Fw={WJYiXofxHtLXAG-*m-P8eZ;HMVVeX~6gd96kM(qz|bWdRI}g8IdL z%~&lzv9CRS_dfsJ>gu!>hGsF%htBk>eMnc*wV7AmvZtDH5g3d4YB#oxBEkA&3S(^5A^$7VK&Vo?6(|xVp4DkHhifqa0Fg9qi}5tYR{Dk z$i-neFYv{fEjO3fKOCHgpQQ`wET)QPdbUQ(4j3V+y4js3s873$;OD2O3LjN9(#$$b zueT19ai|g7y|p!e-T}y7Ar#_`aApQ&ofdd{d@Ihx}YpSiN@;}@M-Jh3{3b9NkEBx2`~sD zWIx#ttBU46{t<%IFADUV`A-LqY3S6GWim(Kc+n{t3Xl)}@H?N5?A<}Y0z%FoQsRR% zafO=@{M~j6KsU^(ZCWfSbzZI)HSY8fijoFOg&amU7j&`p+D_ zi`_W+H1NZeAGf#o^)px#YcMS*qS&YXK_!t-0BBkt#Wj2{|Fg7DbARd9%!fu$#FF_E zXH1aza9Q`Oh$nBWhdom#G;4>WNU~Jn*0c8epQzt+L5AOcUWPzgv{4r=b~@vi!w4pG@0)u3KqBWcx>w8xBE8mz0b5havKKQWqE19!YOBjy<1U$5OmlKKvJ1^ zHTGAb;7sDDq$lV(shI*$#6!$$+@pmt&u0giNO<%AYf*Ic{-fjA=mWk^p{WEkZNbY?TIHs5B5<G8u%0DQ9!bZCGWV*^9 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 R15n`SCl|N91$$0J{V$tl{D1%e literal 254383 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 =;0;fJLGb)L^SZvtLw%Ll?|&WZAJ)OjCUG zpLgJjqw?FBe zoo@*`kX1JFO-E+e55;#VL`*gsAYEg}nk(7Ca>)7El?(}Y1YHLQs;?z68otsmKOQR; zxF|7%vJ%YlXe|7cWaeC<|F^T!jJY9t@A;uksb1{W|GMD6ePf8RtbnjVXfNv!>WjQ5 zZYEiTh7A;VESVC-O`b8uEeACc>(%e$`SgSlDmu-l^<|$#rB{OQj?Jn54DeGToK`sP z7`TC;yKxL0sYDr%_fADqOlCTftF5H_Q&w}|UDJt~xcy2BTsYN|l-=rhmXyMSzhcfm zFDWc1y6H`bN=`L+R)J)Eeg9JVUhfId6`HuRqGfeHSX>8kjHWO4!}r=962?4JK>74>Rrsz zfoy%ssJsgl-sr~>_xAdPN;4HzU%x8wEPGgvH$sRcoTrM{(ft~l)w;VEhF^QfVfQXc zhL8T5t*YdCe3Snsp}r{cH?PSVYapQ`q9bLXec(fSqo<(*n2@v1KAAZRcfsJ;1_fJ@w*q4`uRRLtNunFS+|FCXf1T#8|J|xo zG)`77&%lF5K6fb*gPx{#Hx|`m{+1V~DF0q=2Nc7Z`V@+Vkj;%EB-VoVj zNQEcx^*F0{3ad%uQBtKD>T7^R2Q)gL|J~&O7CW&1 zC%XKZzO0NGZ(O1AqCwC^0|$x+3OkCM^+Y551FG}@QlyzyY4JNAf>Y2o!X;W5bj4C- z3v$fS%YArXU_hP_x5gl~G>o;oblH@BG7N8blS5>4oUy)6+U_D@HS9CKB;Rpi*~}#U zQeO_eIdp8sl$GZHu=)P~>*^?zzws1fHG)(|NvD7{ZdnV6W%kv%6?n(b`JeN_29|W= zcs#It)&@UY<@-B@o`Y$!r7mM4r2US-@3DuBH!)(c9$}U=<Xi~@A{-X4!9e8 z9}QfQP7i=&8d$5q`bSv1M9%78*ZiwrcW!Ossw(EjY8MMR(a`8h2eG*HZ{8INzmcBT z6f4r>;0yFOte5&!<6w)hfN3K3ngDPBNq|cNO#nAPq&8ow zu|BAOW!L994?v(D0rU?C_X-p*!zf`4h!{?=VutbF=*)qvVus_GNEctxcoQ~e1(EB&VL9oCz6bpyDPN6ua2t^k7sHWmGRjwlb89u$E88|_>`iV=<+Le zR!Hl4lm+&ePYS0XZ*mlc2y|#z*Z%#(Ct9bV)jFQwtGVFOPBU(NY(*pobG5ZQcCO+k zurhGO)>hI~3aVE`zx;5GqfT6H_XuxnlMt?}65g+p$?q_ER&yDObFbN|_;5tB%J6TD z>3@212ShNpQE95+b6js!;`ShEf@FY6LUDk7f-W_(rkLKpAlZCG<+8BEe%&9~LEy!3 zFi@RoF~V{g0drzb2&U%LxZO`lG@z5Z6CTX8B;bYW80l~i$CIy;9fHBgX#(WzX%4XD zzL|;~p*m(Hd`XR_%|x=C8$SSaqUB+}hfcWde{%=hE&u>h( zu$)-x5W4qeFzD>WX`4yi6@eoyd$0{e`$ibUW{sO*mUE5#?961S^S~7>6d*=-`>_aO zD{E32YunN?BohtQdd}#nsBK{df;!~FG8+N(&`^aL>@dl`YrgT>)7gJ-ScMLdb!U*a zm;9!C&|x{X`xYv0tU;E+2na*%GUPE<)5HO9q3JOEz9{HQfK%ofBAIPpmS;)P!g=3L z>L}%L8L-Qb@-Z%BaD1c0fv4pJR#&9_n#DocL)G9!KlQmyA?HC!O1MFhFAe&<^?6>I z4HQnDJtdPA_wQ!}oSxM*gX^UB7(+(*IgZ0{JBpP29LL5MMIlb*O$OAvE2brB{){dk z&!g=08&6T$HUg0@TJH5JIC&Q6vs#BMH~1ReZa<2jnpf9Ht9G!JgHwMJQ8o$@P>96q zNy~H_LoxDJPmNNvr%$ylPqyX%rd-5`VeA}aJlx(9^Qo_$@98$%K5wfy*z%UlZSx%% za5_^@ikEXCr7W;m-&c~IN&Byb$O>rWVh|qcIR5O`Mx&+fJ=GFJ;V>5!({^oUYVIT|uOVV0?j({L^ z5D>2+Y{^E(E2d(F$jzk20hUWUVBb%}zQYsfQ6I2xw5tvKrg>*gjC-J>WMu5~`4#<& zK)fBgT_UJ$82vbb_qmlS-7CgTh9)=)l|xT=>aaTB)Re%B&Vl_C-csi#TYU%;&fCX-^fa z=t=`+g99f0D6=Kp(blZS^7G#vOGd~2E% z1VMB##mjmnh{%rCKG#!q%!Q6Q3^HJ9(RtqrOI3fy@qP;Foyl-HHW!gt2}~u6d7a=d zSoNRICz!CEQup=Gpc*v+D#tId$=|PPI`EYgHWUZVUm(JNzrCt4_^R~g5GMaRB-&-c zX`!7Zp2piZ^t^vI|azH9q)+Lj7jkGGeG+@I0Q&sr=l2*ApsUc1EX8 zc^c9XoWhbw_sSiOXrRcrKi}S2@*upC7*fwpPnYAX+*ANdn)M$vrsG7wVjo8CsZo0m z-gB>iZv>D7vUhNvu?%R4{2!6XFOHl3=A|kU5KipgYhDig)`i1cF^?zuWo#FitS!j= z+?k|v`^3Mn5(ZkVG-JM~-es6QiWuokVc@x`WVv|D?^c2=32)=z=>F^0P7e|k`1M4CoKmXAfv$+2dFZ1PKWI((*BqyxzKvLTz(yxs{)m( zn0&D*!E2?L0OYB=T~xtqYZV4ora{Ko)9f^|wDG6%Tq|tg7pK`*-Y>3alDuA>I4$!_ zmnXyIk^#SXEdR?IwTYHX%j5jd*A}iR_z{Td>fZG<$l}L!9+xedqg(=y`UT^MKX-FY z%LXbtikvF!dH<`64}WmR8N+C6D=yTk|JOzR|KC_ecd*Os zM_l)60bTuGrBBEwn045!wsLD+EqPjuG4bzh`52@cq(hdWX z*ti+zdsk>-%#fgVAi%*~bf9n}Dt~m}_pHebrJJz$iZ0@hbUy~Uj{-XwZbV(np>@L^ z%*Xod?3Y@N8d#jvRCcqU6i7OMN_(gR{Tb+Iw!Q`S_jv)ZonP>J4{ADo5ge7O12l`1 zE!VT`g<;6$f!(fV;4PpA5yO(&?e(wWh+W)MZU4yOxBAbSB80Ky2|9a%E_;@j&5QH> z{`v{5!>k`pBvr&;o=QGW z{Ja4{JVjU_toFotuJYnOulPTX(u!P~O$N`^CFDKaeA^R;AeJ~3t8aVwWYNc|#O)Pg zT-`LqsWQzdzru=}vxwlF0qLyzQ3Q7iRj?V+zp}7w> z(Zw-bbLhWcu0t*h>2U$=vdNFVFxl3Z>)ep{?wR3V0YgkB4Ve9iIMqbTj{GzFm%td2 z{_&;s^3bu3eh(l~T%I(2sJtMZc_XYZl7h41?1^-2hN=WuqD4BW^zW;NA7`h0^#ZsKt@06qCi{<7AZf>5ZI2+#h%{ zc_5jzYT)t`86z9LCI^2;dYHv>U31(vR5i<_%fS!xobm~RF%A(wgaIvnN){1dnN^KO z4K{yiajao(reBF-=>E8ws-JprCZZJV>-eL9UApuGYBg%xz!=~@D*gcOwdDiAlAQZ^ zvFq|3U_SHSRo@WG@32i zYe(1A{yrylXAxr41Fq+H_t>zY*j2~O%Cqnk8!{9{u+Pq3z(6}ph0e}d%^?o|H7SVB z&wDz@^FRz(;YK0>oqK^SgUJt5){2+>(Q}-%HZLNnS1u`bl0IeB#eL<2{A6&l#qEym z(-hLvbdgwi%?Cvq7+-TEKOAq*njA!4^|ovkWweL_)SZPzK>GNwW=#wWBVb+Om4hRH z<2ur1^&d;HYC;UuFhk>MaF}T$5ik*onxj4+-sk~vI-34@%){{77xs*?l=ZPugAveb9sEWtzes^=G!ldV?4O`Q{k%Z@?+Rj=iKi!w=Qq(uP}+x zHWP`FLnt`x6_810tdc%R^_R$H;zucbI}r@J zT?a|x+hf=&*m$MvH+1ggDe61T9R;`zd5#Gjd&VzM)y+}OPtJ_!gI{0OG8F=E4^V!f z&a<;``*IbS^`)um0JP~?x*y)7FD-unvVrQCz1)_15Jpst3)I$IBA(+PjO?%Q(7}e~ z`n~O=$!HKe*sF`A#TN)LB=gcIuzcGOlbPS9uBnR)vH;Iwww-Xo)tsRkHTsST+7Tls zrB0jTv<_h@n@Vc@f=`Plg5`&JTy5Rmw*G86lJE$osWUetAkxU}Y}>WIne9h#TAW86 zg-D=QXOQ5EP@==a85?)xncSPjM9XVD8VJkN-d8k(3{OWO}8CH}&W6%iIO<4>X<z^m>~R zmKj+9eWBy(y)K+EU=+`x^(I)%NiZN*{uPhBc^C4sre2AopYJBguRf2NZoZQ&ZUmZY zX{1&9z}`L!R2HD-^fur(UK|U3&1n#CnfHh(^VR~3@uSis61ZVlqk<*y(z4ZJoa`yh z?gX$g+5EnIou0Ja5d#L_mhzEN#VRV93Ua94U#MfZrC?^XdxPKLN6<2@gR4YIMa1Jo z;);nJl+8h51qu5!i!lDKg!^+&7A4N1bQ|I@naDy2-Di<` zp&A!p2-o@z00?+Zi#|_)={x2@%gIm$pt)WFYJyMMgS|AZs&V(-rRuhUr-PGb>Ekdx zY3@|h+jaj*C7C4#4FLr+?Qqr=^uf53!>Hi8B_Lx3GDPSF!kYlNGf#Z(ABY# z+))1l5`|W9dDMG z1#s_7nQfS@ILs|zXm$MhlY@IRxNHePoGW=z_pp=L!T8;wcsL|%THzk+p4zKEXPGY+ zsVsfA3MoDMsO+PG!G@(>(OBN}pxgT~lY+X(nlcW|6PjbX`ilO!O9XQPz!vnoG}>oT zNa0YZF#U)lbFYwycT82XL`CvtkEz2F$C=Xi77#|KtHO=Ma3wmG8%VLebq;LR`auNv z?m6ELq>|ct9Pd7dpp0L*ak2pjJ_YiJ@*UKd%6i*0Ht)0bdb#-@jjOHzMP*c%?lXp9 zM(HDM-$)r}y+`=h5E?r6MMrYi5X^IVFwENxAT$y+U<(!8b%?XL=RkA`I!SJDNXa(l zfaSGrSnORYrT0sJ<4}LKd*kPi?;wzM5PH`X;Jaiq5dVwjGL0_M)iJ=n>9U{)gL^=d zTdxs;Kh9@!mP~)~xL0ezVq9^eS89`MLb)J+?A}EPRc>bWarO}@5}`|*4q95Ql|>nuWM?bwOiSqu{47j@%K2benN?VT-@}-0WQv>NSc}m1#_QYpcr|5S z#Hdm{NCQclGg_%FEq>oadP;A2vc4(=DfW=-2`-XMQHCe6_IU)ErquFoICE@xdAUjq zwGppK-uSc$gzh>nZfa(q)B@Hdh7G)dGX0*1)>lFI&9P>#ZPE5qZBzS9j{}GmbOTtj z)^QTFUD;#_?VAO<@)T>)^wJUpHNbHFwx2iuxz{B{Agm{X#P)%KjZ#0NAA0ziVtQv( z=I7l=M|Fcw2XAXa$nSG}@%y>E62;pV?or`2@7%Podic>)Tg0X(+;y0zsYg~pOh{yu zvPbrxjI#ryh2`cu2=gT_l>p1T9)+A$E25#dZX;BquWx}WCKAVI+WoJ*GA%slSW=z_ zjxad~8=@s=>4o?OS}I6zNc_qsrYbtRofdo^F^57cc7BS50`<98ssxr;eljYA7((|TpzD4e|BSY zR}gwVo!zc#w;Zp|c-rF73{VVLu?77iz5-k$uN*lLP#MXO{#2kfw~Y~A6>RWoB-iA= z*1L1u6&AitVtZPY70?U1gCW{eZDjI5_?_1zqV(l{FNH1L8Xw!1$Ls?NpJOChlj_b~ zoxSP91m&)NkU#D920+uAW{&ZIe7O>KnCZRHqRG8&dTSx18bJH+K2l+ zBh2#doe8Q~bj14!1e$K3w?n5aTzP{#HvjD5d`Ghv3&|H#`P!GBYQqU)A!@-TMqDWy ziZo~xcJ4G0R>U7k1$owjO0~U(sG~jIX;!TZ9J2gSc}oTSk-oJX*|+jdOMV70_aXQL zpAl*mEo+5}oRvJdEKBQ9fBwFjHEXZlrg0)P>8){e0wmB_ zSX9>wJdPY5XN`CMo3TpW#3;S^u_U_#h>M=Rs98@nzxVB7-zw?Bj+hFKOeL$OFs4A1 znt&pALgNJenP$V9Xo2jyscC64bzWi*hyKu8DfWAe>U@YaVdW&*TfLno-bf>3i!)c( z#HnX|?0vSkQqR?Hq4}@s>S(WV|MY{38E05X>s9SgOoqOi?ImL$D@h; zO(!9wv2AW)PR!#Pa9Nz1;K~$XG(t17E%79wO5Z``wYgA?JX8ygV+Rjc&+IFXMK^#z z$NZLH=EOGlTPSf@{e(nsn_~gq5%x@(Z2tCvR^{tQZ#c`Am{nt=M=5PhM-q04`~f0o z2(W#U&BFiUc%`&BE7F|uIxn(5+Ti-NKmBo1n{P3Ej^d9Jw>jQo-N#l4QM$RsyUFT4 z=J{%qd;N&QLGrccyPBMav22keiq%B0$J>hZxGEH?6jZvQD0>V(&UW8%z_=TsV73G^ z<0Q$`PMVC+ON9kj^|0V|1@rZ?u8$Q&lwVQ@kuu*V={Fhep77d2g$=nCh0N7t9IBng`Wg6jNtj8C3M12!f}>j|^g>sj@-gv;ob zR|$z|ijPVieyYAa+wPyXo?>s>eV!5Su49bc$0oLM@Vq|=$s`WtQNF79N!sVse(+t3M+sD^NiM~dDs{$-@%JNOU z1t>)@dz3a>dx$lI^W$VBvP|;S`o%7-e+gp$1h<(9atjUK^+_jFkTSY#KjjPc_4D=k zvqEeMMmB5W?2<{A$NBWktX9Y>k%;@m*({EwaW;v0do_{R`JaeI&WOzY%tYF-s5O}= zWCUz932miTC)$moE0K*rfZ#}^1vc32i|bx5&9oYpqACyYdO8W@8Zt}YV~poR zr4q%zDtZ3<=VR(vYTyLFiJ3Fa!nORHx!+xrC$pa)VSrPmMdH3uN#xC*4aPICfAEf&L7(kc@xJ3Zak&#I% z<@iR5DfZ)wTX#I8;;LH)Jy4R^xMd{I;UpOuUT+v`B@2JVO?3)nnxUDQWW7>Y<@9#ed@xkBXe$2Du7xt)2o{BES6FF!ArX8a6*wWzI zQgCE$gKrhzQtc_q^6HuOaxB(z`WzsJn0#(rQ5pWa1wD#`cKa^e%udtXrA zK#qJ+7jPVO_W;Lo3h&!3$&bYbw)48=$Lm|%n)3RddT0vN$!pkbjU-xl`x_IQyfNj~ ze&-24bSw99T!D#!vYwhpzG@sk`&(CqF9N`l29)ZTi8ymW2zM+G zdA8PPM7nle`(;U6Q7ncq{H0hqc8v=_>bWnd##m+qq4Gho4!0h zhF@nsS73+7?M9{^jn9Vw%rBYk4;cZ!`th@yK=#WixX1q2B{|!e-JLztJOCs~S~k5S zDJ&89CWY#QJtoD;_>(agF~YhM#b|}N&NxHog2y~ZD;?RM5hhdP zppUm8r<`%O6|-dOiE#3@WMZl)3mk`Q$0_`QlAh(Wc1&5$TM0d5RWt(~-vNVB#ubj? z4H=}O*7|;Ti2*sI=JOFW8AiX>@g6*wzPZmkVbqpYz0pxXe zZ&=E4s$>s9+WpXPhH0F_qj_<|nQ52Tn*BjlEM13w z6MH-yeMQ|{Ux*&#t`N0WTQaMK`i=b9Ac4}=+*{T?dGz^}>HP%Rc`Mw`5mIcBEk%b1 z-v|XgWL@u)StK#rDPSqRq4eb&Lab}jDzP9-H3@>*PKl!Y9O&$(%VTPx;pHbnU`e~r zYeiZe$Z37FnNNbFwDi75ePE>%-rYM1F-X19X&gUZauQbkolDW1Y& zu)qB^r=rE3*vx}AUgV6EoL!5~?wHv~s+Waa#-aTv7?Isq>Ur*zzA=9-8ru6j3kki& zE=_owUi>BH$q(^v=l;(`BXcf|uCv)M!-P|nWVxLQzP!{#0Ru5~ekX1AYM>+uixFKE zd+T?$Weuo>2q-MQtS2SsC;ug#wJ-!^`zfSG%q*U1y7d+FVj6>6^MKdOGf=Dd=xeZ} zF|Z``t9l@aDjs)dKc_bEGxMNNlR9<)ojJ0S?M4^xbJ`Nul0w{o_qwIhWVd}5ImwaQ z%t7xiNYlYmb?RPgK+YdT9b<{oNvbygxMB+#2A#`%`ciIg`u!tvfjk~0)?7w@H523<0Nwq#2!6(!H`*)GD8Ymz5I^;B^S%QV+GLjl6^ z({YyDrO|?zskd{r*l*?H<>T*j>=s`hu=au=eIy*yYhcU$Iwu)SxqT<@=t36`)vdt^ z`=XsOXsweBMGW{s9k7lPA4fL&CG)4#i%C0MkKsrA9~yjm^EZz=zsiQF+k$Wm+Wfc) zw*kojcT2NH;EhrId7yyq237`8!ya@L{BzJ>VPJAq#r+%dVEn8PB$-}=05!>VyaF9R^PC?$_A0KsxN%Zxrs#vxaAggNB`1|x9 zR4l7<-i%_PBw+;?A0fnvv;z&<3)BnIlHd-C;dwDq{Njvo;ViZ)iSu;OF`6=sw?14w zLS1Ue^w~Ka{^Lg5yIlJ@2lGN3!=uIwSO;7qPdlX&<)WNk{qa{l*(UAgGkB zY4g&}UAe)kttW@K&ZNxKJ2uDj&BgM%U%$GO{;QANFi|>?xyyl<9BCvwk130dK?q9= zl5*N}QU(g@;<@530|_n+d21rYCLlt$C8Ceg@6yb#kD?Hh`}>UdR5UX5SL4|qmC15i z8b7$-k(U)q`vzB@R4u894mb$>Owu-7rOdO{Vy^>(=nBrWaUD8ep*AFkW^0~~3jG*u z59>5aV!xuyM-o`7+D-9YhI-@b?6@rGlZ3$!KDW_t)~o3z-LM43F8+R65`5{Sv9h)I z`FGOg)-cFTtpfTocm5Gh?<&1grkys8qaWZMA5$Dt7}FS2D`=0`VD40Hi9DhZqD2-= zs`*sOb7gy!&gcoCgs_+ zGjy_`uoU#fNou1eWApv#z|i>lUm_OJxZ`5nn*|=k^E|SHONnT zi~f!VZnRpkx|KeS2VnO?m1!=0DZviYsW>WuR#`O63S{QjL2W02BF_suAcolmyHD_@>t+=eiu%gcHv+vuZ>Zq+_ZYN^E*iaLMw z=y0?@_?w{p==ke(3bG$O)7BG+(%i4K?O1{%ExMF~kF+=`X8*}){&XfeGqi;k^|pxn z(dPwqB^8FpmAUPP}o4b?Gqf|G+hBXspAAFJvnR-u(Y@Wlwej7+ez zm7OllG8LR@;M92rZ6ujWPl?XV z{b4>)G2JerR}VHDH?*yhFHM3=As5AiokizD!qBU3@XCAyRi3yBR+NjY)#ls>He5O= z_&4p0&!g;NVo9;uEMv-|g4kP*{FQiB)z`^%sEc^IGF8n^u!L4>j5l1opdmgDT=qSg zI@|NO_`w=Q|9FIMm6%zhF-s(X&Z%`hl8w?lS#sFQJn{1G=%vbq#+?h_(IE!u!zXHL zZG`#?GDY;ME=a>fD#T^FIizFUfSOI5^llCTi!lfrTF% zL9Umti$l1p+W1*qs>?Pubp9nfTA@vX0wjFpTOx(X-AQnz?Vdl-cz{eJ%V&gG)oT{# z-n~%vHB^25j8Ff}AS{JCTVmDmh4gvBTD%Dq8D98)l3W`tX-Mojq2b7zS8&p3Lv|I{ zA=CuLBtlsIRFKV2B6kXGn|tc2Uq84RmmqN4c?%VpFT-X3^mE-{5_=eT6*XnthVpZl ze|M_KL};6=6ACP(>i+UUxtRj@vAywysEw`1?-|h8t?C&|r9=dYC}#8-W+n5N^oM_D zl#L02h+l9%iL6o2=S&~cdetJtcat9}#y>=h;wL=bN+7ePk(si6%fYsy?%dNIW=gw- zDs`D5y#RU{m%riVn@1Qe9*R1DASB^6O#%h(uCa)*V8fz&kt)F4Qc)opqo^MJX6bA| zm9d<>#;Shm=M<3$gLQ!IT< z!KSx`!rKBLTV{BLs^g(EQWtXPK4xQJ>r|I%XlP&};WDQtSc&jDO4wAE?X|(3UJI)6 zV36rqVF*31buwC;9DVd}K52#aAh08uQ_tAJ<)ZM-{_qxfQ@*s%usvRQm4W}xGj%$` z6g~;y?V`?DhRKsTxbNlLcL-L)D|!hTFy0`sL5N|2<;25C)t8p<2*S&!36> zjsDZpy=0RayT@zsB})DEbr|f^Pdvyjrx;~cg4AE>YkY+7v1j*oSs&Kce<*87xj#$D(34ed-y2*w^l#4Qk)4;xD7h{+%qaNqlV|p$;!D3h!SO z1JlOSo+PFqb;>fHX>1KRxvmFsZn8daF6S;diq)ho_YyY>h z?>nWOkH=}LwC!15y-~^7zzcPf>ksZQs)tguLD&k&jEGA%!^T5PE2fQ;J(!M+veHYf zLb5R`sp?uQ#Mih(|E&cIBs0LweU8Fu)^i)`i!b$eukG&i39}wo)qp@*QhbP7FQXnd zWI#7HUK!LdoSp0g9kfN2@Up91)kBPa1L=2%RCSyK`u=F8$f7)L4# zPZsewuZa2$sL*m7Fogu|ywt!)f$DJy?-Zm}pCEZBo^nw^e1*V;6aL|3+U%*R4Q1-= znl#?ga`%Om=_iLc^yRF2l!JjC;-`=1D5KV`BO@k?(vOO@u2QLGaqNBrF1?e_d5R;i zQzQ-C;1Q@kJM<{~{1z9sDK48e=R4Wqq5EXY?CZCJYmF5Wn3U980gRW!>Ys_rMCQw> z`6*AEwwY?kgg27_>o|VU@(=h_R|>DlJ*!bS)|yIt^;q=o|gw{I98! zZLIMBX<;5vlyF!*OGFkhU`!1fsG8*&z(F8m@Hi+RPZr7F%UCryF2YRqS`YJ!JJe<@ z7If;^H`+4y&vWKKp4=0{67zuRKML@)MMc~LuCKhhTylC50|gRz(OAlvO5Bw#LuJpc zBm5-v$FV`Z`Ia&T0;|?oCM6yRys^C26%)T3MC5!lUT*R72)7-vZz=2x>$`rm3Rlu^ zN!Ad{yNiVkBUF}CVukPJ#`qkYNORVR3EhF}^OsMd4p^TGuh}m+{l>uwV`*hZS|n}@ z>=w53y{pd$jQ`9kl5v;Qc!qmQoRN~hM2AxKKme^wi>osddVkb2klHY5pe*l|G6+r@ z<+o)S5n1RLnel!dXrC>?P^jNIKW-v9=7iWT?*tdki$dYPuTpu>m`a~L$I_(a&Ywsz zoZ_dVOJ3*Ym~x1cmCuV!k1S5_=~Q*g0j-)nI~R)WW9xk*;aAz@|K_h8{OiJ$o&CD- zU>=8?`#X%Fj#AiI7K*>s`;o^P1~dcvLhI73lrn=^j5Vy^Bx7(#s5|zDT~fdG#8={S z#!;hUwsSgm9^8*``Hk>#Pd?}6k7kjQ>!42$p*DiX)Ss#Irekn(KETp^Bd6z{N8kZJ zixViK>`9eV#yz%2tKaI#mfA&@@3Y3*X$SD!;qPTxn%duQ_zhn!W*@7}D99*TxsLpm zmy_w2q#^l7A&Ke1ImsKW)QmEm;15FxalVG6;s?&sr2|@i;RdBH&$P}7`&phQIJVxU zSu3gFF9F+5JpG+pQ?wdNE-_Q5ap3(UQk}Z0O(tX|x2wQw!DP6hg>-tO?s7_bL^70} zr3SA0=R_sR#nB*4@4j4Z{#vJs;!Fvs+H{zds)V0$bSS~sPI(Lc7~X0A^4b*Uu@5i4 zS5Ihg_u2;BB2Vvg2Bz)TOs+RYi)3tL6BsIS^mLZM#LWwOJZ-{5x48dLzL}#*xH*m< z!Ak9ebsy_~1O_YhpeA!?n5WiR6ggGyN2>`)Jq^9bQ733YdAFxG%txzcT{E+fJ#IzO zzmEybb3#1$^i7)^PU8`C;uCh`WZ=Flxf&yN60 zs+7UDP|<@4u~jD(aO231YtjS0*z&7ApeYs#kl45Z(hqy#mo9*vW?s9P!ZwzOadxyt za(1#ygD^ILPI0_elU;e6oYtoBpsai>)=xo_(=Pfs zGHgU4^C(3KEQ=g}oXp-Eu4<0V?$hq)J~QY;fN+q6ICBKr;k7+E`py!J`fQQBDy}vH z)(4TfB#biNDf{EW?$6DPgwFDA3{AWT($?xJXX>N`8jVZqGfELB(`H~KHymjaYKP{m zeB)-y52o+xiy8lnzXKfZoF9<@?>_igSb3bbft20HK#ts<_CHAC!ImOUrld^3O6n*O zL2iZ-INax5s*ng|zK!mt1~^9^h26oMba+JWzJmd@(99^QAAECc)R>`qN?$XC0s^hk z-OjsH&wFz*sa5n}^1&oA&{p&=eDKEwe1iO0-}7YUVykBcgCaChTOBc;_<;iIxDaRw zdz@Nf=io4@xm{tI2`+NbmU!5(FD<`xjilQ+P_D}IV^{DU5{>%iAq;rjjo-R|_ieUQ zHb?&F@gsS)`qNFJ*AALbVx=P?w3MzvsLx6#Mx>7qXH`(w&Zm=CZ^N$eJSHMM<5o$H zxiBpDvH5H|TO`)IKc}N>Yb@Y5^Z9oQg2?}3?5v}z-qyA)B`MwA-6bX6DGh=&BB_)j z(%m85xoD&jluo6)l}<%jge;Kw=5p_S&OYZo=l$L>_8(guL)QAmoX>oo>%Q-RM&cYo z@~DF)S^r6+Q7ZHI2|JXVL@1o(<#Ims5CTv9B31@!HndkUFS;zY^lJcD$O&mgXFfb- z;P%~)f2z>FVJPlL-1C3cv?aFsj-qUHf+zBSemohxIEAQ|5_)#HlwQ* z8*cAmhUkfC@cJvyC|OHM~;Fz6u7NwC{w*{^*TZYup}rVCku z_Bv+>Iq0jrxbJTH%11t#fF}) zKhi7Sz(>RzJLoFCdqre~m?EjMrsN+ZjINiASCmeuME=guz`(R$*L;9JcVi>GbBFQP zgYtOBeNAcczukoi88nI02|3G^7FQXZyj{ct0L4-Oe{=H?+qB2Rb09Bh(-Hu-m>kuO zI%Y1?%~- z`E}1(lqxb3K)qM~%wXgiL|$~`&{(NCs+`fx+Ko#wk-p(BIOcf^WjccS&@{l z`zErE8VZfr)Yu(lTU->z{xms0G)-dyy^I$c3ElR)6E-t>9hsbm$*<=ir#wP_22=`M zSCK_GF-0B5bANo{2_57X-DALiM6N#pV_@ECb%7?my^4+J^P3>SlIqu(@UoL7AWN%Q zv9Cc;Q15~rUZ=t zO3;j#+Wtcoe!`JT6^Uq!bWwy1w1GmF%gPM(N!$Oq@< zMP^O_C0K&}_e|4vB%RN4rcC?nK$QshUaMO3Q=ZN%w{(e&ag}?^V1i7wlWrXsmUHlk zMLiuC9)d;s67U)5LPA1km+fGzMf6Mnh~7@r2};c#l86Zg!g)`p*6mc+IB*9H7HpC< z#7=!4i2l`C3Y{9p2#ih!?O*wMLBcC#z5~em$8hf@(FrF#EwTp@ z(Na^%ouoLmoS~`E`idn4tCH{G%x~_N1`lOMFtc^D-;3g5HXjmm)zNrU z_f!oh#}oryJBq&~y{{n8s+@|ZKZ(cF`3V>jd&1^BZ)TrtdWHnHB;|?c4#rWLKtp@u zc>Tw_;Vm68`am#X7dh(B;+Ytve(lsy`Z3MT2|!3g)(^lOdU~cD8Yli84dm=(MA_;# zdyt7dw`hMMDSZf#k%I5RdhN|tfhVQ_|Baqy8n(-JRc!gu@ym+h_L-xD!@&g=K=d{6 zN2fFagRel!Ya#t;yX|l5skAt*MH;G0Av@D?8(_KuDdus@TLKS&b-NZ}vG9ULFsl`` zHDes&1PMtvoill+V4ia~FSK<(ssn_Im=acjAGI$?0C2Nw3?D!;mN1Y-(+i3x3aP=j zfIx6X4F(}>j04{RkqA4T*6Ia36ggNE8d|msHUxHnH7k(+_N1aR272@4dI%(wRVE!k zjaO!erS49vB_2Lt$a&Vw!fwN-yMapOs>u>Yfn-(eP{cW@g2eZ!u#2%EvLi|k>uj{X z)qX?Fxc^Ns7)`22+V>U3`H?dWH^;(*v|RJwa$7+yzk$2wDbe^CXE_RL>Ap8n0F`^p z)VCNEb6DB38HwZfyS94Dj?fYEw)5t4()WAou8YGv>>u|53k~bP1UJbsvDNK9Ybu73 z764EMJ?rRy6*v>=zh&IUo-c_oOzD$vdE=$8(mCLhbX`c{?)l;Gw+9p7!uCxwqT-$< zri|orgShmh5m~=b1PJ>Q6n6c5XB{0btte#eKa057&6A2!=<7AigMfIK&kJF&{Nx2{FQ#e~ zZYVcEw7rk}qrdO*z-|+$U=z8Q6D-y9q!kPhY~8FO@+{#iLXK)4h!mgSfk1440xuQ| zGHs;tj3sh@9Flol;dA*c^_#vP9He|rkf#8{kLTaq41cO1dRCxu4IM;f(8{_@VtJB9 zPNP_YisuLykKnM`a`182A0xzvSJ!KufjK=*i+i4UQlmOr1t{LflPa)88)o@wC_u-(TGSh>g4=&tr0fIO$JWC)Rcj2sB*7%zi<5A$9 z%3RzKUKe(&N=Nxp9eSK)O@9yuuKmyoLVRESQ$%lS&`Ln)g1l-5g)Lrf#OSULnItI` zw`L)X*Y_=t`$i%6vf(uMr24hJ*1ILe5i89qO0~`Bl1{FpvF{_?`Yhl6@#x_o-uv9P z_|W9_$gH(+j`U~8aO$9&AnKrkN@bG7IN1-UBtA#BU!`>Hd5#O>{Q45jeCq*4s zon?*B__#S*;bAT!hC4kCO+y*qW4PuuADE1DBC9D-xCy;sZ}1MO$z9EByca%9#AMHtt}?I9jIFFwvl z5f$vk6P=OxY=`4OmA945%%h;a=_H=yd6Iy5(mqdwYZ!ES_4)54btMW98L^v9=4#5@ zGD}nIO69~@ZOCzMB+VDkYD)EM))-7F+4|@+W820mQ5TJ<2uN-iWtkWf*Dd%(eMo>k zHxNv{Y6!J}#$BS2nDT!AHG(Q+fLKc-r1q_q_tRrlCzJqZFuZnExFbvY^6dQUJdX=% z7wQPev=otm_7PkVBlXuk2KdfX|KI84R~sLLV_yQzKC1&<2dB-s&fO1m@@d+k*5PgKy|$-dkh_PwlPdvFWfaq?<9Z^Uj*hA|dZH8^T3_Dv|GQ(7aOB^uW9gRwCr zb}=dy3D>!oZ_jUU%uV+{EW3QzHqk1v?f_7)>oDnomoLS8SmI9x^Fv3o7~Rod8hkCi zY3J-UqMhPsX;(k0%gZBgtrriNudfSM)6D(I-~z2dT;3gj;Z9u~i6iM1gIy33q6bsd z&>Wpa3Dr|F5k43GY@GlcwpXA-f_`;UEUdNnl$9)Bo&C;#a zA`cfODo?!?*$aRG#F)@P&6H~GoSGH4FUbGu0;GRIrzNG+q{FYn$DH2PsGAfHnmM@@ zc`T&hZ=k$i!qrT^)xcqSic_@{v2DRx=lR7`x1&m4ws#8iY6IS`Rn4D)xvRe7oc*vs87eM6L?LaeN-wWvxDwpOZa+I4u>GItABj6;7--WANAK#`0 zpA+HW?Osjk$2wIPoiBj6FaOYKEvfb|RHOD)VaF1uK41liMRYnC{DCnD08vVS^u)Jt zLHzu;4G&jlJJad2_p@;eT8enDeR}Nfr62to_;JVo<$?jf&=MXL_uQ-O^(0K(4Sdl7 zceQ0$)yM8tQZG0~d9liIHPw0uP}21p|7*vam%6SniN31~A7p{QDn#`k$SuSLc2#b= zoE-JM=vq#n2hVW~L|yL{wu}np)p=nPyBa0NclGbm>Ac`r^S^(8h4*fr35;^s6J1A= zhCYh!33M_02cl2O8$5zdG1S}6i4#2;=iQH&wr4Z@MEE?ClxB zj*Vh>jq4@B)meGY@BACtEwDG_Br(y$-!JZb4405xfb!~ci>aM%d_U%DUZCf`wX-Fn z*=YHY8?9z~$C?768D$Oo`QzFxxg9w2=v61u-jX%e`wE~&K$^@GCt(-C6MB2SdP_xP zHnMupK;(Hr=ByE?oFlaM^DYx4Il#lZ=&6oALL-(7!-_Qj zhWFm)QEUpvLnnccvB*A&cH3y?#}`@g&)9=l@0MRS;D@?f=%Zh+kCAv8?78yg({0}N zfkai(cQ&FRT47V+&b8FjGV@kpGaiFh3pCxTT6?a_Q=xf@%o9Ir3UhN>uj1 zR!0|nFHa*Y*@T{}jXs7(v275&RBaf_8fWC)Xb)KXXoq>j&5Qbdd%rSaY? zfQjCvqjp(xiGa0{T(s}HV=rSsUj}s=`w&}YsogX`ulow@ilPez?r$ga=kg7%-uGj{ z#kr8^%USffSwAPNOKdK2iZ^Eey+ZvSadF^EU#*KHEkSB~o@@bY$rv83!4z!i4GLal^e-QK zo<|xQ8WJykTMflmPG3@K$9LW;Y~F4Fy#W3@G&QyP8%uQ`USJ36bT8N?0MwC^5n^Z zALx~};DJuRV0dH=k3IW(?dKL4zFSj=kM0`3x_T<)T;7@{MswhGi%rT)`$dF-Mt-CE z-4`*xw`&b3B>ga|`Bh54&Wmdi;JmP*s^~Y^O3M^n*T-QXeEd#&;PbN6b$D6-s+fHD z&GoM|LZnym@H|N9*+hjPOn|tDE9}Vd@U^zP+g~ID6)?+g6n=8mnF{T61;~BGtv_B+ z%l9rjtV8wynmi7?im5{+yrR?A;M;jLz5Sp5pcQ_|-g)VM|&6WR-yWsr_S~KVc zYkOog#dn>rpzE;K1;g&9Y;Eq&j;`#P@*B(gWBe#Bgxu1hV>hMES_sLn*+c9&B{{_x zt3AfJ4v{=CoG~vxwBc?Y2%3}iU)lqPUZ?umoLPTY?G0)T#v$4Iwc_cGx#{6%C(nnl z3a}C|r=%Bm%vc_4vBcuoM(V?Kn2AeB#pq@s(qQ(9wMR3`(uFFG!zCle%u;{We z2l=_tPD1hF9ylkMpB#48*vGkgT4=fGOb`2$F?)mW-iw+wEz|7hxTu$EH()Q?ol{z2SV5%68+L|>$%*@paSQXk znJ)LdRPaRL(g3e>4vw=-$F|gw zv~%2LMqwL?lc-rWO4G8kIdwZFxa(29$ z2nF@#lWyFHYGgs!JxnBlI*#S7rF_#8h0me%WIu-W2se!N@M~u76WP6bQ5xgE{UEBY zf`h1Ls~4paZkIsZy3oH{tTXWAZl@AH_~|OgV@k)pvp1c85jpA9XwMVl##wzzdRf0V zFx^kBt){)-L3CRabq`TTyG@7Uep}t9EW25GETLuei)(+)W%3~bDe7JeXa$`ryzBmy z2l48`?CQ+V%-}(1Y6KVN>W1H>l_U$DMwH0Vpst(*J2@hL&hykV`CPdh_TjXA%9+wa zd{6rf3FgEoLYfes{)ZGD-+ss$Z}N3qK2)NXifg1f*`a;%fr8{qJBG(=n>*lH)2zV-`-q#lq!2ZZ%G@e#^EQWFmHI0n@GY@_5-o!T4T~Px#!22{EvMDrBW_?0>FV=?gG=2|D=l-H9nW zRq30ay^MZ|;rGT-)p(G7KzkQKJBrB5)W!lrHSYYTJ3(>*q~GA@#g{cZ=tz#h6CCR} zI2IW<^av`;eJfs#o{8!I@>>SyMI zCIdd#NyRYQLk^oEA`x2V#|}K2QJ)$-X~THb7WUFEZTo$EwpBc3 zK?n$?3R!$hpQGVd)r}NsxAm|Or5DeQOcA_WW#VJ>4YnKvFr=i)bjL#)n_;B4$G~2YwSO5L*-keCl$=m z*{%*P)DqkbG&x@b$&xk6&D**rBT+TO=z5*Pl9G~KM+oPEr^}PTUCp|nsFU4RWzyY# z2{s-exvzT*3$}By*H?$q-;r1}NWesq$O})YtKyz?f4>kEO5|~MXh$IggAA)Zm3+=W@KxW`mx%`Q>9KRG@~|j_PKv;n>Bf^P?Dh_Y)vzxdk6hn&CiQo4|GCNs zpwHm1?G(6;X9+U=Il0&yLO$r2SM{gcj^@rpzeKae_IT5%`5ygIl#eo7Wh{S*-&SNS zPMv2l-_v=R=>)v%NEzEtO4?B|4TI_AnOs+@o*}K5$&dz&W#Y08SX2~Mc^{K!^L?Do zYh#Xh8rnGon;2^m+mm}R-b`OZFsm|=CIYkQn+}XWuy<^BML?J=p;JSly819QRC$`+ z8l3gv(Et3yYJYg9yJf=Roy8Xsn8QnmF_Naq)RI14K0C^w5@-wPMIpOtDXWN%Ivs3D zP^a>3c{+r`V<3Dq{81HwJ7nq!SfTb7kQ?g@${TDxNL?R3Rqk?dkhp5JDy)m1M%#p_ z`{&^zcnxUis+*KSI#TMDe;Fiog7a#Tmy9_weN1PalYMwMxtxU#70Ke_7Yzd!+tekM zMGWk^pcK~qSd=3h$Nn%Z<|~}mZ}r0)5{jTnlQ-Sh5QJ+E^Y2b|;j)xKy=P5C<+|Jh zUU8F+>jBjta4}(2eE*3}C}m{<<2T}EeHZnQiRR_WcHyoFk@G3%WR+Fn*i_{4Kyb%$ z6R(uM)vilf%CuwVpgAMNh(8&Js~;Ijw~UsuT&N6%twaE%)O4ugRZVi#rr2LYsDH>Q z0{2q`1c^=w1o4Q`RMZeK$Riu^eGvx2#ZHMX+~zqvpUNJWK7KXjc8S9$QhbgpXAQZG zKc$M5iPF~ck5zaqsL3sqZG%;!Qr<8`P76v&N-V_(sL#t7YE%;Nm6E0pI1WU}fM8Ze zobOb2g4?n}MDmQ>WYbRH`PpOrwjjpc7r;#=3{3F)Aw^25&KKsZJ-xr?is6awu@=8&;HCp;2U<}MI z8^r?$xDSX~KCa$1R(m`#OG$3x*`r#hQ*wjm&>t?4c3c`atE8ZtZRP8jLIWl|ro~gl zv1mq1l5h2>ILtVNTv#n^N&L^5I`r^^cZELfb%Oi0bD#A{svsFHwL>dT;`pPfR|`;L ztGS4O5)O?(T>x6|()C9Vs&|A8^Bh*6f$j$uyjLJ`zu9lgpJn+BD#3|71UkD%U>qWZ zVf5(L3_0yujK~Fi>Sx&-77F}SB{3?laFno~#5DpftN(C+-dyf$$DC)Eew>4Dz_OyQ zJp19>`F2zP`G35f|3tu~MG-w$UwUfa`&|5U{kZ8p#u??5;lv}{w-XOVSc?iKG}})J zHy#d@CB?~c0-dfdmF=a<5xsCnjGRww>5HMhIm!s&k7L*WNSpP^fgdkg4*FY7jFL!I zn?g)Uby}gT@-&eFdESG_@osrm>pq6N&{sP|&ZK;Td4$PV+j8dp{WT(ze$Ec26MIn{ zH98Sa_q;$$L!r(A47DSd@gY5LzI&D8yxeV|IfKuv;2t_KPSnTJ`sxN|wXuXI(e@}v z7<5^PbJJLmJ~GI9OUH#!do^jHishm1Ma@>4q}hCqJ^hs~x>dP{-cve|vM$ z>|d4b9Jl{Ns73)&(s4TdGb}1_Zz26CT~dzk^A`<1WxQtIv7B8#PaDUvU$M@VJiy<< z%e%^Kr`1X#xZ-InAJ?U!iDI&4e^xHlpnIK>#^?}dGyj$%NwbJ4+$Z669m8ll+iq1S zm(Tb06BRiece@XoSag&BiEyZv&M)hHigrqb^#ElQtzw5s4+9nIX*mU0BI;(@ILIqbvdO z%rX!7j;14Zls@bfllBdUGf=T`3=qu2>?H!}6|O2~0GEXi>VmMDHYY^LBGzb4vhBL7P?Va<6Fk@>6HEj!6A+REh|i2&u_6-HY1G z@@y|pFe*T8K9+-7L7ZCcLR_I{8+it~P^lxh&63aEDFYK{BH&WhSYL{1l5v>_=4KZf zSPp8_=U-m)WCOme?f|wKk2B2E=`)h{=yT6)yj`BJa5KEKA{s1crZjYa_j+KII-6&} zy+bw9u(2ID3NUJajL9Ir>TVc-i|xINhPqK{OnLZ!NSPrabD&37#T2dJ?U+5Q*I?ay zh8c7O=Ef#E522pc|*gdSOMM7+L_hFB9okQEi3YWq~t#u{L=_7iuXvMEmoP5 zH!F#JXds=Fe5Ks_rjQ^%o--%GYCZn>EcvG6im=Lu%b`l)z&#mIc9p0hf)dVF0>0&o zuc~sRbhA@bf0zH}@GT=mVo;^$9*66}O?fHZCVL(zcUsMIFwpo&d&I4b+2m@;zyP}i zn0Rasy>X*AEbq{$<`DW(a(aE0Y>fZjYX<~~hpC)GSt`rRKV7T3DpgIM5WUK^QhK-3 zwyHB`FZsYOWNxmFE`;JC>_N*$6vt3puRu$qZEmhw%GmwUciSt|b(wE&&uaXsymDCv z4xnyeC4JY={3Q=`?|nt@|HsA79WB2aP@q%fo4XPZ8+111@e+CE*|3KytocDx@a=+1 za-pV!skVwPP%dLjW+Gh||Fm87`GcYrTpa+06)wSf5+N&pyps<_1L5*(7c$jx5U$Gn zcH|);av~flh#?nZHxSx>rRemmqWaeBhM@8_uB{E4ZaCEoqm^7ePy6>^D2x&*1@B&a zffK^iP7BpR-py&L2#Wzn-7$p88SYTAZd6d1qM6c{W|Z<4+cFd@ti^B)4%(Pf+6>=E zmV^y|G=JWWqFt3AXQyvpDKg}3M(P9nAy(~o;-p^zqm@2=XEZa3;R>M`{g?dmttI4E zOgEJGA_+8N=k+?lMfUPbkJ(j$jC)$2t+k(jp#WmfhpmF|A6S1klDTWPr1}Fenz73- zN;h6vpbN>+ zZ`S`oBLP8UoCoFuOS-?|;_a^DUo)xoc~#!3u}SI*bYfGHgmjS-k`)Z`NAeWctfhS0 zY5KdapLFwn7S!b0Du{2|Qz!FXl^gnuMncc9s&zK)M*kSB1jcFR8`hX<+lYboH`4Mn zJhjY~LOM5I5O`z2ZMVEIB6#3#Q%Rb3z?CMVhhThponEps$V(BoQo78#e-M}hQsdB4Qmiz?u~Xg~jC7cbYP{cMi)v{o!O zdguPibGd}t*@-(&1Rq}nR^eL;5ezsmHWP)M0FcV8S=?z%>h`J@EOB>p4Poy(uemUA z(C(oHNc1W%w{thm=uD$M963udG>de%!-m5mE7WhC=NB{&!Av2lavitEBJ*tpyLdS} zIpbR0Bdto`O#Cn$e|)hdoFI+;B`0{%(8hx6`2+NeTeg|3j8;2*H-BaAs?b}(?V?;M zq(UrmhZ_Oh2A;kJy49(g)}-BY!fqJ6J2l?2(cTQ+t%2Pv=r14-T@%|%kPB+|{f6dV zv$KM?0xuNb*|q`4tsaJW3H*1BTj$Z|x4_B5%Bb%%+^jW|Ze{R4$fL*^AHEw#7ef!r z?dkr!Tx^tCn6nn0E1UVfFOA5({qD7bt=UL1GEen%1lxlegmMzxWA$`lDp--&KTzK~ zwqO6DoXVFYun=zrmT;1^F&1dlRmC!GnPBNIO7{SV=H2B4p%?t7>KyC z(6?nJ#!=R&TB*m`%qA}{i)-;gBDY%*pf#`+3VBNIi3VG8dLuQ8%Faer6greib(5b$ z!o<7bJe5|BwiJ~Uxcgqr2IXAmQ|Z~~Li45s<5{z|Xuc9(!<{cgo>_edw*}ht1~>6% zIEU2;+|q9s3Ldw+1{DeXHE^2bsHz&gvkwmEtX>(=LSvX>=F1w4+`l}N@ORE~ZjLM+ z`ik{qy*GStRx`q+YGgxbdM-=i*WqTol#8}tRn_Lpz*T)eJDS(u>RK>VI-f~oMV}7< zOG5o;D{;K%-UJS^fva>k%}3|Kt9X7=@GX(o=3@e@nfANQIPox!nl^q(k}7n%L#zMr zz7pZBeXz@EdIy(F#R8dL2+LSXpvRntqLC`99fUv@pPrD}{5V20!Z<>;Tp1$L$Od=d zSGkjv59#PD(YRK&8^YcYz!`!aL(cs51@1Q83%5Lpvs)|3QVYOb12bjs73|nqaX6fIQ&sF>)o_mnaRlh? zH&xM_hc;zj>&EJHM9@bVfswS5kq@*VX}rf?L++bpN3DgLyg_SYQ=L_m^DVCU?;=uc zW@ZLC*KQ`g?l_!C+UYt1?XG~Cl6=jUoPo7v$?#9`R#m;&@Qs@Ic#vnCYRpW+hal>@ z(Fe<R~>rHqwVYME^z+{%#Yg$8m7Mph)>x0eZ(e4 zDQH(8!sa5UhnU$O?+4LcPNK$!`jOgNy_t#+esNjQ{V^hRvP8mmyPO4EQPsR363bu5 zCrEP^O|&l!m?xQ>Ab!z{;&RO}v19xkL4*UcWbb2Dz|v08(Oe3sU@!4*t1ua8#~VRf zfDcB5oa%!Ya?BQ^P6(C6isgBuMChvh9y#cZ$bmZ@_qi;Z`YP8*|NVPR93!_(Mp8H` zFMBWVq)JgJ3Bo1yZ?*0~Lms=d*vHSz)gxCB)wURmd{`t!aIEtGO_K?ygT(2f z9+Dn5x+csA(vZjYaUH`x&T!M5k{+uHYob>#=_8Kh8#iv3Dx{yqbT;OU*fu5!Yo7R5!H)w>^k=^zoEoy6m570{e== zV!u63n6kOb$!QUFtl}%37_Uaijs1#88xXgt-_+$}*Ckv}gs`e%vCj@5qsb4+L;K4Z zm=%O)3tvDqioefF?Ecig5YA^41gt7TYQPmBL})*ME@_k#;M zCloV+Vd(?K>SpvQOZ&Q-{yJ?Vkh!VIVo!{UPiv(}Qjv1VGhHwT*{wi%am9c52xw7n zh5&6X)&|WqKImS(q2ZV0BA#y)K%n*+e?9#_Kl4Nr8Z5)`@z=A{MR3qn_eXAvYTj(y zk;tkV1IniI7d|-wjWqi*Vl}3;Iw(}QZK2(b_;IYzZ2^9McC51W#!Y+gM&bTY}%2|Nh?)FbAMV z6(pQ(3cV?;%M|bMpc@q(kfT+NRXo7WQ{I=)0Y(!MN*J=#NqdmCgTT;9Eo(N22CqHK zUDtgM|I~Kv8W<1(gx03e^Mb9Z7VIlw!2MMi;JBs9(O=c`N70U`x7t6xesf;(zY7j6 z9wF+Ms+N2@Bg_V77m2ykGtkM`L;G5pQgsK;hf2ml_^&vLGWL`$)C-BNk}e}sky(Zw ziG|^um5V4)|3lF~Lt4y#iH>nyy8)Xik8P_)4g~6)P(aHwRy9tkT7ro*CMIXCG&+xA zhV(Kn=>u;MF90HMygmlLt`1o;52F6Vq39o72@igtUr6;Jvgh1mCiTX^;beetpAAP% zG7?Y5(eUx^^Bfe34IR@#q&$tvq2&zRm?>K zh-uSQxAobNwm;4+z9J)#%6WKDTDPE?kW{Fl=pU2J_f&1rkn&7h)V)DS{!YOf*oR`2 zG~gF9 z@opRB{bpn^jgGm10BDY19#ubq;33q%H(s7{pj_ zYEc@zw9n?Gh?OLdZVnr$Ib6^C_ka6;TDMJnLRZhpRAZldoZQ@WQ|Oukbl+j8rLY4+ z6i#Hi7zEt7S`Xfchja2rhFFm*$+M{bL*?mAeC(BD?=TtTpNVx)Un%&ovK{q$| zM?sNnnPHoX4iKO3QKetqFO8*S>{Ob_h|#ojv#G$wq4rU02s^`r z-G(>tt(?WN&D$nhlAtFuko>&y*uyt|AW^96@vgu~zM8JoI}-Qf!^z-b`QH!m-V!qP ztF1&{AJ|cX6BmgVTqT7A0=^yKQjYh+0sG&+9o)QAp`lZFR({R$D62HiKXs3d^nGL> z!_6mltq+Y9a6pfKH0%X96Y-vva*itbLI;c26AU>I($hA|aG*kpsnwoQ8C&7Z^w3BP z(r!W4+cP$Tn7}f_zhin&tzc#GlG=C3Bcj4~ObU%esDI%k)uCOQ;y0+3H#&$VEZI=g?)9PvOfl0M( zrnez{>*+dG4@fb@uYn78>>rk4)A%?)4wn9`D&9!gNTBW=>k44WU&4Pk|{a zPal<+S4I3SK^{`qna|%x}c*J%I2cay1 zz9`za6A+9?Krk5k^2;k0+7hnTtv7+KwVvznS!W(k1L)y~)5(Q}fTRM^5pX04l!TiR z!Nnw-q!doIGG*oE<@a$&;M+ky1pR1)qxoJRZpF`4|691z@6i=-e0nc5XT)#{fM!!5 zCRzt)^0*G)Uq8gaREt{E1o4aG26LQ;b|3W@Zm%qP?)Y>i%pHp|hRaR3X87yN0a z)-sL-QqHF=+^;U#HB(0i4SlX=;`L4n@-9m^ORaZ@Om`?^^W9R5g4XienB_BMGI-1T z7|$TsN&aH?KCEh0J!$nJeEk#Xwi^2JTITj z5s=!+nYIVuhJFSF^*ZP@#{`kc&cMC?&AXY9_7z8qg-O8ej z+=7aFsYCBO zyPTQK&v0qI@qS5Nqksp8#6*?wYa9_ntQ}i0>p0Xpd%bFiS`J9?j}Av#3V0&0d;p? z7R3487vMX41g2Tre0X)(qFV_*E>53jD-CN{3+q%d3u04@(9EMb>y_JIwfz1(Tq+h| zrghe1znx-GTd$+%>Bjj}yM2000d7dL&sfaA&s;oH)LGVER#ber$20Y4Dp|r$Y~r!b zA!}@gkOFYFo@FTe112~sjhUp5MTdkXk!OH9srzXXYq3hn&0j1*W4RW28XP82d;o_D zG$p|>WX4F$I0yF-_|zstBh)1R`y<5=aHl`j2cAh_0UQd&%qBg6btGEPZ!fDt-Fvgm}$gti_Fh{#ls zEKZ(PB+~_3sCh&YL#)h)0j0riRE9i<2Qh)`CX_Vh2ksmgM)tInLTG0mb0Nxncfp`< zHfeqhziv;?~cBys-A1OJo>8;E8+){4BB{`&pk{v6#disOj1 zRvcgFoqj>5dV_+9EXzZub5B7=UM7l_9x({m6j~JQnalL$6(S-=O%=1zQWc+nF;Nbf zpp#aX^}b&HvFOWe_kC<+%;iY~+xV}Gl?R7hyOQpu-(G!x{T7cGQLzh+6oJ74IVJ$l zNFA3HOmlr+5Sd&^WGpcusjs#Kl6D=T`PcyP zdxezp%{%=RB%7RRGYlj6>!vuX+B6c8?i1ff?kn%g>xxXEW#kTZ4`jeIMC=U8m!r9g z@~{&;?M7G0bDd=yhDyQKa94wI`c*GzpyE-9yLp5h0yQL>+(bdjXeBC>T92Jklv%1& z_|Y##?uAY{LeRG5jT_AnD2Wx~;mgCwu%2h-7HrEWyi(VUU}VO>)1CV9iw1$c989oG*TDkx6{QUD_A|^l%yGKC`_w{UHvM5KH|9QAP zs9@5JWdluBST=5W((hfaYm?Q5O6^4(L&`^wJwH49`>-qdt3oNBx~@hp92+IiL;86; zc#uN5?iT5M9}lB&A$<#Uw`GG8pZ4B^pKrQ1x>dN4!yjIUs5|n%6e*kubAg|&^25iV z+gYcF%U>gJHW~i*?!$)kYbSrg*Z|^Biti8xk6%&}T|SCc%ysvP+K{$~C2%D`W<6`)o5^;*>li; zN3Cy$+dm6bdQs0?$3GyZZ8_!##X>C@Foc2KQer9LRex&8$eWTJ_a4DI=*BJ))sCf+ULAU%GBUq|DfT;F){3i|uTbwg4m^NunB zZXGr6WHiWzb=I6vuAhA&1GUnoJ%&`H)UBr59Einq+8k^S_z1UFH+Xb!nWKr75wm0AtEd5Z7)$6==Muv%QPa(s^4F(zqUcO zlaun@N05@s;)5!j+Ed3s=&3HF255bBx)Fw0@hDY(?adePY3N*LKUbwMh}Rlm^JKkC zpag;`L<_V`E{&UbUpe88#_GI)t*d0#k5&->`>XVi3lYdf6bQT)n)hZL>K+h}zfpmJ z^PYW!4Heb1PBVP+m*7RH#l;QCr~l;+k=H{ zU!cN*N*UEcvUJ4ER>0Vy_syWDYlnMo=Vu^u2v;0u_EM)_L|8sX;SN( za;|G_`OC8EPZkN}Q*+1@-5Jt&&=5)Ma;<&a&nW&g`}61=CH&>2TAR~~9`(mHqIfjR zZqT}>zqXctxtIU)2ctr~fU=;zdd>^9Bg&8JYbv-fJZxolRYtCL%ZX5}0(F7X`X_-k zf&Piu!WEmC;sfh1aiLPlF_ku01zJ})O!QLh+j2g5OzzS6;}2u2+7TjZeiMGO%muvJIBoYC#tlS9V#gmg49O8)%sSNhNG@b|~${E7C|r2CuvQl`JX z{Z$F9RGAXOll+kp4bsRxrR+o|98;;0gOteaIUqEb5vN{^Dw=YzV_k?U%Ip@c1Fd(M zg--q-E&}*f7Ln2xW7+BMGjmtNL4DyT>$qBslI2I2yy;Ov-RYljt(#;RnG$PfTXY6V zm1u(4=@%vxF#mc~f%5=4Cwk$K&$%FY)hpp%%t4QGi6KM(E11VYp^N z%zRs)5A8?ozAetyc4eTD$CF7+B64M%isZ|YIBS#iU7%ZfgiEtPTi$t@dttrz)U7F| zMuhwKHvYHr;a_g+Uw^1wVBmdbR{R)#{bFIE^NJyfV)Dw9VFd(a3gT437Kl`;5$xK& z^aXvVpHQ8@iI!Ey`pJuOWT=rNnbfy1?i)2hPj*?%|Bt`Sh@ST)x1bu{YJKfR8p^i+ z2D)HC-mz5ZJkl{65uPe?7^AE_IMd+u;f9~G?WbuP#CEOA1(sU}Kf8STatIsUc>s5Z zX<0Drs?<*~E@z-TnzhK~zc1u}eMhimci{(0|N1$>nCKYzjE)S=FGLfTl5x)yDtyGX zp|fU5I-h>oUn4)bC{oBbTPL$-PFge?=#OmDR32SCB_g~HW4RdCJ7CIDUScWD#PSxK zAP^0aLs2v&D8yEdVPMl{UOi(txvemlBrS-0E{lmTB?hJWuM5TB?>y&sv_?mk%aYNH zwA5oMF$7nsjbIEOjSeKF2u4-x0R>qZJ$p)76;ILm7AJXSOCB0yp`~)IYZyI6w2oid zu%SULR-u(Ji)6Di_a~&;B_HnG-|Mo4tBl1)vhn&NA3-k*K`UF|?+xZ}*W+JSZ|R_b z7Glrtg0g3pM?6tY;8DZ0ADc8Eika-DEyml@Ef?g@o`|QGeyAkxUH{`I+S~znb zlcx=L@5gkhR#BaU*cUKY=5<+V;dNeW{B05jKka}2{DCCH4_F4Q1LX*Y`_2eDoP3Hg zEKU%rfCi5it0eWn52o;xnzrcr!;+1LXJ^3bgm~iXQj;Ux{bN&m&XWJ(Xj@iPUJHj_ zsd@&!*XMzF8k)Nx!UFD^{N7_ZxBR~0CfT)%vxvWJob7S3?P@#BvM zxZ4QzwvX^Te_&LC*KjsxQj=&8IhSVG#s@Jym-eR*EPFz{d{4ZebCv3hIvT{%T=)Pf zV-M&yQbP^Rg_vqS$B+s1Occmbl;3CZW7w=Jn)>xj#wYD~Sg3zjS9D##5kAAYPg&Dn zBKZ=Ie83h@LANeE_rdFdaZvhur<{F~*4>2*dixe$vB1S}e8<-=6n}qU!BSQ0MGuyY zz^{S#15E-;3kX-==rg2&{RwML`-u&z_X^)zzZSyNzHysbBfD%lQ%ukOiSThZC|TMA zD4`UM63d&*PcvVU;N`7ofeMxOr{d?uDtPI98rghH$Y2whnSEj^Nh-IMrc<{UUe?2H zULv;eoHfix#cmvQQX3eeA2~D8*L1-8dBOlE5FSS*9tKiaTdGTRg}G120k{G?Fzh5( zBfcXA&^lhnxvF~MCTa@=i)gN9v@7?=2VS6QgoKGcng|~!)$(=~mVngK07sbk>c!ZU z=alpF<{!TN4y5qtun0Nh`O(>B8YhUF+d@@~) zQ9ekHJe$?8b7GeyU3s;egYe)ZamPCltu(8=Cm5@-c%Y&xgMQJB9cZqJ`e=3OX|=%6ULU|86bK?`Z9H9*Qp-g_$8SZ1^H9 zy$t|78;&>#Xk-Y`BcPdALcD7#S_%&MY;SU4{i}e9q2B?jc~h|_;(6#x5V?fncMjiI$T(YTh5cvsA#D`2lCbH0jPDwDDkskMVvH%pHDBbI0Sb~aEIUo z=REcH>Ak;xd++|v&-wvZ$$HkBYtAw5L8H$!5|Ou9a{2DK1L@Lmh&>NK8y(T<@fkVv zWc7R9@KgD=Z~tACT_S&5b=#Py;SK5V+jBLw5wEihkaOSrC;~xP#>6-fSEJ_m)9SDL zavA6($KoI7LqIPv++%6|^b5F0%xxK^$GG7q_Hu@jTdUD*!chQ6be(=sAA~*8P^-g_ zqg}+&Lg-0)8TCnZkRWlt>@_*0QA|Z&INFsU4YTh=F=KzS^s!R!gwhd(JX&_}$%@82 z*-edrf+)#F!F7BFI$jbpUW&@he@j*D+Et!wR+mE|_KJ>@Orkv9#^)v>W^tm7^|5#} zWt|*ooI9@pX+~_S+F5BV7fFa(azbKLc=2UYyATY~0+tzPU1oG$R*v1RpRbC>9`C;gp9 zE`I2XiVpqz$ge9Skej6t1b01JlKO-E@zx?p;-{#G+dK6x@~3kdg4PMnwdNILdRJ?T zaxKFqeS$jWj@qsd)oaJi?WB%g_eHf!;p@Xe`&2AMdMt+$$nhfIJ$e&aSO#E=(DZC` z@RS?Ktj>N zEBn|0?+eh+-D!zuI|~y4P*s-FbUu9NB1_A5gv6XZE1CNSKLZM((k@{CAaD+D*>qb5E@|tc$ZeRE-%h@c3NGxtM)5OhQo1gM z#o9)mcXzV`NVWRdQQ$UM3+(&&MhEqggU{x`y4J8bc9~zzaUBzmz${qqS0ZKa@+Ys6 ziqq~p1mW*r1mM4SH%61rDFT9E;tXw^js(?N)sedz+V-q7bkugB8OEE5JvR+BBlLNf zYBT=;hDVqHt!4)X-+D|^xLWsrx?7REk~B+6v>i5y6-mO9YUTCDUAok34 zR&|!YiA-C|bL_L}E_t)_p@-*UH7Aik?|Bbj*u_h9 z5ug01SA4;KQWo|Dy7o~2Hy_#ESP*XcITlHFvBDoO1~Q$Wlip$}zZ54Iidn-Xz2%?0 zE_dX8d8tQ4eiy=2GQdpNxsK|=&92aubNs4}B~q-G6bSRG8|@kcKwKn(ZhTR-s3~c z$rcVdM%ev|%i2~mgdI)D<9C~rpG=GI0iQ}pP2RodwSSt0ek1MJjQ3-V{MxvvFg_%Q zn=AX>>8G_%qW&z0PfJ!^M=G=R7f1W}5Y06h@$CB(=a`;+)FB@xA{QX z$mg@gY>W!cIaRq9eLRgT^dCl7&MZ5Gu~e!xertueZnWZJbM`$x9Q*fwT?R;W_g(IS zM5UWvFIk3d>ne$|rhmBs&*?rE#rb{}W@(5hDF@5pm)>`jTN$?(y99T@$N0HDz-3Ms z+NiaMtEKnRPQGC@XEAI|@-AdfG##5$naSs5@4{*2JTJKW>B47~PL;RPo+;!}>a!rp91@y)`1Q>nzsLT3ZuUaO7n;|}C)4|q!c2{jD zRSC@f=eG;eHKBZ>*?RBTSdVC?G<$-Y-k4*3DS-#_dZ8?#i4kyvVlso0m?AF?ZS|Qh zXjr(D2upS<-_YZP^r|{+xdW9{KWiCuY7#qdBw>43k|qHo`Ij{u;rI2bCd}zTLH#Ou z3OEWV1ya22y_mOs$HUbr7>>?AWyp5jg|v3Q^7!>Vhw+Q1XUz07!(TJ6y`I2Sa(;Ib z)%cu>=`~Vg*+W(qHY8>t2a1rr9lc;33pK2fTcW|bf7nfPgnshvNg*5r1)>U@N+~W$9KVeHj0lWw5QCcD$?vP=u;!*804ry z^a-;3FX52NX*d}_$zZL~ycgUn8X3ZE0yUjUlV7^l7vIXI5oDqWg4)Nw#~n74pnG(HMZ)1s=O@M)QPr;05{ig&AXIE)^Qw{%?_g1SU|1W+7KV-3P-@KPy0wgeGL z>{*H4=`L4n0+f`PM}W#9+T;J5u`cX+(5l(@J&%q%L;l_Tpe_Jxc;_=v@9>x*3aFvG zfO#o?v)}D$oIl9}soS)wbKMnCralL&-J6fi!$OkGhbTRoC9*ljVBlRQ;)O53!)yY9 z2aMPb2!m~l(2-lA9&&FRAA+m|%`i)SWCa4DJ$=cp^0a8QuWuVAbR`sSlWCrd%Q-ZE z=d|%Cx>fk$iXN{7Ritd#8AgBa*kHzQy`yRVK5gws=-cdDsiv7#{k1fdN>Z}XZI5G@ zywH^=lb4y3OA_6_HRYz#_JPDMsPbJP<{M<65- zrjHzZjR)2Bfu$aA@O#5%!3NjEqTO^%P=B3Q{p@))uYc}gI(NGJr3BkkHxb##)(&K` zU6}p&LzoVmKu_SFD-AN=;1f!IB@(T-bJTt9vwa3sb-l+rSim#sLdNngEy;G<@b!J0 zzkR&0Bb9Ilz7)0;1K-D!#Yml@JE|xvV83EMla|4oL*y$=9%}i4g8;TP*oj9rXpsBG zF7+X}3iak&uXt*7-~RqSl~=DzGljeEZrD9^>AM2_0`lxUAFVw`I(9dZem z;qH!PZ}8|c-Wu3}0}PJk_M0=$r}0XcgF73)--V5N`6;?gWp1bErXBq2hTaKc$pvvQ zw;@}>`**>;l_19Qm*}`%)hheM`WS*;U`!J0x@(nx#`KCYQYyF1&@6 zAeVPfo!EFk4zAu^oM2Th$2`A@u24R*Rw1V_N-nKQIa@7BgQU;R+Kf>yUhOm1O%EpT zS&6gjrs9{284aCq(Z)_pcfy1Um}Hku_CMS0)-9%vEtODi_v znSH9L@jbG0Uc*s~lGI<1r@WlXd*l`al%~>k>5(RB#$pi&xR159UckV+|Ev0qRrXia zj+>FUGU&gvEl-n&5%AzVw>7^UfjwBsoqMq05)S}KW!2EfE)8KQVyZ1-?t76R$b-M) zmMTT_L1E`_iHMgNBN{KgGn79@y>5-Jm_}XEaN&BW&bhf}V_!_Il})=Le-LsI^k1rl zhzN$fp4%rj^7{Iiq4-Di$!7QGH}iSx7zl?D`WUIuXY_-bSs~%aeJg3iS+?#pW<(>p zr3&y@kG_$yO{V9(8aiUzqwWLPczB<%TyH89<2feO&d|v1^^plXcZxY%VczzZ@X>}JBu_&&VjKb?aH%1NP7D^89`G{hx2TM z=aP;VTX^dNJSEQj)QyL;4p1q(BX7jp0pYn-0?W1s#<2j14TRd{yK!S)65L{fNvW!> zt*uZ}7I)Cb2+!=x{*q98;@SIcMJ){7vrLc1nhc5L^P*D)+C1iXcI*?@OR_1?@_GZG z`*q_kD_O`VCG)MJckMs+_)7DtI&XwoFEdyJ@%?Aoj$1xnV~p~QXe~fB&h9dgQ9$}4 z4eXa$qm9d6??%idwP=cQ^XP}O>_XLqu!`Fa`2Jqp)X6-9NcmvUqT3~}>k*X3@rJqH z^y}X40wYwBh3+Rg`pYl~3WQ-obuf_h=+=Mu;I47LQ~=uTOhVeHW?U~>iWPt>MEqzH z{!Wl1)G73hZ8R^AWS(Tw2#%7T1JuCpgmS4;5B%DIp4nLKjgNv^q*6DzFFfm~S>=mp zhTpa@Ff=-imcUtLNTzg38$9l#s^wY$_0u6TUbYU@)D99XBww3r8@}aejTc2x z_1Oe*p?5uz#`g;8X*%lVl&3naM;vU{wf4#Q!PZAh`b&$r4DMLM4J_@unQn8`vi|F5 zL$n1Q`#Bz1?)B7bzTP*l7r1%IB$#9iy;BMRDb7VV{5 z);~C|J+PpEN^JXc`gy$Bs&xFD-GkNhu^~O@&ikXaT0;wy=IHE-6|&zsO8%463#OZ= zn0)WP-bRW<-cnSm1?*;a8--W|_nJedKGzz{RF!4f<3gD8fH6{GWhqq&6ETa%*$pV6 zF9H9jHLyJJa{&X|bxv;#YP<>*OmS;KzfqCAS~R`R4bi39q6^$c)0KuQlpt!k_!i&# z%q2?qNxaHH-_x>d<871iT5CJ2(We#lx>Iuiaig|V)>cG}{b4=d<_WC)j*K09%<(f` zb*R})Gt-0TbW65Gj>}1Lkls)wTCzp_8I1meL=|rrWk<{z)8Yjm?Po-fx83UQ_JEzn z;YYmt2hQ9CP99CZ&#Y~Ld8EOhJj8#y|0;7?E*MZgICPEhQDt0!9;m6sian&pq7WV z<)aaaS&(jY0RA#US<7_8#+PS%*D53MHX$_Su)=F)uTil^B%H&MP0@cRHBx;~_%s3A z9=H!zd6J)eT|v}hl=??+<-dE$cq)j%2x}x)n)8$eta?IC5`LX{508J3?hf6{@Aj++ z@?ESU*e|Ly&SnOn?)YZvvMTM|^tXzqDm^N0L|8ifl5YZ^VMj=j2Le~k@vQ+I*=YIV zIQA+ucoT24Nm+dV&k=EC#kfZrVH^uZaW5otI2P3Vtwy9aabLh7jt!9%b@AwIE%~(s z1VZ(qEDT4016O)1b#lH?t^UJMP6kW1Az+S?o?0h&{e{S4TTd{MQ^0b)8}nVX^Pal$ zIooK8i_CSuZ|8>_LZW&`wDD-<1#PI>sW984jTLYwK#*!dAWQ^&=6CwbWKmVf{tpMn zVIo)a)UgdE6j9QE?m&~K))P-xop)l~ADHgw?1G-_mdkqX_MVyoE%*SXiZ-Q@+_#q| zO|+{YF_!Q-M|aTm(cE{3`~AN8Kpfn4+WmcHH2$!WcB4If4UJMRTTxRMOpZ4$|2)<> zRj1|#IpEKvW(ht9;z&=eV+|P%@iuM@EI(=G8m8d0+BUp-A<$*j6i)nmSoY$cp?yv& zwb*ZnRS73eDR>){*SidT7SMapx5Md&7d&8wF4X@1T6z5=IxCu;(XjCti8?tgA@kl1 z?-qR{t2SUn|A{V{Dcg8D2;HE=2*>#OOri-9{aTK3<${mr*mh$>v2ZTiK0Ub;o@=|0 ze?ci;2@v-*45MuUEku0$oAWWWAeOEB`9ya1Ws|N#p&ll`!Ss)tU#1%~o8_0{-}p3_ z7K5dpAu{u=id~$&r_H03zT#~H<80M;FC;c-!FwsWW7H7y%@<#5MShPFTNXyj=-!ci zBvhYiv%G#gq*5Ya9nGpPjXgO>@~)=*dihO?(ZQ{c+M$AldOP!i78f#H&t)DYs4?4+ z=U51&3!$G}`EkAByG|c~E zVG*1dwez;_dOUdqUU_aCm}g3x>{f_$Gr#pE0=8So1RR(W&2qQ1Bs=jUPtW+YcFU?5z?E^BPBT^aUQKjrG_|jmz@{>dOEN zJ8{32^PUh(;{=`_m<^kgk>41LdgeO8p@g$nC0K&zl(NDRxNmw&Mhq}lqk>4}2#S-B z|0=id1?rG!b=F03L2qIbc;MGk$)d$=C$()8$T=BjN=NO&oPvgckQTB7d$+##Ay!Yj zJdr>d7+=?g!Bj4mDxP_I_krbQb@M$}Z+KAn;p-ziLwdzCAZ;OPlX2{5`h86%zx^C& z;yZ?{0lL@3f!ZEV_eVxiua1&MpWNcPqUr^;FE{NU*Eg6ie`e2>Fs|IRayO4$j=ANG zv9N5F0vF9-=A~!bgG^0suLm#No<5Ey5szI9%L8mTig$MMeIFkU|6X3?zs3Ulchf8e z`j=bW3ukB!L}GVkQ^2VPTNlQJV-$_He2`lLzlo--SIpq^DGXwtu~FAnI@}ccc1cFu zIH9TE6q(kCuQ(`s4z^Jwxc5xQOWJkx@almt^Q(P?J+kHh@iG z;sk4&blh*Thp3yJ9s?aQcYeT%ya7K0@V3YRL|ZJsGP$mGobZ`k8%|nPL9F0@S>REi z77Sb)25Y83o&tLpffitm^IaE=BszKy>~2vsxQKWeW-zdPQT&DTAI=4X>rZ_j6L35T z0!l~%Ftm=7d~KW2g|%(xShq#lnN*D6rV!Ync>x)YpUbhEFZaD=JG58s{0KyCw5}KN zQ!&ABV1u0H)6JHXJQN7%?x^;ikDuoL*#)yq*c2uiQR*0|!hiWu+4DSzac%Q>+N%1n z@hEcbOlSpT=jSWl?3UyB^q+1whR30Hzu${ydtBU>XK8(EkQ)r7g5nlSF;Yg^0uvMm zS3W<+pP%CZ0aFExX?Tc(CpviYp;#WD`Cxy)kSyw!3ge`kifI#X#Sq$A>p3hTBt@*> z!^SX}JeqQdR$oP7Kj5hwKg@hzf1((QyrO%<`f_g$uQguYUa@ZkohAO<5XmdwKF9XH zcxNJ8(8Zbwk}fHH0$e#mHyStk&>iv0KgS!6w0(-m6D6IoU(o@3ZPkBM2nlgD7m^)~ z`r~DkE;P?~nW=d|f83#UG#kB=*)HJEnHH|P=N81j{!PhU57?Kh#Rv2p$Jc$w+(xXP z&9Uh^CQiTQ*+KQ{^MG$3Slzq}JIMY+w`8OLcb$aJJFs<20azK)FBrRB8eL_2FK8z~ zMSMJ{L3~wT!-~XL!G1c_|9hz9W4*1t`cSU3>sC-ALIHVRxX*-kq`!p9mt8)p+TAHB zDahLM37T@|AT%q)E}4zpAE9brbb0oz&E`QMSEwW@oV8f8s4EX$Udp;TeSH0XAbJ!F zRh^Co6Rj}5*yc><;qR?WLD%P!_0mb-b-#Hu@o4UJ*^D+Lw>U3|rX5@K?;hs;*x4R_ zkq5mDp}m*93lqJkgmgzDX)MAVy)07#wV)m|>Zjx&>02eN@S+52*-)5joNe@M+%*F4 z>vTIHbVrb-H7(FyqATd1)rL9b4eX((q5ge?W$Ule_WI6Q1}4o4cznkn00M+IsM}2Y zi?#mfN0Ze^Ku8q>*0IT`Ui*-vghR?b2e=U$QHiL zbIba9buOA7X}%9}dAhS~Ip4b>q!9kIzjIebcr|YuLglfr1o1Kb>1SGF3?XbTA)YT) zq`0zl?5cMgCE+QnO4=)DL zIDPRoD10dpDT~h}p10Rf&=2Uf9#nsY-wAUnLdclvDkT#2dYWna6oHw5OxQa@9?#}e zBhFOs=15!q*JKDc$esc32oS9Q;(x9sEL$NkM%@)Z7d9OC<;$1d(sI$=bKe-TzU`2M z(2&PAV?VBV=YjVz2y1-s1QI<|;Pf_G3KRjbTniv2_<}`K!xL^c}r7F)#LpwbnAn0DjBNAu&y1-P6AbfCi{KiM;3-njT5wx%_*2S~Q%-2Z zTX0=>rzklU1m`0=Z1QH#{c4Ny)QXeV&BKa$C)MxO?r{XAC(EdbdjsfXOk6=y<){`j z5~9Al<SS9*<1cBJPtzWz;$^8_ zKL@mpyezQ32l^*yZ!`#ncFdQ%%ya5<>(k!Jer`Qec3%_8W?fwtva<~6vagQQJCG!U z*}$pzWU6HAC%1GFb1lc;yaas52B#a&e*|nIn zYTCHxR93^JoxgUADy75a!x1^B2ipQGS8p_{SlB0rxDEQ?dN%*Gy6U!y^B;%M6CMH+L*2g}+zn z)O+!yvhP3C=5cv08eF{gbh)Sd{^{^TeBfLF0d|12Ar#wVd16e0low>~#IdWoo*m?; zaEp~PS#z9I6IXpmC>h6pK|Q^9794rZ&69h?a+pc{nj;*sI+QOz0~-W;VTrSYdM_V@Ya^jzCbb+7c-CE z9F-7o@Em51>ZDZ@2K1JHR-*WJHHfE)Y{^{9XN69dlo(ZSL59B^`L$rdW#uo067as$ zzrd!}Hfhn3grbrtmyw+(K9z@Ayp}ekz_=PONt-_?nCP=Xv!_OocU(1T{czRU*pk_= z1McAlBLBwefWH{_nrxRr#Y|gL5xv()4{(E2^s=lWENtP7?Oa*doF4}m>{tT`Y!z*o zAjPIt;oWLG3mW%oyd_O&EG5ll7pKE&u?iB%WWe7Xq#mT%8A{ATJi5h=V3`HzA#GGw z>sOhmHMEWP`@a2Fetvc%dZrT^hkCtr|EBm_L=M;tRXSx*LL8N%!E!idKcPM0q^he; zFwFJGYECMD$&c59cSsoI|DD~_hPFcu}zmt=qbKMIJB8g3i9S@Bq{Oo5`>|jkK$+s)T@)o0u+M zDwcuMxE;vdAx@rg-P@)Q{G319D^iwoEKChk9AwolDrSaS9|!_y3E-?uShMldtkgyR z-1eLdEhU+E77zyXaMfgfbudx1%Ca?bx~>`RZiq3g=}EZ{qTGfr?v_>i z0iP$hqaZmyYCNut2I98&NfcX@;bS0Y?3+NuL`qsItU|~hC+cgEeuCOXiNkBKP%t)W z4%jWGfO%cvG@Kpq5Ek_(EMny$_*c;h>trjj1V8KzeyO1K3NgO-O+G3@O8AEkgvAyl zrr~_Z+2)|uFIzdqp6z@h7)8XA8~3kj=Kt<)03X^~6OpJ1=cS4SBi369dC~i*zH?y( z!52?d)wHbTMWqP8Xt!e3@)q7~+Ky|A2B+^QXR7QY_%4DrRHfv~V-k^JUK^9>h?kQz z>b^0~5+v9CsevYEIve5Ll7GGjb?+>kWA#05i& zjiGJe2UHRQb|P|c#OCL@RJ1NBa&Y*FN!d#aO7=IR%eM^ zSYlJ3HFbRv+ar>wpc;8JGer1>Am}prfD$>-5d!&gfgk*=d^H?`G$n6S_>PGlQJvhc zcBa5@fMFjkHij;yx-*|9_QHbNaG|K5K<)Lt_lVZxSHG*;6U_!I?JbM>r#pXBqg3(B z#p6*l7pvjt#5wPkt*_suEcTBjt*4Z-s~-GArz#kwS}MG_M7kkK$qCu3Z|GIX9TJoo&4XgEw1z7Z1|;JA zr2NY4-bFLsMM64XZ*1f_Uz9b|_*u^0)@z0JA*z?Q`%137=6zA~@c74c@&|hu$4)lR z7Yoem->Ta9^wTaQl%}K8Hm2@P+7{}Z#Q_(#3S%4p^^X2UbonnYIum2WB$2iB&)Lzj zjeRg7WuE|x#93w30HYiYp}2%N*+iHaXF*s#H9V6$)L%+(uvw1nwr<0O>ND2;8p0DW zdgDM`$y9-~n=!TD7pBF<)o7)qC_s%Hf84f&Z;zN}5{B#IY2J>3VS$*RIz;X3&%qE%*>U?y(WmwVh^!{pC3U zm=18Nr3+q-G-bt8|6L{dmt*UnZ{h#GP=tqfVs;qp_$+hZbx`Q=IQ=~$(pAk;W3eCV zYSK;M9j`n&m-+#$eM*jMJpgJ?eF+zoc&B6&GG$;ujvr+Ti*8)$5xN5{|}4r16I0F9vAoto&k(X za>BlDWZj+Bxse|gUX#G)%lNO(gS_a{t9r`ZLvDHnAByOLq{T^cY5M%8=uK`Oi8Mbf z>FJ4`o|3#+tDhVUz95{nXEZN@c_ktMptf&gcwVcGuh-jZWyXk+ z>J?2Q-7`t*RMw+|#kf+rDyLii&P9B8*DFRQ3Yl*6zJ^biYHdYH{45B&BP* zc_mjgewu9FxwLqu<kK;TlI{e%iwB=H*S@)XId3N-7w44Ps7 z;wVCwQI%bB*Z95Q?@|%3*nHR3RRCb!t~RZCPXP^^n@_~O+=Io>^B8mLyCh{q^K7Tp z;HClUTNOIU->fuwJJj#jry_5XP-&A`6p(@NiFw3h8u%`Js@sPc^%K@)<`JHEi*_^=sDDB7L8DleC*oZvnjV>Cw$=O+v+hpTx)RW zZVIIz=vy2x%oszd@BXWHwYEe2#g-(!ID7ui=kH<=+px}xPt|%tR#zHgChqPooaixw z?kXX5A*vZ^BBj2LS7lMqIv3MmheiS@>B(W5g6F$-xo$2qJqNa^pp8@me?@e^JpV^8 zA7j_!U*ERbEm{vg)7Hqg4zjWWo~U!<#k(8(F`6xX4g8KS&!JDRM#HE#k{QX9_P;me zQ~S|Ynahfj#Ox=79tjjL)jMq3+8_>6w{?_M47~NC{Aq!7@)6ec(>!nrJ_Dg@6mK{~ zUr>o=Kld&t-4GPm2i+EP+r-{n?`~x6n5oK6URTV;u>^Ny&yR2&41Uy$*YU9GnQ_Pv zy|VxO*EM#L2=0k`X}0FW#^1NZcv%z6CdYcf-y1xdBZNN?ol@V=e+X!uVX59jpPF^= z#w9T^U|LokKopO^Nb<}7>EYzp`{R%i-X)ecK;*v$IO8w?im7|lM$jHCKJS(Fcz$3U zVD@BP28f4i(Ojbp7bz9@t0?9!dQ8&)=ok)^zj&8A>+V_OQ0iTIS&dd!Emke7dmLJD<0(aj7ZL*{HUj%l`gu z&Zeh(9E%~(+C$R9cjlpOv2i)3HL7|(grIMx&zuxp8MPQ96}{K*6kp>-N$dJ zcCA_5Ph`K(1i*(y@1-RuAW`REFrLGuli=i&7sSRW2fLRZ#uq197}dWvw|-Gh9jf(kk^)4?_-{X!B5j zV9(br01~PTFd0hbL44PvzoQjS)mu}H$D5)(b%}F=q43M7_mR1Fw7-zsr47(XFgA$P zI|e{La@;amg1mAH$`fJ#@b?r=@I!#Yu>47>iX%YUcwZw)^-Z61VgBcGI}+c<3`DnE zDLIRo`Fr}Yb*utdLg=T~zfYzB<>4}ZF{7ff}+Vol{zsUZA{ zcE4w;4R;esy-d5vEy%Nvt$@B@7@qqE(PZ}dmw$6q{Pz}{Ec1c&Y!*=Yrw6zlHO|Sv zNA>Ol91<$aS~1%r;QI>OZPplshx$dZQulRG{V*Ku)EEqC?v zw|?hY{PgwV@vzpsDbT!o4r@MAQ11Y7x6u#Ax07jI)n9)T9o$N8<1XN2&jCTX1Uli{ z%QZlJaJVF3An8(-CB?OEokDKc-Sh)EuU+$X=H2-1Cm|=_j(uw;@cdSt0Qf@)5Kqc& z4=6*|;w4|80)UJd^^UV4=5AQZCD(q_^1B}=F>igSulxa-#~SdN(E)X|qp*MYP}?%# z`w6Hds?WV33glTZh2~=r^RkctBKm~v^n{;2k1*IMuza{o0nY>omV^wm%m1>thKUsF zz5=G(bpmfpfcokQ;B3sV=HmP=ipEP6(>m|@=?By~rw6n)1npTF!=``*OahZ~hH;qp z1p_`D_Ip4(7p-eOT(o>yD!?{$9dNu?nn$*RLn`F{9A>HaiGhJ=JM9MVVp%ASj%|&? z0Do%FpS}-p2DMmj2#wXUy(iTbNwwBTetF&8;iGlH%Tc1UK1ji_+Z^@;3w1 zk#vQAKH?7QLn;u634^7}x|O8^b^IH91kc9{o3-L{^)4)Ry0BxF$F>P)>sgO?ypMBA znCm|_HJ93qVr~D;G5pu*4H%m%zg;b^0nn9*F<-MRA-t%CGr+%dtNB;Bu%(*!N0Ike z(NXm(kQ?ZsB{Sc}d|`E>NYt{uIfK{v2p{!LvAZ7Rq!S?_`!B~t7r%SFf<4?-V~sDX zBTpEl=OrSbhz7F^e72cd&z=LUSaP{QkmFNCdn{m{;1}J_9D+rB%U8jsj&c+O$p$+zX-}bhJ3HcHD`8868X_HI?^tze7ND zsMBWk={o=!WfLQs2+Kz(cN*sC?+Njdt7sFOtjiyh5Zc6$KwgAVpnTJ-V)*#1%04qQVNu z4sO{lyK?&g4rJLr|L})A53`Nj12CM+shvKG-fSjy0}+Af#TiX2n?!VqQLGAHPccAx z=4e=}hD%OiShBaskS|&O*bW%Vxa9d87}!ZKsil4$t&;@SWXi9wOT6=^cZLA(pE~5l ze*9FbG#VVleiD;}|K(+QUi<92@k_=0&)n^v00!_j$X+2t{FWk*fum3b`qE*5TA(2I z)o2fRe_xy2J+dT`Bj@?X{2IRgo}}Ic`xD@sZLR%#hy1^{Oco4Kt=Nd!s|-Q=D4C`y zSaP{1WEK`-g&%j$AAd>>kKSbhNbbWkUd$}+JZvqk+;8(C^bkdjL75V8zZVK*yo7os z*huq&(bqxfn^1iUu=sp^JSL+!9^rxx^e*1Fr1!oo`+>43xRMU9Ed^t?O21jo+cZcd zSgXncF#RPEtP*NKRZvxW1FVCB&40Jan84d0nToliBjPrJ^`ZT>M}!0kx;-vI6lD}0 zL`@@!OFHW{c5~HO`lGmOJOEPLp&KymZ8XI2Th&ieV4g_2qw-5CbHu6D10Iup0ZApS zv`X>|0Tel*U~VUIr9ft3$pdd^^rmLJn{nBEwc;zF;=7jKe1#< zuwWj!Ar`Zojz_d0T?^IzIQwtf#=bm8&49$8D?ZkMc*xyu^gyg>3n0?qQ!oxrZg{U| z=ztIj^%H*stBvC;Fbcg<_Q6a%3UM+Nk52SO8tiq`JaQu@_uRarjyA+4n!mx z{IQSX6m0x+9}%e(doZOi(SMI%4P>-ojCGriVuSbx0sS>`L)i33-~`5uGD1(VhlU0q zA;J@q#e1y=#hW7BFc?sjR{Xququ;Y8yEA++cp#;fif9IZR+Kz|Letq9fKWt!F>t+h zkA-)&u>PVR72Z)ig!NZAt?7>eK-DC~+xk&)t;c7cGu~m14am^(eE1ExQr@Ya-7-H< zE#F-xbhNvtD2K&lbsk_k_gp?JKnl35dh5%aEAC>1@+$~jP15%G$8xOGEK8ZQfr5^* zsr~NfF<$&y=9-|in!!o;U194SG^Le5dZ(@^2 zeh&vnB;tcO4>QKWLHrN6Y`c1*oG3rU)_voUT!&=nLY=QF!ku zKMcSRp+`0B*5(i_@CzSFuhMjeUD>0ATDnBr!yLEKJ*z zlg|?NIr3nK`lW3s|%w^97MEAld;P<~hI-*K30(!I(q55YxodSub9+UF)xF%~i zS~mx+uhKO$-{+)uHBIio-9lp$-1=ryU?<)>&oGI?jlxc9jkY)Wwwp~5UtW1Ob&t2p zM#|Y@6FM^R0B|C9E;2g9cs=>-anM2X^I1eSs*oF18t8-i4=Pa7NNdiHriQ3$b zAFqe9o8Q=nYt-x!rZSQj9*uK&qBt6mQH-dUIH`o^C>gH$ELyb@6^(1ep6eymL^k$w zy;Tb^f|c89UIJyMltjdHwsn^yzzFEHy#Rd;?E0OE^^sOQ&aY1ePg$zA2MVLfgK>}H z2DX5Tn&0yA)QFZi!b|c{>@ej$>EuD?A7nzUYk1~re~{h)bJP5$2&fLIhspa7;_SAD zm}^+Pe`}Cw4{Y1kOtn=lra&+$D(4@Qk7NL}-d%dg+;k&bNAli|c*!4A+akd^Y$(I= zNZ!Mt)xLWxh$22d;)ES^j}9M3{R^p(X-lb$nTz?8jG@9F7jknT+2aXmYigx^8Y#$p zzw~tu#|7imb#y`8YMApW|7QX4ZEb%Og%>dFGGif zh^c?P7rK4aw8WMT*gw}`+M@+xD6a!x=%)?%&~pQeq#baVC{Gj_o2A+av40^)CYP}d zT6ziSm!2?Si3!7n>lxBuVX#mw5j002=5s7Pr>CKT;u~PeSZ~FBNyIc9 zhI9&(N+pyH#(f&W3x$Op1$5qSkUtTe2EJPL(zjm-WzRkBffpS^TlbO&BM(O*xuGs- ztPXbx20w#pF_~bRx&dUW{^zZzICQ}{D#9EUwftjvj({KZY28eyr9qQSigc-zqXvL( zGFj#)IIAn1U>K!vT2KgiLS8NaLBvjyfI`&>pT9|}(+sFrPI-b&0_>rFKz%7{t`+B_ z6~r~BXRE-phRE^#pgT3g-os;D9EE4A+S*68FD`;p6l7k_WuY+{rr}N6LN|4gSp}kO zhq;NQ)UsHmDHB>pT^$0r^f@OnIUbA19~k<|FG?2=K4-@%HfR7l#-{)&HR{4U z@7m8E_IBXrL|amTP3FkD;Wfh?50rfgRS%C8@mlytu&5I?SmlK3gb{Qf70z_2{&6|h zb-X{0pU9Pe960|8oTNbx7t+duS`MyI*^Iv69|`_9#hBz5_^1fwCKOggQ>b>>h{;^9 z4Fv1^>90PQNRqpQO6b^#7vq&96-B*2GY)Q)C=aF|4h|I>UnTDro!1f` z0$wG@y$WyoA4<*6!XU9m{f-&$KCp=JT8=*Aug7R zM?n8{F1PMW2}>>3`_xQr+H6k;f-o`r2$tX1JUedB=;d^qwx)T~%#h{LZ4h+( z-q#bAUkO%iep=pvBeaBuoGzv=oz*9<-0z6D{xPK`C!$^&Rue*`$R51iYN%S?$-13l zF|3X_MVE+zVo{0Ht^84H-G*{SArt3O))6-a*<# z6XC^ytjA9`?OlKvIBZtl*C%+61rCtb$^`ZV01yX%`+sOuwgIV;sj`=Edj6XezhRUys$Pw1sLSOG9m z)OrgFGj(S}#Xre>Ct&M&Eii=U^>%oPl#>=A0)npKk)U;L(ulc_At46|ZQRgz3 zXDoZZI8KGwvtqK0cdy90 z(M^vVQC~Pch>8uC2Ikvl-2g$2Vv-l}rFrO1TX~)t0{`JoN)Vt&{mO6l>)MEoN^sp&?hCh{d>F)kZuN@5dBY^cWa&=M zI^{nE3#tz+O?#{DtfCBA(*A1(t09vwiNX*MZ;Zg#g)f)+N{U<<(+3Sc4&ExLv!-mc zrG@yEeciEVVO;qptx~sERyI4%rywr8yMWF3B4s`Aq=sNuwnRt%(VB`X&na}(Ks-e} zgbRM6#`(fRlJRFHksCLMy({PL09|2jBb*)$uKBL55`?+8U*`Nj;mzQv$G?DlUTw^r ztZzPrs946Z5|)|%D9yJ@8_wYqYU6si@x0g_XMcXg!CCps;e5QERM9#$l`6i!wZzX} zn-FfpfG|%lhG<8RvK4xhA%w3$_l|B|Yxjc?0Fe<2P>)d1Wh8ZG-W@NMglf&=`kF95 z%G_g`pGnG#mdMff_P>xfS5!F#Oe1H8Z*v|-{Bf}5k_w7rumTv|pfiDFZc?|?TPVIW zd)oSbb!#S*7tZ0UR4xkM$-5?T5ZWV+m&ShMYya^F(~>s1T^?LJjnEGHW7)RMpd9D; ztqYC05-jNPn`E)s3YA&k{s$hJmG7+$Xz+KSJy&AkFHF4)CQ%H?k66y^p9yioimxx6De9$B9%Xrx zuM=3^USOHTfLH_)&1};br2F^Pow5gGqZu0~B&E35a0-f59MXAbQkweY$NNz!U`nln z&6jcY=tCK=$k!Fq0Q}tlvKIj*Q<(s~aR2_O${1?i7@_vb&vwJRTD{|#?rr8{BCUh3 z;D)bfz{|ix)P!ayG_Lm;OAN5{%o-1gdBg zQI9uRjdcPb*tkM*Ja+*>_d^0q5FB(Unei`d2m_~65fyx2E0r)0G507>(7SS{>DmyA z9VW66L1W$%=Akm|CwOCccA)oskIGv=h5yolAJ#$lwL3tR%3PR2C}bSymqRmwN5z3c)(VAvlvR zmAjJUq96x3cKdK?AAliPb^V_=Y}=^LHhaSTf(U&41no~(BzW#*@2m;teN*UySf?De zPPS&+$(!`uR-9IZv_nfdIqiP837C$y=`NhtJz}{Z`fHfji7Rrz=Lou?`QBc@;P5Z( zYpwt=N*F9y0+^ApC}napTIx@z%<97;t~i`lJIiVgQzLNbLv{7#IyaF?%nrXbwDN=1O`+{rt_y z6^dbFp{$6#NpBQ-vcmNP{3rN*!#zoEdD!Zi{|{qt9aVL=wGAtwgmfz1AT24KQUU_9 z>5%RckVd*YrBjg34bmc=qI5`?bk_#HweRzu_qm^MoO9muhr=-tb+dnK&o$>Yuc()a zK@=uCWMle}cs&%1mJxle79T0nt>C?s&fDpR|MHDsCQAaywOQ9p=zfLy1?bP{1YXOZ z*NlY~wv8oFoPOOCKQgK0#Y?Fy)2_26*15HH~-P7M?Np(HJoE_ zf9ZZRJ8L5e5}p)bt3swao+Z34J9;pzj+R1S~Rt@t%{a-=>s zXE@mZk#!F99Jr0g-WoBz>fk3@9n)rAo!9PTBl96?Ghb5b`c#K}|8xFwB}z4#ar7Qv zU(EFF7aG$RhmJ6sQ%UlpVJ35}`dIx}6sq^b+6F~20mO;ZYUci-&^tAqrmhJ;j9a0( z@TQGket%YtRTGptk1N2=;IB*t6U*h%7ZeXyL2o@-_H=Vn>cf{Kj7eV1#%FKm_U?G^U1{4Q>rbuOXYjR%&V9A| z5&(UEQy>`$&F#pPpKu z8N51uA8N3SF5kTPE&m_B#79h*xlunD$R8W51aW^BnVk+h?Br|e`u3MCaU0KL*c)YF z46M%td3J}5B#A^LHNuF4oEwdKJ-sca49H$fF+SUGxi^z=6T`+2+r zW&DZXm>R|N%UP2dJ&6OhLGD@J!@?K}6kp%{#u}jQeC2(u*?2gU|9v`alnAC`x!5L2 z{PMCnsO^J!3-RZXOic@Rxg=nc#XFQ)TG)PU-s3NN4D|QNHN}K)55Jw%&NkRnta*xi zvkjd00Nt(t(}<-oh2B&~<)+XJJ3hRJM@+We?c>iyPGnT=zK9V{U=5r9=yFy0GZ)Y# z_M?C@&jIC2S1R#~>vhT7#LJZ*v_ItfS$a&0RGYeNZ2tpTfe**pN1giXPx7<-)V?Js{b)yclgsdzy%@z(!$?=POJX)!@=)&AS@+Ph6l%N zC=~~odSzD4T9tM;&!^RVJsA=F9?o1r3?6YS2l(Sd;CdKb>2p@9_{n|#Z)^kwRs;=Q zN9oH!gF9R}#X}aqTGn;evM7iZI!$c^aKiC>0OElCux9SZU-0-sq8Rq(-5LoBf*1I% z)9*qKhwXj1V5dc*tj}mBD}mVe5PZAv6AF~r9~CKA*pxZg+vx3F>? zvjd%7?)%LVIFf`8aC%SikO8>ab+)3~_$MBqmCL9CVADqPcaVRGe+N*PUY~{C@m$H< z)|wDfC)r5HQQ-@ujl>ktG6oi9c|3RZ1$fVq(5DLnfL&5gP~2|G_$?L!HxM07cT?Gr zYj@m`Aq>0y6}}@trg)0gGm~Wlc88c)LWg2oQ z2AvtZFSTT|*$}^HS!WYxdlCpfyKCWGo^e)IYnc17Q z<#bu{-A37`Pa3S=1YcOrqX3VlyX?7$uUk8?Pcw+Tzc{*!57k`}{!Zv$k1G;$*w5?V zRa|(WJzNd(iF{ukTei#4{q!fAKew;#jYmafu1tE+1A`|H^tg`C6IWD!`1vj?gax=- z$>_yj=NZ5hviLf&L>uvG>WPX1qWGV!y=M9SVKT>3L?2v>#YW%OcPQSQbYOtPwLPcUeHKBip!cs}-y3xmRz@*B(YS1ZQ4Q z8*$ht*r$9aa(Yt(7L(GE?T10^#ieh^eJ+>d3YeW6Yu;cJPg~Y=R2^7xLgbN{FL$zq z2}IJ4&1|6dQ&hV=rv<6rg^o$3XA2x&w!_AqN$mH}U8BhFO^Er<$|WWVGD%njUp(3V zDoyF>C`Z(12vr+oKR@}3xEv{lIild1jL~#npb?=e zl9Ighl`xgHLL|OSvnRsxUj10WSzm_H z5|3-$u7E~xIP66x`}r5!$+8q!cn*Dj*dRyd0|Ea0n5IyM%-4U^JU(d)y|lr;cIga9 z-IgX3$MXGIq|Cs4A2}xDWi!}48mw)gsVlsmsAiOt={n2w+k4_#h3p%=?)-qFI85z6 zFD=6jW0C!mD;d)Bc*$v#`F^do95Fiv!1nJlT_#cI_in&WuvhN=;~hW&kN^$6@hd{C zQB&qm4-p@Ab)&(kStx&m#I(dl@qhr|RDvF(A+R0LcX~%AX5(Nn+J)}c1JjCDtLN0!Tf&35JQMQ!Ydyord(FSa1PK4YFu*8eM)$awpfN)*0#LsY>obz*%bB&Q9qxn&BhRhh9qQn}z%;@fDoy%) zSUwqZHjDW%bhM>~_byCgs>*LJk+!m+>Q%d9XO75Da07iCe)B7H=q&FWfz{p^EWmcj zPGe=G@=s;IA3SP*rbQXiNqqtQcf&{IB5qT3o#d!!c0y^QLj~LysJ|2P_Qi@b`hvPp z_hT^6KDl>$)>Ok2w{$Xh#3!{B%l%bkZ;8(jx?to7xF;$_5{uH{toA#@6 z=j*t++IyJhhcTI)WdYm}1kuiia?)W1bo1y{*bAS8;)w&)b2J6}1-)jMM?+uRej?h>RaSvP#5~TdO((^$D%cOk*-BZV2+X zTWTryW!kBTOU|EZ@SsR*kcd;0YB*(B8NxaweY9=uvMkfIkC_i=AeB!T3;adyH&hY- z$a;6_*sCW3KuIjPuV*U1qtX0%4Ery*5o^5e{MSKqI@>rs*vB@ISG=m%3T#s&J`hMa z?SZTMh=N(RT=o7PiXBI5PO;x`2o&0Tn7qg}j`;4u_19#ku zlGp=}G3vSk@Uj|BlOKWE0a+b=9UdKf&;&P*+yxTtW#9qCbmh5Ikf4MHr%Fu&OWKvm zAmqmwNx->~l@u5^UhN+O=G0de3bNQ&`LCj$M;>`Pfc-&`tHSg7*Dm17A^cRs{D4ne zt`R3<54V3D*RLBA0Z$`u1l6lxve?8C&p%=)PE|`a>d7;KlJ15K;oHl;Y$96YLR)m^ zs}s!=9L9QCp?BAf{`unG!32NSp9gqUYEV|G>TI8gYADEATxpUjpdgx>R3|a0hLKuq zzeJn!Lwp=eWT5*Zn+t+UvZ{-kIr&t_vM?#n*lsrH%{~|wy}Tq?^R_+M&Su`C-=9}+ zQO3?6(%c30e`}|7|7~jK{lQN(m&plDPdFa+PMR9fuTh)6*k6amU}ii49>oPsk%Q#v zLiYtCGlb9uwUCUl9^#OzgiR@KRQb$UdTAX>%M8v?#-8GxKw^eRdHtnW!YJ(5$bgT{ z^t7mp;m(5Q>hi3${4!sSs%90K0>?3h8x;O4-qnajJp$KNULILsKZcWYfIY$zBbgdS4HfsDJNBnK!jEh~y%1eVUVy_F42-|gL z5DwQ8l%q`^ZuTo7&N|Z77mjdM(wfwK#EOWWkgval9QP{ffsiOh)n)fu`l@hB%YfkI zFPe2fe`;J=*4d~08ERm)U&i?dQB-pl$HMKL!Qk0nRPt+Fzc>EOaiQk9Z^`bE$#%!t zYtTdiVF;1@k+*!HBgjqi0H_6F8`2Tj!ouG45@le;Uq_G?zNjMpVZ!q?qc4s=3ez9c z8?XqRKe2e%NGsnJFi_0A88_BV_?(F0f*GfAs!;r%obbpqwqT43BxwQ0jfp1N4_v)Ex`ju-eg1gf(F;jf3`k zpLa2?`;Ru{%$o&xaqQ#R;VtG6=}vPXz!7GDzEq7rvR36l*48; z+;zYUj?j`~!ZhJN63uqSd>3i^(1i=zwvQ}Jm~NSm{HaE)Hpp$)oEJdFMKPd}iB8nc z722)(zB1`P-Z7(syruAoO6DrR3ZfYW@oy6%|`nBIHNm1xnt>P>Q@z zfB7pUaS^8Q>^o6$6>O$FYDP*`7Dh#;@K8qSG-s692ULN9VjjxS`%(LS5x#@pyYxDC zyy*^@Lzy5eXXs{rc)#`FWaNp?DODNi%9CP=E3o~{ZeS(dvB};6UC@rkHs+V!WWQb9 zj`#@oCs^y#^yH{lu6OmdSA(&2 zy~H~auSG$?_4}2v&Bcdv9(10$w*!K=QseH1KkzCkU!Z5`_=a4%ub>1@`aC*XI-tDo znY$6pQui-yD*D!L=>v5S^;hrtl*C=GT!W~6D|FJ#WU}xor|ii!9jX_KE{ZNH-#Fun zbyu7rjeZcX7kazf*x0MCb`xJW;$HIK(yLul;jH!>U&&_j)O=<`H)Pq?Q-p7K`LAhd zhtXbzvdMoNHy83e3OYYU9a+OqC%)u(rQ>Z+KSs=B9D0l+c^*kK9-cX@tR&Cd-lNy* z5vY!seKlkbL5bc6SG|&sb~(qiBtaRe@oyn5S1=f@nfI%?3Xxra68y5#+J3c2^!AG$ zu;%FTsi5)`qpaGe&Ph@hvK4s0@p=`@;yeJC;&}Q+RXvucjbI;?MTknkX1c2GSp*4f zDQ@43wz88o4hrtCR1(phh#eXP3_Xb8-vG|E2=L!DHL#a9h>!@FgQp)UcYYTaGVD+G zBg27uZ=B45nI-W&@Ug*gVa&>5O0dpgtCgXQgy?}b6v+s(Ug{B-%;ab z6rA7YExq7RPi38-d4%V;WF!*>9Gd2?^j-*L<{(BhWVsp54ok9OKiZvr=y(RaEQM~_ za8>%+n~m@^wW$U!hJa&~*e}h^KOOGf4X1#8({Ov)E2@O_<<*s^0D#$?O}_0nA7q8n zN7Waxbpg6Tw(VUx)!MtqX-45bS+y6YK%H!KMv9acrh3Hi`nBy5^Hxm@+A8djQ%R8` zH@iN-T%5s&ZmtJQm^5m39Oa03aMpa)?1W(UmyAia0JXnruK@}hqGJ5BF%wH`gz>Ie zta`B=vnM1{j*Y~-H9nC$D;6}<-yc{-2VGS&@NOE7y{fsI7>O$TJOxJf_6d?2uRil# zFoEbReu^MTE;{8mNw$5)|AAh?(1q^T!^fnCLUDw+;OXwLA;7BFUL*D~i-aDDhhfPH zeJQCe)pYMpp}Y<%t(vaQX1~q&^6`)=I-R979*p9&qL66St&?vFtQKh5KDz2<#9040 zBYzzgLp|{&xB=WO4sZ&^lq(H&OM|UMuq$N`YgYfpc~>YnCt==jv)a5b$B>yQ^6N;r z<_$kzc#>|cg%?F4?85i{LmJWC6CVJz%ijUUbhdb?EeO?oF*vo0*7>PKi;7}1&>3=> zp+%gaIbX%*b)5Ot0N|e6Cwm~ma$+X2KStep=J8j}E^FFSVM0l2abCY`F7`%HQ?9I{=3Cq2ZX2K&H?}jK8+US3GnZO1v>C^2+37tl5OUPI;1@aCj;y%Rl1R3g!a zB0A8&BbPR0eDH`}sP!Yc)}0JXZ}U<}>*dqgt*TKck+LqMCn5~#6rxu-8a~61Jy+h) zOk1!pxv4lYapd$pZOwSg{1nwxSugctKj*_!6k9K6s#E3`*%~1KI3C{kL0aR;twb92 zi(b^U9##3{E}(s0UCxI4O*}v`o~|l#Q6_3jtXd#ao^(89nG>jkT7?@xg;XBTbYoaS zQyRfM`Kw0r{BEP=8AQKo0m0MZJkuI5$s&z`t`w(t-ngyU&nMQ!2iJ}U#8b_ z|Mmt6(xW-zYI))2@DgE72fPaqWzb*%W@y$Scg@g7n}=>&xgk*E{O{(1Pl3*xNN3RF0z&{{4gO#=r;}0F0H|WwO#_oF}{MaWzU)K~0+AO!6gYn82GUz0iFWDm#)$uC)9Gtt?b(eIv3mec%zeS88# z59$^>q;X(4WEPl`Z^7`2XvF7#*26>JdP!ge)Hm6@BC^RD5;9&$24|KLKz+kGyOLdV zv|!_2Gj6$W&Y+m?UpyJ;f^%v~bp8n`L6Th}oY#@~yD}1?$Jx{GkH~Dj2qcXoPo@bx z&>R`HD0=JbOJA zFjkYaEh58dfawZ!Y5ER;j-^ClqggSmhGtVL7Dd*+Hp7syhj-=Fp?V5nzBzJ_t=!Xx znW9LsS~e69tGkH}2qh5wjA%OWxV)Aznb;6O_<*^UtrNjHgU1u!vrJVlxbF6=)l^1DxCKW;W66QjgS{R!7e~J#d2bmi6g+vt-?f zv-eyz&bSzFk|wk=YWF0v>#sK5Z_jiVaqADC1sb^= zLQWy&-SeYg$(R4j*cUf08O*|0ClMKEDQ{4JB#24j^Y~+`q6$Va$I(wx=gwK`dR*fh zsp36;0S;NUtVqhr1a_yj*`-iv_;|aE zZg45#aZG=M<)1#(OX2JFd{ijm=3@`qbCLP2>uKmmhCge)!`63~CvP7bym9M{W`C1m ze*z*pUbOc*DRinFw6>xrZqu_t?#*%4j}u%J2z<9fm_JS5^yEtKhFZgys2 zoUHwzRR6X3!)|~7!?g;S_8?Vu@!z|*OG@evh^G+o_^-f;V_`>qVT_{G(OJKaNpH-$ zh7^$wi{;op~PC}?DwL5up_$78OmaJ-9pg|KxFi-1_*@S!UW{xwpzIJ`?%2C5lk_! z5EH)G3KYKOux@V_qa7cJhS9mnVu$-x^LyaIv>`a3zO>mwyhb2i%Wpn+6*wGq>CPra zdz~pICKNH>oo;frwWPbG$#|;1WQ=_Zi}Ta)Gtd1Tn(vpBr}#~#MUgkAR84o=Bp=rG zJ%t#BN1$hnxsvaFe6vEaKHHZJj>)woS@A7Ad=e?Sarz3IAN?`BAT|8SY~(Mq*Y05t zEl!ir1-sA9B49IL#T=+E3G^tvC<|wqr=2v}N~=BcNP)}wHdft8>&l}Sp82)N)KUq7 zqFY|6{dPCK?5?(tgURNQpl7{V6MER1Wrt~kAMCWrevR3(aHqhZL(V2m$HAjLn%}_9 zR^PHLc5UUuSc!@HOUOFK>fd_ozb+=waXSl{C*Z&!Xj+tg3u8^04K{V{?NT_I zLqBIGF-yOg@%;MD%1WH${rMyHfOdkXU3fugk38C?w=s6a0^ z7A!M1qfz!Vo}3L?^oZ*>@U~=H(Y6?Tl)2K7ob7nURRIff|3NdeBO5M(pn&=-r~OBY z5}sk?$F$;}Bq_YS%FF3K{e&gz>RdCH^ucDizJ7k=aaPvvo($>eZU-LjuW!JKX=C5ccAA%d$scGTy*mKVffjhm?xGMCKK zz^M2)Gv2Gt02=O3k%3;I)e#+8oO`SNr0%Dsl~tV}y{-{g%4@m&vZh(%CC%b^y1^{ukhy^O;vW#+v_0vORLhU+4)>E)2X@~GwAJp z(#c-b*RS~`RSRDhdu?086(JiCkoDp^Qz+d6-FK&(GwRE7puM%(iwiAZKdAn z&1lmbO_t73srgNMC^i|TY>;0W5NCX=S%iM5AiJCL@lKj%G~@JOc|7OGbL6!4_uYPd z2fbwYt+28#&0J9MQ5N@8m$Wg<<38Hmhg5=0aj&-yr4OYmIc<^qx@sIt(`-YTW7i|1 z-NF@EcDIQ(G{~)BNs=BKE_%~!a0T;@a}F5EMB^l)qNFn+MVkSuMIvWRo?r`Ov)mcP zx-t*c;$ayAAZS5*>m|cZnso(da_kBE9S}9waEdu7G;xjU{~{Zd=av<3>b)^yt$^LDRx!Dj)FFkXa1H_`=MtUeU%y@^gs zdzLQj2|Zfk7QC~8-{@r?)M&x2DuH z%!kvG+AT&7*(PT+u5!q1%1Ze^UIR8Xjz(cftijaOf+n;=9U^2>jS-Y6A(*BA>bSLiZw1C56 zT<>)8LuR}0eC=kRg)h$)dEcGmU7b`oZA1wuC0+nN{&w4nnbOmd3sSu zNuA89V+N$uic*ksQks29$M<~i1Nfv(*9pzBx<6^`J(y9Pl+KX0^B41k?AK#`sn9Bq z;QxRTcW8%&Fuca>j5LqZl@LlZzic4&R!%u{-PI&O*s*KOQ1Y9|;A#f})mAmpOFDzI z>NpA)UIyLh6|Mt`yMFaS>9sg+YQNNCS=t^HSpz&Xi7nb`wY3<1Z?8jXZmny4MSPu} z=V@p9>kkvi1dQGV*g|4NiJH9Ho7b=O7F@=z6lY`)z}v?=+%T)dahFu^J7=k5xNL7= z_T$&M%Kf}ui2l2TL6Y6YGney9@+PmZ-{g2R{pxFWeiECc24bPws1d_Kj(>5>f-iP7 z1$HF2UYwQR@j}fBVf|)Piv0$&b0@uX9mg^@n%$o*d14`+VpXp*1;=_uy=d(f@|()q z_kLV(kmwCVeCF@|_$&{-M=j0ps0oeq4>fF{+!z5;&!H=h`Ck7j!z6SQqD_w=XHq{G zf=vnk+SNY%DPz6vuZ@h-+*BP0d_?+PwH@iSg;Oia#0i*oLD1{N=hG@QTVZi$;-mb? z&uMnhDUjso+fWR;pAUghY5)yJD0u@Smk)5(inpMiS>i9Q46}%*E~^o*mNro^AW|xq zi;t+b8SAQ{6qg^9!B617WJ>O-RuP)X+o{O_hWET~4*L&AJbdL>hqDb#?H8TZQdXga zhHte#sRUn9%zEBp?XK8qM@`J?N)Y|qw@r-lhX_*erItFyQ>WlojhiM#O<1U6rTfIe zI1k;52_UjEh1#V`Rt$allz=5v<%PJ&=3rpVqoIY`&>|t=|Dfw_a>l^Qd>sF~W+xrnavyuJTyqwJ}V5rSXO41h91y0#b* zhM5(YC2Jzwm(;r=LS^3R!q6?3l%}thz0d?^a=yp#uUHo|bx~3Px5LxwLbD8B5@x|%aEhJ z5Uz&v4x?WpOdX6*dT>dHLy_(|F93J|_I$z2+-2uHnT0hTTZ8wZ+ zn=N^Be)_&zzs$bsrJ}C3?7x3s{&$&i|BaL-J&#h4!kDRo?2BL^kx56@)odcih=UUZ zLxMAFa`b#uo}d1 zGuK7<{C7WO*$qnKx?3>MaJw__{lH}rEL}s^kdrbqlm$nfy0FSmF_)bhog!*5>zOdL z4##F~FlagZ?8NR_5n)`R+q67>zVOxhuXT@zCr61Gye6ZqyL;(&H6QLz8PactxOf32 z%JxzQt2*2d(RPVVaIR~Rtroem#mF88+k~`^y_z&X-Dqq$1L@+byb;|9SZ&^fmHm#P}#QRy{S|IC5K-T-9amyGL;byvd~} z)jZKyL7H1)q!c)MHTgZ!oD+M)2W;JODuo5QD!&_#<q)fF*b z?w5~iI3z(J8>nSII<}@edkvKd27H^|b5?ap&8#;+{!?-JpKGh5DNIZauTBmGQNPAM z;#^Vxp$1{Nr{4cebG4rDUP5>;Sw`DbWn)m9=3E^)_6nto9|_Nvws&OBic_eoJD79V zWM>#ZV*On>>aWkKm%n=3HLrx;27mcusA#AsEeXUNF#2Ekc zdjEZwkKpHm;kUtx^tFtqzuh_b-p@ko>3xE4DH(I%9u`OV6?CSw^|8RVt(691Y&A|iLn|WK^6F*1`R0bsn|4Mm=Q?_0t`k{-!IKH^ zavsHON9Ko`1-rKXlHe!RSEHi#3iR!!=~?FlI{Zg20jGc3&mjHKdx(zC*90B-rtH5u zE_Fd-Cxre_BARkOJM-QDOoD0Mh4HWWw|t_BQKdPdMnE%;ldoeE&{XiA!F}5WNgkI- z*^5ZTm6MLb=t?oNcrqu?ewq{mI~JEA5tN^daaRk~;?`PHI4;rALY)Bq*0x3229|j2 ztwX=t@9(_Ya7DRFtJ{8OUC(bOM6)7a_-;|@2yL_K+{eoAG<0u3_b%FYYKIix?;OAk zwBva0gNTkf$5XR)FpKTR|GOXQ@S${$JG%H0?Ktic{rFbB8u@CFki0ADowTk3^m9}u zTHvc>!GWIB+(bm3ZL0C{&y!v?oK;0J99dF-J5~{adgRIXUvD+cn{_{wN8O*_*UrR<+L4gEB(i$#@s#RRb2ZWOHZy05x&>tD?O*N2mvhEfR`;h|C> zvc!rihaU}&212{PVF0F&G_Cy)E>y-$tb6%@uy`FQ#tEK!jfVfVW+PEpS^@b)MFju zqd_2}UtwP*w~oQv)9`3$pdCw8XwG&l3xwhE?nMihd3?vP?N4N4?HRYUvZ=diAS>NR zJ0nrjZ^cELL~9JB{%<~W0Jr?nf&k~F*A*+4livGhQTrgbA+Mle21!t0205OtsD(;W zh%=CfXaY()J()L5$_cg zMsqzrGZP{An0ccR8sZ=x`_^`y=ndJh@@`&V#^+a_E&2y~Hq{6vo)>Ip ztkY`z*LVLgN~p4y8cd=3n9G-TkafL3Z~lkVBSjmc`c%AG1n~s_P-@BoTw|lYAI!n0 z<6U_cxYH(pJ-$|?4PD!P?el>-OK5FV`?gg{%Is(bO0fNK^elAq3F?1&&>tYBrR9Lg zk)gB|gFf_>Uo)^ESVAL1g)K5dgcSBGS~Us#&%8VmVm;Va2oe(gz3E>tcH%SnJ&=68 zh}BrU>ZJ{Oz?3AAi zu)#ll*}e*Bqa7oOV7*#~00RZOe7(tXRmR6lJiU;MpJz+1BPx~zgeeN6|mMt%8v+i^HL z`hWZGh@o(^iMqLuUgjuN|$cd2Hud|3U1pKw&x z?$yU2Ivkcp4ECKS-eU|n+xczu`8iGnlSoxm!~(O_S+Y{1Bxlh_~gm~n@}cSaQ* z`xupRyBcWReh-a4ba<}PSVc$0T9dCibm$N-}BXwQH z$EIOLUcVP*7pGPtZ%h~E?@;LWQMo<*5eYMX-U0s;||MSA#5kR1$bJv!F zp{KCq6~}%!5-gSL%KiaNf0Se-zO~CP8Aw^kG59(PZ1pR%IIs1-lF)&UANLl;`o=4@ zT}`}JWhC~_K-F|R(ha2-FGv4bu!T+=#q|iMo7h$ldv#5W+kLwVk@OTHoO5kyCt$t+xL9xXe$naBc z*BC_Qx+Xx(t|gJaTkZn5Hx^zH$kqm-6KSidCFuEFtwVH5lSUWfMdJTfSN_G(5q|V= zKkjR2yNckP41=AS%MtsGS6%Jx$VM+aDy;;(a@idXGBPojHTz0{@i?}^qj|d`W3(LiGAz1R-k;*wz(@_`W6~ zAz?jvEBl9Q+H1Oi6{vo3)PR^%Nu&ikFnAWkB8bxPtbjTU1B;xEoH0YG3<5Xdo*FH5phk zN}R7+Y?%mMnXL|r=q>?H~3Flzk&0PU)B!88Wnyy3LZMe|}kT%3giL2BO0i`WHZD(HdN zrXa8PwX-1ji#9;S*&loatSvjUJpM4j(=7BH7 zV1SZJ{<1g*`^tFq>>uy?4@;zyl9Js%nwUDkfL$07z4y8SDj;KEQ(1>WF2r9R>u&-a zlI{{wXnQW^>_wZmKc|-&wEI8-vJA(3Q=BAUsKDL%>hdB$N?H|V31uI-+mauQl&Xxf z>s2)Ar>RW9H~8WWlt9zKm(J*9W4IOw!PvL^I9+!&jsK$a{rjrZ(G)Ibc9Hwn80)J8 zQ@dluqoPH|jFlY6?~#@WQ#2-(kb_RY;bx=2Q4Jb;>hqI{SAcx62m+Qv>%(=Klugka zy?p=Ypyi;Tkb+ls4&(zJBDdShaAol?G^UYn+AVI?Q52#gaawo`N_Buf*QuGrW84$z zY&QWcKhq$(oI${LchVJzvbgVlDzMK0uQEKGbHM%5zQ4QO1Eli4(bJEJm{sBdkJfL3 zFq{Bi74vGk><{(-qpLc6C?=*G!A5{7-L$`CkXTxJ)s1dB!bFaw0wI=qEGHF(ClIG{ zN>zy;$lJ-^K}nrzp%9Yo^u_G8;frVr$1o<(kq(K<%go^es&E?1pLeQ%3Wq8Kn*!re zl}Q!`Y+h`PJ%N`O!*a2Y00XCveP5)h(rv{8QFP>;WUg$9AE{o+U>>Q>b8wx2(^O4H zt(YNt!B~7_`{ryGV2DyHsXXC*AvR_x;h zB3!3U4`#P&crW`tGbV&l{xu?kf_8Rx<_f^T&l3>&VO3M;PH9C26oYq~5=UjVCyHwT ztePx9lpyr%&jfRvCfK+p02fp59xd&3n;JPZKP=|2Yv0jWAn)sCPGvkISfR2afMdD% zbD(15)^`q%+U7qui}m0`>S>%uH;E6Qr^B2a55LsHl<#i)_7y{Mk3;>dL+LYcqEsYV zREz`4uVdOhmt-WCSXG?5-yX_oh->yt!2R{1{L4I4*{G@rGV8%>+10ebIB7 zP}fuVIs6+KBS%)_$)3-zM=LFZ=fpE&AHBCL7_K`FhneEAKU!fEAry5+@uRgo339v! z+J7bo?h#0VV`aQWB<9f;bJlei&QyNJv}Fcq9nN|RnKzQBkzoWjo_I{LQlWkYDjI>~5=>WDn=NGe5p%L+_`m zEO{<(BWB<3INLtnW2b6%6IEVUWKdb_+w#U71N~Wf?n|A*Q7^+q)tf_1g7e&A=H2BK z>%H{`5*z3o5Em-Hiq+KfQKN=e`!XD)=$9MBp5R&709y#liHV1g>xAXH z%0P9=Oerh>a3X|ZykbyA#p}Hyo*mCpgMDWjk_b}KD3WZR2q(ArY2=R47FYCAY5yN;FEX_|BftirC?GuV ziW7BQ-x(f3_nWznVSPYV8I1M3p2oGZhLvySm<8wUsB*~#0i>)){<(3`WULRJrAPj_7&=;Q1d;Ht#zMtQ`N`UbVXX-r8mn1?Fk#$+aAx{ ziCSpANsLQF=baiUUp*TaT=@CI103of7$}jzEcQOAkb|tW3NECTaA|9wF-u>cv#PRP z0y@<%c5Rcq0jiPDc;tuc_LhKcY4$aj`N(VY_j>>lyE?M?mu+B~J`(>I8VybA<%%C;lYa98nPl967UH=yUVytWIu1$6EU=d9yik@ITj{TE7r z+6V=`$RylN-oz7lA!-2+eYKWd1szv-tEvux(0A?ud90$jz=;FhSIT8g;hqasR}4$* z-=KGWH+y{tUaT^f^`D#P%$2|*dvQ8XI^riOa3o&aP0S;M7x@k=>6|NK3^%++oKOa0 zG&e#d1WBo+)A4z&-e77Hz+!z&w)%Y9SW*$QkvdSsU0P|ZN5k8GT3M+o=61FCv;a2AMq$Jx^4I6xMlCc~ zM>{QUu27`ixzeslk~dZ%yQ-fUDpAnH>(^hcPxkg|xl89pMRTGC618~_zk2zuOrQA!a#M6y2ohpR;&&3$ zVMjq+<0K-SN8mYEL1+$vf?TA$!-(YDzn)_!V#I81Z9QTgz^ahBtOGdg6+Ow@?7~y7 z13u*pnL#jM@?R*o0MJ}sw?o5b*zw>Vym0`|{5=$(?c{Y1tDl7v=-r=)-Wvlyy_jmA z#dtb}UEo9;y$8g&kHWej=WuI(NMlFR%y1gdpk3RQ*&Jw2etPNq-kxz^+@8;k@-BM4 zHztwlYfKtW*OT=Dm)5M`WAaoe={V9f50X>#W40K9Ka5}U|Ke8W=wMqcmF4k_!XfJ; z!8`Z65Nqsvq#`8tL?V>WWrkwFKa`GiyeLXP5by4EY&FC%qAywGJXUEu_U$Dj*6Q#~ zB5erhdbvx2?|t%xPgOHnOHXW(Zmp(H-8Cna*ldMs=0^{$>iQ4(u3JdOM5oXX6Wjt^ z|JQDAvOf9&&UqkSMwQju`6(pE(ln<0y25q-L!83A;92=*9)X5tV-#! z>OfgCBZPeKyz&9%mDd$;!i#KoC_Hzo>v(Q~Lvfr@^@Pye;MDkd0kM433qhN65cU8Y zp@@A4to6Y9MrWGq{?8vPotc)fqcCN!PE3I<$~1SsHzXj6Aq~At_aA_r^@E4|b>CAc z#}BE;SG0*`WU{Gs_VWhGNy@Y0F?dWuZMJBpORxiYc}u8XZSAlLdmPhry&>&kihP%^ zdHi184&lq#0N5=vQ;NshlyjcGe&R`I6d#0?ph;%Lh{?IOGu&da(xllP|M2coH35%< z$G{n3I6V_TMs;HiRR;m{kB(9EwL7G|zc1HxauK!SYlKsN-B>++m)lr>MUa9*Sx-N8 zXe#&4WMs2=Z#`L)bznObq4_!KY#gHNYOP(2`e|C;RF52|ov}xmIgl6?tr{Dyv!tn~*z3Z_x zL?_7uBdi;bzmBSsmrUR4#zyU3yJv9^Kxnk}T1gIlYX-ZEOD}An3X_ZCTjQ$z{14cA zRRtBWsU=E#V!0H_KkIket{zD%MUUUN6S4d6i&LhHKlirktLdNr)ge@>Z~)%k}NovkR^&ZM>11 zKL&eqhcDj+{0NpEqpcO`qMRH;c7a-0Cg5@EWti}~G0Y}KlLzAKP@M0r*K^5YDCt`g zy!Dn0V=Z;T9kdons3M?DrHqQQ+nE}1_0#xW%f0QPA^zT-GzQ(Sl`O%DA*ZBecrxtL zsgd;M)djK^WH6k4G%WfujPissOzNa*V3XI&;fw9^90%r~odY@dFB1Yp!DR1^Fv~1- z{;cUlO?B=4B+0Iz)&Ebucnyk}_8Bk=D%H-78V1thbTH4MXmy1%^_32?H4gzRd^h+| zUe?z3Tjb=^D6KE_0bB|ZPqC@02d>C4#?>-rh|}%C{hhrC)}}@EA13BK5G{reolE5pnUH%wB^PX9kqkGE1`BEW-(*s$m5}nRZs-HNZED!Qx#xk<4 zCv1?{Z>vv|s)$}Gopa*%>$WXM+_NOaR-?Ypk~{~#pGH5YBygt37-}=imseh2ZAQ32 z8$b6yx_-_Ycpkt$KI=E9u?B5pcA%MDt(+{J-Zqb9){%^t&5>dh=SZ4;ccVVrWqHfUMj*xGN`=T?SptYvx>0?R_c`O=nrQ!uNyz_vTfq4~>R>_%=pT^t)F*-A%5&6IkwY+=}%4Eb8I z(DCj#{L{63Xeilft=X|ixTA*TgXozlRpm-*8+jYq4UMqpI_suJYuT6M9d+LfpMA}K z6Dam$k^)zwcmV=WaH2{jVn zDK_`+u>Z^>PC0t-pp>DXVQ=}!u}Y^IbI!dV$qg!;`twXQY;WKB#mXGo!tt9ze%{>H z-&E(-rj}#$MG<>QBa?axHGALnjh%jYD4*v=>&x^*l?eri|G#s@pW!X{fYf?`-Q9~( zl9$Ra5|4Oc4JcN5rP3CFBI5*HR_@zC*8NP?6$4z0^Y3ex{VT+ltgC;a&b+;s zlHt+Z25DPmF?5Y#i;+>q&VA2PS93Y3YT5wVGD16J6_s~aj|(JS8Y2^v4an|Dzay1W zavj%VRcC=w%6p*5F}D|DeS$h-myL^qvriF6t$AV2v5Ef5yAMXOM{{$P)yd~0^!J< zrX*>^fNH`>SE}=rG{_&7vC@L3+G(L;Ugxls?iC@lA5!j?mUmR%ByF#GG~ffoyIrc0PM$>b3l5t|H_k3nw_b z3e7s{B`(`%JiJbKI_4q5tR|Y`D@RIGbJe_BL%mfWVWGpSsf=znKc6gW3@?5t@(cMh zkomuQrnCfb_ue4MrGTj(t&7u%>w~Taco{lnBy0wv3utdGfr!;)zG|_kS!vSd+ z00+xk;7ddnkFyOF(r51VnJTErebiIRjOIWe(c(TWM7qtmFPQ|tlp`GSj#Kp)e))n{ z-L~h#9c%Qfaz80Vv-L@8a1X6&7XIa1Jrr6$+d~lrIcCwTBat#lnbIvl$60AeF55sc z&0mh6+LB{b26LS_Rbb4FsSxc>h!;1ltcd83Zqkz1sJ*7*wXizuPD}DoiP5z!$#Bq^ z_79)nLyl*k@$*#sJlJ9oiwTcts%p#mE;W6zLtSBpX~&G^km+I}UDXEfrj)GE%3Dh) zVhAomLe{|ahKGNI{529|)h{1C5epa(15B&Hj^z>5t$8K{#>aSP{{3V^>0r>j?D|G`XVf>hCp~Ztn`}HagBfY_yte6L&igdy>qT*}Bov#|iiU$=W~@1rdJQ zg;qw(c!SmXa0wdE1arv7?HC6ZPAMe)oWOfnMR)prvGyd|OS!T#m;UU^BxUpg1~Lso z)W0Bs`H#J_iE5WVj$)a@na8{@cl!z5Xnbt?NS{*E;xe`%;u2?K#cG~Ws!r~J=_iy1 zPdJ^;z~m$|lk~XriJc%MDF=F#!&*#g=rI}bDbCh@{x@FV%&r03N1g9!fFYIGQAXPI}-&5NO! zyNNT{wx_rSW3c>b?-d|F`P)GBn_IXEt$uUwD9Ld$P&+r8=EJ!mWVp!t4zC@r;GXfhFr#m^QA4AIT1@D!j zCFBw#geRFqTL(b1;QG}3lh6%kIE6MttiBG3vASHnBonpGrAuP3I>s{_M_@}puBuD^ z4($-!6meY^VLk@gThp;y`KmBxU>*UDy&9A9%D2Fl<)CLOM5W}&D{F-p1lE(V`59Am z)lCccb#lX`nPG>cNY)OyZwlQx%J0w+D#gm<)EkZCK|JYgHasulUlzw+V6)Ez4ldE&j zSE)4wd-)Y6mwAlP^M!2k!iBok(j+4hM!R-xMGEuE&wQk$8wQi8}iR#i& zF3OoG-C?o;;XM!TZg|Fr$|P45UNgCw<_%o-H=g%x=~fcoeF#y$B0Ko+uXF~9dq`KP zgKA0=T+YhJStY_-KTa(~*Zs1w9MaJd@uy6J&n&Kbac{+L7i8I<_peJtq^?AgkO@>> z8Wtz0rykSmkVni{`I*7tW5j5P^^V6gMUVJO29g-ggv5Z!V1k8}gHT1ONZ_OAV!Bs7 z#WkDQN_bm&eBXa~IctB8nbsvp)Gz-g6~~!Xcs32O@oCMfYEQ5;+~N0C7D~ZUUM;|* zl$9g*vcnr8`r7?2#W+@yf+ii8c_2#Kim+y!By^33Y?-un`us4FYsY#FrEk~Q$1Mv- zuIvpJ)X zavNpxZ`ngC$Ic8cXX8pphhpY>- z|JSpCMq=PM96*?uJ!j>(G$#U4tS&uoRFT~We&6aBroQF3z#??I)MqMqN>b9?c$tM| zRdv^7%JJW)UoCwYW;*Qc10QT@?a*z=`QvXNM*pn^uw@6ZY=A zFQ{enik#VKYa0}ei&qLfVRX8jPfE8aLTNC_vYM!6(g9R&oU$E*|Em-|zI)i#*T4uC z_b@#9;NJ3Jq}EBgSkVIGJ$xmP%3MdGil7J-j;lbKhOfvQ{K|3hYKz;Lgq&Z-!#|Xn zWRkhE*llqhS?}%F6nBXavhOs1>3A{~qv4ooBQ)I?`exw7t9C8yT*o+5ZflJprB8#6 z@jCXy;JeJ5)1s`cUD~Rjzi&z6viD%5g*AiCeA<>59J;gQx_hVn&CKOO?lMs0#2Ip$ z0=xXIL(P>9&8s~2^wsqAf-@$ZozXsq!REX(wMuzCp_l>Pw>I$$`;_skoq3#t{Tl1P zo*R0)Hc%J#eMLd6v{DI5J?aR7yZL72wteGp;qUmpFZ9KA{CmuIldjNxDSY++5|P#VG4$fO@!kiv2E55!!fm|X zT#_o|IijBLFx2vE>KZ0H&XlvV3M~8_)>?Di{v5OusKbvVAGNCRSQzMsKv?|XRXEZ8 zrM+L6$^{aTB|4mDwB&)=mp6`DO0RNXqT=nN#b0wZCD%c(@;_hx;JB(*n>J81^~-uy#P=cbsb<^d=lNRoNabIq$-AK=>4j?yOSsGoAVYR<+82cezD&)EMMf{a9~%%O81?3Zc^gkw0}ylw5jO}U z;OL8ERR6qUj9AbcO*01=ar*ai4Om_iFbUo@PoTlMo1OgrrB&6e1q1K-w4pVSS+IK8 zeJ|AsBf6Ksywm=w3w>Q)3`&&yIm8SY-&raAzG6|;c8tBpop1snZDt^R_-!gHM{iYbJjC`Fz?YKtBNpv9Q8jhpX)d z5Krm%tc-&HM{iG5Fa?PO6Nc)lK`J_T&_=WTp4Zi4OHI`G9@m)?;Tuk9RA#DWZBc`V zctrb)=82yzG%!Q!6k{z%1=Rvx6BdiCjp=O)21UK>bg%P^;b#yHMaZ7JB1H>HXhwgb z4yVqUP~EJ-zZ%P7m4DWV5sHOJ_aj25Hdf#{?#|<{+4EBPgN_8tnoswuva-|r-)zA5 zYhG|nS4i9(&vRn%YWa1TCQuK_l3YW*!5|bk!bp zILV~w=CwT0?TD=NORaWTCx37-D!g!hzb1egUi^?cBW8YU^EVP;OnPslGy~LMVk3s= zi^1r+<$mDa5Z(m_pw^4mlhszhF8JkOu`3AOyW>ghd57|Wts>ZHhh8FI z62AxV3N6VwtOn0*ZPKl%4hv~*q4KzUD839&;{@&fh%ZDcxdeu1x!aiw*9ODbo9QK9zGuTsy?=W@fv>Se3hIc5 zQ_(T*WvC1hG7!QpMcM`w+tPap!@}W-m>MEpH>81Zi5a0$Ol#q-0d9|1U8*}oxg!WBbh>pud zT*HwGL{U8*!r4N?gMTJqs^-${;o|;ROhJHG5f$usr%9<2smfr0n^Z(GJaHhUo!;6< zak@7*Me7cGC8mOL^}I+P4hG|VxPBn>c)&n~|^zY5cjKqj984V>6G4l)p0PGq1Mm#$P`K<_}9#LgWU<2@cGYTunz|xVk*tG?tSE>gQ1r&~JVo#f|6E zO`-hPo0%%As_`ni=JL=PFG|D5%BsFN`sBrduM9d6@&TyLK4&QU)4h_(Ne;J@%aE4F%-AA?)Jg-|+AabhD5Sq~kn$XMfclgc5J5Ho*H=ye#6- zYk9D<*xY=uqV(CRY00az)_!Bw`!VvU1<<=k)@)VsMmj~N*LP~ z`Q-NK^Df)NQ88kK0wx4@0lgM&yBc(hgvUrJNZv1s;E9Eq7JLaXqQ-ydQMz?v-jTmW zCfWTZQwZxAtZGaiQXp*29u~-N*F9;0G)vPv!u)*exE;7j^UQb1vuM7|CXsUV|M>FW z%+%dXBqd75)#@9TK9#`ASlm)3gk$xA6mLFF^QTi2Ti<|_89SS<2J!miw5+OrleMb7 zE@PEF&D+M`lu9Sx(qffWBURnSQOm=c9rDfy*hX<1&l?76?sNd@hRO1@@OK{+M^&Ar zT&~$Et=}iL z8r)ks+hmpwj-$(>tEIS{MR>y6f!H_yoNYHT7Fm|_J=)NsY$cClS>~CklCr95^)xfO zW>b%Ys0Oc_NlzphlW+--HPFqo%E%lWOV`uVZ~N0{dJ)!AW4n6)3nTGG5(<3O|De7C z)E|;m0ckN0iZOSU*Mr4sNK_BB^jA$4zB+e_|=)p^nOR$|!c>xS??f6v^i#}9; zSq4R6U8qQEdb^mSEk0eCE=6J4`LFSjn)aWdNy0NX$dHNgr$I>8G_tjHC2lo zhO9w>a4)l&9$z?n)l>n@yw@Eq%N}k~9tX#=13-?+wZ~N2Yat_BrhFY803L%cQt{r(|bVnBWdcE?al?3*w6OOoi_khqlBXhvd^7yoz z&3I#*T?&eRs!qcEU=-OCp4XvFB7on$Gbbz@c4@Gv;h~DBkigAQVzCYF7buSBS!N$9 zf6phPq??vsP*)tQd{NrlT+`C$R(k_8=Y&P;R_Ta5nJ$|-DI7`|D9m+A#(81pTVfF6`oh5|R>euPHoOb@cjeQE z9&uEBOMOFvlB6Y7j9G?rxSWEmAGP+Rfe7pmTy*#5(AQo820$pn& zVc|)(U>4{dj-RJUA8yh4#=~MgPShy!8ea(=lL5g!1>2Vmp7@vIq{3}kR@V#7euPvnxSEYB!&+w&=5O_cii&bqyXl5yvO%Qj0G823*q@{NtPu+@F)d zMuW6Y>eA`@6lJw$;JW)v*!*4&{vm2w%1Q%+9Z;3M?Mi$H;Fs0FOjAIn38pV0U@=Zx z4|Lb=>r%OmcNozu{2Hyw_zACSBJVu`&Or{s&tLelmn#07&nIN-KZ6vnmZ#6XW|}$~ zvfflRUgwdPAPN0rs1Baaun&eF4T@9cusja*;y3u2TTml(*HKCn=kvZ~O2-P-RMc2e=!4He>g zL3H|GD{T98`0&0;z1i_*r@MxeS`8HvWfMGJ z_al7__lkq+1aD$O`1@-#N<2zj&Bt-?PAe64Z=#e71x8J7*QS~p^~`5^YdX4TUZS@` zJReJq9cQt6^p9*lzAxa0Zx9MX8!)4ktuRCEOa1`5061uqLG=o&xiLAV|a`DidN)v`R&hPi{GG4JZE^#JM`I zuDPph)ZXz>t|OM~#M+@FgY?1InhJG9@swQ^-{v!cstI7T`#E1TUYm=?YHBUy;H<2V zdh|CXEKk}U*BAo$$W$tdd(p?u#f=iyR+`#?5q{aIWIbu9pb<^+ZtI%3_%2!Qy0_YT zvN^qK_HomMURbk_YjSdqisq;h*RuOWoah!#(sse|qY`o*O;lYpWjuoxkJgt3&8 z4;V4r)`YZed929Io@Aw9$(k$R@;*Qv&liC%wu2-~z)9JeUdG|FW1BDHmN~DAk#U*^ z9s9tAOWy%-lu}>-%9dvLGpc`|ve#oQojCN&dOa}BKU`X@FdsX{GU-NkP*%43{Eq1L z?d9rNq6**lOMnn=kn=96tK-=#EB&x6>~`EsGe%!v@Z%GX8mJ>QHT*i&yP*fj>ec8= z)OSF3-6R44FmBrbxZd=4^WE=er~m=6$QLyL+-BUVvuxCB^*(irbW^hanf^KLX(d(4 z&IX$HiOdeNPK_cG#$%R8Xdnt|_}Ti}cF|TSmry(mNkE^SmSkrpM8KHMD;zPtDZ|D>&h>6Iznl0JRH zZ1v;z$??c!gX`KcoT`_~D}PO^hNIE-cm)FUW8Ka4q0=S$43+BIQ|xxXBr_|hh+zG= z-ozM9tf2XmN5QNQG&KHm?OQa09x!~p7X@>OZoZ=P1Q4?B(QTSR%KgoY+$zEEAeCpE zv0hETgPG3SW^#~+92g?xX9r8Yw0)G2U_~JrZqW69CrM<{9ic?|7wGy~6gM18L+HM( z-3!$oNKl}wX=0dBmv^Lpcy1A*D?~Htm1KK~)s?$Naa!(Fg0b0AY&3V75s;~vOhER+ zQ2n>nyj7F1+jZcsk_2k*DoYZ&J9TcyX}Mt?sRcE?D-|-Fb?2}jx=+>hw3%=nw<=XD zp0wm>BFt|pNA0SPGnuS-&)HB#?A5yg)ki^<4t>d-&c(KzA9B#t&DDc!$ZAT{{VFR5 zJWhoyDT_0^=>>Z7sSmg~t2O)6A{J-$fYK=%DIA9@>e3_UJ^roFs^U84X?vwn*7p_D zzv9W?Ysmlf;ou_($bdAhmIs3wRfS@+o{sRyN49!}uFOnp47; z-dGi0dq>h%(PrCW^LljbfF^l?2Oz)@7+Jn7u?NBzCX* z9X)LNO#fbn_6^L6C~P&ycGh*(teP$)j$>x2Dajz&B%jE+xNL+|Gb!04DbmzNO~Y{P zpkbtn`@l6nk!`{-X1Zcg+qi!r-4w;~edjaVj4iHJ!kxyb-=2QZ4z&B3&Kkm@&EMRY z|GhFQEN}pY`jH1OfoU2THAa6v8ovWJ6>qPA0G;Kdr>GS`z|+aXQmAUMFF3Fu`F&k( zCs;lUGQV^6#lfnXICRDEX^oEnsL5-=ka1`-6HQRoe+Iz!>5rPHgrN>$UPhQ(=w`;w)))iU%#bgpvg0#COM^ZB%B zU60>n(vbMo7QHhWw5eE7HlAdV$toPrJZt@!M_^?lmWWb#Lg%b9SZ(p$ysWqRI!ms3 z2TkR*SqW1jU+?zKN7MGv?0F>r_Go*C znGM4c-HP4i8Y%{v=9zZvhAuwdMrO({RaxkB7VOhsO7dOC0pXli8Za-i4=Sv0Nl%gd z(}MJiXOnZ8?4(?&`gDvqbGta60|`(itfxFdoL6he_|xdsqsXfjBl-d9>)sJy%4w~> z1V1|Wioj~~)7u>YwWbf6L{wLsG{VZ~564o2p(tp=yQXCOQ|Ie)PQ}Tl##7`%jv3^4y$`g`MPrG1Wsipj9l(5MO758%2k{i4SMx<8t5O2IzY8fqZ2iT+)I^UTF~z zxTMOtr2kD+QyKkq#YfbvRppPQCKI#x>v9(;cW10TXP*M!F~*||@$Q;S;%gVWZ+R_)s%T z(11xzc(bUt9P%?MkD5?bF_9SwGXzJO%A74tm-^1WG8{LSGD^KxKlk`dVB2Ev{3EED zj6FyR{%gSc=a*a*CB4+i(?K+8X1cHyyfIvF;4f1Ra%8T;7L7Uw^8nM6Sk23yawvu|1W}9X9+gHlQn!j3P@tF9YNh(7guW7IYE`hs z7ePA79K+w6V3yrn&{(kVk5U_WWiiUg-fk4-CY7gh8VcF`HR1k(ZODr%ES}gQ!iB`@byAmHpYJ6z z3&Br5#?u;(l|fqk^QNeK>}3LneC`EzCyXNJ)siE~^d_@^)`bfZhTO*O)FG(HSOyuT zLvyz}k_f1XBO$hRkrr}N=M=RUmS7zCnfw|AcZff>HuklZUKmzr6|*e(n_}!Pa&OOn zb;#qzR4OqunHtJ^3kb`hc9mV>NIsFmPYd7-$f(KpDJ$R-c|JQBb-~FTp{49BqgAj*Da~KXM$iMFmuVl1iTo0F8=}=$) z1)EUoNB`uGjz|6#=m8KtTRmNVYo@ehcInq$BWidWB%ymWPJ=rC%&;%_{N77r>69_A z+Isgw&~ih>HZK&^>_h` z5m3fUKPn@-xme#-FICB(EVa81i@_PI+F)kV5UoFrAq*i(WzL3C@*fPOrEY{tIVK|} zeERPnc2l@r*A=z4V`9~{gC9q}fvTXD8U%<{-7$1ZecIdO;@A|_oYu1yJe`M>Sga4R z%$~t9HH{KPQnH@nJwtiwB_yn@_$s3)RXtY&^YgDE{8=QA4vMM@+#tfxTmfYnVZ7T* z?32|10dXR8{?n25)}A3KqULFA_+@|CY1a27)+jv6he9C_pSP>B#OA%`wq}YnBA9}c z8sv_^6+wNb%M@ojJ8vx33(Gss*%usdOXp5fcrhS1(ZweEoz33lTjm2on&$GP|9N+U z?g)I1%i?E=`?b`1aNr{s*+MUZ?DiXweH z^$gFP{qk_B_-Zuxt?E8aaR=S@4`p6unUe(FA3<@Mm%&o$r|Iu*`aaMSSU-*q?BI5< zs9ZYMV+@x#QK}p_LA7UNisOvH?bGVw=6TcPYJQcKkwQWO4Y~35F{2uD9d|Onzkz>! z-XO!>l9@8;%}l_{w*2{gk%xEs={Q9&w7Q>h6ueZJl9T(wPj zC;!Wiq8f#4dew_WuvCK46s)|d>v5qhqw2$QcBb@M>8#n13Y=|=%#0<8pb-`n3CQWI zK_8P$kJ(M3K%>!+gnYHNEAwdG9lG@_1?w&0TuU8qt=!A6e%L;*gshoFLt^xlp9Ql} z>(08`N;7@d3dJF5)WX30ift{+7SztyIm!(QrqR8&`s+^4C_jLi`_wD%oa8?bj-3PU zDY3&FCC$%MhX1|hY5b~wT_Y+?4wpH9HB z(2Hl4udi4wDL_G`$1W?FMYf~1hIL*tP|+f^N|c7mAZiUR+LwBr9+i!qOIaq{Z^sx% z2DMK?N~MbCnVSrw>JC)z6g{K--$KPs@zw{vCxmphQ5d4KO%xMt zD?wl!;z4v=jxg-}Y2Dac(W0+IP&nLH))e$ll;k4;7@r_7pe}uW6kSHgG`Jr456;MA zjsa<`qBnx%E6(0mG{YpIeu(eb#h%W?X8o@X^*=Y)pFai7t3s(QPh09!h?5Y^o!@_$}FlLo1m5&yTE#HZR~b%74pU0Kbn0YR`% z8h$^>)o?f83V1TV$evt>RNz-0Wupvd6 zxDS4Vsl44OukDYE7@Ty}8#KJ{NS(L9f}uyg_Z}p-_I(Q%v;SRKK!_zHCGADxI-VHq zy5ZV2a?^2pfOE`orp|m%Op?0lSB0xYk!R1@vIGWlHfR%4q*~yKsD#;6u#53om_@B| z1&Ixb#`RKAg5@3?z=BoGfx49c=%1>`oATMfT~C z-2--+z-g`Fusu$PtRATTQk33_=H2d_Hy;-qJKa^APV#&^a6llViV@6LktC&Zhqs1r z6w{Q>9Sa!rN%PJ~mgE!GRn)#lqp}|t_tZy?Sjn<@uVevP9fh*vdCC%?I(B|7roRcA z=c8i413p{AlJco~3Aj?kFDo8D5C~f>ejRfxH?f=P$0otz6R~czor_`?^e%My9#{Rw zV?DC{uXFOhHro9j9Dar<8M-3ba=tewQSY>OT$B&gYoA=S{{Rq->9Ecsrj8;%;#bqp zFs@?3K}n)}=zDD>X6=VMYsO$kV@5wi7b|uH{QEY?DA?#7*YJPDdQjX1uytm9OMm+{ z`uG(Z!+KnLMQYwDO=lVxuR9Z7iR8D=H=`z)L9}PzEP5k&s6DrXeVVsV^9yT!EbEV) z9!V}4Y{bB5&xDo~h-SrB?x{7oI)V0P+sGSse;>m30k`)sY0@<~oIsL7RE-15h)PeHT zT9A2z5fY^YoL*-qYvLyYC06MmX$@BQ%U&*Jdq&*cgilJc>v*wT1JNwjR~Dh1;_Aw` ze48x)arP@I4zGtiaEGkw)IHJ`K4dzZM9azS*0)&!~D%1%h$pJ~yV*Y8ev>0svbi_l|1*Wj0NJcnd~ zKf);bP9ntBp`l{uJxVE2Hwf4FA1@xPrKk0{#oM7nSaKi=K7hlKKqz}_PBlLA7B}Zs zcz<@?G>k7vwdn3!hKtJW&S%-kSL8V2L8P5(rD;jE+P+?alt;m~h|<9_z3m@8z=pf( z6AFq7sa(o;E7)vL$H%w!D2#aBK_Sp|I;L{_&f0l(r5k`n_?ylOZ8`xAfKUrJ$Q{i0 zuUr7N8`xUy_ryzcLY*Yo|GK_^T&0+dUTS_ZGnKRc;dyCaFO66=3fB+!K>3N8xA}!H zEVUi<9otXNrpE8eB}hV=cn^r&0S~eXKcviu#KZl=VC`$0{EF3GLRB3MYqxW&$e4cA zEA{IliA8S?$sX6o<`z4-Q~l0m|F*%{4eyuY*ndsz#azDXGuS}sh)ZE5 zJyY%G-I0JzV4U?_*9J=?cJzWXe;xEBxfC={yDxw5haf8O$3~!9O%>~&E;uFQyIifY zoiBb|^E|td;q{2)U&_f{AYZsWV;eCI*gGLmfgF8ggS8=NUU1HJ&~PoLG?%L_AGRMe z7Y)7eBY&Q@%5(c#&E@cXzle_cWBW2#Tn8k)Qg<_uA+_yt@Sw8^Nkm4^X?z7^`S?= zXm`1Cs_R$vLOAnIAsz$q#hlsCTKf@xh}5E+o^I2TiG!MLr`oyc(~g8Wn}`UT8n%mz zImanA*J6JA)C-rp)5Y$JD2mLfi)NCs?y!*C-?!ZB-&SuRP5X6fXQ8jk7UOLiank3V z4GZkHa}~7|UU#2w;hjUcFB%dKcgsh}Zr~P?0*K=-3lj}xosWBArVno$Jxi?jPw@U6 z!+&meFENQP2JyKLn9_+3Skl)cy6o~K)WkX5%%%CDs#u)iC17}v$_ z-5hfbW($-fG~`Q$`>w6U7&7cli=!4|91i!kn}kFfsur_u8Lm@+PbkpYs*4wjA#<`5 zE#POamYmqMTo0ILhCr_&SV{gh70|c9w#>4DdV{$J~fmHbzF?RH#3r+F+ABELo`IM;cJ0y33 zO#<_5{vSC0^GAqjSjLdo@Sx)y z^)AAbXh+N5@jBc>KD6m7&h8>1O7y#8ymp$Mqukf=$s=I%WSa3_P@~<#lbb?3$1$}2 z;MV16@YcR!Yk_}~`=BA=m8A*pL(`lCnRVGj0;to=>ugk#sN~MG7<;1Y9D&Xsr!K{g z%a2DsPHC@rN_8Zkb>dyQTzsTiAF}Gyy)8R^P1_{%AG^n&=8f$X$*h#&HcRCI%g^uM zF=BTFsMKgJ#6%?95(6GIaElA%#fwr&%l19LO}NfwKz;rFRXUG7EAdSZCnPjlH6o_Q zDL0~SvYWe0YX$qH{K*UGczPa+DR2@ER2{XExCQ9@AmXtjs`gQ?9zK#B8_1PN`(Q!i z`7EG9yR6j!^wlcxh3_F(Z7*zz`bTy2j~eL+u|mTl7yrYl;+F0rQ|97+{n}5+TE6gy zM35TR*6Z?kB&UiYm+NSHvba*WBJEuLJTS4%x&XG<`QgN4^2Pfus-x4q`=MDE3k(w!x|Yw;|56F}RuU(8nhGtH@!KUK7` zsx>K2YK5@s2gJ?vVJTnS+<&A9DDr|yNY{u-2!y`hvLc^_iE1ETBl)AbZ!#RG>Wlht z@G(jw=cMyc*;a7F(}qHH#7}_m==zqAo>tpC7mw>$%_}9<_UCXD3LeMN+~hY^%Z^*q zDDaHF`ICj38*U}sACIFIAc#)pwlSo_lYpU!i>K|NsFk{pPMab#^C2Y9^cw&@yyS7% zWYvwq*s4~%1240IspcA9&N-`c=ewH=Lx;L&b=h61MhN#Mj+tBzBW82fD4HW6GKSP} z-F(Q*uu|->`d;}u{O`!qG8OVb0*+iqzi{@WWc}yMw45^Aj-S7CQeUuS6U(JGpA9(p z{%qQEZh9D-+NWXdcE)^Gu{#V|mrWMfuQ;`NAAT2Isc?6m_S)7vX~g_&LdKEadW>yJ zt$)(GY;!{T?$&yO9zCL@w%nw9uA3C{P>1qu=I^vllF*ZKx&8qpVT z!g05L2gQc-G80Q&#^XmdecZfi6e^vMBqJz#hr4J^aB-k>q5^gJc{UU9ajT>a>B#u{ zBVT>7b6M6<5XFQ1iqnOOL_4|Po0%2Qt=~6zvZu9nYj9-Fm{ z-!A%(wh*|^@pK0w11Y@G zgln@`5jF*Z{XQ&5fyGdQ9675(FYY7>fjz4=I9#a&*$;AWS()CEV?8|7e<;?T?$Jq2 zCN6N~qV~)>)VYHc^0e)hKZeK-o%iQvXhMF?W$Z?GaqBJsY=*{;a+TNbmdW7e(PC7n z$Vo(n$~0^DktFGC5ngePW=(RMv;78& z1CKl>6&ZJ#H-!=oMBJ<<-*`=^{N?1Dp`EDtpJV;>h>>49nKUNvA8IT|ihR9zypcn3 zVbWQiY*YG$&IJXa1sSeN=0aC7=PruTgDnnUB=K?Gz-h%hHeu{6*xBF0xIOPFRzb9cLg)E>I$cRVNG%C2h`~d#!VbH z0&zFIe!~;u`QcjbE&Labv8d3_*vV?>NPA(Zd(MOo}dXU-4pUtpX1=$Cy;O&ED(&cR8CBqWEnoy zowK=1xLJ!IVRIiEvD_&<`S}((WX$pAY?N5%u9rx!^?h~3-O&(Z(a7ye<&+)5WG}D5 zUfe$3*l1Etj<(f&W#`BztT3zfNr#xZR}G$YmhJ6Fd8_v5I5pIiz=I?iO-?g>uj z18KyocPC42Z7%cwy21PR6p(2rDyTi>nv00-}sGrVhM5s4l2+?CHpda$Bj>O z<>*?2T}#ugO+d@b_ASR$VtazYvd?uj?Qu>CilKJBQ&@Ud`AKskbHwe2z}<5ozT;H# z>YmgcS~$j)05CG*9#ug5$(b#c>n_t_|MqaXeH9=BBUH8s&mN(2lg6WzCw1ca5u4oG zT*E+&4g=~x)Nu-U4uT|0iy-SIm7*p27r!P;gp?<4emXMyJubeQoUTQ9W$O>68G$2*I z#0#sw|MdN${6}IfAmDa2gzDK8=yPOhCB&Bh8;X0n(4oyhT-!bpH^0%PZLRUt@J~PU zuNv8m7Eb1%(zL-IhIrH!`DisP9VMu#em7;mbX(=%(0#OduL-)d=j<}|b0xO%T>gT! zlHung<@lw7+>3KwBMd|`^JBMzb+=UibWb7NiaP5G{f4Ro4>lTLl4Y5GTR7$DgR-*r z^P=bALXpP+ns{?Q@u5)q*q&$+*&OAL|JN|6t#C$~pOnVQEgJr~hJ`qrZ)mS%k?hB8 zr%QlWDDpmyCe_bOj@=*SE0s5%m=r9v?8t8zgLwBQHDkCS#e8Svn z#lPv=`CR00EiaU2sc3TWd^QeI-MQ z9@;1OHQGs>>}4*RF77*`RRjT17ElkP35e3I%lsloMYHZ4X&8_FO=V=8^2L`K3aXO` zl1UGps0fl6&-!tRn{@LFdCl+>OWM`jjHjb(!$8K=itlV(sT8<4cHIO1BSJ)$TG5}J z1LaX}@O`{)2Uoh&2VkTpcSEpze}-G?jxGZt}#=g#W-t6f=QgtcUvS>;c0D8@sVA#u&cPRLV{ zo5@#q&ETZHwk);vJGx@od$D9rfPa(K?3ESc*R=4w9_#ILq`h}cKW#hlZ_PL^S<|16 z@l`xG$k^#ghrovQ5(3!diC)OsvPaa0vIW#RkZrHoD^2k++{yb%C4Kq)1)h}E5jrlB z`WQDF*RYSJHfH5*PBV9a7L+DmY$uD>_;O4IS{MZTLG|Q>BQ5VWnz7Fei^oxjGoZqi zId_(Ry2q5^3UuYzXuReOC%L8gMOyIzo`g5#7GQhVQ<-;r>Q;go2&|Y;o+Bte&5-ba z(C!8Uw!{PV1(buSj+5#xQ&{!GK&52`2@b73ayH9GWrnHa1cm3#S+yBW-7$xPBIz&*`l6(`CL2twXB^i3Wz@aC`pwIX{`qOG9^wgo zMo{%be!6CkHa<)p<$v_($+I3_Sl<0keJWH~ci{n`bYDO6!1=GD%*6UX2$Br&w8tpv z`1#Kng5WBa;Hh~d0P8EbtNN>r>v!U86K0RXzM_jmgH*YdsdPrtH?WgjcSNzl8L$}4X8It0*{;N= z6s6w7CZD}o{YL_v-=*YS9cOir=<57G&b|YvscipWSzJM+S80*nOB4_R=@2^7I}w7? zL@CmgB279-@4a_XPy_^o5CrL61f_SRYXSlOC+qHeyZhe$=FNY`VS?j~aPPVIe9xz9 z<&MV6xOZxg4bwmE(Bi+$@jT0*GvzLc}^&PP^U7JKInMbjfPxk;W!AeJo!8TqT(?O!ffJ5e}9uzcza8f4Fi>mNE}Ke@*t zpWx@XULWChc+-@O<<}uKHQ_Vz_lhXsOl=~Ar5x^1CHvD9hd23iG=F?w*0RTJu;7uhZeNj9j5-NhA zQZ@uP^V?Tf-m_~BDf_dK97SrRllWchODR^6+26^F#YW_mzZHb5^%)7OMVYUEWb(0+ zA4=88!7Hm)N-%f#88aLnHJ~r4?z|?*5+Q*i;-T5v%S5wy4GFoZV|0!Dbn0mnAzy#3 z1%&z{6CYz*myRpryJuHBcD<$@kuDE6ZLE#RVcpPYq%G44A*(@?_3T$9Bgm3%Ds!@K z3l*xTeU$u1Hr`2bBGcO*e|T;S}hO5_u-O*G&bm~ zy3|f-kFJQJss)2}VjLF*D?y5)&@0oy#jR(&d2F=g83kPWH++ViK)eAW^6w2!E}Fj^$}R5u4}u%?aVyF#L*cP&v6MV9I{ z`YcSbK)F5djjCl)=^PZlD69ct9xIL{PCZitjVoQk^-7mTnQ#t|nza_1{vXsKm zlt#Ax9nb*H6%h-RXTadQXd%7SvgG7}=fXuLS^1$mCfBt#Hp^rh^cS0K9>`;@-q70m zj(2?nvV4AiCSXK03Df6~`Biapen#h&wrc z+IPbo6BI8dw?rjoG;^6ursqOFuv5QlOs&WGL~P74kr{P=)Crw#>a4E&zU5wIKJ?lB zPmA_EzjG%425XBIbDj6n>ZlJAQG@XH4ESTRBW<1Q>DvTyj8H;t@sScS z_j6aJRqfQq)D~o|8RdxBp80Sn4kg=1=|<{FZ?#!#xN%cAHCVdtQSCcQxlepWf#j}j zVpa-yBALw`Pyy;k#vo2X61R{S%G@L0|84CCA+)^)!B2yq?xlSQvRELih;kE>c0e-JkSe}+c+-q{?T?-yErnGq{;_pZL_#dT=Yh66CGu|&=D#lP&kq5dYPs_V0&7B*y6$Uy2h{G= zs3C2-68?3llFTC-pTZidjot!Cw6eQelvfn>Nu*08rsu>Su{S_0aP`J8E#7Qffl|5t zj!0scXi5l85bv)X2!5J{YW^#yQ^U%PuCwYE04=+#PH@`W72ALwEbf12oJfzzMxDid zD|M)_5GZT?f*SG$I%mDjhJ_eRHEWD-69~9nh*uX3$7RM7u`pg~K+!uQL11lG2qaj@ z1L`tBC0U;=f}kbqB4C|#fl=Un47{9YyY#5`IxF1io4)l$N_hwjUCUQ0v0y0>(|8Pm zbAu$yXzFVnV-Q3)+sSIxQ4*8y@gdU3`Sx6t^NE+^i1NaIATB0)WSoFOLBK_RadCz` zHS9Cs%4Y{i4GlDo9FH-=Fx0ne-=^hN5V!ieK~z*u2x|F2OLNWwy$x|mwg?zw()mO+ zz9#xNFsYXa6=+LC=mU17A)x)lx>@>- znM}=BK6EK!ij0<*;3#TZf2{tse!Ajo+UXOb+kC%Br7PBCiYi0i@8}HX zlP=IjTAk;Q36=2c9hxuOpd1pH?ionkE7!0P?H{10A4SWZtyk1A<4%|@q~S8++P4n% zofjEktF_lJ=0y}7Ob!LfG}Vb`KTxHrdD`Vq#RiM%#p`cJ@?kOW#hT(B*es!>L(din zY1u93LhU*q(}a2{NykJh;tNC=nO>Ak?&;)1kyS^`Q~MI!-aME$mRGFBop@i-OZ$j- zeDV?!zvGwP+(!qG;t9Uao2lZ(+4BnCccbrGTWgMf9lDN|A<~30 z6e+7CL9`1}_;=&zTGG{-;?%k$TjvWV?Hl6D;84247*&3~rq`GiCHto}AQ0I`T9Cvl z;z{nLQ>V`TFjLTp;FS4jSk>f3BRDwk3s!-%7e6jv&g*#V4a3zY1^#Y)R4fG2dNfw^ z@v<1L0l~Qj`{r6BtG^&peW6c-E0_0`{V0Ebd7>Xv z4pvtx<^fovak)mzpV#+AXWOG|=Ur6f0s_M4JI z7PFId{i4g&swn)rY)-+PiBcs?8k<^DPqkn2?b$1!UCyW4%yjGT{vqN58^VQ5GI&J)A5@J3Gs9szELAJ&1Dh;Wd0G#vYPECkw&Z+@-%Pz2y^IUHSFbS@0U^n6fU=4 z+#QveLMK~LWsc_YC^zhZo2&2o31Df$Zvo57E=W}GQlhm;j3tml&jz`j48b6MP1WDO z`kyJqPsrgO&0Ht}da@0b`z`Zd>jw8>&>7z+U%sRE(Qg7luvOXJ#|z0B1Im(#yu>f< z6h*DMbGKozp&6s;xFSChx@FZI)iHD1%utu8MxRwZAnm(ejfvv(_hvq-oqw`O!bz=3 zI0j>Ys1Yhg+3Sp6=}1&08dit)7l=i+g_T?wNzR!cggwC0RXCoCxDS28Xf z49xenGajEiOLYofKCcJu9DJ{%vph&u;^saXhtT6)5zQx_U%Jy09u}$200Z zXg3+s*`R@_3x}EQjwYXih^2BZRgxpG{gCJ9BOF753>B9`K8Kf&^T_P~t}*;C_xX=si*t~l zpf@|~ZW3x7z8>EyaYA^jv=nOapiqvHos&h-9xtB)WplJ^bvYoy1Ipc9e-2g3$5~`8 z3`r2W>+Oe`;PTg+|GSLlzx;QDQ3N8dakK8y5oPUQqM9L9wptc7HOh;f7g{TB5}0sQ z-*n0Uh%9I4J-cjKAsm6$6GCbAWit5Bzi3kT))i%NON^|&u#|J71O9Vk{M#GkFW=rF z`Oo|Asq4IFzuf28 zN16DDKlg}T9{fh~dM?uL+4-ePFZa9~ZHZ*E)7IXnMhcG)V#1xS|K~ICx4#KkR?G!2 z@n^ko)#iBx-b=UZ$P?@K30YL1(R0FS3YiQjN&%qqtgLFruHQ@cLQ^MQ z3q#PNJvaQP)5lL9_&>fTd*M}?E(Prkn$qj}mpPtZSko>VP|nvcV>1}#Vj+r)faO!Q zJkJwgiM&alBExZl*6rFEGPjJvbb6Pib@6c6@G!Sr>nv6E>vQ>=Q1@SJ?N1-T<8;&Q zW!>=Pk-EjckP6tD#3(9814@JMD0Umy3b2Ixt@Brk!%usMnyo8GEh4I1mUqY^rNgen zJtsOJ|a=(&Tx9O#HLe5*tjh9ZOB6a=aJoGZK=>_iP ziKhyc_aE0D2$yo}Q6A}F-b8-;E~<>TWkn=5i3?Ib)bUpBr^s;7}C)@dW{w0uMV zl&a@{SrtLDo#cVd8bAZ!KIA{>M^ku~D4pwiKGKFFdGGYq=y)|ZXPMyDx_Zh83Kq3_ zgYsm20nEl-va(clGi#cCdq>SE1e#_--={Wxc_0AW`9IviN54s>=%cGzN4aF^V-Fzn zrTtHmkonW4Xx8(Dw&8lC-eehcD|wo#c+41X7B>ztd#&{zWrhMIOtO9yrpjpj9N@q4 zGMaDxHYojhX!`xL?Ecl;F2T8v=4u(PTJ6RNRht!E=(eo9jZD{>1!Gs zb5sybe*0PL)2q_8Zfb5E&T}1^*7vbg7thkxbfo)?nglU=;{VHAkrWRoYhT$26hRMZ z>oTSmQy%D#hV>lg3|~aX6z8+BtBSCm3x^(&$C8y&@f)cBFc=D@z5wkUBH>-uvkfrL zIGC*wI|b4TQn%HIDa`ApkOexoaJ^n_jo+jdKNnI!r{*0bVQZx7fDD|+DdWq#f)0lY zrR{g$BS)o)6d*Z&sUS9G$Y)9_ zic$fBzd%vkvp-TZ-ILS!`!*1*lo4n-v zLCt%MQ&JWoe#~opb^;P7TKP2emlh7xwOL4m3Esz$M`_|Jc_i`KvE)Z`qKk-M#Oo#6Xc2&OC5BcJP7SH z(m|(uxvGRf4Wv<2&(9lWLu7ugC0RCdyZTYxA>Rxq-n-i;3y{v8uUIkZqmP&&`;)_h zyP+gWC|cWs4qm=4*Di=rO(HRQfhEz7&0j!=e*+BxHEaQ{CrXzGjfBIMSB31v){Vlm z{>vn}4WFoYsj*{RmS5mYJ>FPv<3|cADT-khetix3jJEaBW z&#P**SKp@sUV!oq1cOMf@MacR1Pz7bCg9Vv0KU9M$bNIO@*s0;0y026D z0_6vtOFJQSSLQ67Sq5um`K8xoA!tTZ@5^Jp$+u&76QTHkFZAGUPsT&kYDIO-T1O}>RMarGI>U)(=FMlpF7!dN z8DbgjGITdmz-6CP?xj|Dke0?ta2?Esxft9#V zMEkX(y|1EtAANhv)8&u&micM-J+upXsU$nuBPqI)DyZJ)@n}R_iOd13=o_4Mm(q{~e?J_dcKNfakWt z`qpM91d^%hFNcUDP?V9e$tO*a)*IE@DT;1s7e9?q%5n)e-77$H?-toSz)59W(F%e- zg$s7glU+VlLA%3(Wz#BfmBN&QSi)4bb^K90>gRszQl=uGd+TmhiibAF{Guwpy2xj12|4*eE84rG;|?;dqkhErM(yA5<^UfK6BVax8L zJG82^n-F|_nK?7Kh-ddx)>+INn=-PEs6RHwu_o)n>$lhMDX$Q>B#eJ{XrV*IKNUNL zpG83E(PG5bzRSU}=xkaeKs3d-Pk~d`k&K=P^Hlf(GloCm;CF7J$ z_PXOcbS1b)psc^?B;7t&zB}>(Zx%BHtqZ0_gmCPSID&z59`W z8=N|Z2QfuDOGc;bTt52*R2SI7RZP$2Q!0{WMEFW@K7X64hEYRXOJj`B?T`H=j&v_0 zYrR{Ov$ayx+&v6cH`T_ZN_=_inU4;D=PBp+br()9>nz{9R;wT(C`@R$`8XXttAOEw zuWza*xEh_o&m@#fvUCtYz@ZFxQL5YeD%0rn&Rs&+c{>$)@BWcY+q7CcWkQ2`By8Mc zt%xsNd0i;kDaE95GKyvmg70+nJ=%nl({R0}{C$?uW~oE#o?6ng&xdf%H?}blh||$Q z_u+U}lm4Flki?15Va3<%GLhwH|9CCJWFsRa7xWl>6*Hc(pG(>hyw1CH22eS*99rTCNk14wQX?oS7W!i4)lG&qqck0qK+V)abl7(JAaO88}Dek>FcNPB|UN#_n8+i+E>DP!+b?{}vTzfD4eg#;Rp#bzW$eIM7s z-IMsyS1H`Jtqr#yJ=A|&>v+j=q{4{bb3QyE_i#yFsB0zm77YTR<0p_iT93YZeBNZM zD*#Si97 zlgRk`MSu7|pAbr!0zSQZbuUD)9lWemII{5N2&)u1vqE&;4`_W-OZ>tOka4H^jM%H{ zk2T7dT`&nbkD)Ts$WHDnda8`;$X=m%wLKooazD|VH-=N@jox}@8^D3$rK#IqA2Q}=I-7H_Z*`2F`(hpZ0A zhMPV28H204Yg%=9Fr_kCS2|)(G>ck7M2m?Tl0|B3PK|E(BEwQeU99WOJU)eJ5`UYu z=9)~Lu&h~>T-x${ncI2%e{8eT_@+foV|*G@YKS$V!#<%~1h>jcul$A(KpDMF2w@ai zbO|a-@1}F4PmrW?>fvcY)C+wZX|%Bt(x&DLpblBda_?gCPUyY36*oNGfMrZU(5uz; ziJ6Y&R-u7PY|co3Es%0zP=6%$UaB`Iq9dg0MznB|krD|*1yE)C*sQ#1U6Z1yT@ zP^H)V36KRIYY$3k)>l#2y*f!R?C<{4;5W9N)~$f26ep?|kWu zSdL8R?RUGK3EIjNRj-lnP-1SIlXNE&t*A|*7J~IKyRBq1K?(mA$(za*T3LuA7^LX9 zT)N-d0P0+FI5E(&@SqubFXl=@7uT&b`7Z+Fh?T58mtZCTiGKtla$n;w7sGS4o)rV# z=g0gHaQT1_`XcyT@A&taG3o2*D>*(C1*hl|JC|h> z6Xbfs(fYn(^&@`BxMR&N#3D}#>IGX&R5CEoW|rv{jJ#>Jknnik^r8XbfK=rwIb-YX z^VB??Li|`w3$B_n#tndF_Fbc9P1|t`FJkV3{Iua26AO^$#UKCfI3Wi`|K^J>j|hxK z&~rE(x?VT3kmdX1V>?4r*JG@6S6%-*K1}0ZVQlyfJf`8+g?~FU54nVGzpTmGu}H0Q zNp*@n4nJV71F+Pp(8vfIagn*d74zw^ZRtp;zs~*~Gbpe!>K%~k%Y$R;nX%yt;d2GG z(|P^6YzB*k-BCQk2s#eZ6Z}!eq+SEo^#eqDfwa%C)8VJE&IZ(|HpG^zC&lH~!F3XX zWxZkLLETFK`#>qV_0_9j&qde1`OEmVlc#&Mt!O1i!0Zh*)=PKvSlRZaQ{#Fz%^$B7 z>FkDDyO4EVh`n{&znN6Q6@Ql^jn6;c|LY|Tcj~JIhhV81d@+u2%$kt`fHG1oB&DK z;_Wu_b+@t}9O?F>hu)J1UssNfFbOw1KL3k@`$eOq^D}>iVTfgOf#s8!tmqp{`SBIC z8Mep8zik+8^PFu1@0^HXPjlWLt`4y=368SL7%1JlTrugMw2?4!vSI(FZgld-Egx4E35}|<=*>O0@~Vl+V{uITlSBj@sL4PJo4Sh!zo;CUag;mmIKJT z)YL^zc`Za2n7w&m(4Ho2C9k33*@ClzS_0~f*O$g<1@uuf2(@BeK@x4XZjZq0Nmk{; zg-$Q}o_{If4_1eWsfS&_F~dRb>2X!Escn{nZJkC_twiN()B1(Wb!z?(cSk3tzHga1 zh0&~~(3Vryq$0KW@$0-VvKum>e)$Xdxl_-Y3u*JMvYZlf{2ddBd@4J4R%XYdOFaZD zzjj!Vch%TxSg&v?wDYUmzvOMeJy3zwIIi*r@H~WTA{|1qjZrlp#T%!0tR$BKC0g^Tb^Cd|O^fmB^SMDJ5uw9O5=wxh z9hnDN!{LD6em!ZiaRibz$Z)}m)*#*rM+S6;&|1=gz)*PAf>+>wn^2#IXj;+)0XwZDn*voE1&glJW3NyQ0r1-EMS!tnRU&WF6XYRs;8&4;~O+J#~v1zqD4E@}2re@Qo9LCn1sPVD)6I zat^z57rl9bzb0fSK02iH=m&KdK{-Sq#CzBl2$Qb}P53W%Fm~4P$}FT0G=Qls55m_1 z`*ufnDDk#$-ELl@EHafwDGREhT6gsw)q<46D}pF5Q(-3z4~g$0Dz>(9SzC{x|5sAx z%WW7dRIdEwnxsH97uD0+LyQIQrn* zj3iE#F2U9aqKM*jxhzOW`X?9n>cVqww_v>}{Fb{}&jP7|dl8tIJ8Zq^-Nf~29SYKk$Ut#Un8 zucvss-U5}a17qxQt#Dt}E|PQp!-*av$A=lqhaeFO3u=}>@F`4!826SW&-*N!vu;4q zh3~0StG)%=#-f2_Loh~a@55$m@3oJMh;wPJ9VC)SkWlh+Qq*Czl%IY#WydO%38WOW zv6H_-Q*{;^7+HumdTg1df31PH8iQIEwD`a;(`%69u+&2^klr1NdJjxQH_tl# zfmQ_t9$p&9s(Ql~kyxnWO+_I^L15(VodK4%~XOyLZ9!VBmc{D z%>TR%WDjL5`pyxV*IoRLF(oJLO}oy8ZW_6VcL8r$ebAU5z{cu+VtlG*!xdx~_0kv! zl#~`Yyvbt7!khtlw_|jNP@f`g2O)@}JE0%ZdCFf&m(sLFZL}+rVvf`^$L>s|FaDkb zV|OEr#jDO?j8_I93rxFl3#`s|6Jtq6mTAW%Qaf$t^8-?!9&c2oY#X1fag(+xiS3m{riWs;Zpe5E;~ykbS!yS*MhldyKk`!%rpf7m!%Owiu5 z6~EV;%IhCA2i(??Tsc11N~}UB!HY6&b%`AggvH|~-64*TmK@>O6dPiqvf#;Yo}XFUBauLiwOMhe$(S{9}q zv9{m0%R^rqFV2^t=D4$05NnK{HQTh67BZcVDZrLBofb3c;l}hA3F}}@y0oa5(V0lr zjCN^NBpI6WK=`_5R5sP-C*N}PO{SYtCL9fr`{Dwq^?)ELs1O9VR^=nPFnb4BqjATChPxt+6`DIr1I~6^W?|3 z_X8JyrvgN|+P-FWwyHZyk7V~n%XW4<+i~LZZ|o4m+H`u5sY~wlnD;V%6z5h`o`Gzi zq^?~#T3s0@LfgN`-&pe~Yo$(cAY_T|P&jcuryG&qvC;^nKDkD*`yr*#TDKe?`TP&2 z_|j+R??4g1cxQS}UvJ?Xr-qxO#6#8n1-dp+l6d`VQYT4O43p&Y@k@4HVqgt}h<=dK zy0U_nJ-Pc)klRDdpcLi)*uCE$SHZb2_~QI8zb-a4IM9b-)dlMHHD_KyU>9*+R6{_I z<>NEY63VDsf%z@B=npFJcRW9!=K6Up*P${2xGjmFCvGn;I9pA)g(kt5y%(-r#y&aK_4J$!NAipb&$A+6@Q4t%~YKULxrq zU;X`^4s9q2l`d%a5ji^-0KL; z#3|cd)?1?WU^kZBE^h*x%ib+xoV5Hj)3FgzRqVa_Hv#rHU2g+M7ImCmfkZl7BS2y{a0 z)nie+b98d`XK@}f^$LvkDv}^cVF7rFqH7UdC|s2)zcraZ7#VL8OGXPLE7XPFiGZv& z2HPxmLmGoU+3RP4VQ;`&whQbi>KX?j^x)vacT*z10Y9xGB$K?9%S zlH~?4^NC?Tw9mgY5G9s>5W`qmc5V!8hPbSl><*7U(FybGz#*53eoyLmdnEC@Suj4C zHUv~)DW%SB(554<|NAWZb0}38JKyrdNrUf8*-Yw&^Ml_8x`0N?R477uhU>|)4?a50 zESCA!-awbTwaMFrBcgnR)3=WrTWlZio#;FsG@86DQk5UWsbEIxcd$06pqOH{|J8E}c}JtTzO0W9Dgrw}4|N%f5h^*bor9*O#6!dVj#8s|o=zR; z7+HgEM>ADD(I2Wl!{RQH`IK){JIpoq4TihS_mWmXIN=v{s4g%N=Z^x{3j}1sMS##w z9uPi>!fkx&gkqm;5@si5JuGqYOw4}hIewcY#&qusP?+bPq*h)8#SvY`wYzHFA!q1y zHcN7Xp-RDdYB$H@4sQ=f7uqSFlFaxJ{us6U-?|jryZ<&^{fQpP`M#z8z&~u zGh~0STwNU`2gRgvjQE5b)TPBHZ3snmlS1ZodSV;vu3&}7IW!6UnWKvw#{COrpoZN& zl6J2M)HvgwUmRgArKQ#VGEOuSYtOt3FrmPtp!iTI=2}c?h<#L+QG}fT@xiP%M7k5$ z2ujYjRaMp}2PI$VPWu>*;9MfJAEXq^%cBs#0PJL%-*W7ck+y-$^n?hZGn}?*SM00L zer1fzE|St^NQrjL>!Q(!PsQ>p-t9IA^uWv4tPeYC+Q|O~{;aF#)_UI2%#x^YshP$6 zTqMyNxj+jX-5j`_)KV?^0`2ec=D`daveB{@m(1pJDUM*bv|Klx6hUBKH{`?~sCuB= zYs~=BK$I5@-HB4an6GKh92M`4&i_hZQpo|hLo@G~jmj_=! zJ8HSGlt~`X3c=q+DRTRiB4p+2bftVm4HK}vBaij!t%&8;=OcwkzG>kK9PZbT85T*_ z;?94~l%bL}pnhZOML1JcH`(k!8#tS#=5W5^7DE0PiZ@;O{F${m<*9SC$Zs!Amh(i$ zqWJY;GrVGbRQ1%4XmLqIH|%&1tcLFwR?V_)g;3m5c}D8yJ!o8bR_MSJb3m&`sNXXn zRheq$*8_69g0(sLzDg*v3OtJ!OHffP<1$e98-)V1J0sSh1n$&%mxMI3I2MLSEBRs( z7EZdqTT*BtvSh^Q<3&@(a$6NSIONp?oMfzhYqLKu`2X=0oV%!hSpCcw$_u4BB)8`* zlO)pLD^i5>^vBhx*^BjdCI+EX>u9HpUx$^{abSgqT>q2(ybwhfEDR%p0PRtsQ9vv+-=?C%6fP4Q z0#%&G|DyjO!iih*Gen9{btkaBd=ojNg1*uek)!X~!&NDAR!3Or5{x?;@p^Vru7;5I zWGy?8NcZxfP}(j#6BiK3VeHYOw$<;$&;PMZI0vPGfjyu%UNjLk3LkvnkN|Jg(P87A z@K=M}e*2UoB(hsdO+&{0LJ?A>Sb7RMQsC!tTL*^Cw;^#~vUUOT)4d5sjDxgal$B_= z%)rS1AXdx8kUh_4J+T2owfer;UxQmZ^s<2H@=?zPeoNg1s^F)Oy^rkFAMy5gh0f^p zcF}dj`f0e7I=V!;gi;B5{rfXcwp05{1FEu1}SBMUElRF>$hXhtSN$`bK3Of6~- zc;3@%aGrNNa&T0wEZ_T>(%{~mQ~b|_#J~RATyL^eN!quCg&%>9M&8mM26R@bK|Igu zN~XJGO7iE}--n%QER}-=_>Y zrQ=u#yE7Vjvbf^=kE^6F^PJ2F2C@6bQOvg_aGlZWmT%#$enW3S)+q@XSb1a29hOC~ zkAJQ&I3=DPs~zVxd)~xh-5oi9E4FwsHtH2sBh`*1>mi|&BJ&%pB#lw7g$`m%wt{Yj zL(g-dM~OAf8VX5!D@r3gY)=yfx1xBzliwzF12?^J&vuT$s5#YI=bBbosQAHLC^S|= zD9~Qx^dPDA`M7eKH_|?Zc}d&gpB^SzH;x_9)Yb`hJW6mt8}g|Uw;wL_0(Gsf{s5>( zfP`3_y8wfo{sWCyrvMtg=SnYC{qy9wNKGTayK$9MNlx`~w9kk$$5yBq0iZ&p_8_ipmMXUi7Hm& zdXv&;n_vvoB+BAa$lF4l2a=N4St3I*FZJ!lMFb+nY@}muKi*$BF zIrpwQdvayb?flrCtGYVYofKOaG%wr=(Ur^_bP!$>T@~81idjd-OBdW6_UFC=RPvuz z6HeK-U@rQ+&-V0QzP?WpGzu(;2Nt4?=>}AG#{DlruVQ=4dn5`wIXU zvfiqncrYDOxS7DE9RrL6V!)2NJ@!Pv=T|Id94BIQn-K5Xa&qxHrp4n>_VFP6@Hi)>1n*}*^i1>yg=y20A04cKgM2Y7rB+!H|E zpHlpmDGJIyZG#e1z;IP8EN487Is0*T3dd15xGua-kP!W8G&y}@A4#c=1dXR(>>Sx{ zbiu4ao;E0-*o`HAnT#`Rw2dZo5M_2PN$dJ{Pc@<5-knNMPwAbeHBg?)Shsj|A5w zd!oAuWJV>q^a9Nm4lkW)bpLpAdM)q|#=+4S-vQJI@NGtNT!jDL$crIIS|^Yg zx(m$EV-IvG5Bz{Jslaw1+a$_yq*#+i`XR`Ov5Syo$+#*l)Q!K)Hds!*r!ICtR!3Gx zAwsbxlsK%iW5t+ony;yBCq&nRfA>am)J=3jlU-)RRBckZH=_(@7{-XTF=cz32tTch zTsW|0vmbJ9KhV8YEVj^@0y4lgooPxYk#|TCqX4zJPhVhjSx?&fLyk+7Zfzu{yIZff zW_R=-Wz}{h_~Ng>fpd6|rzJ7HNa=VDk};Unnk*7AnqKarIO=!2mEwt*0i`IlXQ#(2 z7IL(fURKhAq%5<4)d(b|ku(81eayFr{f=V zku)X;yU69u9Jqq(d-Mrrhh1|Wodpb=WX@Aes0@~69IGo_Nb*`K9&y3x-GcS8VX?6TR0GPb+k+m zmmsvAC@*g2P*!9OVn<>@HOY!MJz|r><_1092CnAxEQw+O<_}ztz?bfnY+m_Ps)mC zeR=-ZrtZ=dhIYpMl*<8x(0d@|IrbvNM|gWx0wl4xy`6Ubcy|{s?qY56hY)kH3um|Y z8nLpv7*Vm({!q*Ul~NozfRPj5j&B0n*h?>WfKMz+zQVC3;QqF%`w_@h5?c|IuSDS# z5dzCU0Cfu~GT!Z&8fL`j{wDU>CPC90{E&Sol{su@F`&ei?wXAX&3h!V+$Fi?H?1d5 zJ73TiPqyldyvm(>EhefhUUBb(iVsOJ*ib_J(0R|)?`lqT2Vd~L7p6z>Ak2W`b0Yrv zcOl;bX*H_ZTxU>WuX}D3BU}gBPNM_MLu4n`E`eALoG$rQ&Rnw$y7s z|5PtfM{q~wHY=2soHIZbaR4QS^jNq0=z0DMyG*gK0(yn>X`R+hQ&Hi0*eITso>7AZ ztkSvOf1HE)=kUp>go9HX)4^@CSm3YruBd#e_F^O)f@Pzt<%?Xv2jJSLNw7!m#boZ) z`vB6ZZ=R^h@da)}{;gtnA#BD7=iehsvCupF;eVELArX)QO;Ww`pTisp$iuV&;RU04 zLUyeoCnU>?KxcDZE-DRxC(O1?o2PPh@0r1~+RW^s=TbSHD;MO7<6$sg*gd$DBJDP3 z*CuNbei1Ofmmlwg%M-QF!%$ip~sRI)(!{IUxn8JLiF{-hAKV;76 z3B#^e7H?E`+y0t^i;!fmF&$T_+i4!Q(F4XHeOQGBMvL zn<9%4|NeYoFCy?fD@{|%WM1$&c7@qbb_LP%wO!1Srzgi#|s_FZ5TkA$ULhHQ4G*vUjsNMG*1%-E59(+ES zRsU(?6oz5+eh+N_8$9>hx9Xe$;gnqW0zfFr56Ynu$-GG`B$HtX&U8nudaS>Mb7zV03(`Q)_b0xa};s6Q}C&^QS~cC#FLx`$;jg*vM9fuAV?zE ze_k*=Xka0--8>hc+CJ656**&e4PQ#JCd9eXg$1xE;h}`%i3*i3dB?K*9d(P%Zq1Ikc7Z>;^kS$N2 zV(zLcP2w6vELQ5_l&&6L`k^+Y-g{-<2PfI$C4b(ZueHYcpHc#%XeD}LJZg7)=&)0S z_pozJg*1j+X7>Z^a#XxDs%Tq(*!}-YOYnjQyG+n(Wew(K^kZ`F2Nh?J-@W}h{&y56 zUFLkt%5TWEJ96lrJJf^UN^|!ZhGZWHsi>}tAJ9Oz!3dyRduhvN`X#H%=U;%avk_`8>A z35;Y5Lj+6pFW^%(oYt_?+7B!0UnL0s;z%LSt!fuAIJ^%ZNcXBMNL3axL@Zy{VrMC-p9jjn|CVq9VPi?@9_xMK1%(T0!V`p;ny`^aal}f$o zo&^V^4aT|fR19XoUpm}qdO6NE6og@V@K8&x-|2Ql9fy6sy_fA&&7#k`jyrx$DPKL# zdisFXB2@P=5nB3Cf zblXMf{09wlXxiw`tMhUR&lN*?-~cchvX} z+#P#IQR06*!mMz$U2yjJarIlBVVkvJv4sp%c+VBv%(&zZk|Z#!<13azK(3m7*ClJz zfZz95!hleA2B*Sev)3%*wHamcEa?014#!o=tZyW5KKXiV`Iv-!pqgI9?)DuREwmP= zcDfbnPy;%ko3c~SKrMVxZ8BCi7k5f-2g6o&Fd2T1PJwa=NRPX|b!lU)!pM|ipw+r7 zDQd;8mgsUo@C5Bpj4h|ZV`gerqNWgWZI45ddtHof8sgw&H1e1%n9K?Uhc}>#MI^?j z-CrMw@^L9$ou6*q&)Q~ZsgcTlQ{fV``Fvh10LJWXL-D17ntcGe@YbH7ta72WAV$sl zYRjgg0#zb+W=)AMlZz`By*q~!+7(&hdOAcBWZymIuu!5WY9xFH2vQ!kBiGhRjc2EU z&=?3*cuffC_@?&qY@~gSi?9deMold{2{8&5yK8L8bUL&@ z@36t1Wb72oZ|!`$3(^rQ1`wcwU4u(LYa?5Dy9qMxK2X$dmk|d7jeUr{r&@#K>kV-n zkU9l0-y1$A+lWWzPOV5FP*Dz{kEH&h=MfI@;LJ6Ps&|`WWqK1(@eCIMM98)&eiKBZ znNjb7LlZHMB_%7;uX&tziEMozbnzmx`q^dZrHz>;PX$3G znWiaAfQqn}y7Z5|SgwA>QDfq5;k+>J8>XabQr{nE5wnRJK8~CS{K2qInQaw95OuCs z@Yd&erChd4XIU8P*>r}poZX_3XAi2%Ko<{hmS8L8{Pu7xV&Tc|og37F)ak?*-ANwN z;Ioq)k%zA?&~gD^S0AW?@}p)xf!cE= zcom8TFM7aB$9Ve;V-uKrvl0Oc@vdu=d>>MB8dcYDJoTW69rHf?2yOBf5rO zSar}_NJv^wb{~KcRM9P6UP(8(#2GVUlX^kjm75m56B zJ2pH1MvGh#O0})th_OX=9{+GlG`V&l^}?zM9b&yi6THEB_OVfOv3Z|_wfK(;50MV* z2x&K>5k+_5IE8sq%2I^4Y&4}tB;GThwJtbO99>aJSDuLWzWqXlOI6V1XzloNO~zKv zPq6Vnzgh&IquugiCVg`cS233mHa1PE&}>cO79MAD?*4-?t%a`Zl?@?Z0ZndQn>W(z zU|EV2@rcCAo_sTYlwi6pRMjoyTNZy>H`q-nbwf)ZunrWlu2vB)7&}3~xADp{zDR{c zYiU@^)kLwwg&-FqS)UJ8*u6*#9z*s0>jVG90}h4|I5%-**9MCkA>+L|839DY#~@kf z^@VES#mk>|sz(BNQV?O&s>77=Mc97aX~#_!e|f$9R$=_&Y3JGJc1T6eQq3%BLap8u z(tTkcC}tQ1nG2_gi@4d-(LmDqd@w}jMnh3F59dj*4uAAQf$?6^KmRzL1U{hLS=;sz zU;^36BW)45)J&_Y`teIA$3L_Y)5@{7hd^w_w)Pr;OY+Ub(}K^CB|nRKUf7V!lFA9a z=N?kxE~*EM*@*5h7j@Qu`5~fAu)bG9t#?`3b4Yrm(!Y zbN;2uwFBxkegd6U)?wws6smrEosp>;r^t5FUvjmAbx+Y0v0|8Ag}VH#W8q>9 zdLc;1R%5@663D*(bD84)W-x^CstN!pEv*2mWVJq8W;Io3U$&TNWad==0tkSMT>)-k zag=6cf#&#L_H&UW5{$}pkl$ke+8b2OYN04`X<-;17U*%Uq$Tk?D`ZUw8E2``Eq57P z)L9xWbW&GFso-KQdUzcb09BS=zC95A8hc4cl_c{yX9cP45%B!cgsm;=+X^DW43-kw zUL%?C<`h!KG3ljbyk| zn-mD|eiHkS;DCVYW8w$Wd*Q$Lyl4=fTH{>h8&l@ukY%~9CI$Fz8D7RKLvL_RIk%6_ zSfc0IuBpQN-cLVA5Om8n10)dX{w5V6Ed&U*Qx=Teys%=v(oEAinNS<3ie@zDfy!zYyQQKY;)E zA^R<5Dh#H^TRUlKn%)LID)DhJ6wX;`m8UFVe?F4<+1s~V;j!-} zF9O=BK;V|iN*N83K5jjnOiFHw@o>0R84>{{|c^3w4_!LNguLSpfY$H@_@HTrj# zZT7Fm1_qDxgsGfgIE)~$rLC^ba)&Qnhj({ZW*|-e@jD=qeH@8w{blBq1)<_&bISzzFUE`1C28Pv*5>;h#he973nC%gz7 z#S1T+e5%MNZTMJk!(={fS8piW8_M*x zt|VA2M7OIrjlVWAnVROgm0YS=?D#*u*FR%JFg*K8JcL?qST&PH>a!hN1!%{}a9Z({ zQ0fw2m&KHL*pJR?KgrbJU-BrI~>p;7T}azo$yD!qCf-#deH zbfqT%l@77)454y1{-;&;$LrabiBwhe)b}aFWq%OCa$yVEnQ!t0Y-6I}Yl62waDBXC zm?fwcDlumNTIVk2v!%eI?rx4|PyQ?+vz%JL$()MpAy=0V?I ziHiw9aq(gV{v&4Q)T=feyR%x3>+zFyD48)SP3I%8|yR%>E`dw`k7uC z0c3j>$ov!&50*~g)N;Hx`=5@RKkW{`4jUs$M4nqQUGX&+)%VFs6nWJ71V=4Ku8$aS z)l!}-Kbv3?c+ASQT&&Hvb~Oz&rp3D@Ri}ZB3fLI@qDp}c7mUM6gA=OioFO4ZoyT1B zG@m)jdVfvSKdnf=H4#r<#$O+HJWd5OiWK>!i01NW0|&EIspr@}v`9y~h7l81l!_AY z-WaT>m<4oFr{qRi0__DxY4L0CH$Y&z_7@zPUDkGtnGYZqAOv8ASs=rGfVNhFB*_p; zZSfpAr21)quDPZHeh5cm($Fo-Rp9y|N9#wG>4O2h&fN_B7bRODF23bVSwIZ$-;Y?o zT^0>Gf0qyEZUmh(CF0Ccr3?2=dFRy`43{@pxY+uT-JqgG$T)!d*rcKjppN0e!wPWU zTT5Q{G9IrB5}1=Q!u8Wb`6OrZhHiyxniBR&kn;!VL-LhI3z^=E+Y;(U=}i$qwMnAl zp$B>dBtOl-Xo>`%nripsmvcPW&4~JADKJYDU%`=Qsba1cwAUVbj@FCw0*cE8wVD@8 zt+oRg$q+zvm8`D3v&AW6L0t2(-hSgh#}54bz#2TKDwb3fXy#=Ra{2Mv0og%DtO>*N zC6X9onLz{Cp3p*er%(k0MJg8*3^?%h2glQzZiZKs89`hZ#7HvEWO>JCFQKo59Pydh z`ih)5p}g4wx!;v&kLQCBqGLXza0lLG_fIOCPkm{PWrki=@}raTv^ZSD;76E(56TCw zF{0fY=M!*p!glAg)c}nqP^^G}ez;kXEj$ls!(-N>Uw-g83;?`$h%zH%jR#GoH|GIj zLU?juc|xTd^3Lx71e#y-{r>(V2@Kt*Lk(O+y+B>5-_`57R**shh&EeV8DAg3M)T?q z;`G9}`my=47sKj{5r;{Yz8vTndNF}7d}e^neM`0>^R;2I15gT`IK>Cawf&JA?IDl< z^aTF*V!0eF8_TH5*Oy-sb}Vp4!sfJ@pk=+Eo;o1gRmZrM@= zK187*E})xlqbCvn^mw}ncEo)bB!^prTag%OFV4-9 z#Ca^5;|P~~Amm@nNz41npSGg^CN6~hzp++X$;E5Bwbw<3Xveco1 zU5*Y$-NKIX$X@uFflZe!-{G6ZWpw{>4HR7z5|lk21|t+8;E$(xYg6KMDzR&XL0vBU z7S0?jehIt#AZp`tu`TLFq=pmUN-uI+nkG^*dBwQJCI1|ZTpSloSaUTrQwE4UwDlm` z8PmC|nL9>7rwK^TZ(7LnJp^p)+gHQfimXv9Mn}M6L}*Z`sU}si{07PN@bGJ|oz-P&}6bViQl|S2)v4w8&vEj?D%UeEfvCM{yNMLJq|d)7RP}Y1`04 zt{p&!lGIUsdIQ%kLs3OmHeKQcWYziAIEL36fR5+FJaJ?j_^*!X%$^eejSyXyrbRC$iTK1*+ zf_S|jIRlh-&B*^;w>IB9-pXc*WHXmW_Cgj0oORBjH>u|aq@KKaH8(Q;G0t!p3>v&c zary8WZatUW|Mv|X^2^jrUQXM+RkVR;ZslsD(U|jyS$;wGs89v;K*Lhae^I;;I`K4c zY2l(@S8r;msF#B<9mGNbLunhqREjLNE73b)BjvH<=niI9S5JT0vtyjDq+6sDaJ{S$ zn00?LdHz3`yim#_q;%qbLTq5IQMc#^&$m^;igvNO*b-cYc@UX-0fgD}VwxP6fUa0o z>J8bWLap>MRjyi6)}?Q#TQd* zmvX5BlI{W~hY&=a8_j5SKXd_C&-0ONbY*o9-8`sw&}5~S>KDfuc<+H!{?IMZfYMz~ zwzT!XBJaR4z)Y-9OpREsy<~QKr)o<^U9h!5@BVG?{LGu!rYYUJaZQNNd2zsqr-d z+>_>9HJBD4)fZSIGp!G2J#^?!!2L)CY|l+UfD|`HReZ55hn}>CYwS&fUxCVF8wf=R zves_@bd~+h1MTNc=})4b4Gy2RyBaj{cM|XAMJ@F(=f)|ra$2V;((gow+E93%N6gTA zeSrgE7gRtm0!m`z;1)%mAPUvpW=~!^GS$g~RZe|a*-8-U7IMDoB4Uit>8m@l-t_`! z4i3=}Xk=$58_JXt``{hBV!b2^ij`{y!tHce7%u~Ft-~--7tnzAVoIFy@7`)oXdyRH z%h=(Jc^#YYUUcGePeUD^4>Pz}H-HwJppD8lI19qXI&69p42qOiz1ftwLCe^ebOPn>U! z>I_9DyOo|ze`mOLSGIN=bJgicIQmF6Stb~nsd=4gz)A?6fE?!`gk^bVcAaSFS#nJkz-SA*j zx*=?{s&mXmoXAG=A;{_NI7PrfhBLfBG%|Y4Z9zLkk}rGpiRPK6rtr zwka-?c;d_R1d31Jo@`dVFpO=Fx^(p!&ES8Q3gSwlnA^UIWH^6Fg%sN>@f(n zF3R*)KX}gd_Id^24@8&7tb56~fa7X5_rR^R9So|i3mKDy##q}skO|h+lsgAt%aCQ6-i$09j=MfoD6#oogyW8D{u+}r_mGQOj(>Y`VHud#@LsB_6t9M{=g;2IXp} zCB&4w8nlA9QFn(w=OWUH7!cs?Hk2Mp8VRnP3~F2MhrLnAgp*)#=RxGsvz3K`h1aa@ zSIcl@d{Bb6qyzb@@Rgfj@Ok9!^}lAqn=y~QZ+BBFAYP4F3JEi;3H&5ByiJ!{t8bv3 zAT)3knVG3Z#Yr)Yghrm`81)&w!$zI#bj_61k9OmBYY;z%`kj9gv5cmoBI_x&y~n0i z%w6*rGwP^SuS7ffv)g4TM8<`MR8kL!JG-1w?Zc|0ZSTvDcOb>nbQp)CC)THNT|qbv zS-bQ8u=rvWD_4Eyi&`dsoS1bJ%qLWo%k`9HtDm(0*F5nVe}p@C=d?5ayjq7|8RwCb zd=iG+!c+xK+bg=vv+3ESiCh9P2O+S0y@d;()R{+?s zq>J%gwaYktQ}w83G?1)4p9X4N-H&!iu-xd|8!M{os+u;W5jR{%keL%(#ZxQUXcE6t zA?}KWUkVrhtZ@^{J%L0L`k7|?da*{;av(BX{>S4VYy$oQO1K@sY&YcqVv|EmWi;n+ zc)m-WBPZM~z$%d<$6n(p8%Ri2(!xtr@1Y8%O`|UjRvVWeVJ)=jlS6Y~n))iZF#3N} z82m(e(|dcWS3qEWz?AQAZ35S^Y}EN zM;$|((1$dk82E*YCGsaK1SaALVa$uBTf07^iIsL(iVSc2l zinTe0*dz6I`AL4!2!sifs=}})lE}~{i-@Dn69paIh1%!4!zaey&=T~}qVtzVAhw$D zKDpD0e3}7?7&jw#^{6v8j-}e^&;#D5Gg0J7>2ZnO&>;R8EHwDvAh-a<6wA2Izn|i` ztfFK3nw_sCfl`sBv&J^!<+#u~Uzq4Cc3mi`?RkTAll{@jaMeCGF%^N-d5D~bRH=<| z`tH9<#J(8-j*6QE&l-=%Opl6iFuz|v9`)(bVzXX5={jGb>m-3XN`_)?7@a zcz%)8@~Mq5q;0w3KN`mW>jZ!sNc^>Rtd6nl<>RIZ2j}CS{i221IFkYrMGkznFUkGy zDdJNVGJ}`)N){^>jw7f-Bc>w;e&rL?R^yR2LLmr^U6uR)1jzmlvOgyBynshc&7988 ze`W|@K`h7MrTU}Qf59dMaYZ$R>F&=%KALD%Pcs&#ayduz`OXYh8XeRAo21~I0Py9< zmw1ZfTyaUkbZ-$6G{t;Yahe_aGYIPUGgRH|6K8_zylwPY71f#}Cgexr+qBQdMKsoM z+<_wNCcDH#Tw4pVU1{mCGrRxmOa-p!>gEsr!U1UGYp^c8%srm2-0|WQmY+ev z61bq?Y!DPo@>@{wrutukg3S_O+W#gfc#0XvU91U@nTtzIyjK9mnY5N_xl_0M`q{=*Tc6Dhe2b9lWG7eA++ETarJ_ zTm37GonN_^Z9zgKtWbQsR=nro7{aXwph-3 zfosS`lf9~VOCL$WCO--pRd1@WF=pX|>Zk~q&gc2;4}|I~OP`-VSF3%zgr(>)O+!xq z3xs`D9Y4QlTpdwj^uxO~=9K^G;j90{yX6MFTc2%=3b4BzE`aoL_&2|T4xgG&R)E{{ zsp*>F=OpiOx}#8uR2$Vt>Y2nM>zSZ*^BHAN+{>uPjt1&gxmkxEQgR#4H`uwDAda%XFsLBSyYgm{ON;~1bzXDF|7%(T zdw6C>I~M(#t?vhk1M?^#QadbxmFsk|c`*xEYku0~pdE#CxhcTPJ$5wtshZWfFBM^()qmk^M;tCLz| zT4VPdOMdXj>In4?y<>SbO?ln^4T@+oS=-C5Kn!R}%QM;mq>NZ<_RLrg{g=7a4~u8y7#=Kuv#YrJC) zGaA2wo-lM8jY}7(kOC^{A0dZt`wRrXzwMRQtfyu_>ro|baq|tt7G>`?F<2@6?^tn@ zD&{@`@MTe}fEL?0t9%k7{h9%(@?9uC=c+F2b+z>bLXH9*sQp!B;L8~lq`&$W{{xcc z=aCx8u_9s!H1^`aKUw4cyo;&h?X9rA;LESCsXrbwI)Y@%Uc;K7a9fae70t49#nHwQ zCbZ|r%MvOu>=xx)%2cPdlPiRmTn(MxAN_iX^pbOr&}2d51Cs7Hi}o20=!yh#qW%?Y zjPL*TL!4UtWWZd<9p-&<$x-7wQ&R=+v+Gqg0-9up6UUq4sj zHWbI)?b{tTA*|!K4xw(U=AsIHY18efPnPt81Jt01(2F=;Zvd53ok2vD9bMs+r%BcG z#&f;_#MGiTgXEtB-+!OzIq=3z$D>1XTfdE1CYF|?3y2+txEb;ET+WY$q7?hsG3?5t z%F_B|>#2%@6BDF-Q4jhH;-Rl@WzcrruE4(grrfqrFN!#?cbWd`9nERr!BZ%7q4p=Q zoUS|Up?3|!;Tw6hp8ujI;F+w|E4)78;4JxZQ!w6mq@^>p6tNtsZ9t6Nt^oc+Rk#1W zX0~PSMcXIVdbGBw_G6B?kF8_0T|)# z4W^3;CXKHQXVQcClg290YZSz7P#6?QBFS|g_^c%RF8_=7$Ljy^)XzQcYJL3i_2yP| z3(=aQbbK*;PB?RF4;PVoIB7@x3`*Tz-zJC`*t)f`?Dk9W{_ZdM@BF$`qtLVk?#pN@ z6_0W4gl9VnHiib(oLXs#ie(c=}RM(2U~^ZZJNhcJu$=ZDR%Iz@in>(|$P<9cxW5Vw&tN7Z zOe45;-cl}X;y+LNECfGJ`d=&#IQDp#Vn3YHBStLP%RCSkGkV`^;WHncXb*Bn`IWkV=j~xQn3oDJNjI(|U7p(K|Bw9mp=E$8jO| z0K_G_ybS$2M8Ka!`?1vQtv6p(OK&=I-(+-rw*VqMld@FiUO>e5s(%X1gi~bEhxa^I z-c>G=t555-h?OT zp~{-dVBHluW!SaHbphmIXKcY)E8qs1-xaL5FcMz-6r{9777XPCFAUHkML(A&BwI45 zqjz43ZQ02{BJ4Q~;I&TrtY<;qo6G#O(h7CfN%RU5nU!vs(0yGsjac6FJuss2`b^e2 z6(kv*v&1gYI5iR4;gakA>yQ0af1u1}!?6`C-lJV;Y7&2b8)NHNs zT1YfyZ=@X{%`_(=(u)u+OzpDHvTP`^!Glb5Op}#&;mqYiEH=R%wM_x zb+&!i~l34xCpN4$O%~u4*{);D>0l<g$1Jg;4d>cWL-E8mIsYn_ z1Pa1^G5{W|vL=q1(iQ<>wJ!%dG$htrr!SP^NCoO(J7&qnAw92GmTXpF& z^hhLHRtpP~_+5dDsKZiU%gJ&KLK0G;7;$#V5}n8xh2UQRa?{8_dpy23y`NwPA(mdU zKJTP<{PL1Bw(n{cr)KJtnB)+7)Izbbl9^-+=P|Az{9y=<%?KdF7+QCtT`$(lD_UUy zlSm6#9cp0ZV+zJuJ!gT5^9RBXGRt%xDo+EjJ#(^UK7^i=WfOP~E)ZJcjO^l|zMfhF zVnenE_y?WbOH9h|SbCgkfAHs58*$y4!j;vvJ90Q9w>40)Y6j4C+&IqhiR=3NYg^3i zZ_)BFSO(vp^Rb2BDyNHx?(R%F_12_kWANipm z0b1IpuF zB%T)Q3d&8Qc4mtT&<0Pwp`bQhVKsXZAB=qobH`t~@R2B14O?xN*@#_~%0}sS?^R8A zcU^sP3)t9wP{7qm54s2I^Kq?$6<`ajp^v<2v{@H_v@F&}gez?H0S;~h&8~vyJEUJ9 zpC%z(?1?7Ea84-GJ15FCyE~oou4(}kmBW;=t&@VeLi3(TXR?aHYv(pB^v)2Q4h|~PJ6~2pNJmrtss&!Q&q=GiLQ>F(O4;MB z7}kKM8c;cHiauWYVECZv1)*_3*Oya`T9)vQYjs;IE3ZOTFV)k277e&EoQb~TUD1cC zY5;GHgGJph(YMI~c(g8j#4d}yC4jZ|UGGaXeUB>~#4p2zbNOXA1A@I1n1A%R6Tkm) z2>a9d)=~Dc(`j72asMEVso~03L0T!~HX69P8I6FOzhevBrst99LAwY$3l`>swYQKj zWeXCfmYA`Wc)_DEP2V`9y~c{2a#ugzXfZ07L^sptg@HcWDSl6Wd}y@b2reGXA&Oyh zTAnLi`hh#eJ33Qh%i+r)TZ7`Ak2zlMO?V5(nf)JNQ!#}<)V3$zseI`k;np+}Btw@` z-SVteR=EM$6PJMDj>vwc2kN4Pdh3@A?IEiii7ysd-uhxM5v177-U$wjDpL zmI}|*lID#xBTT-4s4%N)QtL@^_OSHU?@NoQ+@M2yk$H!#eG3V*btEL)3A^6z_ z7m1nYgdQ)Fp~9Jmg}m0sF9tTf-v9ExK5Xen{l)e4$M7P;n3+|>u<>>G|D zUk~Y}Di-Im8P$-*8$f6amGo5@a`}HjIWQoGauQw3IGOmPBqT5S3WrLbwP)sGY^5_8 z?Ag5<%V2nQj?CAC;BCEY8ol{3x}t1(xICDteseJyA>F&4XrQguRKkTeqI}coShB;w zQ#ZDED(OAhbFH?!LJOxE7N`ze=WJuI1;G8E??uo0nmsG2WqG*cpY)!74(!zPpyHkc zJdiylGXI`r6Jf0a^I#|tRNc?nB-EZ&CObu(6R{z*-`Bv|&d|SmK!t@SjT@U-2L}hS zc-!MHx8N7inyV3lOYWJu@eUVwcKW8CgX3M%O>60d$oB-#OE*g`j~r)44Y{*^+<)2p z_;fRBUJK!n!YW9nr@mRoBbN(A<6F4{wN%1%GuV}I?|?#irsNI5{dtglrf&n(610O! zaG)rJcIV_H!wZ>3I%k&bTmrl``tTWS@x+B zeOB~YrGy3#u`n{Mg{Fd7I(?lge5k-=o_4N(uTn@cZ8x;6aCy=Z3&J7^alY3E@JtvB zy`q?-KzgmlaKQgPNP9rai0?)}14l$bkPxnqOS71EEG>^8@dA&1f-HZpY3tBnz?$=Y zU`nfvq7&f}t`qfrKs_b%eKTRX%9eO%=x>405jUbLg>!lYJ7MqFSu9w-RlPW8D@IjM zl|S_2g-0ioo&ylC@V|U;$50_Qz@Deo+mz~+I@L1JFZI+iwki%}-lj7nUg?t9-K@Z! z%rZB?(>^`x!w^5wZ()lg=3p(?$u`N+%LzXN2F(;JLSUa;58xPaA$9lpz~elL#KBSXbq0!dYVxX!sxjy;altc2$aqT4Jrqym49Xf9Y{K=% zibOwMpQ;nl4ro;us`1Ip*wvf#%SGd-`Yt{x=f=D37GXx<0-}SgL7>B$LY|`d0xq3{ zIQaWSCA?O*2|LIg#O+;KeLC{X$rVK&P&&K-*12Yqt9cHyrN@xS8olwuh7uR0>FJs2 zXKi5WE_#2>-E|#%y1>2hZwZf86a0NXXGO*=>jE>pT?QWStJi>Ca82VCn{t%Nt$EPm zO=Q~}b3xkj9Lrr`j#>LE2+Y*;tgW6k!f**fOWkEmC&-o{Yp7+uUo9u3(Cm1Z|ML?1 z1}!V~{j7Q4?}uBK+Vge4rZfwyGrzyfcKHm#lWL#pOL6>hfJLA{=P>U+!?JzW{-qgv zo-uEmTC#*yI~m)-6z1d&@#?16l_-=0W5Hynw2j^}dT%z8&;&o}1w$=!&+fy!g>_w= zGa2}iQ|8n`+%6ABQI4(IdNy5F{25QOY;j3+uk6_#LPO0z_ol#S`k6|d#agxU%udx^ zGhGR5m)N*u;(T)l1cNh)(_P(NlD}~r&2#ZKV+fDaU1vgzyPbc}F?f>Tz2snGy*Oow z+w9rpqnThbM8+T@pv;?*q!i*DX79y}}j38GJm zy6TtJjqt;4Y4>WF)tAXbC5d&-ywH?7=Akt!yGBm)kA)raV8?FS0nNe1kuH;+^js5Oh^z>jb3ena*n#t`N@lPES{Ga?tiY zd)amE>Yc$=pUB;azswD$in8}b9Y*u%B=?pKTL=3^o-S|dFNg+UzjSC9xB7h-ZQM=n z5hS=}M?3X!I@qwTXR?F;96DaGGSnr`Bx~!(^5N6QgP)yT$bbKQ8rxQj({SEw+#D>w zwLW!~ZpWHtTb;Lj->vK`4QUq#BcWQKzfdq^9(=;qc=xR~ANI43J61U5C5bQ#maA5E z9qibWM~zHJtCIVAJlZ!9xzW%pO`EtG{1IlgBrejjZe0qY!>Ls52-IM~Q0nq$w;R#{ zl*+JAsVRaoqLGvanfegL=klA>zhwbrPE*vsRxw}jB24gk`!vhnkpJG28Kn_##o`|n z%AavkXFNh<^KqvNmb29crHzwgsHKLMhX?9Xt^G$e^k&3OLp6(KW9B&XaVqG@V3xb( zw&I5ER>?jVNj#S4K04zUBuXGjBpHFpPgm8AXL61n4Rv7j0@kz9xLzxB^k~%ftKtTqpFRJ)VQJt!DlX$%RWV{FIw!3aca&gH#;=E2l!rXajoQA`uf~mX-P0Sps(u0%fBPYE zFUpn^0?kgLQAuX~OZ@y2X6fwkDmhitb5BQ9^OMGjE_uo9=TyGFZ`8t+_5^#$IP*En zQ7A1#)YVYhekFR_%VYNw^U7e{#%b-b(k#yLLTZq1{D3i?o6bZEXkXvQdHKJRTH%3A zwljW8NNw#uNUhSW9n$nr&tEM+N-o zf?Ko+$+Y~z@LKcM~54VEV877W(ouH*qcU;7wAR#TtnO+<;aQs}D83x&sclCh-)zTLLSO(^x{L!{6uF{4}W-p#Qd~A zHldhtF?`2blX!w5scV6Z0ke~2*e__ga86!hm$&YpEQNo9a#r{8*SGK>H$$FN15RY` z#T`w$_!{JRqi)_DaMtBZS~HXk5EhGaK*@57SB_@2b=7LarjwYjfC0pYah=I;Vwg$c z-|!(C@CH&EQaVqf>KM3e$b;|g!1_)DRn991Wc}HsdI}M>+ z9r^ey=K>|Qs`%7=w`C#AzDp~z`3vnoI_hQ}mm&Ys@A&n@+qrDh4Z(?F!DyZq<(Z>= z8qI*DM1dd<{%k%;XsFBwOsr@jZCA3a()l5~Q&DT}NXf;tQY=O9g6^l}pi~=uR~NYN zZv)9+WI9!f6gYWs%Im#vYQG+WWsNxioX`}UC?l|#D1Dm?wFZ=IRs;Z+dlx*eAW15m2lt@ z5U5_+qWl%@^RG~~nrqI#p+;YlbUc=fwU=QS^UQ}(3DN{Ma$kyg%6a96bC{~|m~=Fo zC=}_2B`?m$jP}GTNNf-64TQQay=B0Po2J9Ge=W59>!YMSUP*RgqG_wO=~iaLo8N*< zUWx-d=@XN9H8b2Voy3j>jv(BJ?B|sky2v}@5|Zw*kA_3Tua6HLgW#sOGw^(VEy0nlzi*SU4hoSkhD5DO9aq1+X^(xxx(wbfmFCK%6AI>Zrh0 zO@A+0YPLeSE=P$DYht2IclMAk$-3hrlB*YVze%JH2ngJe0i^BHo&jIVA5WJ*e~Tlx zi4wbcXMSg_{VNo#j(u+>2k$2XfM({|Nj_yULdpH8$S1BJFBYGJf{ntOB2`$KX>U7c z@cR;d6Q#J#lT?LVN)NIYdxNPCVeRuvcA7heJr#FW-kcKpC*S$aG+BO8m*&3Ags?EDst6uI8d`a0`=LRz`eK8o~YbbDojglLu?;Vq7~x}X#k?|pU1KwsGz!l=i)JH`a~lqH0Ab?iQtQ=Tn@73L z&=pyn?Isc$PF=65{T?B6=|~coruS~9{b@k@{UZIx53-vPhQ;#Y%Bu$JnqTVHze3^rGl_#DZg#4{D^yH*p_GMxSC#(~;=k zZ@EA1aDRc#!G`zJOJP{e2n+%u=mLTz3}xDrnYFHa{aW&g_=UcBt@|78G)kmQs%qvD z6XSv`5%EypZ9B#u>7k->AJfwuGP|zMaGQTL0{?NFWNQG9=W-vr^Z925$76IjHJd}u z6lbROWM{bg6C2G1@>5VE?cI`%@;!yy1B=iUpTW4*Zs~6M5q+49$s3GXv@bQ!JW3?F%_Ri!FBS#_ z0-R4QC93!J-pyemcb@?lKM?EfuiuMon;(9nl2HA^WByK>Z=a_UFoyb>Hec+gryP``jl(sb?#(_vg^ zc-*lKb})l`CqEauy(ON`W*eemi`cAiaZWEi_4svqedXb8!yHlavf8aj$6sm^ zRcb9FL$t$DxDu=G`R=6j50YXZJPpJF5!4BSxTqO{i_TNGD7N~picWWJ;|m3fC-BY% z$DFq7R}nV`d4f3OR`53}s{EeYMnFrf$8V512dHJ+F!sKI3z;eQ7@Y|BN8IveA( z(ho*8JFhHTO=)HN6N-C9jWJ}^K${!Qea9C4wCJG6(d#ZCEay{gV~7CYWSw_Pu;Ej{ zJrG4IyuK)hyERR6iMl|Jf%(H5K5X#Lq7{I`&O;cOFc;{l@3dZ#Xnxq8WZlIL36X(nU8onVe$9ucAcpOewX_^m&CG-S+^}__cb8VsG%zR{#x-*@Z z^YKZJb+q3h(Gl#haeG!zrC>?spfj-JY>GvESJ^92O^YdORQ9<)+aPQ=S>s?0BIX3n zN4H*EoIDB{4)hrKGGyke(P;c($IQAXFE+%uviXWHYSY8IQA_MXXAIiG#1WLP9SSX- z91GUMe0EDl?r(ppT0Z_r`nIA?run$2RR6?LYK!6Q*W=9VE51EQcgIwT2ks{5Qp*c3 z7MK#9Hd~A-7A#IWnL5Hi&v+yiY(%GV{aMv8;H`bH-H!1yvb@&p`Ax$5Ay#(w{*XxL z46xjyqcx$0A3by)3brHKr`nP+*#BI>l2ZPF^R6Px5U26hEWZRJuJ38M_puFe!pa!% zrhmsZzrqI8zm|=;oOX7?Xz%(mRccYvwiwVsmVI_1rw3~+Ku`@Hh(%ug`k_=G<&5_f znrJ~&d5@Gaq##N|4aU(Zv}DJaypoKp$yCQA*h~$@zy|QB!)s{OXEa&K3qYa-w%B&J zs6rf7s@*n&lX_EYF@@p_RE+h->I>o@cjaWJ@A7K5PR>?p9ROY`D2`3#Y@NI4Ei4;| zVD5ZdrBoKe)%X!#(@G7pJ*puXe7r-iyODKN%1+I4-4Bz}M!2^iMgj9ZMhDr=)J_F6 z>M_i$B2L7bk7A`dg5JIfJ2b5dWJ)fy)3Yt4j z5E9#?LudedDRchPHOUBPKv|Q>u%Dl`J*@dkqZ77Z(#$c>vlIAXy!1pc{4NrWJPGd@ zKW)7rh`1yg(=j{(;D6HC7D$=L0#VMRt-1L?F4Q1W#nt;Zm(#<1i@qH zi&5I)QWL{O7czSvyZYMZcpwij8##~KUamaQ!Y);IJn766qP}0RC3zAcbdc6I9`61w z>fKJPc`C{DS9-lfjJnUt*CxvE*05`m`*cFg(kCyF!37IU-C?Sfh@F9vt8*u5ds*I# z7u4|0ol`P91KxSyRc79u>tza!g|uX(p&#}$K(N3QJlA`*^C3+JlML{nZEIfK5pDb? z=rBjzdztC%Wgl6SJ0IfaIS^_W>hUXl8j3^+xl9OVgJQQcw?xx>oE0 zgb6N$m8}@Zmlk`Vo9u@=r2FJH);tEaw8LdwV~aDXlr!vBX1QUJ0MV-pGPgVfY@Z%ehk9t zp44+=iw7KcYetp1A-I*&?)g?!AddiCt=HF-e#? zz3}n8G_OhzN!8PxE$+$AuhhHGJwA7%9w7HN=#ken8Lt_KdPM=y9NiHvGL&^qDwCjE z{38gv%Rc~v7{;U%D2~#6i}&VOLS3rsuKQN(0=0|*-()u$r@Z1m0WpS`#VenW^nMpW z@S6}c;v{yHfx4=L76+Eh?3^oInC;6Td6I&%&v>oYPD`ttQYM3K>ypKz;ihKo1+nER zS{-ka3sHzS&n+yNhNBNppEnLid{-9=I&JIPEhx0m%McxBIXR9N?#etQaGLi@WoTpQ zYYTm~<2Uet@&y(n^6hx^d)DDCjgOBcN!5oheQW;M_vU*7!fvy*|755mpcYIaJq{0T zE6+52|I{zBcGwQQ{cG)8+%p+X$C(L{Q%XIJ+f9*E35dLHa@M z*hd*31A+9wb^X0fB!7qTB8~AIVDDzXJO4dc&^HHFpPqruQ=s_tQAxOlzJ?q>(q-p0 zu2862is(n7P~XaHV~#~`IX>u;E>ok>uZ2S5e=Zb~IJcv8%Et1_nRvESLNm0^oRqq@ z=ajki!o^V|p-5j_k#3u~i14w()WJ7NVnYdn&S=LdQRN%l2)eQ!Qg{iAg|%;XiRU(p zVn`SVi-zB?^5b>F{V;^)c?lcO8LwcIeLd`mxhQ_h)1A}Ib>JZrLSB@m?+s#nc8yyZ zj3NRi+;vk!32)$>VOG%+TdzjjT!$2%Px{wbXZt zB_`9h^lsbDcl@;};U}>d!gEcLD3z)4lP1orl?rRLPxa#uuBY#Ry!J)Fj0`r?b~vJ7 z4JuE2GEJRAU%Ay^uSdOVD&UOidbIJaO$EBSU9%T?`Q~;yqmt5YRpG?p3@=}OUyt>{ zwL^Ocy6=BhuXwWJ5mMvg^WO%~oP=8*&j8Q<+geI|N&$<#FDDy|H}QNJ2SBAKtpEuA zXJ@<@(T16*>;PkPN)TsIiPS<$pTNu2T+eTWWL=NA;qT7LMG@B#Fx-Qjq&98w`+!7S7)o-Dri zpceJY3PGQ28fVO-dI{Vjp`gvmg0@NMb!Qrxc$kXJdf2`38$@D00>Ax879FO=o%y*PM_4}^F)eQ%0ZIxLW7w>sucZ(CAWXCvElt7a9lVzLw& z%B_Z1X*kiQa1W^qRp{$)jXq-M6)ES8yZXzqrtKQ6#Fb~NnSky}_>6z7WF-XJm+~>9 zYRu_PSI=ZgDj_=|K{MoatZclQ0X%vqh<6W~y1jMEEq)`dS+L8XgJmW9Q@}3P==q z&5p`(*3yAeGe#L3z_$e>S>FebFTcTRFJC^TF1Fo3k0Xxl ztU`4RCY_c}1#29(`tkHAU0nQzxZ=$}^x*!>H0!6RSJ%W8S<1faUsKpZg=)m2v^s9> z1mZ1_*IBt>MVI1Kf(h!5OkWyWtl#}iu=0HHwa#RF`RS(K29Lri=SA1y2VB1Os56n) zJKyRmPu6ti{VRP%mSIgMDZba2S46MEv*8E3yd8m-C(4qXmOgqE9Wr4|#Xxc$$JeSo zi&vG~z31{e(diDBlb-1@5_Np6RB^Z%Ixn$9s^@ap09sKS`M0j@#M1s5*Or~)*pBr9 z)7w`@DpzE5`wlL}riynRBx0yRhJxQGEPN>;SM-jwT4-Zxp#(7AcW1gI(?(i$L_4}^zH8Mc_1VaC8G2d_>gQC)Z0cxCRWu3dQ`1}lU=7t zA;OBk_#WeC77MH?vEi4Ylx&HHhSvh;6)&H6Q>0;NEFOv>?jeJ^LnDrHo1w&}i<~$M zWAavyyzq#Uoxt{09cOh#L6RP!ps3kUQE1qk88W@sy^U2a!@-TSW11^Z@Fq^Iw9Knk z%p1twZ1jHR@V0yvG#y6M3=g~0%o#>T2p{C8hj+~%Kwxgu1)+~QZJi0v%*=Ox51&d3 zJS6U*+K6w5SZnTiF+Suco1eax&_>-Abml>Lr_-SHfR>-89=5VxcGmVem zr$i(hly1*SK*xgAn|jB>=34V`m7zcobC-g8cuBKNQd!QP1Ic}h`-=L*mk^T*j5E!> zRXuaCsFkfpGedq`^Xc?bo70cmH_jm}jOX^c7Dw9N`D)u%24j76cC$ETwjeEAR;3=F z{VeAUIYbHVn~Ro88z#8O{XJ|~Cdzj-Y6*=Q#%t*{;7bzg_uo|$Zo4+mjTj24$Kc@e zcx1vVHEERiv!a-nCusfu$JkqjRo$&?ynv*1HamIZ2diQ?!y4F7DeDu2bfPY3j<9_bv{xzO6Am6u*RGSoAt8Ri~ zfi?%vgR!(vO3xTcS)`3`v~gmWhn!IDIUyH9;nLgZu4~5zA{hKHUqu+qfC9?sxbfNZ zPGAzu@so3i!6(7*b%yOgkRS!;zlJ{9fhV`}u!z{xqYC?L+aCW1&{Y^Pt$e${^w`Na z{efHk#fU`XQSO^p>BM(tZ#i%Ayj_P?%_qDhKFiB~5N!0B=(xP>kW{YZ-yys+qwx49*Xv%o-j6>$ zuT4ldhgEV>ztfSQF?W2y+dOLXBrEe4Ny{g{E_YR%U-Q%X)!T`kk53qBrQKH{!9Q0a zPC9pPPHTMm>B0|h5C6r3{x4l;vlW%KH%HKz>rr!(Yhc&_yhSzKWyQ~#Gia_S zW6I?6#Ed~7P58(eLXA?)cl{`|@4WMb$;&D_Mr_Wu^cqf?x4FiUv zNPx=K%t2N_{!(t(EL->`qb7?&N`h-wZVvZuQu5&?{q`Z18rL_9@0rX^<@n2(G9hG? z8=WuX4+2#K3gUQg*78T8Sh=`Z{KG@BVwLw;1t=1dYoXjH$GM4-+`o@rE`Ae_9BkR> z6YFOG)OY>7n^^jy@!_1sU<*OCk=D`e@*>@LWKKhcjR}%B>GnJ^b~|4*OE72)KXLOIkM=i1&fhAo-CSXhI~im<_x-Q_1+ptx&9KubrTC*4Q!;1#9OX^KT=L=bxgkC`jP@wR^D7BT7>_)#^$*5HtuQ0q^F{zL-Kc- z!?R8Y^!u+ss?&Az2tDK16QA3hBSA|CrL>kq{DYRm9^M@*{n@Nf^Uu$V@2)K%-A~(J zK~3)_bj|hJ7CraRtLoqE(Ph12qmbz$bI&r$pzf$Wg|%OW#@?QH?*x}_vY5k}S(E&{FQnh`XIuWBXOw}A0tIM*ADkD{*d8I_>? z$Y^L8{(Ia?0=6-e>wkN}K_(FvhC^A9|C*D~$I5tj9mS6)!VZUr=*bKzEYuB#{#c&) zb9Pw|)?w63Nur!)l~Fv%C4n^o{(-eV7Woj%$x`q^_}x-hFtOjowi*o}mTf82r_{)xu(g zv!b??1$ZmyFNYUJU{+^zpRF_Nz~SG1#6vyz_6x};ei>JXs8WjU*U_+bq3=5=wy)XU z=vNpTT>N&qIE}ytc)s`RJobzK*L|P$^&NZ1S7P`Ubl;^}yxi40N-Ar=7u2@YtS@rz ztEMwOI`)b5_y28w{bTgWCtRxy(moz8uEkK@++>>T!XCo1yEpVVp-HA+?N~RN8pO`w ztowxkx3~ON8TelM1mnePGZY+Yy>a?dA+#8f7;)E>Xc~(4Z5;p~<*mFf50E|K$k2F( zt@{*>A>$JBt1<1ia!kR;wc)XXLsA^IqXAR*wTg>#{xBgn{~TM4^T>$Mqy@s?A{`e` z<}%@@*9d5@J;tzy*K*rNI&<_6n3xr zC~L9%8Olzx-O7EFSx~r1G6b;kWv#(a1G5V-=sPe}4+HMnO@od@@& zAk%c_;p{#4#VkU)g{>dU%g(>k6-8m3xtdKH(70*XL-_r8W%C##Y(`o0FRN0Y3ESyz zM)#J-q|PdRn)Hb)tTCwJzut;TyHGF0_Xcmoao>~^<~v{anch7SiM;t-`n^!Oqt&@U zh;Y2;pDn_ilunS8NXOd0G2oDf7c@xcvr7ojHs3cXYafQ>DCnE|dJ-v|Gwuzt)NlBowv<_84fPm7*pV;-|B9IewuTrVBR!#8)R9|IvjF~?rE+`-!FMzWkR{808Nev zw(AsPid5azR%n)|kyTmlY(|QkVPsh|hj z-Pjv{ZC}4{Yv^udJY4AX`K0%=+d-d*jms{~MBL?iq0f~BKaV7g4s+W86NBvSD=G=K zCiXEz?QCu6`v2gm%f5{|Nd~pf^Grw}s&9B9!%ca> zlY@Ct)r=4>wH!$~dt!q>22aB9F|a$sgYOtN3pG0W8k=WyciRi_n=>`Df~!;bH0de6 z-$}w!mlZnPI6L}&6t87r&#N~%N`~OClFQoiwPW>i;}6|297EPX&J{&F0dLCDP?B?9 zHeeEM$uuKKh4!2seuhWU@%Z_YE~&>h61TaB7Ho^6OVm0*II@=S@-G6Y3M>Q@;gaAj z2%aqV(R=wr@~mP3Ou$TphhePnARQf>i-=73`hL7HQvgVzNqg{iuVe057%rO_kSt?JP}r zh;!W?^JoU4nD~d9aq*)7LzXF{+X2(ibg|SM%Qj^blMnB{i>>gb?pxns{l4kPzPDc{ zPd~+s?bK>-z%HSuL}{V9--?*4*ehcR_3KJ>H zvMSzn?yNI>$E(P=k76V}gw#ZV%w&cd6F|s^@~9KjLlbqo-v7J1+7RMYY|g-@L`>Sk zCQK1&m{HNvTSdt$3n!rRF1NTl%W}a%qKVyz|_%qev z6V7$aif5H3oX5eSGWibAM{nD*2g1n2@+4w}4)^$%wjTCzQLNpIaub>XzxVw+bYPZ@ zz%`7WK3O^Bhr{gEt67L;Pj(F1x(PFO#63K#-h>OqtkvlcgI*|X1L>}-eZN9*_(gf* zX3C4sg2aM^UQ0p}@Fb0vx^&ZS?(Peu*rGo+uzVTfC?K$XfMv6!sK;3A{gEa0rD91$Of%;o-K|1MYj8BWU58pg&!$ff|aJRcCej<~0PI{>l9jdTgfE(T|db6T)Fp(hr;~NHf$dY;+ zfz!#9GPT4x?X_FJI?Xj_ZlAqnwb+vK>!U1BA&)+_Rs2MS%#;|4l6co_Eyff6z-O3o zHHAtht(iDZ+nH8+BjjD*RVfs{t#;!lKRO3o8CVfy`Mvp8fpQMf&!Kw%kdq~RTO&+= z<3G5e+RVDe6pS@0E$eBz`b2)-aiM@Kn({|9UB6t`y4O&OS?XrIm%qHlMZNT@5;x+PJ3dBHJ ze2qeUi##Oqb^v{q{Gp#HD*<8_Q{9*{$t0O z*(d}I$AKGBh%3YTyx!ip>fr9}sm+XCxB)wx6_MNuS1PS-mE|<(A!IcVa()I#PWsV& z8Z5ohH{3UK;ort0cKvJ0N3`BJO4eyAl3`NM{ZtxoGk2#83bh<>gQZv@FvR^shduqDycFjhol~Spf_`poFi2d@rP$o9ifttU%7;T+<94`A0O5w z9vhqu@Tg#%Q=L=u3~*i27cLopE1aZY8Le5C&vQ-GKQV{%>Ub2FiqqhDI#Nu)>~u75 zhA@iz>Kq!BAYB;J9Par{r0D!Ayp-&Ga#p3CTp^vCe2+SyWqCxV#*gXbFicd-&&PXt zr5$2<7kN18UFPgd(QcPJ(YEgS`0Ksne@fyvNDBge52?AKH7Yq_^YZjD=l%5E5T6KE z?GqNLj>FN~;4&EC)Pc%9Xw4S;{Og?&dIWbnH%#Qg?LoLq2*g%dodJ>i%UF8~$fR-f}7KcQ+T?7_H%``@}#2-{5I~O=g|FKHma}$^?22AKUFjPli*UAd(n3$OK+Siy5zd$l|w1Nll&RVFS zqAAZOy1Ib-GZYLnRutq-;}Jb%QD{)*>DVx@g*K0mjhj`<_3{b8u=o+qzkM5kbT5XESl3=L6TK-hSIeQYgAW=wzYr zxGL?7bpE8|rseROuJU|rQ}mdMji>P4_}saRJf<;WJ4|XU&6dCS(dj)F!bd0O0cAxz zNvbz)5qN1RU6UMAT#fk}rzCH;`!#%FxmPy1Ax)(2A(S zYvv-h1;_;vFhv9t`eE z5;+yEDEP^_3B4f+v}hJY+NrnhbS~QE>g^=cf;!d)V#r6pDSV^!x$5&-4+{x%h-e}Lv~8Zvg)5lM@P*OI6~kc+ z9}Uu>2#!0p%t?N@nQ~4jJyo)_Z!enttCYGP{Cq3}4!l4%Fi+x#~XP z4J;I*45lWj7u_9?unJV1GiBPC7HpQ6x$!az! z=Q6~LhF6xA0$3{c(>kuLxx{3$F62JQxyijc#McvO6J1Ym)<48&iT;-Kj2J#SuRFxXwvLYAY{`vT#L~{p=ow(Xq6zvHf~gw?~oZY7y0wi0hu5v#uD4 zAHol2>MjfIkR66pG<29ew#c;DT^Sk()u6@gTQ8%}GqOfg zk?*0e^&dNdu4s-#hMr=$U6AC;7u^JXz=DLDNo|RQi9Sj=({lm>fcGPE2Gy$t5F=^f z@glpm3!ORyw016{;t`~9)W9rU}ALLbWXfo z^n;g=BE{B=;t;|>hD1SR6}DPO`@A?T7?~D_38Co>aXgk;wcknkkiXuDuWZ~FcXYPB zvQ6s1$4V+EGZsO}WdnL|X>|{pwk^G#-azfCa1n?04M|&!L^nf{)UrbpL%u z(9_0k6HToz_YP!K#(&{|^T#zN=D}#W-}!R*s@R~_v&0+SlyJJY>@Fb;`vZ)}+bhw$ zc!;dwbP&{#4g{3ds}@n}ng3s3go^$lP|4)gq-ISqw%0xCO*!@v?9eO#2g=KT`8h3`({mJ zl&F#tGgx{#RtS+9PviED8H^*UyMH$vEZo{!6TaIW=lW5`He_rUfVl@gRFN;-!G>59 z*B9*3B2g~1Rp~7N{#Zw~SUpY-Gci_aodl&ErsY3TA|%;Qv-1YwJ3yEUS}%A(1Msj+ z{zPYarh`<^fB_K#a8}_e9YMpSf=;TKzGByA+;YAWjWJLM_~0LRCBA%}ZT0U{4zP{2 z9sB?IG@BnVLC7)Np^4RQFk8{HGR1);b`&}}$WygrMI6h{Yiay*=Z}`4 zR%vfwpnMeTPKX{{mL-p)k7-D+q}pLjtSOC?4t!P`8+)x9PeHV0Hy%}O&@gdcXPF)9 zx}2tc*mzJ`VHs+<&n)@u%}-B#sMe-UmeV_#kj>!;RI)W4HQBA7y5QiofMU^GP5ykd zSoKSUV-X4tEGMB7jT|aq6DYDtCb}MYUZJ}H5?wm2`TsiD|M|Z8_g(ZYhalZkZ!?Yk zfWd{qg~f$=#gx4_F~WbamC+w%5ha}IHq`Hsm+{l4C5@36dF-kPOWm4L>#WOK*tcZ6 zI9Ra;hwt2$=#AD>H8d8*XzT1~S>in^SAilfHCsCs%*d~3&4ZrYdF6tlQg8|UkHMe|KurvPv_7Xo?+y5iS(BA1%s=0xa$?oCwnMaoK^;Jb2>h@gsCl(d+wv_v&DruQctTWK14vB{PUCrp#IWAb*# zxeu_M`Uuupeh7wLm--3D<@A-`!_&{g+JCX)tA+^w&o$BYK-fq6KO$=E_KC^oEP&FRK8;8OQQIsIjIu<%|cPAZ6VMhbR z1kkFMcPfo3*bnBwnHl$>&CCgmKIdrA(*DO=HSjs17w{c-BRsK-71toqY0}}9FH-{3 zK``W+9*0Jh4}oztFE4)g^~&VGwnyMzWGBdnAwlpm4nXEu9~w`?H+ggL^1=mQ((KIG zMdSr(n?hk{sH_>o0c)}1jSKtR{?v04SFr<*1MYEMYX22e3i6G@bXc0E<8h?5C)N#2 z=kaB+GQ@L5XxYOh`@Wi+Vn_BE9QI8=L)X$|E$Nb!-NcIO*(!KS@<4S~!iTxGVQE!y z#IXI{*wx8e1$>DSH0oaX2PZZ}LIIc{r_J>ALL{vKM#sayz$6I@cvv9WL%pE|gl_eK z>>`Npj9IV?f=Rg3fB%11-~U>v+Ng;8rUsN@p?A0YcX&PF`0-g9Tg^L<-jkuuz^;c( zZ;8-xsYpJytY;no@_Yx`ai-@ipYM8x?aHxH1;3Agr>CbmaDP=#HJF^p0PhzcT=F6r$C`j8WD+9em3G_^m-5qoDWuNrZ>D(K-qgwzHfQ{^f1deAw#zCzHX$|7T zB8$+fT=MpI5Pee9iGnS-6P=ET=!b%!r}I^>4x79jr{N~Th;Z=BRD7`AJBG{P5Bnx6 zk(ECXg+Gg@lR`Ou;aJ=Ip-wf`3civ5&ikt}xA3Lp;~eou2T79Big&b!8SAOS2x0D; zhr4|t%y%1cd;8@xFetS?FwWK2L50!+TfGG|= zD5|xY;!xN=+fnpVH_w9v;t%V=kXMDQuDr3^U{vy4dip2@Buz4jX_=7)u}5rgv+-$X zllY=wn#QaKi#Ls92wwi`C_a2hPRq-r9ESr2h+h*IY=fC;9H`FT35*-{#bn?QVJ6io9w03nG=_R@S zeUZV6jztbCs;sy+3%{6$VR)WHF@dsf)v!`NS66A;!H!8PNP8*GUC~8<*3;`u^k}ub zZyt#hD-?3!;#SFyR?0HuP8Z6`m(OvUHlGT->-(Ci6;V!+LbSVvAyGt;CmpM`F9=qj zPq*6;_jmh4+L?boK>xJ`TJcfhC681Pt-R0hptdBQz)rvjqCgmnc=*%y_^=|71k{+V zdKx_3GjY|RuJcUtzJOuxTq`qDF2rIe`_}W3yWjKr({<>ZV%NH$0b@g_#;KJCAOU_~ zpV;~F$yryL;psrz2jRlHs=RWCb;IkJXO=xH6L1Cn5hSjURV`W5)8}bX%Ij0B@iKJb z1FX!eoTPv9AMRAvhk+AInD+ITXvS|UW|8`Y{V2{souvsvN~)$G(u4{lxGZR-p!6%I zRsh93o)62FE_w#NJgBJTJ%O!0P4mAzC~kR3ri7Y2$L?mYb@CF0D*2%rH_k@GSTEVw znvm)iF|iak`;-n>aXmk47hOIxx}`nzA~AL@BlCahIe*`3vS+dZv8o-V1wQjb9~*XvX?%b`a*Sop9RM2Iq)it4Hy4w1}3V*YG;%qtK{AXiPk(bOUwV4IWlQmr`g3 zKEES)Y^8+A9Z6O#)g&l*+ds#S~`lsrcfvUGeu@#5`PG1GEy8^M8D4rf(^ z_5wOaT`K(x(c9mksEYk9^xgPjU(pTttwKokjrr#eR>7kuCPN%Sr>R^`ySM|acpNK6 zezrIt=Bo!LKEA%b!%rE5(ZQeRU`UF&B6?V0?+U@5`5sT#KYM8G0`Kwy=%qL~?lF># zz>k{V??*$t5Yw%$^bpr|>`^PsTAmYdeDP+FM=$93(Df&Tz`oh$AG?g1{S z4_XoFa5RNjB?+1|zXp%%yYF+t#K^zvZF%=N6Z&7yX{R&wqcbjf177l9>1+p~6e0RQ z!4XcjjL>n<3qAw4@OoZk*&4)z68W6Sm4Pt|*3sF;r$NmVDo#!_qCeZ)tY`^5WJb4> zefa({6grQmI3nd_f}DA_ILO|f%aV7o$;%W72(NJo*Fo4P(!}2(`*OtylfOkRkoi() zL!%Jx7ZS?2X<5pDov#4Vr;?c(2`hM^zG~_GAIoIE38sU!WX--ecD05kLw^7?>s3kr zC{hD1N&*Xw2zq2A=nJ66pgw!^-m!#|NECSOPY3o5V?O7@(6W%P?IB!(fJ{y}H7Pv>>QNrrZoZNQ)J z-@k91)rrZB8Lr}wB>TYl{m)nYg0a0wWth?jAGvzHo(9km6?!-SbhacvIxC$mN>~Yv zUd&;}lGw_{3hmPbU4l)h-vthlCJG^&e6sjink}Xg-|7Q!5N}jPbXYW6XRP$wk{&sL ziZKp;502`2c_I-ZW^TE4iMhG2D2xylo)eiupZ0`*4!jE_)|Oa6O3@}H3?=$AiDYu= z$^Q|DJ%TM!-B8GOPEmtD4Da%U;ryMH(?#KAXxxbr6=d<>)U?0f4)h8EvA*rPFDkA9 zI}L}m)tfE79YPb`Q0;+V4+=$^*yti}if}yW8bz|C^V@ zB95YkSKttmd^N712IN}lWuTXQ{X^e9Fwdx92Y^|TsD#1b26vhP^ruyd)nE+#QK#qH zf!6_i^a@eK4^*gyNf-p#XNOrOg0bBcC?Spn$!NWzr&b%XtPEDDwG45%C>&_!p|S@x zfuj_@jEVHR^tTPjPpFCRnXIE2267);;SCcT3GXnteM<#Bb>2%-8I1xM{`5W7u6c%& z1NE4dIff(y&f7@rjBY8-K@yihM`T{qqx(cS1-M27m{=KnRw=SE1X)7wh}Mxy&I7Fi zp3x7XQxi%{>Q~-tV<0^ol5BYGIM5zAiL6}nYj(BWwc0R#Pt00Nt*S5yUf^5)nj?>6 zecoriUkbyW&su8USqdbx6jRLK8_-l?=399oyrJA=kL8Uy*dw)SxIr2C>|WlPh6c+b49LGy7O+ENL2Qp4YaiaO^eYL&0EQ2)?l1-u58izyL`Z+Z^l94!;7?c zuxgl$5OT{h@A4ay2J2zx=ZVTEkpU~!;R8jLR7xSqyIV!^!W||jM$|?Z1@Wyb{Erq& zJR$?}x2&f&v1vUf{7%d+Y~VbRD;2-T|3e`Y)A=|)V1P4Dcmmy(<>|D6Wh|6}2wQCP zeejXAehdgDsR^ulV&=#|CVIOw#q}_F#5jTzi+YL1DfRv=5dpI}dOUvwstPqGGHQWB z5Kjg@=B&h@KYysAQ1ut=^xbg^p$GL}1G-_nz5au{*a0`^wLV_$g<*$*+a5_&zZ9|;l&>qBNeNk5MJ<=xC0Mqy zqT=OBhn)hAwHSXN^gJh!LDs0qotDBvOpjQ6@6>L(|kSb_ohZb}Wruk#MSo0Y82|R^RBU1ao1ztSL z|I~UG5VVkvJ(zABM+5?P+K)l6ZXoud_og;K`r^ zW+jYSkD+#k9pD&2a>IjJ8~0G$)|49d^372)hE9GxD^)>1?9WQl;&Wx^BYtsDS20DW zW#6Ipqo~naM7^}s$;P#gAP`U`5FWTX{hhT#=Cl?+Oj#GeOhBK*z-UgAHFBtp`qI^hQaZQY+# zK9JJJ^*Uqs zy&wX@F7$HVAhhhR_Tq6m>1cOk_bNHd22axoTea2Vuj|(-b;#6yGKq3ZkM}6^bOo4( zu;5OYEg|gV`zE342<9&L3)xlfB~#DnU){e<;hV`Nn?O74o)6ni5qEmr+MOH1!lF^z%kf8=d| z7b44brEdoAcUtci^8-A*^vCzW^ib43!OD$sIYQ4c_Wd(uuRm{KwR!<+@#veB;)P#m z8Ct4%k_Vm5kx{%Jvz-#aXi|7L85cXPeT%?tmLZsRN;2cCzU-4NGi9l=I0x;8AjH?u z#9OrloByPprl#Z=4-t5SN$%lg20sUjTZd4?tQu^tveF|@6arF%*AKcOY~Mk}&Q zW2|&prwxSb$};Jz*eD77ar();1B}8yUZ#5dX1v!)ha8LuChadLTg;R}MK+Lgd&X2r zY~j#5hx4`_$QzDVX0`}!=)h5GpFfzF*`r0p zK{=glAurA?cXNGk!C`x^q)k2YBA9!v*blzd^37IJ+G~NqL&$WGvxv*ISw#ka+}UaH zxYIpdI$82cQXdnQCQo_2a9CqHSUSBX?!>#B)x@ZHql)B~z_Kk~4TbExslTt^FzXFX zOQsEq+9zXGTrAvn~`e91ACc20H?>gKj$&=gh{UV(~oEr`|dD$>Ud>Z&u6(D&n7EMM#7k2 z3y28ndei|sap1XOM1BKW-ny#=I-c9x+ub0Wy9d1WsYOZ{L{oJ=K=N=nBBI-MBK^sZ z)aeYuh7rNr5v+bwc_1wh@wn>vf|-SQI5BmT69)n9 z@XPsTS7eL0*jK{Ykv*)^F9R?E=vUvO34cG9NUPUIG>^Pac;KxT>(laG;%j+KyVZ;l zHx*Lr?=`IJUC@XTB}Zs-ZR$sA(*&U-C9K1I;jC-NlG65yE-n*^JSJ!W_KwAIY9W4x zWmU#wt3R@F2iFSh2RQtun9FXIUc+gg$9s$eI_pS;fxLUz2(5NAZ6p3d?zxL5fuBDh zj`Q2B$yx+*UREWlN&n$;G3_d2k!K~Gxdt*_{7c&}&=&?0@b|f&*P;4HI-_KZG#7*W zT$o&Y#HfPW*D(Vaa9fj8iJ%Ml18`@`b(Z8|Y<+5CCW8|yio?-o-*9;M9FJ-RO7_E) zo5{^ChabXWaH8Mf87+QGYd+H3nCi1|eocPZad&&Qx`;)a^L67D2$4T@X7Wn}vYd=# zHriPn^uJ zmWgxoi^jp?e&5=KUH28PTBv$Z?iBbZg6pG_EV$H z_lt#$IG}L^W}qSi%Y;7;_y1N$-+yM1wZWq<<0jqxA)lGm1I)#iePakJZMfxe%#&{( zJ!vEBKpJMt_Fm68G>{kGZ_pZAU%->tCD@#>nRD%@CGXc1T@Kky!{HKMbzrGU31mUR zwuKJmK9PggmPaP23IV|cIwAD>-Gx?UCs@Wg7LTabrVs(?Z+EKFe2{|?($A}zIyp6) z0gwt!f`~?k{%mp6qXdz3%|PG12g?-RW>{)w11wwX56^YJG{W_sbO~4s!^LrC#9&8jqKVgkYcyqGX`e zDuv-wpS)fFVTotbRXY7~gOn)rs^9misrour7wTY-M9$1WD1E+Wy8cll&punw@G4zV zHEJ_-@lup&p0NsQ#&%ZuQoZal1i0B ztxrj>TrtfrM7)-ukMMHI?OWi^vPFz=D~#~2$n~r?vjn_wRpUvgbiB92q47S9YKhD5fUswO03(_m94H0+o{d zp~U3Jk~IVIhy(;{esXH+7b}4(^qy(A&94CDdy|e$YwU7ydD{~Jci*~&c=@SvWqMAQ zAsqr(v26%Ke!IM9R401QxERB1MVm?_+%ka^p)G!rm@`&y3wP^bxf&E~2EpJx02fS~ zC*rbp;mE5RnZigY|2X#|LoVv&#>1i~chi-5xIa@AKZK^s=~Hs|it(9#QK%GsG_0-o zSgZQoYfyIgg%@!Wc`D^N%r#zeEEHPAfVWhftG`1_Ub&O{cEbC{`|g?>rZ5rOij%e} zs!uGJ^B55v>vBzoYC%i!uD9=8Jb3>Sdsl5yHBkLRh}zNQ@8@ekB=Mm4gK{HS&dH`I zmGg+G8@(xNmXkUvseYu?+0vL?ykC>w>}O*%JxN{3`D+ z6yfqUF$Wp86&an~$g`4GVMT6;-U|cO00k958GO*L9VLuxvy2vUqoGsgaC`Q`wZ6U} z*(zbRLsU8edoh6zJh#T!7IQzPCkAusc3hnUoWqC=YGuZh~Ob3G6rMIj()~62HRANVy*uA8a7|?Z54E5UZqnU1_ zW@)UBjDa%S?3gNR=MrPaUx6|HWZ$V=2q{ZF!3|2B=lo^DCf3RmmxAxT-kTQbm+KUY zJazM;j}AdRa|ESBOA_Y8YP%S<^Y-e z01jhx)R~#;K>G@<{)u{=0Uh(g2<-DmQMClekEcn9)Q0vSCGG9)Bk~DC z==MO8FI|&X20DAZBn?=U3;OE607N``)*1*xaW*ux1E2f6?no6)TMFS0k>)1<{TO-w zk|}|vo`WtFtEZx~n!Ql%8XJn$hLfRxz&10WagF07O6n?MD70a)*`Le5s}xZzsWF|? zpXPsJrCfet7S8)s(2vST90j{n`&|Jm%-}gZvzEIqQaGBxTQLiZ;m9aku(gidE(NnT z9UFVxr*cyPB7^Cq!s{5J1ohY|tvWZH`afJ8DGE#PgYoWz84G>s$2pGqD_13Mq4!DS zRCWLgzIiQ4y&Ig8J1R@ii(hGpZ7U{EFqyxD3?{n2oU=~{X_fC1Ynf4^{o)AQmV&TX zB;xhJC`b7^%kdhmj?!|OjKJrwSng&oCQ6=Q1K@;lfMhU?)5gp9a;tRWV#Ajs!EXeM znbyz}(Fph$b%$uB1KFNDf80lZU{Y{_t{#(_c#Lh5yTw;>CF_d~ zfBbt1Y))ey?B_iqG)+3<#TgINBs4|&j*=#C)VDp5kKWJG$M>!eo|#yh z2w7or5!#HxNP;(Ly8dzo-&OfJlA37oWU-lpdfK3!JSr@%)*}(PbXL>VJPewl@57hE z{jtXNBv*!beUHkOY)r(;hLQ9B4?W>MC8`(iBdyJsSb?E=#2TUu2^n=s@?Bs~D`vVk!6;5gKHz$@L-VYxKW)OL8@M z`ayBiC7Xeq`8$I3f`|<{NY1-1+AOhJL`+${o_Fov@|eJjlSib5F(sy*2H$(hRDt96 zF&jK-YX%8We*nl8rB??<2z5W_^wd;uCFg>9_h;Du_)0s617%kUgH}}8SyrB~Z-x7h ziTXx(WqTM~={v;Jk-u$SGSS{+|C53HD?9E|Cn-jHgzZnD^Bm@?)&oMx7*~63(GnhN zHJT{sxK-Up<8d@jQA(YoK~c|365fhO7P0(}2SWy#_DT>Z9#j*MCrb09qTYXZgx|b7 zq|yQO3(Rcf1McXLAxi(|LfCwT>5{zw7-mLoT)XOn2p9?(7~yACfItuAW~`E*WS*33 zjnK>(EZ;m%&_Xnyk{uZ@TxZ=-rGeMs02C2QMCw+iLtjEwSoPdZjfi`i{<~b2)j=I- zUXNyn=9d_+H(ye#R%{0Nn_9oV8>RBGCTAvAB!pu3qiT%sT(U3gZ(3$Y`|)_#M?X#a zGFPWSo|vQNMd3&QynnXL3lT}u7W^8K@8L>W*rqWRycNO-!+U%RpSEnwmS!xaLb~yG z0)6Ww;2f9`lhH>NV{yivSQnywrIYGQa99zsyDa?=t!uErpOPUjcks=rd#0DMM`gw98CyWy`v z5^_sV2AbrTbT>DMI^-dS1}?0|4a-^-rFr5v=lQY!Jw?zr38n~GXqJuENN!0rR~u@- z(;O&BIoXb&YqRT7`A5)nx5TVHCMF#W!4iK=PkORNF4m_=aCr#tRkUL|@4>kB-XOKa zlore*Vc$~6FuG8xrhrKO+p7Be|B%4&?em-cr`u&W2oJ?y4-yAFcBsMss#3*i0~zlM zu)3=08Dp1BmmDXniKNjW<2oF4W$etaK+*?|VDN*rG&%cXGGjB%p=i^^B z;QNdOA4;k}0Np39|Y)y){I- zk%N-F%wFbD2>#c${=5DCPtWP)>2GS_iJ`h@jw+5D2x9tJCBeanun^rx?B7}MHsHEi z1}7jkXwF`Gh~rD2n}PX1;M|n{X~0c8{0k9Y6wTdaz-{C7@v4{H6viY8dvwaN2ewC~g2oMnM%{tR8N%KZn^F*_ojND}NdVSdudA1X{)oIuhGSljJumrcrHL znTEOziK!Edzip zxGd$o1RL4D*9BpIZQlM+Q7{U$1_%NdW1P3jGe~b&C0p`1Q?R@;3w)D@*E^#(uxFUQM) zlX}<2PIbq^J07E7730S!azEy6WxGCiKg@4wP|EPzqc3OE%+3B>g_brykZMD?MA-_c z6FtqYt7?89DQ$6bnr`PsB*ZuyC<2{3Ldhb>XRp;?u2>F*Mx5E(S<6J5t_BFIsWRa3 z7pzsYdU{MM({@Mk@7k407pHk{_?1uO&6%k;k)2{53dYYQ-pJv9c-_f-U5r)TwD8s(7D0HZ!Wjqu;nIWKgOD4YVTciqdV7S7boQTMMCu`}t*z;_FylrH)QsNjL9#$c z#)ZxZoytLrlD1Oiht-zLXm8oaA<-O-rhDtyj7?Gmyf=NtDpUW+%Db#F+;CRb$b0k>2F@%)#^sfn1u$RH zT)W=NdXHF}y$S1kvm)Z=+@f$&YE@%pMiR-{25`lGQSYR6@Y!JjTV}1p6 zPnnOnm4{u%-sqw)k~h-da-UBZ3{f$7GztrBdkIHI=ef-wUIF~at_bT*p6MQ3M^lPa z^*0ImfXN;N&c3sBTmmOFNF3>R$FPxf&kT2QpAA5waCM|dd1TeK02aV95UnG9q2A`; z?2gE&B{14N`fQMQh%l%S1+FzKpA$9{DHbUuzR8&5%RXikRMN<=&==_HP=Rf|XOk28 z^F-!wEHIftdNt`;n(M5k&RX6i+YiYsRa&=4)Rr`4*F|#l$lfE_fv3YyM_X+TleDa=_ied-GqNXM?r=2&4kdb z-fe9laT%<;Xyp&J-oV+yt%SrF_9pk>@u9|t(|6#h**7ung$YMXW#jful zC60Iy)dhxuiX?rgychz!pYaBz~kU2U;0ha zXa@(FJMAq2evsPV5EF9bf#b)`Eyf4DP^8}EgXIv;#0cB`XSBCyw7Zkl_(FcL4t8|O zm~$|L&|jX^_kEskexkuhRrvL=Mi8IHRBo*I znxa|+!x}w9aJUdXlw+PA4AR_4X!s-5eQ|H7C~?k4(uG`ORl0$<4JWsJVdgfx5mX>G zRPbzQ5?jD|h|MFD@VdCuM_B@*^kdn_2}k`M;{)U;3|>~6J?x3A)Z{wLV^V)9{-E5oVIxDyQ*q->0qHdQlK8lWkf9~R z5b6~P03hW>_tH^HU)cPt_tLCPKl-7isCrgqJ}DJDQaq55Wm_fGHZF$ej%3VI@TltS z+ZS;6v0dylRx#t7@^$t!+Tvt3W|93to!a?_QNlnhsu?=|rN~L|PppmtCbLknfRsho z4M)_aBbxK1v!VyoeqI#5kvKBp{&HQVs`-Z%OdA%OTw5uV<+*WFbfE>61tE5KAC(C& zZz7`6O>Sc=D^zszKrsC)K(Sb-#4tpK6K)E`X^lL&k)L5=?;C6TiH5WDFwRkd*#G^3 zbK+tAaSUHT7k*DG59)F9f0@K)xIyWk2Jcj|<@@p{aXP8!bK1ixORn^*tA@OFPsE>p z!7#MuErcb_Y)Md!V?1K~I9hX4V zOQ0PKtGQ%4#51d=3B3~7Oea7vyo@<0h}(Xv`g?oR4kk`wVEv8zNxYu zC-xwr%(!%?REf-EJ)gMMzEYwM4O~Hg+W!1{!I^=&@$`L;m;;lIA)zB5z`VyN|)3_tlB=R7ZWhyfqqjMoH2!Fvn} zS9XCn9Z8%BBI5bs2boIBgN@>N0?@EL#O(1u^uF@@y_x<~5~6u_fy(71Kktc2Lp)Z) zKCt+EzBM#r_k5v%hIDFqir$IdHG_hgcyP^4nx}qZ?C#T%oC#g+M?n(&Y4ps{A##2< zdW#hG%hK`>2q1Xb-*Lt6uN7brCf3O`mjg?m+>M+s$`=d4TOsR`e;ob^#QTa$Vs5-zg zSMIrI^OVS4{D=6{6mcEQ2+-+36tSU@_tlD3U-Vo+N3xqqdns36OgO>c#;VlNKt6l= z^HFW^h5S%8)awD>yR}XDioKydg>u334vXep4m;(Xr!3cYgJ{qQ+lpv+Wl=i*2Fl=f z%FEVlRA@5u18F)*MC|y4fu1vzNYbIWhs7FgQvyTR%ZBrRO@BB`!!`)P9W9l&?pv|f zvAs4SB0*}Ntat6WPFUiCXWQOq&d&itOn6_k=7DE$AI+1GM3|x5^YSsesaWBK3Ww7c zEiU*<^}}R+=fLW}f2A8DkfHi#F-!N!gsX;e8Q&;gC*M??U$J%XbbG-=<1i;iwP&xk z5W7nq=_b!AMXfaldjQo-P)RU!f<#;NMBsaQAg>0>JtoI0gtYepD8~R?yy%H&Y4)2# z%d3{J6P=qF-u9#m_jYdDYM`vlV%+4ieWkag(nv4g_Dwtr)na=QLuql*Fr3h;#3z9u z;adOwnvdPuXVJ*#_UV0hnr+T;t%8pk5}tJGS4|(JE|6{4Ad@9{J9ak@WVz}uJ>{Q= zuBqm>4cG?RUM|w@NYEE^fFiJ~4e2Ph2Na)PfwhA&uiwn+qSAH~f-=Wdy2>^iv88x_q20YWv`zeVzkm;YGH zs|}G_rVtfN4hWpGSNB~cU1uVw!0WeqH>oki;I|;pQz}OiCm2WL8CzT@%uMQumNT%K znIAN`J5I*VN{5o4t`lCKRF33>Z?e&*ljq;NtpSKyIjmoVZ=P9hwPotk*;m!HLfvNIf)8nxed9c^3LxoH6s<5n{wsxO7pXg01v*nU@zkP&Ju*a}$&nz*;ns{)Q z%lt>snJj_De$1Da_h8$MXpKM(z5zmz*Ufpnffz|xAHi*|yvujMbW@5vV{&~Mf@x)z z>DDk*)Eq#VbTb>su+8^-jM*kGOFnw~;~R|z*m+CcfZ39gP-zp0o}V1_0Ve~iwCnai z`fr0y3L)91bVu@VTz0t=#qu`VVt9+=3>g#mFRg$-O{~B-c0yPu<~cg1Kpc!%zzg;0 z>$jJ?v=}DR$tS%lz4lyCMyJNlz;}G>;Sb_Rf!CP6U-8l;zkcTzMU^M-Z$0y{-VHy7 zX@;nAeqJ3|yG^z2)ObL^9uj*toXj?;Mie1x!$$U^VVp%`B||ukA$h)EGZOFQ#l$=6 z_K3@XVAI5c3UW%|Rrzi)9k%z3TG`J!n(p)VfW#H|Pzy^xF`0yz28_uy{5}u$DmD!J zJr*sX**Gy9_Cyt5H4JbprT$iFzBc6JHGp#f4?Cq_Gl*`2Yoa?{>)Lle_IVK8R}NhI z0_ZmpLa2QnzO~Tq4PKVADOTC8o$v0usiS$nzz@yNF_lCZ5VAu z?dXzZ+fsDKMBcfNPq-Yg3iXiS|OoAfk3EqbIm!wqC5y&dqY$&uR3{>Fnk-{TnO0!E&aRW3lsyO~iF4$*}M6Nuexv0SVJU@}w}S7S>Y z!1O4YA-RF!HZmR=4@VBt(RB|W{QPn*fezXe15C7H!mSgl66RFe-c7LU#@~nooei=2 z$)&XELyQeHGFvg-+~1oLi1c7AT&>CsZXDFU{B|Y5;3POvD8~yCnOK2{|Gew}<7NGJ z?MrxoV9_9*&}?6;KmCdU=OC$Tyi)$^2G*JM73Adx;o?_=)l+mOJc1X`Ui$(n)Z@bI z-W-2Qg};8Ib>*TGsS>_(O8{VZBR5`nB-7o-#l^+5Axqt#q4gWtvO6hz`tgUw!yV^6 zc_ZPs4E6IpnxPW>a`egcHy(IYHqqjSkX~wxoxg4EPIl6BF(<^*v3_x-Sf!1^PZk%+ z;)n~M?RTl9t6%a~7S4*+iE-w$?!J-}_0E6dLN(IZcP&Kdov~Xru=iN-<(aZ(G~P-- z+8ZUkd@e4zsLx#Cp*g?nNbsfTOJ)sz92laxGoNzQ_yM;Kf)6g;uaMOc?b|WPCkedQ z_o&mKrp>&2m9qDKXh@-pZ12Sm<0sN@5XP&uVd*MGYS~E=TTu0_ch9}4{6wy+pvZg+ zImf~}P>j9|09@fuWM?Q8uPC{UO3-wg;SIPE%#^fSy-+~O87oN|(?eOTM&}$Ntg#_m z!4yLRDXjHBve%ATrm&0wn+a=0(`31L`6=FW?%4eH4X-5%-W4@{3SqS6>~N6`%I3S| z`GKU3B$p9kfWa{~WILo2(P_MJ=uY&3W@^b#bdHxNvKhrv(P{e#$@CHIT zy}<97l)fB=J%aJY4WNp2(UQ_$N+;xFpV(|~iORe^#xa`d;+t?se&GaAf@p?57MaWJ zU~2oam=|VUr9pf6^h#n~>{yv$>gXh;_b-1{(D)Cc^#b`tT=qnLuLmS`)7TQ(PiWN5 zV023HDJUqck5c9(sbLSm3v3dskZo5t( zO{6#bEloZhVQoUfh*~1r_egm88G1mA7HYX|vmf4e7zP zasb!rjbt{vaE!o%eGd83?Ku*D3{l!>x$j5Ha(+ME0F~CsTY4GgCu}U4eEl#+?W>K- z!i>#wA`@u=9vhm&>|2c0l&aP?Z*TVNUQ@w)jCJ`pqMeJ*($X_IY1FfHbodNQx(Ttz zHS=t27i(LL4de;=luf!R`JDsBKvE0-0($o-?QeuCK=6e*4nz0)2qBIR@Y6Q}dv(2EKMq*&AqrG7Em%ikR7ATdvWE;`hGqPzILUQ|6=zs0qQ?R_oo)7G4} zRqIQ(owfyuJwcb2i2s3YH&7VM^Zk&a6fqTU9znVpIXK+0FFFy<`!=`XCS%65LZWJP zk)&re5QzddH3}5Qa>;YdrJ8DoO$EA|4MSBA?#3wBE8dKJZE(Zf|9DNbtTqqC9{rcKAk?F4x|toJWdL#>u^#XPZg{2 zcxbk&4`@C10(lq_f&OwfPNaBTDeWtiHrL0)yU2|=>VsfmU91B#nWPlfV1v@L&l%82 zHW6C87SiQZnh!73kfiX50_Bk2(B~z}m$f|i4HL^Wzmu&isd`b6F^^$Z{XJzuJK{c2 zolYGU8S)#pqREy6ZqKNXT7kiU;yyu=%ge7V(TbN;y0eIhW2)J4g&LdE%>9q+Clshc zF(O)7|eg+b!vxWpxmkE0!-^*Pb)6Twuq4KmLp8>vU`WV z0KxnYI3Y|J3XvN%Bc9bduvH?&z#C`@Cvl1%0)lU%(+!{tHfn+h%`(Z6e|mZ}w~n6C z-5Y%QqPBB?L?m8dOoWNpDHt37iXZwgQZCu5?99t$7L2VaKoae61;+3Lqg7ySbu-DK z(yS5-nUlfRT>|K?HZ?0SB{nHMvIq3IBYbZ4CqcrPY%fg7;Yk$!re0o!2Hry9;NJKSdV zxwBkVkzP-5&mvvHVzV^;;Ul2^kyp)T`|r*6f1VA%+==V~lMdo9^69IE@if+|>hi`=y2s`=9|mgL%3OD04=gk|BAMuJBipw5&uM_F#(w5mTkdP*ruCIKCNS;rDOM(7(1&f83mcSDe8Bg`W4`Us7L`zd6th z=7-Kaa41qdrjV&oSuABwa$lK>=v*d}P{l(x3dibNVLm0U#7eju&pcClwDVbG8*y1v=N~a_=(zAVRI592>#ehwi8c4XGimO2z4oQD zJa6GFkos@8WPkm9_C!jJ4gD`GcIX%PEYFD}<(zzPcpl!e90Lfr`NrP~~`d>-@3PKi#W;zgUL7udRtjn@(q?rASVs zrjeC~Ugafiyxs`neRk()B``!HDdtI(5N=fUD=cq;H!Ss1_|eD3MeuCiEgH-iaagux z{V!0dznpOoLWsz99+Eav5t0%C6ouO@KcM<2vtzU@pvd!{>^R@4LOKdUj;$T`Oy=fP*EGy}B%~-rj@Uc(p1X`P zN#RORNpD(5Pk&y^S_x{SMc99>_itCCfB9)C1FzEs!kHk3xSdyIhGzg)#}QF}LgL?l z*=A;UsA%5qgaHfBCQ)a)oj#j#y+~d8LgL*+cKQ~^m-mxBX!Gpi$UH@Tw@XOf-N(2Q+TxqZ5u@!Tp8+0!j&r2Tr2g{LHUSdjAX3XE1Vx}Z9 z48X_Usvp1$R?AAC0VzSOHx|0N4j;K~2_jh=0H7Z@_8PiCH6{ix23 z9H1(tzMFVH?4p&}L);e%OUIhhG}T}y3aX56$&es2gv=5JCTMP0$(lBdOW)i~mgv|} z*8jdSLoBJ&`sYjWUoL8aF$2AX{E4#S0dF%r{8G@DC5}PK)ms%x77a?*hw%uSz0h{i z9x7ia7@l5v8Uj1qP+SS`U>%%y^0+TUw^)Wmz83MBHYS!7z*HxHeRlu86aW63f~WN3 z8G$puAQYm3G=pdJ0aXgImWK>~rDh;Q;RcC)X?0aKCtF(mRBDpm#t_}v^_-h)I*8?<~>f$(v;4Y?I2FckSttCqikgM|zVa-Wznb zs?Zn4Yr@$*Cp77Na34<#vBfIW(Kta6kvjb_u|Na_1gt6*geK)eze2x4y z2m_uV7Z3reIkY%vky`xVQYc>(5l|@2MnN6bMzOHR%FJ6B9Z{Fa<2Mh)0^d^lq@a@W zQ(g{t6l=nDp1y}_KF%Uxk$}R-m7O=^87CE;)fF^slq&HGf(6hO(O!(uuhZp+jo*A3 zr#I(<$Veum#ggDI8}{Sn=4V1|2y0`Wt{u}Gzur+!q6}eYqYTiE$S$ig8gIT``|CVp z)Ct#X%KgF1WwW|pp@U5nST9Dg28i29RZv7cN*pT8+)HMQx{EqDr;<^P560$tx|MLK zW{@oY*#0;~=d#0XDsU*e|2*PnB3%&oc7onf+ctPTF4oQY&pTBEdMAY(&1F7jiM zZfCWTr?1Cf=th5ys=r;@4RT!H1NBkSEs(Z^kW0R8{Uni^BfIf&%R1phrPI*wY7`L> zaxyrtMg1OWL`pzXx0)uFi!`X=D@;{zfB2?sxVG?g`y|Rx;EGsv@YU{=D7syX+26FS zrEuu?z&te!vtaWDWI0RF3S0%Ku?GeYm8JVbK&|f=m%a=DpX$Tlbzih&M6EvnK>c6e z;-3zuuH3UZU%@NBxF)zJk+>|_mC;Pn;cjv#(Md6jW>6%r7=FBj(|Guk2@(H^Lb^nk z&B=1qG?7O=8@Z>-=9I>u(7TG1*wrB7Af^=8-cotn83PJ_c|Z87iCogob=A`eg}qoU z{Dji&U!=2q2NuDz*o_pw{Y^Oi-(oQi{|HDj_ZoiyPwD zI-Dx&4|kH2i98|ZOs|xK$0orJwQr*h?QR64_?~51iz%2Kvaj1!+sbPMv15z<7C$yF zKrq^3_48KIp`Twp9kc`JA6Mo&00C^T2cjp~BN%0>>AATF zim7p6=@E1$du%55RI~~o@lBKkhg2YEt5rM1;o2+a^|IzC*F4evZ|=`*1iO?8gmnu_ zJZ>yBM+)U@pCrTikFY0JrWFEJ;fHUOtPd^232YX4KULq>(2%1bDH#(HRx@Kxc{U*; z7WFRUq-wO|c^skC?>`L&s;p#DT1ej@alDee2d+`L{Zv^f5cm?LGqZ|h+3)xt2PeLV z>xG;T4ngS)RQl|`Bp3N-9OdKuu)G~x6U)yI72|9O#T8<|j&UoKo$JYRKx4vFiQ_Vb zYP#oYS7muo#{O$cPr3V<3(atsJw*Pm4{H1&t}lRB6#}}0`pK;_{`En~7{Cu4qo~~z zq#XaT(kRe_fUGa~WyMe%_)2Mel%IWHG&dSKx4Ss1te@;14b^7D<_bxQc1zT3L z5sxKUYDArGid;AT=j>t>^Q?_r^qK5kbHzR0sF?*6B2;jFgVzSWVF8^~VkT0Eh_RD3 zo5051!bLX`ZH;tk=kHKbun$mDbP0;W_mrvVIxnf-H(aPYE;Q25;EzbXCd zG3^10Zzuq?wMOP+B-;S@EELGOkSl&NJBW7H$Zfm>}x<^VD#Q;!m`n!T40Q& zHnhWIBl%n#c|HBka+GrI6dlme<(f<(k&hzXjQGY+TIkcP*U+FzKEnFz5&ey65atcF50F z_w-GLxL%C%-}MZ}7skcNfVBY>=OsnF+Li@}z-u+TewqOs+VQpjm<_ZD0u``SJEKI% zy+|MutK0CTE?r(ng}?x5N(xO`kYoq(+G_R^0kwz~=3`wntcZgK10R1DK?tMjWBB zprH*Ex3%PNQ30=L43Lw#Zm3D+i?_TVz^CD!xaET6Yh8w!xtRX*$#PJ*&?RRQ5y6P$ zb>)kh3R5i{yR0ZnPQFYG%x37Ek9DXdT?Jy;%eGSb3+P_oNbnQqu?Y`oD!+f#2Hx)&<` zt4O4YkOInmh{V8w1na@L*!weCjrZKzI^v{E{LepIP@Cn3RCA!%|h_X+|&~mW8Cfevo3XHaV>Yd6A|&w8CXMCh&QA66f`$twSvNak+&l_An(a1iWML9w8)c{S zmk3Hy<&ZNETOVO&ngH_bi_v7WiUBSVp-X+?;Q+Z>^~q|X0aK1yD9Bo1iUQy@?TrGo zN2~ygWS7WMJ5{9bKjq7E#vWQ@))VMEEEnS2FSJkatha)V3u}d`ulS_ko+4aJWF?nP zT!pvF@#!EJS-WtJk2&Dw>b`H;Vpa1O5TT8=VHX-EQL-e;xz+_OtVPOE^(whV(Mstp zI#9eQq(@nZ4ZP+bqXr5ki6_!B`gq6iH?G#ST~3O-(*i!RHbH{x1kC$LuHMpAJtEUg3l@Ki{rHZE>WalC}lTOQMgz#Jiv ztFg$bahTN-2!nAxeqxs$6AMa(Ino!J`4WLZi9)~5%o3|4T*(c}Z_4E%imhsJuG2p2e{ik32dmbU?|XH-?=0%l5s%kYQE7rl%z ziL|+doXJEQKDtSVU-iE3EY0Zqd^IMvokFv%a;ZGu z-{)p?9Eqkl%&B9uELV62EYR*?u+x@6G{AB+1BM)GSYy3Z=rPQa9`c6gC07DX`UsG< zT;{XtkEjQ0_5N)@QoKt2!wcY5RvmC?JhY_hQg*R| z$^700H;H1!)~!Fgy{U#72B{)7Eg=7M(w5rATzv;&%dntHoc7{0XtX3R9AFY6%W@wt zu#W=HwPmc(tQ~nI&_@pef}4WCljG`=q9l640}a0QmD7&UxEIG@f~7b<0SvcgX{z3p)RPqgD$ac0eP!SD`6$j>N^%p|*L?PqB}F41 z&O;?27cqPURCY^1e$IK=IqwG6;bE9s5NIgA5YcVn-roXSdVl7+$sajxq|2Z}Bn4(# z4SWEljHxd+Y*Bklmffe{-}uQ41zvZ|22F_-`J61_9a35#i7rKM!1Oe4`=u4+EdQ0j z#kod~xpS;cxy$m>_@NivXx(X5tNRV(%SzKy^K^2#xbMuSvI^#?OsR1nh5T9^R#w=z5Qv~A=@h}c9qn)BBnyHd}1Vvmt(i`3<6&|3f6fUo%Bx* zMobu)#T*@XSWzA{5jUp98)QBbEbp3aQvC_Ykj!8`Ypl8gA2fN=077ypMl-*^0)ud1 z&^-d}3-WCR*fiWW1yKD>Kzda%DIFBYQp=a{lc7YknW$Kb{W&|fbl;&jrU5T&4XFMZQ9y2KS%55V9Q=x z?x&o)LHl^#65njofamexAG`s3{^M(lcGkVKpA0qAM!!C{^8Fw8tWv2XRB#oVMpv!z zlu?^68hl?N42wOzYkN)CX2l)7hC&Gu)rsS!B1VV|oev+;14-XsRO*zo))p-b;#*-8 z`uUD};>gAzqJHslce6oYcFt_^(E2#hwG6K>K&^%!!qEj2a+gH3P^)PM%P_F5H+5%>hLEyS(dug@=0s(!h&i#^)2R$# zr<(C-95F>%s_r){@W32Z5pJIcJBGbV*_!wso7r)yW!^ycPl9^-8vqqfA zlf!aJbuu9_pr>HE>1h7bXmnXt*O+{nc?LZ0yf%)6DpI1oHhyUE0KkXKglKDM*n9#3 z^mWiFlL>; z+5{(16>zTsK)4$kW&i?@ra+@iWqI~L z?)x7iz(Pz9pd2x!F9@sd$k8ZBg$qXoO{zXRy&M|?Lq{JHH<34y!o@QHFu8EJK2C3& z^h3f~pNUyFWtc{>`1IhoLqsY;Nlv?_XDV-yVNN!LIY{YwNDMpN0KB+8zIU?uZyWTo zr?Yy=;FQHIVHCF9Wup5D!C51plF$SD-(hlea^db{qHLys>*ppGNuqLygej`o-U_*? zf$a>WXB%eDPJf0+^xmq1-uD5R#iQ52lSOPr}Uk1ilLeE`+y2<&;defA~?E%#H4=(W}Rv4CEne=LcO4F=%FFw=~?4>m=3mj{0M$jb$kOa`cfK`H#&5s{-*n>R33CagtO9zau{!)~V)X7pji6VuG zt2E+DCuT6|CKf#2k*z6pn5;qPMX{TTn-J0e5Cy(KlPm_E+2vkJHG@Q!&tV zXn2L+Mqzjv0CEXx@O=U$$SQG2!zBU{dJTuvF%_JPkyBO?a?Z{tmk=Q&8o00Hst82c z6=*axUI%So4fyf$3rkl(D8s1R*F~W8M9oU4A~sO%SDa;mg^-{>xIfELz7eMFpXUP@_%W8_Tk6 z(u#?i9eC$S)@Fp(Z1 zh`4{Z8))VgZM4MFfRoFh(9HY+h+64uw%IAieK(l`bV5O&!wo^_g(eaEd#2Hx7l~}z zc;Y4J*Wh%*$KS~GmyzMG%Bm~HXSPwZq~%>{X)kP*WLXoZ?^rlIsTYdKzQ7Lx`nkzcFRA?@bf^`)A(HAxbicZ--Jiv0 zDFd{!S^-t?^2djhDQ-;HZoQ}m4J=Z&=%ip{gtLxX^&vPksN2z?0cxxyRn1-gFnzMO z37iwiB|BTEFB4$WYaow`1(11bIG{UO#4$a@?|9c@`!*|8c<|sF96Y<;SW!@hX{&tb_iQt zylxMV92w)C!G`nHX4K~u#Esu-Z+WU%WT2_zbnHpj6oR^X)#vq?1NDb|aqmaPAF{hXy~`3*}>RV5;4(DX1H5{Duy{+fAQkF~Hw*=8Nd=hd({JEX4w*01N!U zNGe)vLR#v%GtfP`9|=d&52QZp2VTV?Oo(>pU}Fnt9<-&Nh)E#?)n5Y}JxJccIQp2} zLIJ^NaR^rk`zO{uc20>OJzu8wXdE^2k*3aP**Jw)WlIoLOCPsnYfK-%XZhX}Fm>w( zju%s601O;o%nAO^LVu@J53OoElYW-ssLDXOih@SojF=3aSd);Z$Ch-shUea$!oO+} z=VdfIR43NNzvjuI=FObMjw95}T9?1xS9dh>br#~F@GO5;40uO6=zR%QFW|=AsCZ<& z@`&Ki#c1Fd_-QY5X(+~0i}KU&ed5s2b6bdVF&UnJ2WG2vmWU}FKus|6&Av^Mh(YeN zm7*Tpx>ex16;*}pnMzi=(rA>ohIZkBJLa`U)|wLA#?cDsD4B7V#RIFHdCvRixgW3%mey0s*7Po%FV zp7pv^%h8|Mv3PdBr`r-}e=NggeMp9g(C69Y71J#dF^bVUGR*!Vq)BicHtDw4An~KY z?59N+X|$ErNiWtbY6)@+hs|UyDqWeAL+>X0xXev2gRU?M##G^QuVZF|MAhta-oA1e zH!pKVdp>%>cEb6UTc>G2n}dBzoLJPC$y4v#ze&X4vp2C_3}NhN?k@r`G6|KV%_%lC zajI)AP`l+`z}ClRe4q~OtmI%2?ymIG-7r_ItAQ$ETFt-@X&|BfBW8@%=CB8zNraGz zY+I9y=j!&STbLI=CRI>Lr}EIDR$%ATQv;5Rf<%HOnSx|S_U!!y-Sl!uzOlK9^wst~ z)qu*`*r8ya;v2_4v-NriN_S9n=5O6=9ngLC#89S(F%ZJSZrvUq;*%0162*}h%Vg4^ zyjoBo^c_W%OcD!I^U`y;LIQt+)_o{vK zMJuJS_^uE(;nyPXD%*N#vhU-Ene$d>om7TMC{Q1h#>acXM>Of^jtoB-oLY_i@^Sv! z|65?Oj$g-h^;-nQRdW3Udr6?Or-9K~&%#7zW4)RNz>yKIWt6k)MO~H9uo!N`PS7#r z_czFNd9YgEow1y4h^y}#5Pb&}=`QweG=-PBCft7=IcRZWrB(%$78bI4t)iE>SolsMb4phHl$ugP&2___g?=^(?a6ss_4h|NL+UMVCs>MX zf{~p%um`GZ#gSv_av9jHhR5g_VcK4&j>ByTMGy&M21p!{Fs9Z*R}P>UP=bu0b>6Ov zdbV)Q=N~l{eR%cC$*e38*lZHTUB{kh7j3wo{Fd9nvh8s9Ws!f)QF_{}dDfY3-UDLm zNaYyAn0j4PY6d)_D1%B{`CIU&>g234Z>yiWYa7WVZc*M27EL3S5(r8^Je&Th@_W^0 zNiaRr?y+riOojV*zZ_JaP3Z%nGYufpGD-ZC5>TN)r(Qk@O6=}_YJ#I(ue$5?p0 zmwQII{~6fBy_w={{rPgABvJS;(fynHGacpJ_aYYuQk6NY3%Y3?d|L%<$F3DdCmYXW zdP4M%U2}iys|-#PMe<8kWBe|kJNIuJ9*PQudCj!)=9{)+;(^p0+oFqwXWo}S!xs-q zrGv2ty7L=#?i~r=?A9O=5Vakn*5Gv)Jgz`UqogAc7ocL-xFwA4j9QNh49c1ly4eYK z0Gt4f|1Br>ov=#68!-9ImXDJ0m{i_Ge zwr1_ag$8(fF*aGnHnchtkL+H}j&rn{#d!g*+an?KHs`;&z2E|aAd`7v4lOhXBybFP zo6ysGV5CN@DLY$d-aV-^+MD8_em73uxC)67%cS`7(HfRY9yD3Um(vP%Y<4ABc0 zxJ8@7^q_W`OxQZKW?^l@m=GC`{=E?wjP;u6lC%wV`y~*(tN?v?|DF)DDu~QrWf%qz;081L=r0s^P`>+t5h9fLI zFL};3cXm?9L@$WMPyS1D(!=1- zjNF%F!@S=PYevf>Iv%!%F&tFCe&lwA?ie=fpk{s}c5Qef<1A&Jw|C2hnVKv=$w7d0 zQkME)q2LNh75)THl9>p_NXpBMTHAe2oa958S%uIMQ{=xYqdz{NzkD57t3m$~yKxq+ zs=9rvOft1wh&W=!;-U;OH{k(sA@sRmosMq5ios;(tWtv2t4E}th8XfsR#pYcYxZ^L z=5Tt3UUD5pyMinA4pMTX9rmM;Usir#O~XrAV0%NPaDt}D9YMP&Y~F7~I4p>O{_qW$q9cSr;hN+hW1 zY_WIhavxG`ioUIh|J)~Gs9z&#f4;(D&Wb(2OPsO~ySk@ZZ53C-JebiZry7(j$F}Az zI4g!{IZ`FE%D~o~X{+HT|0HvZ#6{pQ5AD})1BIDfhZw?3FoNCOCPS@n{&1_t8z3B5 zX&$MdU#+Qpw-9z%PJI84P}LqIEs~yG`IMu>65LFhcq_rNP*&duk?mkH8BNDoLdQ+RAS36B9F;Sl)K@naH<`o37?@9%=^(#1`d z=1FrS?QYm<Vp>ZA%?3&_lbfv zkL-}E4Fi0>U>4%@UtVq#d*J3&c{yf;gfVj6Y+H^~#W?b1uRY=a{g&Ec*4jg&md&%^ zQ<(cejfhy)m6lzJQ>diHi8G*yP0tL_J`u}uWUz#!HeHWCUWTYNQTAumeFo)6F{$x- zgs>F>&Vdd*V9n}3ykLN67gH* zG*<@X8}sZ}$w1O&5Se}{RZ9g{;y!hMCCH0fopi|_2s?jztcV+w<(2lbGd5EHdQxLzL0eNVInp^alQB;@?^0jamVS7>--|+nOsf zIvm^-c`CN0ebn)CEaYp^EF#14Lvr9m_p@2?;b}P_9pk*v-ruY!n%U|l2Z-g}{ zG-o(I_y2U|+~L=cM1qBxhh<3y_=By@t4YA<%`*cF+^n5G`9IY#z>U%Ol?8Xj%d+1- zpoa_Adp4nxmla>_PUSskgj@Y}&^jk;ZUg2Iab+kkd!Qq`t`**-Xo+CM@yEM6`i4}K zXGSJwGJ2fDOq5b5S)`U!_f-*QQh8=6XfdRgb1do>eb*42Y1@s)7{^i^vs`^@rpIs2ra z_5=olVTyNV$KS;^AXM%uUvyH7US*=}CPvu4puBva15Ry4Rujdp;T|KT`B`EhI9^PA zdK$hdP~NfuH}VzdkG*%P`_WDKucKor91^L7C7%uq=f4K5*P>3Js2qE`TW?;;H$L%f@)2eX_c6q!DPn{dX=}5}X5iFV)<|Jda6bd+>?WLBB?T z+{K7&-vCr_T>Z{>7|J)4*qaR^-{u0m&KatO`UfO_k5qhtguvr+QUz(tc6Orc?3)}U z`9XPcWPsZj)X6b)dWd(eC!$H&S1=0~I3e%7_5JzZb9WX!{U=DS`~q$bd`xL9E><_J;MSwa@ic<}j0$@;Y_LJkODuM%%6>T>dxE%amScb*rDV$y@eE}UX6OY?RX`MpdTRbNWsEZTL^KkpPGn*z*=&%S zb9CK#lxKu`gr-ip20p_zwxBQUwzxAZ+1}8;V*dd$4L5d!?1q^UoawLZNoRcK(Q(nE`mc?e~Xh&x3!31R9V$H%R zYw)%PD94E_Gnn+;N8aoD&1&`iI$h9`#lls?p!ssdtf)*Pe}El6te+UqAmU!JVm!|P zC!$Ru-tk+#_rV&AhM?Pk%DX(zb2~*+gi&`HcpUX$qQv=#{yxJbMvfG=R&GVbui@kN z>8e$HOn$9ARL0keZWOF`;aPEMFt%QdD&IbYM4wP)6v0f9wr=YFR;ce5@W<8eVdUvH zOLWA3dbCBx){XlONNKMq+Vxq4FG3_mEKe?Cw}ADONr^8=-T!qkltG+MRQHx^OyRj@>oNax-2%UoCN1)5?EN z4Zd5k!{HGnB&JbI9;Dv^fF|W9P*Q(ZrpgfAU12w}FVx?VUN%cF#W3c^QMDkkpBO*w z&d|RaHh%B8PvhI;FTV!^HK4PNdR+qdzxlj!^`v0-t|ASYq+NeL=N~I-Vk}>_SA0!W zO+<3VVTb9s9Ba@RQq}0Lq`JheBE2kiBJ#2u!00#z=Dsqzy}bOoDUI@wuBOl?c6M?- z@dEklfi^)FZHul1dg76C1oM>G*-9zQEhB{WkyR5)5IYAg)&f^uET%2E;9}+x6Rh8q1C67A1LMkEGdGQU$)r+Ryxb z}JfSf>p;jGY3xQ=m08Xs@*l*2x^a62pSSR$U z-R?7DVP?+1)KTEiweqD_uSn-i-rXoJEvVa&OFg7GB=)$jVOE%5udx06h{FE1yi#RD zL34ec=&UOAjb~1;>A%G`d=}(= zeiWn-of!OTPX--FCV?0ZhAA9c;Wt-ka{0rbn|u8B%4pOtT#T+d0;Q8qogm`fFS!Pn z(Za1Gvg#DomF$1z2q5F*VOK@H2afzqc3Z((H>JI8td9LDkf0!D%OVh6NodoHpD&Fx z6KfW<8A)k+EBrwY-R{0#hDl4vbOMvz@SXuPR9xbJ~8>FEW17<&}ae+aFbAz}4xn!L82s<{` zj1f-Wpgw6=AdEvUpd=GxRSrFhGU(?g)1d-p2uef8ctz#pZi6OcLG#zWk4wPC_Qq`u z8;JfLGY+}UCZwDV~1WQnasFf zL4JMr4*FyGA1_zK*`R#?%xu?Yo6*<)VE-=h)tp`usM#8{l|oS`#3uCXz3U#O?@&wU z@J_Kl*X_k*nqR;hC>}pO6tKoVdo>!yDWIb3;Fb(~G!X8T1kZVRw)jf4bYTjQvMZ}= zldtLZOj9$KDt0>u8xG6kJ;ddq<*>yBj3Uki^?cTqer7x$m_Lgf0DAnsXVQ!hSh@(z z^1|$az`<_YcYj>sGTBXHq^ap{$33;DfSvY0_B3GnMaU5%cyV9%roM)~Ro^XC+AQ{+ zVt^)#s?qH9-3XxPp%tuc`V=OS2U(L+=2K5W$umv+D~0vmx_#6T+;)F0WeChJp;?g? zGv9kJw(s+`w!&X51DJscHAlVs-;FK!TUAfU8Za`jzQ*DR_df;uK~Sf zX7)8GEkrCMg3024f;u*_P>0-oXbiZGAM|0F+Rj=p)?}M6zIHpBuvH#n;!Z0 zTGd(gs8cX8*xG`Z&ns(5wHo_aN-x~8RxKM2r0wkN?-s*chF-lx*C=7V(=&FxUax`M z-q1&&tPpA_tA?D9R!!$mD-EYj!dL^RyS3m@u*nF4I_5)tGE)2hbrWZLrieHz>UI=dQ91P$hDbx>R1 zdge;9yaY zP7Fuese(4KK<>KBFN0+bZUX<`0*GJ@xTY~O^cDaUbL5%Jddve%yE*ZkA z9=iiCOTgNCC2c#)cBe`}Mx}5=oZ3#8$|(e_)Eq&0yh1?t{?O&Ziz&bEnkr=09qZAk<+dJH+8Bn`;YW709)siR(x-l*BjW?AXPzFf>0@KVck2ZF)M=*=s|mQ$R@nxYu|Q zzKEY0bv6hCzo@p!sE1I2Clk9TA171e13|$V&F*Iz`mu;>ck%aAV77x{ZpV(5dEFr< z3>cFI!4S4NIO@Qy)~$jbI(oOow^r@Yl#?c%RvGJkfJhVo;h?e`V9ND9Zuw#p001=^ z5xmNukMGwX22PThxrZc(t6iel%dg#heMW#%XWU5kmag!TBrbBzEuq-re2F-n0DeAz zp?CCpD~Q^vVH&P$2jIK3{E_CpCAQwJpPZFzdU=Bf`}c+mH6O8bta|gmxTdt8>J3Vn z(H-|=mO9(S7s=V0_lXc+GHTinrz6;Q>KQ}~Slvr4h+b*D4QP`EstVWsI(2?|wUcoN z(#X<~`f10?Y8dQ6Qz{~_ReM{0Nx03s(RwSt*=$8~yX*1tCe9nq8xu}^cN9Y?`Q838 zVoxa6RFi~XouS*vgjP*e5n#AI1(IhCsoJ|WO8mNYIPBMMZBv|5>dzgofqSitYCI#1 z0@Oy_!(<7H=fIoq`0BBj%MfTRO*z1?@!hk@+n1~xJ2vkD!wieY`f^!lC<+cL z?11AOs-PLnvvmgTI8ob>1ZQYWCPe-DHl^dnP${qjTmnRPT~M{?$V_?Nri{hkj0y%y7O26TO)yYQ_KA6e~2PEC)JDNk=PVxp3Oshn$Bjkua z%l}f>K7Jl)*BE)GKSaAN1lI0UTvqFL5wq)NPbT8`CGw-4onHm{^eh;A6LmwQSbM6; zf2hbfS4#iH^-7i3A0KD@$pjZF-wruk`0DB8?ccq@P^dzP=yuY3KxGLW0@1Dq z*eZKr4}PwK^o>WCFk@${p(KMcXqg_frJlO}+ti*r5zzlKAb@FO2(w@F=1V0_Wz%ZR zjnGfQTV5{?9!*?nP(2EZG&Ljx6xW7#PkL~W`#uRCvgj|Y*t#o5!WcXV3OYK$ru2LPAQknCS}>Ba5Kw!hek(up*D3I;9<+W|HT~OkzN%>ni8hI19L4SPdYhcH2B969E)HdpXSkLgdTW)z?y*tZo+=W~2cb z_cJV$tj_256E{Mg+V*MVH~^V{17LA&GLIqsaa}v=hPeliZu?-HG#<_i9skzW^>w9Z z0VBTdaonv>YAj%c!F#%Ub5|_Y+CP#LSVxbS1Ln3f7z;}o_WIuF&jNRz)t!E5 zdIgAiP&oOO(ga8byEQ)yeAhEJJ{gn(tf>Ogz8tV2yOI`K!zhKeT9g1yLq#%0 z@{>h1z9B7oT$)@GJqjp9!(uWIoB%Dg@!Wu}lX0hHNKcXLvY%4b#trfy&9O7r^h**z4-x;w z4r$v<8*&O|_5$?OOM6^t`aNLpVHjS))f#`1y_{l8Wo9heRYvWFl}8)nOxn3fuFv|w z>Z|k)usQ2s3?IL~H}#kG2I54e4xQZeb#@6~66+q$Km#+hBj~ zlJ9uP-~KtUME>c{m#|d|Y9hIjk|uB58{Wx+n_=0_H-(QXTa-0d##;X%0Vv6}v2U*t zONZEYA6M+r7;#udv-E|jz4E-^&5+mDdkW^oB1RoR=MrOue@x@Qi^g|q>3>8Q_q08q zpY7-{Y=t`(}4;z-x=bp@7`CfvWp$)kjQ?#n5<-@P{1;0a>-Cra7TmUCT;ZeP%E0!*;H7)6pz!ofGb$+fsa1ys$d8IBTbo=sd9YH zs02th1BuhXuC!nZGyw_n=j7@vsEsv%^Lk2~Oq$dOQ8D|0*{*~W3>9ND!^NgUpaY&l zQ-M~4s|sDGUX9$1FsG|v;k{608~t_Yw8V@V%h!cAwA#ZzApig95dV0SpfAtg;pQ?f zxr>2%t7TK@eY1V0Ii$yv1Kc_-v|`MGPoYVKBR zH%X$DHfxz`gIPZ34q0xj(sszd50mb_6#=ouS5FEsLbDgGLpm65r!$NL9=PC!Z+X+VbjwNL;F9PuElZUXU3*&t)&uanEGsIOFF)x~t6t+iijrb8bRJA$ z;++(zFxA&WY%}B%XLC8^B(3~<^``8s(@5sHvY7^-kYSikA&;%|pd*VUl*6i)4W{Y2 zJYhyu#8PvGflnfVdMnJQ#{0izIBij{#~GARCGxg2Olty++Z*?7$o$}MB1UT zJo8B2qXK&xuCorMELQlLR<_3|)N}bwjdX8zVmAt9J$}y1jt(s)@K8%4%=W}Udi>yW zoAxU-9B)7V{A}@E7rH{`?in+^j@RgfDvsRzBVIoKbAxO#QI(&cfe6qj>Ity1La4>+ zag5>~5zNiJcrAl*4@y4=iT{>ogG$`#@WBl_XKuR4yymQzlKm`VVM^3&eY*rZM1fp8 zxMn}LgrjcZawBG#WVS7s=em$#ZG@|Spl|_?j2k-Mx%bGYIiya+^h_JeI*k_h?zZW1 zhgg2zPzLL6ZC@rt!->?%S8+!4S{m z)K5H*aKli6JXq6OWHTsSwQt(%a|P43@rzCmsfkj<&{$FXTc>r`uODgcSD;>vuFZtI z#rm}S3zw0Kj}$m^tXxvS>P@t0A<7&lrk{cV3j%x8i+f*cN2sR4DboJ?q5kJL-e*XX zPP`p39MA;ZTN`zIQlef!7+1i2ewn0&{$R`@%`H#L@Ga|(xC>#JhUomsN{gACOXUv! z2zoIs>9ISt`(|}YQb?^eZPFaHI^Vo@C;Y@!)2%DmbtlDun2W7e`i~rYb7Saw*e#C= zgSBR~^v(s0`uPCDU1N2T)MeL+>@tlKsx~nE;BQCL-+oy+K?8rzvXsw|4=`tgmWwqw zqfb2#o~qh9EJ@U`1USn^z67h27PA{Y7(&yP$6RGm|9It0LDT0}c-59vvbb5@GM!f8 z8U;noK_=MMgJCeYP?mW<_;iYKgjUr?Qi4T*n_*SW$R^`d8d1aQI}Co_l^l+~A*NCR zF{l6hE9jNMi@^Dh6V1wReo(ii&i};mNcnG$hlFG7UB3t;>}9&FVZtc;>c;v+o1_c9 z5r?5=vEd-4LyQY-)NHSTaew3+E|S$oy31KDrnwOIAB!@;Pqx*+YeRU}^+*a_P0(3x z$$;H0tiwtJsnS+fqS@b>9ql)Rg=I*&qeT?y5a zyY^i#(P>zZJpIi`_Xv2eGe|@)0~+bw?kN?LKk`j6!AelWU?&@rc5YqD>=gN1sUm;! zAhtv!YO4hOS*Bc}dmkru?DKMd^H~>!KfZc_(PF@sR{DmGUhX`QD}lbeX~0KoA2wg+ zzQHHT_G#+@pKcghXHNM;>+5tXXgQGTnG|YtBo@3O+FaR~*#}5(mI%2$y?CD`iLHyB zBY`!zYYZW%TeEQpwI1F^Evx8uZ2SY5zo(GVAf>XG0-&iUFohbmr$h9HgumzwA!vl5 zKmK$FM*gvFFiT&R;ri^{@8(-Yt!f6Ib{natQK;IjyI0ssjs(nIi2hE%4Pv5utK6`K zdI}5_E_J$at4aLDz<`$jmF59jZGyQLIs6BaWd*6Sd#Bx{q%2wKa}_EdFc$oa(ZB~M zejlXp1t6N;D6ZPQ(+ic(nz8J!37nn3ff8^CG!at9eg}f1_yQx$n?(+Y3bXO4mAVjO zpg>cq2kRgT6x3;5g61xNop+I{j6*`R-l4qG0Pl3Ac=G#Bv3Ydgo8FtrnYV^6Ya>Q@ zgMNcJ$$nPH^UL>jVpv;(bF`-}HinT}PG zlklrDPWloU*S9sLt{&Qe&BGd_J?UD*yNqlf;T2XAFA0_$vn(A%!#yPhs2xUfQLy>^ zVwCLF@2lfEfXkMoTB$z*f{1y8uB@EH+%Kg2dxM& zXW5M;3R^WIeXWmf2~#C{KvT#Na|L}?htngX>Htll51}^PqDn)?z6OS0bc`5eBeG=i zo4~Y6=M$@oiKW@${}k%8=;`13HbGO?)k{IsJs)U8JAhF#z(<#oED^|(P0eVQxU+BW z&K#K{Kn!_cjHC;Bi!F~<*a9j=Esp8Z^*Gtr-eA&S8ymI?%v^yP3e$dt7*&um86q7) z%0_1}UQg5u46>X-ni}};e0Hn3$~vKb)b0alx@toX>d)yvo&}RQq`;88v7;YD(UxxS zsA1QEYms(qIHhZR8{pK@e+0%`M(xrMZ_av;L&F3E-nc?u*CI3}D|fGd!vhCyk>3n% zsI}sJfMu}u27yj(C6yzJSqTv#?Q7gNNH+?kwx@q? zKmL490a@b<+ZOJ+n!Ko}Y~F+np~m-bMEk+!0;0M2!PHFNe7;FRQYl+t{HaJ5jD&z-!e zS^kOd$Hd|hQsJ-es(LEtUgmXZTP~69X^i(h86IVOZ(6p2xyu?*tQ6EnksV9h$*Y1? z(&X7D)evSE6D*Jtpi)b3Nep4avHw^@Oiepny1BZmca-*!Ooy~CqjF4q%(QgXGQ?p44 zxdGdb{H->fQmAw%<;o~keLH>WlJzsK9Y|b;^PA=6L?*x^5D}W`2%Z$fdmcF}fLPb3 z_p}Igq3s@rXD7FZ?(r(}!I(R9JLY2(^^#oK=q8QS46es7Dd}+W=_fm#8&{J3#g}vyPzqBB5p=lOqFg#ed>(+f zM}9CW@0bNw8A9kI^9LcWDr6Owugp;my=HME?YUJ2TMdic7==XMNBA^vrUHwDx&;10 z6cJ0fR!Y?PE+6`jQ}=rw0`xkiK)W%w#6x}oLVD8ERqIk=4w}1%mqGo-G)nU1TKUw> z1|5%)yQ1%gc6y#_4bM@*Sei~*#gT_`kLdM`6js&c8o@!@dCnDIs*VvMbM&!oO0KcC z>?A)!3QKJ|)Ltxdd^K_pJik}RE(%j*z=uc-uW+|af(bg#00W_tBy88@V+$83} z*YxYXX=$$4WA-va?yGm&%luHo`$qn(hF?`?0t=I2e*zbX?pa}O9dJ&3KxDC^tilB) zp7~N-z9z;E#x(!gl#g^gGfs2(Vu$s9e5BX}tT34cVJ#QY+8M&q2Hz~Ic)pcrDsiz+ zx9D9^`hP|EKN6%ML-qTnD%MLWCt3z6+N6WY;AG~zSLBo~_Gch)g|UU+dhn2m>mJ4ZaBV2gWJ%xw$1j_D~xh;=3R|Rml;0R>vdKShn$9OESL@* zIj#*&lOzH|p8yO!Q&R=m`SiMp~?gHbqI&+5?oK<6P24)Ruk z8g488WT89*VOEE}rTor*tM;^tHw=#!7#KB015exiqCx(T1+=#(Njlnhe|v#Gkh?>N zA6sG|Gbv@LS9Qw};qfGL$h3Yn=2ZD>wVLT=h3Fx83~N1Yf~U&0@fv6DyUu%nn#x+3 z(g~H9W2O$vYqQ?FdaR%^OLuRp2&(dz&6ewHLX4^D1jQ;e2=K>e*howqkIFNe1D zm*Sm=5oe80x?IL~Yw3yGucm~bk)fM5g*6tPeVnJO3ft~%wE}pJ=Afkq-f0MX?1oUg@$<)%<|o2;MYCwb~8-4>T%VL$Gd#K z5te>8bRGP8)h(%GSztWe7aBpfWQ_W#HVG)g#)l5Nf_6;)05%PbX40~D4P*t0!@F-D zD`xMeAp&uNZFk>q+}>`$4r>W8%A-sj`|J*$Yvc?*F}1Cl*D8x_N1l$d%z5{XW!AuW zaOo7zNZtxiiHJ_;7tblgEE&z+xG;%1-fc&w$EMSnGt!fg2txuDqaF5>Hfe%v7)mLi z&($leM8Q9dy3VQ}{eY9wF5|qU#9-9(9}?_3>7OI?PoEbNr8rGZ1$ZmrFW!0r<`;SW;*5 z5pc?)?~*I?VRH>3-1{3lC|{ zCd+DklUw6|$gMMY<&$jrsGLo$uu@9%I+{__4u|TE+0}01D9%`T;Blh@sY807`b6d> z33oeNdoHKbUOTzE1#9vvh7%Tt=F`pcPS4kI_9^-04xl7z5Ih)osAPS&Y3(CV zQ&7Y=BEwkvuDp%@fv;~wnx;EFe&>xk>Ot0cWH0k|9d{I+$l|`;o=Te$FmmEW$hVUy@#^m$rrN>Oo z0tg!nlVdb1NIOa|v?s0`J(`&q!pyHJXZAqaXHS7MpiJ=9KPph$$hg`+rTF&2%DZ~X zh?g#os4}cuGmkx7We#hzJ$6=V#D$Y*=t-m{gAH5MZsd#nwx>k?bO2yv_0T`$!p+%U zkqZclM2CF{X5s-pEQbvax1ub9sS}hETm|W}2Q1Noi2A%{t}D(l-sl!{ykl(bc+_&S zQWeYo@@741bNuLPJ{;1v(Jjw?sybk*hY7{n=@uzD%sUw`dp{AjRpX3{l-)+A7zHyb z&A*oPXH|-EPGugRkZ?3!nfRxm@&|DF!qez77}C+B7~)QHz<{(*UBDpB!s-}oQG(1^ zA$tARhNF-8F3$GxE#8b*CNX}XBZ_qBHO9dG9$QW_nQp$}kDN)2J5ON9p`muz)-Ebs z)I3dYeEnDgTL*l_DalB#OHIE?JdnF>!N=?o(@=o(y25bJDD6)S{hwa+zkmZMMH4r= zFXH^Ik0-r(u_r|5OYsTDX5EdrLxW@v2X9EcB*Tz$C!PkQurBk%bk?zzh_=)Pl{~^r z7KfT){P@#Sqkw-(k$*~;y(vhnbuPhyH1=t^M2v6%3h-aaEle6{l52uo29cy&G#Lyb zMsl5EL6JUX*ADeAac3&6Ta^&$IwFgGIjJ3@rJn`Z)CB%h==$r9g2WBEc49C7(BLw( z81Mhi2P0QG^-(WE)z1Xu6SK5_ISuq^=ZSBH^gSX>eXid!AkcL1xeq=@48|ycdV60% zaQ&ZhiJw++@hmBmMC=(goTf{Db4`I#8Z}Dl`-G zs!SgOE!5T1XGgivq>NsRnKw6bjhF#uYxc$eRJ8pB*8xo&qs4i9@`R^6{u=TIT0oZu zHPiM4r@Z!5U^-AQO=Ma-hu+KAhd8pj1%I&QqT*S3q-TA^M=70G^O0*0@$vs{XY`%( z(f|hXDv`a;2XugY!xDiv_*lBQRU$n$bxQoGg2?4-$jsx3e5yK2rc~{v3)vO0Rh4?D z*LsMM+H^wvoL66&?Os6l+@BQbpKjn!O3fcXhcD>Ml-AYa!e`z!`#7sTK|~gb@@Qc9 z6g9SRf=|epC5|lNMP9NxnVLdmVOs?{=fvC2?3Rs-YVLl~_n1+DCCu_ozPYyGBh@e8 zH%1@}>Wbpa^%uc@S+N@_cS;+iJ1&Q6ky0#6JzEL#{-YoOdg3TLA+Sa`e zX{H!y79xdLv`;6h%EEz2S1i?^*1iGs%c{$zRxer}365MfOZ15^5^^8{PQ1fe6;2Fk zan1=Pa`R|MEWy&>ibFpj25Ej0!LEGEY1I_+UA*L8y4dr{ z)JS?&go@LDd1T02JN<-;Zm4b7r)n5sglTe7&pO^VY%QfX$_4Sr?tA;=^tbj03-;kN zqgBun;`AsTLcnv08qeJHIW;alN1JF=Q7gw=#8!VD46VqvWfH@EbXBXa-E;$FUFSE? zeV|skf%_F;(yL9uEUphg1DDgU5`Iyt{PYOG@4i<(FCP`JC-bc(LL&fLBE|IQmUnR> zd`{U_+PNxOITB);4F-rpbnNrBQ<|GyT8f^RYqroSO{PYpD!W}Vp;lOdS|3Iex^_PP zBc`;QT_r4jR$7?dG~T2B^FSKZFnd72VT8x9KFYn3xQ(Exlf>87#{fH9PYX<^FEAN3 zsX&Zqr-&*8DlLCT26lax?9wwyMRQ!MNj?pmb#Mrs8<5Lg||-6#Tqt^fJ5 z<>*Tkh!s>!a|OX`FoAFj5?Zfu2LE|U#=-CnliqcwUIEE9=hkS(LWQj&19mU5GF#D~ zsAxaM);~^|@86vN!gYbRGOuJRf)#KN}xUYnKx&yOmsqg>L<(@msfW309{R(mer#uy3;2 zJpyxcgpx!Z5Ho#a$T|a@Mh`L#liwUR9hyNYX9ATyrfKi}jY6>b&v@h$7%i>iUV+bv zr&=b1QMNw>ojjo%t5h8$d;%JP;Y-0HBln6nLI^W}N%iH$hDB#dKWc2r!S- z@n2GL(g0T;(~9Iud_*efM|#?}?8)>3ce0io-&GX@!Ca~StCG9D>oooF739b~`daU^ zQm2c6p!V3d&SZ+fovC1DgeVhhaB~3C#OsgLZMb>>a>poG)E;~C(bZlwZ9kywW1vC1 z-k^EaaY8>`7G~o;s4=Jv@V1$a5r_%`8QqZJAyNq>o}`jr%#sRJ3NHWG11hVQ)c5o8 z*I~8;noLa84P?H@!uNxX5!=LLo#RW~^7R<)ixm9lG>pwR5V)hPGj0Zrt~I{Am_-TY0}-e-AA zE8|!u2}C-ZZ^M(ywy&LM@}Is7+{ooL_}KUb;R|k1@3u9)EO7ZV+g8?W09bX8oPE8O z2MAnx&D(u9aA4E|4#1%gffQ`t`(0H>@+eg@#l#<0L_Zz!e*zI38JSQFXeQr29P z7vMmoPcu>Md;A7Sc)8v*IMJrm955#5c2TsTvWjFjw8g*-2-$3phOGUY{!mgzNI{#)+0x9rT4$$UZfw*(NKvIF* z`8c|V_rU4m3ym<40zlS7`tpnW-hjDZ0F)J?8ITMRDzCsG&pOq~f5}CGlTYS(kRjoR zwVcjN#P6$#OXcG{r;EKUu z@XUxE)%X68KjHU@Is^m{={5Rp>XOOY3_>b`8eqj($Y=rQb_2RYXE2Ur3HTgE(wjku zG7*>3ln5CT7M4SHCEkF~@n$>wIfbLZ>(Y}L>SiiZ>$iI{b-0pFnZV6k0C>MUf z?Zl-1)ycnCP=9+wl0nJzU~I05N!*8=r@5QVBj&(k)nLi!V7SP>ry5O*P}Y#qh9gZ^ zm>8ie2%}W>H&Jl{h}!=pD!%q;Oa^S5Iv$kkY9-*dKnAhnl?ZhJ%{H6g|jz^9Bp-A zI^&Xv?Y8cQ1W<-T-qCr0ue0t!ISqVP69T}dPFnf(&V(zGKi|OV^(;i~ltBqa)(Kk3 z3r5EGQTdK=lF^|b%_`=E*p}xT%)3s4eww zQ}5P(cItNaO}Lt}Onan=2LItom{>CE@~&ayc=T>}pDI*ONw`GjxqFa7d<>Y0vyC2k5=)N&Jb$w0U;ARfo5;5$6jMG< z1vWQ+BRZUaME}q|_!W;^XmWFDp+-^s?O=pzV8Ci;P3GNsmTD>o(V_G|WU4EnMj7x6 zg(B0u;deRu7$=Ja_mK6z7Vj_j9&x^?uEL@JC<}8V&$pDh9p!v-d+|(vxOqtO1G%=- z73a34I&?(lgc^!%S7}fvbkl3}=9a`HFiRpT0|K4Kvs>*l<+5?uFBsXh2RC!UaT;AA zXR%#p<)wNOSi}velBhkPGJr-DQ&`?h{l5qrHOfJMn9%SWnwcA#iy52kzZ-ucb?1Y% zyZNI_q?{KOaGrdI+;rS7(!;vzc2q%8u!b0QNhG2>6@`2$1*&+;_UGPQ?Xz<)oi1vL z+UsWK`WnFYve}qIx+RWXS>G^6Ux|kC7iJBg>7%cZ-qwU`0q}RE=b@2n9?8MOgSy)h zBi3Ha)rLD_K+XY4H0ikP?M4WUN))CSD*qzM|3hX1%)_XDXGnGxk!8s(%bLt8R=+Sf zPow~pqsD=pqg|aZt(IgKMMr!92&kK7;*Yo6W^2>=-B~-3ry!GCU`~_UEj$?(C8S~%xN{6RWA9jE16o2DAyct2o{k- z&#niYLsrWSeJw=hTlCN{xe_xTN=@$&9##k=gn|B>t}_a z&C$-kHzNjYJN1-DJtFNc+HNC<k+MC~krnH_-ea8Rjpa?|Dl>s7o?hRJ)H$BRVPI@;Y;s zKAJ~rz>0Qx4k9ljO*edK9-$ZP^z{yMv=wo=@}G4!m_FtZJxCYwsm)j4YnJ<{bkcA9 zn^ANBOXT}oV3=Sv=>4jtx`Gkvd4sXZky)uJGS zrKjVp%DBU&ecVrSi%if~P)EnqeVY>xav#qU3X2KAV{DxIlMiWnlC0c%x z#QxJm9w;NzHi`?t4HA2v;I$5^PE9)l8c<*eKui!OQHi0UzCM1@{PJ@v$mtD+71(@4 zE9w-rzgukm8`)#6M<<>u$)N>f1N4@ed;X1`3$9>5k<85SGL(TD_%A8WW>t7>pGc&* zAWNG%Yig%1N4lJNWgQh6iq zZzKXc9XE4ZVuE+}mZFL0UN|?M&XS49bVL=G(@9kZa@r&`Z@Ap9m4vcb{oNXJdrw$N zHZhX_#{YgRexD9{>J;~Y+9$ibCO3Iex%6eC+PJCg3Z<|LnI^*s1--VdrfQ5cKO9I? ztObj5#?_~f9gLFhJ;l7T_8VQ2-b&&#GLg}Nj^-L7_7CCU&-KXPKWCkzJ7qaBXcO`n z3Ji2Ad*slGXWk7O~per(!D!|1(13akdBmK$k{SG#Q(<`ftd+D{|f?nf+ULh!Bu{@JPXMCCU^Uj_E21=***s>^-*Lt+L=2_ zIy^$1w`@qko_-}&5HVFF+yE1Z)sl|rS*g}se_SYyU9G7Js2ctscDoJc#W4}Cs!*Lv zaZNlK1-Tn3czg;+=zhY-ddTpHhWBAg(oMcWq+FxI59T|U96V%hds%_=6>V-`t)u^l z$NxRB;rp(Du!qohCP0IsxSY}~Ll-^!kgKhZm}jo^;05VPt59Jbf4c0vjZ;S*@aqGk z=&da4ns@vaFRctcy4LFF@f88ebDsap&xwb2U-j_NCD4p=F59P>EZzQOn9RPk9LJtpu`0mdM5Bz*A@(nl2XTXUap zwVku1y1MA_`~q-TqWi;P>HmHaGXM`P{)S6=bB)>8K??1iI1aOYyxBSU{fFv3z}pYl zq4e8-oLHGnz*wiZ=a_R4yUo4TRLuGui~IlJ^ZoKL{qd!@AY{5` z=p^)?rfX#C^)Mv$D)RH!>N^7G)6D1gniN|_xgI@6-HL6zge5y4qpJ3LXxSB{@qSMFc>cxPcl zW>W3T=$ZAwDTNy&@4a5#dowpt*pZnX_+}?ARKlLY6`RXo7pt++tq^e8ZZ_Xi^D{|; zzsrS`3GDjViTz>D+Q3uUI_F8~9^NPA<2p#L{ofyNjyo6LvL46rS2~+sNkbS-Uv1BB zR_{-}5x9|AzfqWuu{y&c=5SI4DTj~L=QCl6DheA*Odp7Ri}H^!DMUfPGoW%5Hp<5plo0`BRP2@XlV#6@|MM~~FVTR3J!+%7 zIJfqfcK|;<)*lgty>_o=oi#}O+cjS{CY>kBJuk`;_;`UN|IFl<*EzB=2Z|JdktwpOWJ)_Zu7X3uvVN?#e zJH<7OeXp0pMS4B)&;}v;eb%#L+8#F`h+aM#HmK=HgU-o&><{PPdCf`69jcNO-6^%C z(p!hW^UvOx*4lI`2KEOrX%}w z#~IcHDh>q=S>d6_&FV#wn5vQ6TTy71X!${>h-sdt5s!gL$z7~gx~@AO%ZI9Zk4#P= zRxcUNe%74EYiDt3;1d0h*~{IuFK8T+!E;arVoT0vYf|+D+`C{ei8!f!ym3g`qfOc* za82r0ZzEUG1M;BFmC-w7hVR3u0fhT|15}{;afs|Uc zYNboef$|8=2t&RreeAZRf@}0@9GarZa6Fb*AI4)6m!R}+K{tlX2D{G3=qf6`nvh`i zT2P>tF3RX1o(P(z4iGTTmE(b+tBzQ2Syqv;?mZI8DAKT?upl?mw{T^Z4-Y`+!S~>n z0N7$P3XS|RA0v2G-v(SpIn0{NihK%q+LB$QhJc{xKGVKC?!TVV{-yj*qieO76z$jUo7l4q2AU*DGwp@Nu|;FAL{nio!Z92y z(k2i5%QuY5W|PX64h?sS+G_L39(E3`b@=>A%UhS1N>Nl&!zo8|`2ugfxr z79^d5DRFxd&Z~#5UjO+b{AUp55GMu5O63QD7N&WmkCa&U!>J|io^~C1Y<|+ns_m}J z3Ye%;qNilJ0%WtxkXy(HU?sQAu`||j`?n7buBs>bK}3F6Lz>pFJ0AQJ|M@8yezlUP z(wY8=w)95Qq9~bhD^X7>acOa>Vo_qYOoX|fVTB?YP*=Bxc&nByRb4Y~8@L}2bgA8c zy&>pZ3p3x);ns|_BjrAzq2BVq_y8w!m33NXy2GxDO(dc;fdDu&&55iB&&lDqB7GDIlMw>`ppt% zA{{e0woG|pvA@1Uy@v-XNc}*xZUAEaY~?+`vc@R_#PXz(J-7AhYfGq;(D7Ad51^_m zci(4`SfF~4-=c*+N6@0cqUfL|3-5VuGmUd95_bFN>+QR4Xb7!U+3kgmVQJMA+p(}4 zoL7W<9)AO~#9gpOtb52t*5nos99Ne!79oNF4mW94fF>R5Xi)a<3=TEXdvU0+@6kT? zRiBYX(tC|fLEB%yZSWRS5buU2fj8o2b$MM3pn%mwQ(Pv#g@NiSsL?ap->UkY@HHv6 zs20dR#HY`FUi`iaLG|RKwy_`1+}?9E+q>pUGz}bbyO18CD-{#ZG(ur49L#(LPOn9| z`x;egZf!oRE9z<=VRStdW{)d0k#G$aMNp%Cu~#LepW!jj)1T=}|2mT8>)!9L@x>)% z4rhRwKa<@_A|>ZHv4Tof=YWyeiWt!BQ;64PH7U^?B{1%!{fNQj*C!%+O{5c?L}Y>L z!~*h1ETy zb_b(0<&N{Z#yerrCHgzE^Ke3HA=PT?OuziCu4%%+RvpjHRjZd+7@eBZYINx(y|2UE z;d;Mb=DTQ`yGweu4I>H97d0f7zd$2&zIX{hQ!eiSd&1k0qP;`pF!D#lvrhoDFsg<-jfT4(dn#cFYXvsBY`*MfWIfZ#*j+?u%sx zYPWlX4{@BF%*odF1A+0a+8MK_7a|Wl4ZEMDN`9SQ4SCUByh~7>iU&s!$|EHr9zD!C}0O9=?Z#Zl&kDN>q_?D4f z5`0l&QJZgY`O`5KcOLm;UQJbtB0f37L<(Q>hT}%S^y*>4^If~kF$HvPh5Gkm4l8fJ zi!-tT&Sr+GpZ82Lb+fQ}g<1aQ_fwzWsJ_T?3a0NwpKw`dvpJ!D-M-I2UBSLDsB-wE zl2lcf5w&JCB0cN`!CCY;=j!lFIInMP=C4eH{Oyc@yGZ85qLD)TUyB&5JPF@+AAr zV-ctJl4X@PFG8hW&)qYEyRgi_dYJ}8&5~=e#yr%VIQS#?`p+Zh&u?E`p<#J`gzo*7 zbYhR{j+TszbdKF#;nyRS6ma7@?fLGQnQNIjKzB=UFle-1T_0xf!b)g*q6?WHw6d)7 zE6E`Zlsw+qtuHB`T(bP-%llW3E-6QvQ>d=|8X#b*JGlq5Ki=%iSKge;0B_kNeUr!w zk}@dNE%m~)7?#XT9!>|8>@Iv+vVVGP=1i%i-wU@L(-40G8ii}lbN;6%`bU0u`83(_ z%ol9W_Mf2l2k#ZVR9M+RF?s^UwxQazR=Hezl| zMeeInC9@4?KK5$2rwP5RJ~Sa2)a$^|n+6MJT*vpXkPb;b5GohG9M_6)i5qPafz`&R zH1L=9+r@s(Cej!F+g8)zxvvQh(jEII-p!QvgP5J7_L!RXK5kJv1=bNIoiJ4EtbNAT z`Ijk{yNBtNTnZ2_CJ)f*K?>OF>3z41jjP!C-vi~xEB@`tAnC{IXnpd=>o!x`HUwqT zE_h>Jy16l-2ho|q1 z{C{13{CH^&lIxQOIrc19tAHf+De#{(+q{=ph*_hIy3CkQVRz~%3sXiXxQ(w>?It1P zv_(a6epD|I;)K*{%)|yt*5au=LMI|$V14_upvA8v`Co66UgnEov%E)-r=v{+SY)=<#at`Gbx|JxmbMeeV%ai`}y?13;V^Kg%b9;Bw2oTeF++hW_sd)K| zg-7?F3j8><{?j>o&m3X{}F37SJmef90rpZIzad=8u~#<)#}H z@_DUwod@GjSWmTZv>L^FBN^6zRtsb(?UUqAA?w?n*_pEb!t?bVZ zWut$){=e1?#NBv7fDk0vw3jtsNA2%@5ePPBr_F;?D?5*T;FeT*K$|UWVyj*x1?Z&1C?P?XmxSYlHv*fF!iKkl2 z&u%?2LVQlu5_0(0aE;`uyv}-BX9NIScmLp_HM~>+JTyIshxWOeIdCJ%s_vb`>z;IW z0BkAZt%o~0`_g>WAHPdD1EwSS@?RMr52I~)XcOR^-oC5AL|c}=Yj&Bsc0K$b9Pax?;tsb16{*U@^SIOJgYcq zk7Wz*km;rt-u;|FuM)XCEHsqHY`Z%Q&eHZ_yG$!bD@N>wwRWKAud}khp0T73X-@5I z=D-EQ@1SYpEA}+dJ3GA|ug2vPV*tdc(R|ZUENyJ7LK(E;Fn&W zqX#Y5REr+Oa^JJSwQrT#|Mf29(L^AiVbw|mr~f!KJcGOA@m1WQ52Up%ICs_NfazR7ue++8WlvL(3?dwoU}Y`8CP4_2OaB%?=v6MiKFyavygUFUEgP7!C8IM$*bvBq8y+@rU&ZhTw&aDVn+&v_oQ>th!jlRQ==azRK$ zg22F&Mw@0*0_(F*G$7#-h)X0T<&B;tGo&qoKhto|JXG1CAkAtT;wM@a-MUBLjNY$B z+Wy-?PfE-3Et6;k`ptnvU)Qk0H*)C84n|`n_N-j6>28ERc>3yoJV&AqB+&+bj=1&) zFWxi$=dmoNd zz=3T(B~5JQQ&x5O0vEPW6U&G1;?BG!a#bT*_{09KpkAcg&O%6YrxD7S_&+@)mt(9~ z-w}I?i2c`z^j}PGM3OVvIr&P939Z(flW9~%Twq<*a&lQu^{UNb>I+|Ale>iVD3f5; z6mJ=O`oYNUU(aB=An;UvfASS@4Q_yKT%~!TJHd!d2R2-Z^~_Q*W((m@b$wY1Rkd{q4hC)Vqtjhzb(}oX|hCxM7NqNYvKNBm#<)#fpa9s?4wY^7S9!K z6Az6<9;VZ!yjS89_ONFNg2{54`kwW$wcnpVDcy;tePV(dgS+$=273N4XO)LTk_CtZ z(c{q5_}YksGak*M3#R40_g-F=E?}O$w9iOEuFKVx@s91eo!Ohl6r9*Dj@QDQB{c6uHMMm3m9qeKm(AY!SXLc;Hk$Q)ZkyuWTWv+rjL3ofSP|?BhQ!yd%%*MGvL*s=H6jN&^l-dltEs zV*pjOidLzNmcJGncN%xhf2s>J`+J>9S-b?CogYF{GTJ=K#igl~pk#R&UNOTzM}r6;wO3NeDR zyO@g~5y!w_<9}VJ|K_h>)Iqm#ihN&dN#giQ)RCaNMwwVjAL9AT!(z_T*F{w8$CMxg zOz%hh;9fqVe&NcK>(<$gO2O7Hha=&Hr=#1MNA@sM-06txy?^>epdD0tCiClSO53^h z+=Bes_Zjrgtz3Qxx>Uveun)2{-bggR0RG!pRzL(8ix5!!Yp2Oi zYf)k}4Z5Qj!SOI6QO&5qOZt=l>%X{zK@J}7S)fEd;kbZbpH6MxM|vrRgWgEnM)IiQ zLMO7bocg%L;!jocDd7TF{*7y;;9Lz`fH_}InTI?d9TDSddR7q>{pGusWCIIth;VuV z=Y_z#n2*cMY5@tw*caE{0>yAM>%#jnr(qQFkEa6Nf%bR(w$Ev$`4XikYjNj13_8Pc zw*JBmmWJE(l46R{&n5CH))DDPO8IZ;@$Ygztu@13vV~SI0GWZKN6l+S?VGckE3n+( zLoZJcy;FLYoqbL2ZX@jg|3ulmMbtkNIpT5$BXB7F30DstPQ-n?_(9hT8xgq{9}XW*g7k6!y7I zRfZRrURIOR=4&-p6G+wDD2f_VhwNeIF6FhAd=8nq!7w>OnZ6GtzgFWM%pz-l`r{{p zJez5cHu|Jt8d7)a{R1H830vU?VxCOp%?^!W8ap5{;?e1zklHb&%?U5RX)Eti9+|K8 zBR;*!oxYgqN25guqWq12Jg|RtP|pNmmc1Dls>4kY!(8OOwVQ|1U8s%H68)U9T-KkcDkW#j$VpMZpCU6PSVr;C5<@!b0{2mYO%$h_pT ztpsIWwDi$%OHr(X0+8_d=2m7!MJLK^BJT_f+lrG#wr+eaDLwkoUnHTCF*d9Msdie& z8t%?Bdlk;@@S>gl7p%Rp^ z|1b{uSEFP3noixJRXHUEQ_hc%#hW-%=T#Nl^MbGTu_qE3QLNV+SfoN_CiOxkTljoz zxS$1+8{b6veV?^LWU{oKC%u25QO*21~Bb_IONvDVSFb5<4Cny3aXm~6mOcBO92shha z6w#&ogiMYXQxx9?-pi!`)?sa(x}h_W*Bun)F&WQ{{dy)PjGWv1+*4?F0sN|WwS9>$ z)afgK+6&it8Efx@YverH+el>Ob{#`sz4X9gzFQ7s0uW5P!Bf5?+zqD=yPap(K(-l~ z$;7hyvBFPlDtQ!ZDZ|&(x%um4%fxbA`Y6*5+HqgNOrcs>Y2w%@nf{%`T-0}xqi<8j z9!PZQR|XC{o!|6+ht%Hsx2+YkN>(YIE`jboYL=;NeTMIys0`l&jfM6EfBNU8Fv~)$ z;%;BtL{`1ejHLidw3cnS#o%q2*P;Nbs`aA2Q#SJu5T94Gpb1Ui!KhQuWkyiK`?@F4 z^?Q1bxwgnw%3!isfQ$WiAZe6Puuy@c@!NZZK-r=?vw6Oro81=c z8o~A0fRZxx^iH4 z$e>(eTI=J1Hea4*!+L23U)!$Rsm{Z_8S7pH|U2kI7zDb(?Xs{h}Jr6TEntd`Q zSokHQ|0%X;aleI8X=tfxlOQJhi&L29~;R^1K#w(aZmw>Pc59 zWeWNO_w13yZkr)3;3fYGaXziuV`-q@$SqP~HjW*uPZNW9?KE;z3Lv#X=kakZN*UE4 z0=F6jQWev3I;v`FUgbxq4{Q zlwT|YdZ`np#Sd-9u$G*27xChvCG4qy$4h1`3E z7j%Dx(ZRTQmun`^)+Za60V zcxTKVwgdceY9J9b+nNExaWZ&-p5@?q7^WaCF)Wy@AwY>xG;a;=i5Z+d=h3HE+GPmL z7gs?(wS75Iv^_ye(_LZZ8wIAyIoFz(witV9wy{+$EJ2wQhR5Ax%})*mM4t7pu*F=# zq|r_P zNbOJst11g02VdOps-qaK54-0)9><1XF+p4(58qrt%aF4J8tLp#s?epWys0Q-LzmjV zf6j#a^IF5Xc_bYHzR?l3@~R#^74LoW8pZ)J&hGjBN$VA{w!Cmb{Gg zqXTdzG9z83WtYD@R~=00UX$&k`it9dGL_P+NgM5=oY)^?hPqnEl=<&! z**Kj8B;Cp(+8MQn&49W>w=&`^8}k{}*qIjhm_Tpn!3T9^yH z0Z}!}`my7bsWb)_1qHi}OYia$v`LSseVzX4M-;B4^SbdEl)?o3cdEzp#Jr>z1CNW( zS2706H!xqPGeIgMHCR=dmTCf`c7Li(E<(JeFoHojtV^=80nPQ)uRbguOc~&T0MUkN zv1ooxkuS(1ut4>xepMl<-sg}#^npg#*$R;i;_v!OUJqiK`&s8L$o=w5zqIznE;Ta; z%uDU1aT75|w2&7HWV_raL3s%3cQ7$dh7Cc8y>)pctNIUIb(R>e|1ZhAply^(eu z)R{=R{to|_j6Rf__@TIDA0?nH9Jf*+Ime2!~1}u^!6O`&dL(WE7T5T zX=cIp;r>!Q^g7R26mqhq%y%WJ;z`7pfsse=pSXNh$Y-1`&hn}X6|Q~YOAIwzjm=Cz zP8C;reLA7$r*?lzjH!Te=K*s)!B5g$d5FCbY1dd*YSc9v@Zc=0me;a$Jaao+rYoT7 zjA0-4pf-1%C)1wSWGME+lsPRXGgA2L??#Sbarp_r3g`L5=P%M3u)6!%U7QzTt-6lk z$G__s7EX>%%I&d89sX$UdY9XJBP3)t#%!|CPQF9`_&C51Yb$-UqkrfL;nEeFD$a8~ zKjA>%$fYn0^CMxTTaeeCua|ST%sRi+g2cMGSs(qeJ8XU6d5w$~QmdNml&D8+nKwX(l&~gA8VmU>ov#z<38oBr0Jl?&cWu zXSQs79Cp-T3N&92WVxe~MHb7UnF@ag#zkYbAetcez?nd!Af6zpAQ3mFL(tt;m;uwe zH`dpjyqp8%U^$3W_Pm8FyI%fNAk5NuZ2?^ExszO~oG?!-rM#xOd*lrXs++$LJuYeu zL?&C+Ofm@}Uxoh;Y0wdWRzKR&?cA-oQ2@({QopqSK%gF+t;cXA3G*QQfquiM^rKr+ zc$V=0PGiyRUEqFjBj%KTp3|Gu@Y4-QSPxiO2=MyU-oX+*$ldsWoMHhRo9nbD<-Z0izdiL^GsmxTXFno78Cm3G# z$_O+cGrrHx%Qz}MYjQZ^Ei>)7*ND5anUJ{*p_Ne`bTyv;w2FRO={_AF-gK2F(WA+P z_uE6bInRk@obU3+zC-A*kWw>}G@H}QtFKX>b7pn~E+PeR`au}+L7O|Ftd zRML2lUK9#sEgi--v0J})f7Oztw8$Kzz+YJS#QboIqhwM1k<*yl@+U_Fmo@J2y_;PY zj(u*G-Tt+yvrx-%LqC=&?T9U}EXw+AK;IW5t(sIWa!3C{K`h5+VkfC3N5aYOP}qx9vp?Iqb#SNZd|`LQ2@- zX$R9EENPGT<A}NowMI3UmBlz z7Bb7wj}Een(Rqrko!s)_1_k$CW}(n-K&{+AeJcQm8LB*XBDpzK_td?^=i@IqyO3=_ zuXu6^X6(+;&lqIFe@yCF7$Ha^*pdO-e63y<;>+}w52Dd`L)Tt9bscy5Oml)(_t&&1 zlWircuzbIR$Pm3Njl{?w>X$Vn`?7kqOY}oz!FOCaYfe0m76dqOTv2-qfIcAYbR|TPB+9psLbZPtf3$D z0H+r`W`^U}l!Cdtx!J)FK97ckz;xj;FizhgKO#(vc=vbBEr6qS=%3At^uV5!P>Q-K zG|MtGcQA1AJi0$y=D)$u7urlPBLBhMY40`szlc8H{e?bf{*68}#hSryGa%rs)_skP zpKmRlLa{IWzlNW&yM^aKV9hjDJ-4y)O|7n1$9rthMaKfODNp&upx$BD5*Gy+1Foi|^ zxErcsGV$1QXyI=+7x?8y8#HRf_d6$TX%{yUtF{2UD{qh110kw!M!eO5zQ1D_o1nn* z&VP2<)xkYnT+dtz@88QF*;wX84bz8w^mTq}UtuXf~(QxC99d zhL_*ZUnlP%I|sgGG3eB)humW zBKwb@hzLfaTJY?%PJ+Z6j}y*;Usi^|^Wah29hX>aVy=c?b(U?=Qy1QL+w2IQ!bJzq z^au9w9CcW_=_?Dots0%$DGO8Qe>;Wxh1%at{Io0$=0m>tHMAU4_#~32$%k+~=LrKa zk_xB08%^X>)mYFzIWX-mg-sybs0>d^Ur`Z#$H|jG!Xcsq4DZGzkHA3z{%Mjr*6~K z^bd^%s9Hi=eqVzPcf0xQwB@|Sa^Y+$MALboga5V-Dha4*`b2qq2e>|NrQ6Y~nTb#G z(d$V@gmgZOI~d}hd#3HSuaE8KAVL56xmi}Z5s~9K&H8^`X_u}8}%jQX7ocJms(7eS#lP%t>?D_qHMOm}UTAJ!tsIK7iIUke$}}J7Q%SUvP`+gQ@n}H!h*^lX z#3XopZ3cOrMi-lkX7>?B8ct)@U9EE~k!ehn?F;QyS|B-uy0) z{eR9B%KYD$Lad5R3AY9apX}}kKbK%i<&!Kub{c~U8&cYTI2);LGa~B5lsN=UHvCvi zWBxyog+Ac`e{zEHI1Lwi*u0bR!)hvpDOGPz;PmKe3}6dA7`bv$n#LDmOwQ8MRhQVf z9ma)YevVtb3eRfPh`_uBp(d?=oNTMp&f&HT|B^0o_1WvtPR6Im>qzbESMM}jYlfZh zrMr_mntB<#f5`^*O;{_``f!a*Nd?Tz3Hx016$uWE2LbG`FOE`z`4;FWW?FAF^5%2Z6)|R4@ZDfK&NjeQ^tCkr z+$GHIocuzSW30PQ=Eej5&2+}uT8@9?6~BX>JRnY(1Uu% z>XFg4PtNfkgSyiX%nBzbO_!F2R_DL>cdN*H!7w?kK7WIg-*wq0$%Xnl^-qWOufnqE zdjIWioq~C(p1bSrPB5|{jd>z0JlDZW4mRm`vtChz$;><$wvN<054$PVvT^@3Kab=h zpXvm^c%hAn1J29HKD8uWXg9ZY+<>et^2eL;7oVmw-gQwTZ60a|HSI-!abCewjbb|O zt=;0HE`2=#8!n#QO@Y(=s&_Cs(kqAaFmn$Wv%lJ$lM3@2P+;C;EnJBo;Q%8&ldpf= zLfOo$HL9;h|7P6TDfJ+-Vib1z!!$gk2&eXk{6y+^R5B(G&A~gb9sG>>$Xm&j_*&nr z-^e-~Gkraez?!Xg(kEm4JXyQyj|=blm!BYN@nLG^Blq|9*M7)ZlQ%=`{l`?ZPKXq(9R(>rNh z^5K;SyyP^FQudw#N-vGSlY8Dwz&%|mU{<6JIkOdT`Ab%;XrZ?T&m=Phs4NWK*l>c$ zMw6!!{U*tD9LVXd@QUDvbxu%Ef;?onqi@dL;_m;?5{qVQQG?w1AGk=*$1G-#RBGd<{&+`Z{gdb- zMmX7o|9l`5<;Dj#oW^~4SHNG=E)4BUhx8oQOBFgc%`t?KkSGdM&JeanCuf46%lbYy zQ@Hn1CUobLtncXPj{zFgw!DX4xaqR^?xN`cxt^P(vgXeBhk{#^=c!QOgHvG{4Io*H z70<$@-qv`{$^7x#BIUHRlzEB9DkhI^n{R14IqA^KY4x-es4wB0i-W|5!}#Hk8`zdwf>ufWX9^fa#FA^PYne~qln;9;8xal(TCE3C3T#I zocq_k_7A;U-62_Lb@A*nMzWwn@q$E;Icwp(#;87ZV!0>!Te<9=*-wHxj_ff}SDW@{u|aVi`e>ac1y-gO18I?F(f#pS%Y0Eu{WEQB?Iq}7d`o$wqrLqn z-zFffgznjI*+>dI2-&Q-$0na)3Z{NLUw{ihdvm1T5;zcZp6NrnGhJ*y(WZ@HM;zMdJ-0J z`J7*NR1_r}%e9G-7D6Ri<%!f4$v6p=yn~BizP?rKRdR-J7A?!?a(ENda*k*>YZ z+I%X6UFpmTA=Wg0m0ZHs0Fk*`Z5gC(uTYlIl$<^A$5Nzl0Zmf9x<;j}RfDM2Jlb=p z+NoXh|BfOLqgGxOhku&}E{G1wYdPjypV$^a2t_uA`tP8ucmR6 z?aINBdcX)12PLLK6QX0ABuEVseONMI?C~Sxq*=LYnmgYy<8M>rq|WijU@AORvzij& z-*V+gk1~L%lMRzq{{6!E`_*T^3O>;u%?G^}sWYztkw-NK|3TMuGX;;5eNsjtRGfFOuabxrBO-C4aZq>V0W`R&6}%&l1Of$3=_{9MO^ zafU}^R9IE`H2v}WO{M;hKykhjFy|SNd1dB}zM?r3A%(#|Yp)kd?p+1i$o!LYr=FBy zA8O`Q(T3nO@55>utUl#lMVYan*o3L(`+i@lqD8e5cR=LxYP$u+%@ZVNdt{;lh-V8M z>5~_U5#xl2A7p$cw07^yQAqc9zs=6?2(TKrDe3awtL`Y%H5-Vni?zjeQEaDh6YFn4 z%~xMefRc#6@QxaT$`uv4kRgnaJIM%t)~}<-tov3fTHu`$z&s0KN>$o;Uic=)Abz`) zIZT2aZ>_-Z-wVa%j{1}O>6{~Y#N^r`EJr6BSk)fLCzDS{y?W!fJ>rvFSSG#)DBN=# z4Q%dpCXWj(3_hC;*Mj}9EM7IAx@yh6XVem-f!=mN5BTH4ESAm5i-v~OUlR_XGhS=T zY1$ss+m#5wg;jGnSEN8Rnj8*sFNUPjFx#y<7%(4WQg9}MHg@F z9bfd0?{~wxjkl}%DB_)+a9gFcRq_;+VqFftN>2oi1<}LXW|g!MeyJ;~u+Mwhn)`~w zvIV){Vk`f_^yW7T2}`Zn1NkC9dQea`l6Pa-0Qv|)<2OL;lM4rwbo5W$6ihhbb1kQ( z01d1@@qj4KF!%Xv{rM$>b(MW>Rzog3j3E`Sn)K`{$1R>p!A>r|!Zs;6z$+v-M!2R^ z_cf2y0!t0E?EYU+4EsYr+SP<(uLZK|%qfp&YhdnEHBSCMzOoAZFe3-oaEr>2(T5`J z2RQSgHH)8e6xI2X8`xzbr|Iv;Vz+%jsFv|z6kwjX%RByX!0(PhZ29_GgfH? zoh#;A1n}7M|Iz_haaIi#d;xh=n~jX|;%L&w1y$E%Ef8H?dsW>!S>VdXSNuH_q zS66HM0;~3@T1KkMHi)LYl-Z#OB=F&pJy9$|n$$ zqg>f2#TB-%?T}5ssW=yAwIS9rz~4eol|BLt5bXNEYh!MZqW--Xuy$7E5SwyK@w<+q z$uB2EK0FIGC680K%lCXI?*^hs)56uX!CtLPN(|D!dbvn@M;ndTzI%0QK{VV@lEy$< z^I{LjhE%OqEfELtxam`5?~R3&aO}urh-kR*3}ZWlP|q;1H3y~cUieUWHEz0Y6Fj)J^C(uQbqtHuV~?qO7-Q44kPkTG&-fwI)-md@smry5|7mMQrZs?A0>_+&V0> z@zNS+MRPs)MJbvRk%ve`gkg23LL}rZ-M0|y^#)UUDFM;{382kB}Ve@t5qwVi& z0p&E})ne~0I<-Q;)w)|BocZ1BEf4Ho6QdJlb&Vq4&c>g5+kxi(gEm74_y-r9R`a@{ zl+QKYnor~K4S(K=9i-!fG*x&8Nt)y2#CTjKXbJBvIRX>Cvw{dOn$2v^zL6jNum;@Y zfuF(M;fjEBWHws*Phb~qXv4Mt2bXMt6B3Ov!0+{5#BpduFwi z21vw0ykf^@rE!l_sKd*NObef)c#bbEO175y>>PPaZ;pW3|FQP^p(x8f+0FpBp~f=1 z5yI_6bJ4b@IK@Wtvu6^@qYBC~ElF{BiC!n`ng-_~ulHQAZ61@$2+Nm^TxAYje!%qg zu~I)KXSKpBf*YkLL&C7Z;(u|#Ome*rGn(svWxmad%6^Ltg-0N_X>_&#gEO!IoP8bZ zWRHWz-Uu;>xxuvk+(cgK_AzOalj9XMFd|;Ez0dn?X3`^|#+i}hv;O;HzlrPOko+YY zNs{cBqePa`wp*M0L8FwdMo0PGU%N7i}{Ov!z0RDF} zt>nU?RCI|+yCXzBV|P))eF0kFcb*)~RlJ2bPZlQXu0A&}HGY4hu7GX-`BcU_q{`_K zcCEkM!~N-BN&$=DjjUjs`x0`E5N|x691dwfs4S=?PQmhqiG$Nk0TUk1RB#cPS>T@F znpiy7{N}(1JI4!Iuc`$R+-adKVJpS_o8E1q*yzax(Nz%^RPa_&Y;7*YrsQH*v3>t1 zqB;}o46cM3CHLam^G7fJfy2b2uHwQ+pR)tBN@K~GW+z3gssmoTRROwZe4%^AP}3$E z^I=br>Gzmcjdo5wya0jPpZ>)}{6)j?U@V)*Ivm(N@i|yJxk2?&V?}wGcvaTam{LlU zw@FHF#Le$CvJb?nNtAh^Mc+`VzDbn+w@A_#$!D`E!Sf

  • +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 V0(L*J@d4oLf{vkfv8Gkf{{ipO4nhC` diff --git a/docs/screenshots/playbooks_focus.png b/docs/screenshots/playbooks_focus.png deleted file mode 100644 index f776f2481fdfa5d1780bf19ae2eda733c48a5e5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46562 zcmeFZRa70{wmt}i-~@+FaM!T01b25!fZ*=#PH=a32o{1%aCZoS0156+(2YA?JHK=8 zxqZj|_Za=qZ_NW#ty*4lP5I_mL?|mtp`*M;fq{WRmys4%g@J($gn@w@LP7vag2E)e z0|la%Vq(fNVq)aVPWEP&Hl{Ez^a;iW2H4Wf^uvaR1_r}Fm>5u;+*QNFqg4(3N4sAH zFQK)g%|wh0yo`l~6%?jHV||V1(>B@3YO$f27IE^tn94pCI&DeT;i9zL~9NvxSPV^DM%cwnpzLf&(Cn8%zlV3`o?Jy z5DI*e*i7vZ5cIeZLSLYwU`JuEzcP3jRLwTCfj4xvH#acIxq5!ybwEIHQ$Psqngv>S zJU%~neFuTk?O`wdUcgM28w)dZG`0hqs$;4tW2T@0!w6g>!N9{Jz`OviU}4~ZU)cY; zh6S$a|5F}j2?PJP4h)PS@E3SL`EdU(fep-m@$YN6A?QPdlrLX_Dvg%!HC;3nQx`*W4_g~MXI>8h%D**ufoo_nn3DW&6&Gs(N=*f2 zaxr@+Q}TB#tSqdQf+*zV3zXgFgAE+23{jGaNs(GhQ)!TL&jo zXJ=qqf^7VM2l&60{bzdr)K@iiwzqMGuHu88rHdf@znc7y;{Vx7$;r|b*cNEB{~G1L zm;KNB$`lb1`)SrueVc{~qxFT;sp>1zk6i5rd`-U^A59F9_X4c-I^r5*Om4fKv&EdL$! z58O*d;n4hUqEC@v=p9h`#s5R);_z-=_hr+EVzp5^qWORqh=)H5z@R-^R@o{HO2LKX`aOY{-~)^BnV-q-h9Gn*M7Q0;hoooMcZNB_ec_{cGOj$bA^MS z1wr5JR|WN0b8!AHnIgV{;*)e5i|*l^ah$8eD^h+7qIWhmO)FmCZ&oU`n*sw$0waO_ z5EjIe9>Ii1jr9&$@vqeSW^*u8*`s#MM-|HByfYVx$7C~+D=_m#h3a6XqwV(>mA(>% zEHgaD_ceMQULn<4Z>>|0R=ZZUn(U5Zf!3pDW9f!%Zbx-yKQceAcKR;A&8F^TP%D|s zd~3Z_+i1I}6-O%2%TfmJyy+FZ+oM{nGmZLP@p0Pg`q)+>>zykE;h8Fq%;z*91+2d^ zprqxzJO0h|dn!*80Tp6&o;bX?F#K7DFeK-eg0TSoz-GDCRZ&Gs^zLF>>8O4}us)WA zZy{eKC|gvjmI@T~5*0sqmsolDVW*h@R{+JY`x9)V*QHhI&0~w><{(d@PpqWkN z+VZ&_)@;TJt+d3kDi*!@`zn2CKF7+1v;^zMH!2FF?gTuN? zJG}$^_QQG@886jTjiFd+QAAt~pZl?kAp!=eO}1D%zu)uYb*2CFlcar~XRu*k=*R8R zlx0sz>}>O3$Ov6t^8tv0{PNFlXNYlnC>r5L>}>*!GihnAmz9T6=A_(gmF}{1*yJnI zsBBDktUV#9^bfPbsw1qs#o_uN#_}D9^KZ9P4t!KePNevvS{$iXQKX2`s#dC~=qaU^ z8V%oQzj}a8;38$> zh4hRr#xkgc3uY>{XBn)Q1oSj*gN1TO%+W;JN6dU~kY1X*D1Wp1Ko)af6m}AlAW?Mo zDwmE}vQQ~ca6G5~55*1-<_@bS^5yMr9+4e|Qp=I?!Y6Vzey0Zbi@RDC(7C$z^X7^XB2eRdd2f!VQuM1#ZK(2< zQ5gdZvm{D$wF4>z2zG~;8ma{2C*Vheby)Rz=caX3y$&wMRKEBH3xgMxeoi^(@q5+* zyY9Je4iosXdvzjP_-Ezj1cz3B(}WMqAcZO@!~p*E*;q3%Wx36ruL;*P*2SELD6BUE zs)b6BOpId5si@#EU^HU#!nZ+Pw|&AM?pOlHn%+1C;l>QcwDB2pF*Km?VVO-$!=NEH z)fMHJaR+UGw*(IMWI@qfkDZq?JVnLp%y=-`@gDbO9w-)1Z%9HIsx{c9^2O0ab|MSY z|G8JCiLd=2R%Rx?{?EN^=qEIh5eJR0e^2me>WrF1v7m2x6CMJa;y+$IaSpF*oz^!iQ~oYfz<{{Xt1tq`L;<(o z)_F9wRBsNk&FA*B8=#Q|)EjL+mMa$oV&Fe*X}Jw=zOIU)gKVtxZcxNJZI2E_N$x^7 zg`5s4nuKo#FjVV}F|W*!1ZGN=$cO}eJWd^IySS`=(f|1-@z(Vh`3T9w;_8!Gxkfb$ zcJs%2vzbCE3?fd8cn+B7n<1g>5F&OH=>&%dz+i+uo~3m)WZ8Gl|Cz1!@4sCO@PJ?* zLx#wjUXk$5{VWg*O56WOPKg89j0fk&GB^r%qF$X{>`yOS!zl6{HGDCga%8m){WO+; zDiuq-e>R}#4)_iYfMOr*m^=)|Q4G&o{raJtm#W)g&tkh572E(AW>Qlqg?3@Ytj92NqGRI4OH59dv;x)^43wtSP#{M2hs3j@HmqvrM6o}YaO^XY2> zh6J5ywnTxbZ~1(bsd^4jruLnuNwf-eN`kljEs1wmN7g}z7>Xba*ybw0D9)5?fU`Kv zW8ZwN>)+l6d^TsW`Pxm5VV{nU=28R>-9p93`U*gOvBUrtpF3#K{;$3=350QmYYxJ6 zS$R9Fv*|L~U^%_S=CTq&munHne-_Sx84NfO{*pUr?5$Q7eWB=$KDSQ0ubgO5AFq$w zPFf9LQ6YLADG5C`@C_gtO@5X*&KV~5030IQ^PL}VlM)0UyZjyxE1Op8LQn}>YaR%g zNXG$3gpq$8JM)EO4cjaFXFzINn`KZbR<2k5R}o$jTLA7)qe`LV{8Ec^->t*H%tlcL z3{Ib)UWx|nG=+qeABE{yPec+vQpIkgm2wdx2 zw*glA>Zce+OCWm$aWb$=^T3Ng@j8oU4yWV3C1xUJwk|p~%J~lNT5=F#L+vseK+&!@ zi}_~tdo+f0T=3q8%WI8Sl3@a{CnmUeZ=fg6l4eZ<@mBg#y4#y+FpkXrDIEjHGe*d- zAI={O6y} zL-8(03%`9ldTEF-4B03_u;6~N%xG>0nQs=8y?IVlp{E$Wf7KNndAz!q@Wirqz2@O( zg^jy)mDAVi`0KmoiSXAy_9hFD010t9Ci>e?5EZiD{dO4$wg@;^$4SqupeLW3{7%3) zg$rjQi?c*Sj>#qA!e@(nR7AGk?vJW!p^LP#hXfA7z?A5=x!L{3>bxIGq66~?Ds zI8C+)#Qy46D5{Vl&9mGxb0lf7t+qToM_$zlzwH?Id#{6@krkH#C4TwW8fB^jEqQZy zfgf+f$o%H)x*pwr;1%ICY+%D;h0BoJH>QVw>@DQ(VWfUyX8^aK1`^rDfY^EoU--B% zGyM*Bq%C8z1EKAmDk;6^MnsKX@s=w$>9gm`8mN@6tsga1M=yZlX$?8ts;?zNdkkI=rv( z`FhRAI`YVv=&xhu0LcF>uxW0%I=k>7vv{GOMxKM*uK6Lx3k3O9@%=e}24rx<6Ue ze>x)ol!r=!a}SyS^ZjZiaHie%i_;dq&FWbTJwf6sfxxVX-10Hk%B$=7@ubrG`q*uh zp_Diw&SvX6T>J&1UCTB;V6`(oRA^3Kovhk_`1-yUN0Gay6B1*uIbUZQ7rCqde5YYO zQ<0J5xswrqTYvv{<}r0yC;jo*y{jIu9Ha?A)GT&Xl4Zxc(JXX2DMj`XumqJ7QTR_k zReT4dPIj{F8_&o2CZIvj6o}8QLg4b3nmQ06%;E#u-E23{zteY{N#Bt-NqDa!jMQt` z?PTR>;b*Js!Qqng#J6g{%W{U@dU3RXiESWev)lfj<}Ls=0fbyfI7|3KBjyO+Y>C7*Zx)YYl|3Ehzm*`UY9mEr|S$51{JY2XW5fdAP~L+ zH1Lhs6<}V7I=aw_-f33rbsTE1-lhJo(p}8)-^nmPgxX|vhtsv5aaE^{&imu~BqhOl zR>oO<{|;!B{q(RaviuDw28U|Kx+1 z%dMR4zUtew>^iGEPMI`bn&fpYNX})oJBzG<)xO_)#1LE)e8i) z8UPJx$&VHWUiDiQdJqS`ct?EU>@y?0QBKCG~kK8i{NyUOJ%N=BK7P~iEC$b zD&k62DA+}ww!l8{>pr@i@PC>HEbPg`ie+ie&T)VN@dfd|%Vg~SIzotd>knn~S;!rmbg>C}W5{bn?X3q!u&vi+Pydxs( zukCJ5d{4Xwe@4nGP#67(KLp?pcV(gbLyjyUhEr?bN+CkXcxRi*0iusWB=h;nz#Y2D zX|lw)gsb;wrqUX~+v*89%$mgjpvMWl3JM>TsX^$~86C&c+13pYr;6or64r>1Q~6HX zr;BBj3;+;g9CXJSc^^U14N{Q=)0^NnTvy_RCcM5B>mXmT@FpwidbdCqgOAX4`@=rF z_7-rwcYJbzz_}KPC+U2UxhO&@e_w2b&^dV-ndkX7`T}~&odoR+Cpm}Dy>*4abkKl9 z)^s=rT}0$()!s`$AiCb_6fHG~M7Rs(OIvDmJ#2$>&hpW#^g4Kbc#gIJB*)b*Oq!~j zXYOZ4kHp!Z@@n2f!Z@jl`yhDZWqZhmn5E$3#q=@hZtnNwe4;&mgy+*rXZ@aRMY=Aw zbQi0=Pp*4EdnBVl>wl=&^B@I6V-1?m>~u_M)n#Oo;5XWh zE|O?nw9I-w5D9Z?hE<^Ik~GWj3+#|xgwKiz2~<+8Ef}lk+aSpr0BRf8JiP~`uhrTf z^jJvZh^5b8P%7V6LJG1~L5$Y1u-4mH#%Mqu70o%7>QIqFk|m;1@{Hx#0g>t6;A}UV ze#gI-T7LSY(dBfG3-NGpY`CXdc}%4j^jdXsV`sP+pCk|oU~3JymE}hQ$tTlO=>^|c zs8?#mB6kJd7FB)Tr&vHOL}=!a6?MnLI4?+mV3`*gAYt}OMdpLTd2B&^@WTnDw9 za>{$sli4z*CV!#m{uZzyLQiY}QE;Y$r*m;ch6PD?`(DkPFaL&K#5 z)BVwl@wFl4E1KkJ1D*DGmKb6YM>cF>$Bo{#l0Kx#{6IVSWRw(4+^PZpu-|>9UA|Pu>E3km;9P`#o$3u8C~e0BYeoueOVaLS!lo$q5&uwQ+aJ z28ah{oPCnd^|e&{{TmgZr(Bv&d1Myj9pul*M;YT(?Wdgmi3WlYPVs56=y*cUNm?wy z{V^J*+&5nFuih)~%}qJdqDjIA;k1B0wT5y<**UzN%+2*Vli9_N`QSH2uOf!YOpPAd z%eEzI$dP<5I`Q)5z^xRS@2}f#Wm$Ut(6h*qH;uHopcE48h=O2*8ZIEy z^pM%YF*YZAzzfGpi^U)~!eMD1Phai+76L(eC+(FMoxE3hgNIXAl1A@SLl?e2um&IE z){n&0Y!%IW>8#pQlkpU*IwXOg>~Z~KFxl-`Dlb}-@R72)j}?uc3)c`p;)5o63l-y1 zuEL%(y-{a%96kEmRwHrr6Qa#-5E00BYJ31!YRQ6CC9&BVG9dMbVj~}C?-G`TZ%O6p zNf8%(P3EW^mk|1i=N&&Xh~Q7eI2B21eyoAwrz=tKlANS2ngSKNTT_+@6@5+yq9cRG z*hy6Jeb`qLK?8-SnjA|wni|0)DzwoItg@*moGjyo@Sl-o(*|#$k@NIL?Z-N)`=gJqECXSz{2X1whL0A zzaAO?)tqrG4+-p!6{vu!VOBaWXhMovV2h_4zo+{~f&j8{4mle!VPz4D4j|}s9*bkq z#1-y%+!cCulniqy3d#j?A?eeuV-akDyDP#!s09M!}H%L9q93DCtXCHa%FnoQpXM~FXRf|Ttqwt_?v zsb?O$6(;_$k4j|~+P+-&>KBV6n~A;&yhdKKsLw8Z)tvk4RpI%@X}D`w3bp=3LM*Mn zNWmy@Ue6#*UcKh=5f0Jz=FE>y6Z}M7SiLv*X>Q|zL^m9NBDgTrXiaFa-Hu{siZ`4z zqo0+(YI24)bf5O3D}d98h}XTDC5A3R*mfoISEtIPH#^GIovJ>5IKHYQHvw2@8Rep+ z5Pwwy2MI?HeT&chYH1E4^TwxpIYU~E`KTD+WP`zO`7ffa6w)Olz|0M^r`fr2@d z%A?2tMtp|y{tAjTuUP`A9MA_wo~v}rtxrw$wut9ZNe7tE1l5ftY{yoVy<#CV&cOd(s~J12%9{FJCQ?Z_ zJ8FU@g=v5XPip`}TZ_l~)Zm)jW z$j;%7*&6Fp;MeIVmF3qQvPg9sw@5=Ax!HtOSm-+W{Z)Xjs@!M20!!peRSTg9W0FdD zs_ud9T_oE(^WWl&?FXlNQni_4IbUNcwUclT(|1a>DjCt2rt6k0nq#P?urYV3GE6q4 z<2kD2-Z_{E(RMW{R&cVx*j)BLiQB04>8CP9R*rG@a*tW`9u?;4OqPv@KmFDUc@``kR#qen? z4w5j%V2So=g*Cyws0O*@p*z>#*y7 z!hld9%4b8Triy~L&%<#jG+qud?Pu;|nGl9@qdZT!a%Wv_!>{i%%LkRZk1OhJUcOE2 zRJzqk7m(d4I(z0#8W#E3`dy$Nr9?JWM9~u;-gw2UUYg`8x1m3j>No`tH@Q_FYNheF zOo7>+_XM_C1RXa7Qj>#@X$4%eOy>6el$Q91;oV*BoAs{K*?e@^@}E~h0q5S&!z_oo z7bK-w?v<|J6g^ymE`3FCsl&lG=-HY`;yQf}a2mi~jdAhZ2H33s+@Eo}RZ` zQUskWYAv0dA?QwKvB8Z$`U;~XJ?hE9z8^b%T9{Nj9a%KRx^eo3&lD#0UH26SZzhNW z-d%dl_lHanV~q~&PjgcW=aS^7fxeS_Amqw0N)YURZb)2@wijC7*t~GfIKFXyBglRK z3LRsa;$e{dX0u&;IZsaGNiNa3M^HKRQp&@D84sDU)L*G>QNRJ;^YM;^X^CQm-gVwI zO(IwEmP=6U?E9TVYUL!y_mHea#H7FtJiHFNmEWUGZ>qbVya=eLvjHgi!9YFol4Se= zg7TibFI&m)-nmD~KYPN$uGYwua#W(sAr_5@rZpL39YN%#{qbs1ty3_EAV2(eljPSE zPRN-3b3}P!Zo9^wo+q8^lAuoe!yT6|#Lra{ow?Rj#*Fum5K*?Llq)BLhggl_?pF() z&!lpLNDdU|uaK(eifVB)9mH<20{yS;OL*vI^6<`J$wDmBv~h2=rm9IX73Q4g+_V_sn!)>WgE*DW_DMusrwVQ zA?^Wj+1hdKaTxI{-5vTl`z)as))r_BJC&ervIOy)$l?P3VZ=V`LtS%3PcZj0&*ZQy zl4Iv#&;L>D6tt_M8IUO7skSapBz=t#-l@wbvH;+74F;iX0tPxCx43YWHa4pu{t-)} zxQrQIySXK{o7j}A`!49FfzEX)A5KH_{l4u;fdW$s!up=x9e%yV2* z)tpw=%reivs1*9Vn>r(m;lSb`a{$~--Y(Xxx?3UIJ0SQm1@cyIgJ5;qH4)7xR(P>c zv|4C(*mfWDAoD%<`Kd-LdVs#uaHxyW{rrTHDM#5Rf05+9sij$+9dkOD@Bs_Yv)L0?kBo9DZW*D zX^oVwydi0$QX2I``~C@Qi521E34G)YkOIb}yQQZ1ap@8xe(bio9a%m2J|5^dA(DD@ zD{CU*7=7!kIvIZk z6$ZzH{ZH`t3c^w2Qk}(J7#^AD6m~T|`?g+{f6RT_GcU-IoRxez+wNxWo_+KsDWUa4 z*4)6*624OiXA_W^qh3Ccp*glpL2t6Qc7Vsska83} zbjqjWcixe|=JJ1fNUy@gy=~dewWgAcMyf`W3*lf=DpAbIY;=<{F9TR2c3H@1@^u{^ z3$US^Ke$#oNypFRsHheZtLhYUcs~O0;1XHZ@_=(%LAHH6L~_^d(vie{$?hJEy(R1;p3B(?U7HHaG0}x2i{lk>;_a^zXRPEsk!c4HIFH@VN;a;nO&Pt7dGhz+h*d4j|xV;^Y-2GqBDzw;%8|oc*t?-FwV=ifnY?HO05s&+HX18kt!co zaTg>mEP{`|C|S7Ieqh!ZSms=c&%lp{9i{YeW>xJ5nP@%yNRa2S@LgMJF=5 zFjMi97u^tr1fD&d_F>rGUF^G!^XyXF&h7V1TT3|JZ-)zxzZcpU*r@CMAQ~r_aWz)A z4)9PW0Q@(GYRPcR765h?Z}R|TD;AbnH9_ccU&)Xvj3|N!RdAZ3=L%|8hi~LEolX1_ zAK!>!hTx*N>9m}wmwQ<-{TaPnQlHXxFYUAit8mOZh%QD|IPM*pRs>5oUgOeeGmse} zeZM<)J(y_$a^$+!09NKUmzUubY}qNCZT!OY@@MT3sWkxQwi3afURc#2Doo_Ayk%+B zyyv-{TaTVH>jiCxQy>j)_tBioWc4C7FMB3gOkCva`(A$FQW|Kz%dbhfd`Y0Q)<{9f z?T{bE;UPGG(qK)he$h+K=gc^tnz-fDV46Y^E)uT?;=(w=TJweD6RR%TdITJ+Fa+PD zn??ey122K)A5td~>yGb2F7`wylgp&yNXMHpe(?9p$z^X&vh6N(y9SHo3$W-kv$k`l zwGQa^_j5>6>46uVC2yy!B`k}1*-xoppN%rbk1{-8?0jW~?{SM`>xFp$;8K?(HoeZx zX&#?cuUS$e!I;KB>l9~y#(qw*Si92Y5 z7e2&v40!vc&MK-UE=b2pw98o0V?c5|$w85VWM49hYB9TTyMTMhh%oTtm$IW%ve;}* zYk&+NZJ^b!FV=Lf&10=^1$*%AZ{{>5TX`?e?sB|6N2CbL)oayg4mf7JFxZp z`fnusF68aG{F6UY%Z!YXZu&4O`0sM9DaS`L46V+k%>?APGpl69<7g|S}Tee~@M z_V^sJYT-D@hws8u>%z72=d%Z-=s>5DyOgO5vXMY>Lq_tNA3Y`)N4?%KM*VoAZ_)qM z!TzhyJeaQOG-}G)=u)bcYy+}iau#uR8cLq!j9a#)lATls5_4!SpXu%cwn-~VZFx&*TaLfK*r=@L`a|K<|xzw+3;G@Ya!3r z$*yD{#T1XflFbPnJWZl0xyT$%6?h;=E<|`u-2rPC_(-Zf)odrm^yA%rBE=8oJ#5j*RNF;n ztWztAzpkMMf7h&$cNo_+D->rI!+ePnrhF*6Mr+FOIEPb;H@h0c#(*fNE4MOg%Ug5q#;3=^F=zl_xn)t zdLO(tq@olUyHOxN@moNAkIGEH5SkTv9-E`Hj87#XHK7J?$*8tMW7Xq3wPVzH7>u-n zPeDmteo_ju_{Q>UT}TLJCTvO++rcuGHvQ3Mv-po|WzhQU(s0HC|C^*$ymQdg8v z*@25>7PdqZ$p8}7St03%NI2?lG3~?me?lT;uQp_wFzFnb*EM1*Q?$u%pP4{Xsw8#=Jt4mlfl$2 zGH7q*YAIh}kab)pB_#B6Mxty1`jD;-wvHUJ-rQmsC-toiz~mA-_)yFUob&Cjs|D*m zZ$t?Bbl&sBZZa9?3nGkI$2X4T{2!E-y!5))hrd4qORdxT@I{omTdlJlWg1mmTnN&S z^JG4ir_=XMFP!6svtFob;sKyp#S6KXC5C^}^}F4cSb@2^JE(4}tVojRYXsOaA#c7$ zs3opKH?Ga^Ln|Cr_dR@7+i`16RQQGvfOtvhY2l(GgWpkB5a@{ZOJpZL(B>~oo&T*% z&1%pM!&Q3^%yB4%RA1;gH%{nj4w|D_dA*aCMau2a4fqaL_MNvSd}RFtTda;UXL$hN z@HAU1tN97O^X_+btIR3@O;hN2p~3pg-_@ZY8M2Tsj2H6@$P*{_k^_4Sx~x#eCx_J| z9Pvg2p`S{!gXy3Cl0PK`=cV?bY3cfL-tu9`$6s1)*HmC+U!Tex-=$TlA9!nIr9M1eaU{PPVERh~Sq9f9lxYJ6-Y zz@LNr_5zC@6OP`C;U2E+5I3r9yO04+&EYR?j0-xPdLd&Rl)g|T4ZJ-G0~8i0{&Fh` z+^kx?-~P*T!3E^I2uZ#N3dNAG0z`)`?U=9pP?#p35|9hr0ET904_idQjZe8s$}SQd z;0}HR^2JiiYP;dxQl6i#AC8w=&gqS1j?NzMufy~ylNM4?-oS++?*-KH+am)TSWrMu zxm_ysSax|Z3qEtG^?yFkdv=-CbDKA1+cY2;gLAOke| z-n&_^w72Lw^t^<+l(=-Q$yK*N0?Zbgy_MrAMx6$wr!8qz>CCfqT&P~Zt0x2aYcl}5 zjWaK zP1u-Dt`VFo=-Vpr{BYjrcBBPx*s`E8kyLxL34p&#VnBc-cP$X|wCHhH^F9oK{nj_k zI5)bCL4PTJ60|V@3lEop$bRf|Q-=q{sQhDniCP1cPzEJ;w}=gM2%HSFJCWR;OMa4` zSKAE}dMG%kC6L*o_XijieFG5zBBN>GlW3AqfL-M~j>!zL-$*^Tu!hj_p|pz+m0G_; z{ww+Jg9s40p=<=c@h9PSS|@;4;r4hr%Quc8^icCgr}<~A`^oVN&zkqL4fw|%A{VHT zR8luVltgM%VMV$S@Y_NsX%un!3<)K20GIhHrP^mef}s3~PBD8=623IsN!FxpeYGJ9 z>NDCM96(7HjW+WeZakOTMqw}h$ju;I#F8Hj*XNN};o-(SXR(_`e(wiZ4a+h9v%2mr zD~ILPomS=Ql}<#70;ku$3VV~MGHP=<_T`1?M0O7lnXK!b z1v(8W=Qkt(5XKUrh7NCJ4{lPO(}OCpC6>(KTEkRYBR9EY+~ScsoH z0PlL7zOb8(dvb*hGl~nr=xl4G(evEw9w5WmGpScN6qa#J@K1MMR@%=4!eR;Jts}Lc zdtwfIGa_#S4SPUp<3Nno+*(vf!QctEEhmUNDpGvgZ*jF z7kgW)SQf7|8W8(!uT`BOxKi_Qrxw6K=xXke?2Q1Q5KKrBJ@v9}>GJoaH6|fJ zG|JWAWS7eOw*dGI`gk(3@c>abNVgzer7rmvpmn>=8%^;*?%uZukTsAmjDXapE zpba|3{rN(j({;oUSY(|{aP$7BIA47gSg&D?>-vMT4xaWE|s+>Mu@B_l|WMk9}SzT8u+Y;`}*}R z14kiiG8Yx@k^{Y!*JJGp>78|Ca_hQtTOWT7o{RUn-J0p>=hJ@>;ewi_kj@oEYC=b?*w4BL%YsfGXlIJM~Ye})FAm=2RzSbAJ&d)-y>_gh5>l??Vjzl3Ilm#$ly;J zs)jW2OEMIFZR`cO?IO#Cj<*`G{`TcQyJX+i{19EG@= zs_(o`6X2921)Epe;i%DO+3rqfPf1?jDtrNN$h<$cm~~?QxKdlS>%o3W<|*(%_`wi# zt0>@ip0(Vi@xF@2=VA7buOh-(QGA3AP z{7ePBbkWn?jH*5@wv;<1N_MS?Xo!_8)t;soigx; zeg`={F7o>HV>G=Bw;14I-{ez8kgdNdCH@aDjV~<9pX(e1;X_B^{PmJ007yvT2-+z%F(Os~pg zHL?2ZQ7du{U6FgS#Zo`i?c^30GOMLf)7IRtxn;F(3pF}TluE%@sTYTOA5$itcm7OT zz(0MxE}Gfsn*3(&whH~LYuWG0_yuqBSZPf}r(8gBj%%nu*wYULtVr88z|G0YiHY`4 zn(D)O`niAdGs<2wA`SoXL8P=hDmBLo zd;d0>LKya+l;8}47A*a?GZ}JeACNgH?J^z?Vzs_-WQkUoK4dUdd6bfdPX>DLdIkv z(Y-xlh=<(;z6G~IL$)5vMCfTMGAJ0Eo)JDblVr2z5FnDkjnh`t!&?eSq_cm-$!s$OV|4X#DRvo)`b zrj*5tGw)-F`XX|bMKxyG-Ko9F27TiskNeYVyV$rs^|O8_guR85-rgR5Z@zYs;Wo+) zp7K0egq)dZ-SJIm@Z0@p7FkiJ7!I7ibN6-v$;r|l%W))!ZY7j3C0a;`^}_FC<6YM~ z5sSK;n#eg^EniOS`*iB6ad}L=D%|8X^{t-GJ3W5j+zf1{CTT$S{FGN-9Zh90^(vFT zjHNUWQ&o|?jsJJhVnVDtaN?K0en{&zNMQG~u2nZ9?zqmRw+)6q^ z-qP79mo&FPRMGPT@5XrlZtEq@mEYpBjLw>V(dhEm`f@*C`iOhdUbxsEDAFo@9({b59D(`JHuW9r5;CoxVqWx zfICzon;@^j5MZHDM`UBmW-&al+Mu?Z8gATzGf#E*(oo0%(jEri>*Km>yzVKzZ|lRB zP{&2oCs z0rmFnF~Em+ZxgKhL#wOJ-gWn<+)m$X#lJf?5%ik&l#-6_<5k4xL8O{Q2HoB>l_fEG z;c07mvnd{3OB^K@hZQe_$|He>MXOYM6I-jRI?|XhTn3}P2sH1V>Aa9#7^@Ff2Konn zaXBC@%7vDU!N?3=a6fOeNnLD;8(YlC$%SV}v4W4U@X)9Av<;c;?dKi*L*liO5V)Glk|B}?x$X?~Nnlg0h&K8l8VR3xL4(iyOc<1|r=va9olx}{W#117_aN}Oh z*{;4=`<2pY?yo=WL`&!fe60WeUjPq*l!pA~E4ZnOhMY3yfn63X@{(}vZpj*{vazwk z6QwTg(YY2xW#i0Rc|+xS}m~QQSxeS zXX|mc$Fo|#_yZDTkR4u2Fmv}?9BO!4>NFo2mtD3(Huq#p=vn*RN3foqli-65ENkMt z`hpO@8)zkM){MlAz6bau3&d2f$@qthk~zW$S2mL!{-x@)Jgz=~Shx+~X>j`s9MsKs z2E2V7$gohDc^iC>G>cj8J#{ohr&vUNO%iD%Nb`dyJ?}N%L5P3VLT9%F#y}F@B7U$E zV)Z4W!0z#K+r60OZU1GT5308N>B!f7T7}Fa8as(ZVgRz*;@(#H0(`&Gg4|S?uG$LxOs{L_4J74MU z+ttsN&y>jX$ZZAK0jZdp8me$p7=Aq3=RHU*mojf!9JY|0RDuOg^szYUBSFmhpN{jR zqnI$V#;jo=vt@%HF<~7`9pI zn9)mrHn4cLd-@{qjg?!i*;`&bdNAO2$B^#8@)TSisYu5Y}63s`h_vq(j{yThQA zk|iA$4bt7PNJ&Lf1Qki8I|UI0l<`;lnanlkT=Th~ z`?{{*U0jwTQfKsLTt=y%0PMrX`pYRMmTR|>hK(;U-S3Mh{!E=Za}POWJLUH&)X2|O zW%W@sy>lC!j;^sA`YU;{iH-!Fdv@I*uyf_hA=#m^ zv=6}Ue^mK`W~<}OrQ^g3hu-M~yL+&K=c~A9&o7ZkarX}|bw?S#JnOQ}S;6XLEW77! zR^hUlXzwm5rc>lo{--@z#?N|+Hba~3TP?%)&ERCdkT|zuFAFZ24>A1l(kHnj3YibB zc&TnEHG4;TCe}dlzhtc)cEpFpx1Q+w$+NWc=p0k#OTWAF}7h)&aN2{|0{V z8|`PpJ2{eil=tj&v{l>@9&%!3E}rg5;Ag@=Y_(opiYxl_8VleBXk4+*pxEzCuD63? z%rxDRAGLd!hg90owsTDI_=}K(gTCx}VOItp=B;o*WT5inL?`0NuO;I~prg>f<2&Kl z!5dsjXUvcGC!mX!+i%J$qPaJF|K5{FBb^j+K|wUR(RF|ME25OBMlK@%-t( z`c18KKUSj13W`C)sEm>8);K2DiO)@J&pT+LKe*69;j=wfQDEG8r(ZTqjreZ=pkj zvg4<@cB551KInB(!@O6;B1J!Wd(&T0PgA_1q;?R%yOZoJ^4Z|8P|^KlOQrB=+9fk_ z-+m%U573FruO#O>&Q3f+1p1hezFzD3NcH+BgU+_9amA6)o2G@w#tpW`bS!4t7eiAD zeRM}YHTOOL?A`zT;47Kpw)iSprpq^1KMMbDCUsZEFhvqHn*k6nMhnw&%-RonD9 z#~q(`Fd9IDA*+%r7%s;0Q%0n2dQf?_>g5bDI>Bz_(% z|6L8Q-u(Xwa_0XMpXPu5F~m*yzlHYsfBn*F%hJF=I8uWntrd#b2EdaPG5*6eX#Ae4 z)nmdIrMmJT9z}ff<;7Xv`^=;;z6bB`{fc(ehAhI$*$2?Wc;Qw^3LT+YheRD{+wV(( zR%Bf3`oV6xevFXe&Z<#VJ+cWL2p5HB5(+wr#-Qh41nL4z{nJT4dtDb8#VvjOR4ZT+ z5%oTNA?2}ScAWMvzAXsrNxA)8#_NFpw!B7|{%PChRGrwfcienTk3qr{CI2uw_i4?0Xb{{^-zB;&r^le4TF#f8l3L}pi^bWsL^0fVTpgvCAM+* z`ric>LGm>1Gj_Ire+$Giu?>~~KmLkKFKiY>WQ}g*g~h`QM=XZH+rfb=GV3Qu}d(&t}L>TqMCs^l(8l2*>I9)d}Egm0l}go;d?{D!NY z7J6+}xg+FbNxpe1%_bL#q3tNu3@q4#M^|%hbEqJWt}LFLycZ&8K_Oi0J2)#3=Uk+P zpzJOPR(D*$x0CD$QCjXoC1ze7V^$B<$e1H0U?6kF=vHZ#&m! zI^sZj9yd*vP7*M1FV9ey;O}h44!2l4v!Ja>cnhdt#=!5aED*A#pUwndLKIyl@T)#6wzgZc%s(L9EJ8 za~5~(@?N|m*;`P10PLquSg=%hkO0e!33Xsjh(v6HS%{EDJ6sBA$uZNyCpfqWVWfF= zVSRJZ2KNos(0U>U$zS7D4%^G#=Wn*PFBd<7W)=h>>53HgK3FwJm76JezKXORE;1S} zvs7!-3-u;!yITv&OE){LOE}hzm+($XM08nlggguBHw~p`g8p{LpA5=NW-x8DPzR8tE$;;U#*Cq{;sJ2B+lH04m` zrM@W}d5a79FL7IlHI%c7agx%W!&QP6;k8tSX#SQdq6qnEr_|ZXy`b_88SlzloVb+M z>!HpI&N->E&g?w*_;CkJI9Cjo%$UtWCfe|@Se$<+%2A!rpn#ju*}emRH;0Q(iD-(^9zWd2zDNE840D9sq;3nc^k*v6;VglT1lrlA3y6p?m(4 z`L>*3Yrc|rlFPg1bZHV!+;m1+C*}}N`y^h~z=U3as(Q?bqxE<;F$bR-cQ2TKt;e(H zKHppC`DsP|**w)4=PrKzqTV^`eavdldVVbhuZ#le(%sI!tM>+R@r_~_AKGsis9Ghx z>Id|gu=Eoje%4?HYlT9lNp(^ZE;bA!G1xR5jRrHYeD^NV-8_ET8Rs!<=?BxvQNs#^_gD(WF+tv140n0g6%i)QU)3UbZ&ISy`{&t_ zn>sbQSlIK$ZwbYycM`xbu|gPp!`chTvXc%zf2mcF*43fJUaRMa2&^8pO98_V?QQ31 z2)b&sYBL2R?qDi>e${R|27hE0tF}6<{29D@u7PMw>98|k#)k-3%#Rlo_4_^UNpFCo zj>u!qL}At1Vzm?4tC0#^V)|$-)fR>{A%luI^DC+~xz#$I3g!pxYywUK&*XK;I*;~( z%^zI!6{2) z$cqdgz`-Io`bA@#L83_+hN3hKU?vGvWY^~SWqh~V;Rf!_$F2Mfp=$=H_9!YuGcLvU zWdud>7lr~cl!EdHOz-!{6FSRWMzNN};>*cTtt2Ab!qoz8AMuMHY_92HUz~h+cQ-vE zc%Xma*Tz75F#3CZa7UFfP~Y-2h6&Kq)vfUNe#4bNp)p+Z5??^MtvgmHTn!3Mu`;Cc zPhGH8mQA4=N;&%r2^WbH8XF3|n2EfJ$^mAW!wQ*+09%hRkW>gp&L=L|Y}?1Bpvo*o zQSuO4o}0kq~@E9yX}OJWQ{kpBmSBGX-CsM^N(Gpp?$3om-sK zOQpsAuOI)t`n%9knMptwK{>?r8v3*cMaMD?N~5l8oJb%* zu(7_|zjiXMK>o4%AU)~pLPr@CEhH>&sURw(G$%Or3PsWUHFJ#>Y?313YxUQTCkb$D z=@K&vE$B>1LD{3OtbSdKGWP?|)S@TmCy(ocLu@csMak>uYUl|v0Y)_Mxo0-tT|KIpXcamAeU01a;4Z{C@;xSI`XZS6^^=}8v9*1CAv&zy9 zA{WqxxLMG`|LmLIC;c&ioy^U|W1MXAZ;B4LoTzfBilGz3(y~2}@|^klJe5J*kvSt= z8Ao>+ggR6SmKUPEbg{ubcaD<(zz?Gign&`{B_?)&zVSl>lsgcnlp%*2lu7IOqae4O zR64KI4)_OdbK2$mEB#s?_iHhFGi4@dG9kp>a5t(Ea4zh@s}1!UbKV#rJ%71em(Rv9 z=V@XO_GprwAOS<*_qs|K$^sh$0k10sC};%E{I&5N zRe+*J%2Ht)Dq3Cw^yNvmj+_(Aj|_>Sn%tWY3(aC^MamgvysD2uN6`vc+r&_~L3g7L z0Ge{s>m0zgT(Uq-^9As|LX)om+Gus}F@SQgKAq2uaw9+=`D|qc{S0)&aXZ&}IS>UQz zN}|9tN!10wWkIQR+trb2LaQSsS>O5W`S61Qs*hO=zW9zM!WITRP8LwrK;T7E(=0CX zn4i))nFN0`g3YMe$pqSr8#cvzqm6hkeo zM=g0JeWpU%9L!&QM5t;{-~VFSMF_yM87>Qs(h2cR$|GjS^}hgmGlsuVi4WQDAcxcE zwAT;uRlz4tieTBf<^NjvsRh_7IQv;TCg~&i&0AqB>t^p-LFpmY=;GCSFzQstV^Tj_ zV-Fm%Z0jHaw4YBFYk4qeBogx7>il@u{$Uw7$HGs}j%(QgGDnx@*DVn%L=;SSYg)u*xz}lzn6iaG;Sd6= zph%i%(228{T8Lx4Y=m1UF~W2KqfomXR&EckC&?b=B1j3fz$b1}{&fLv@d46hj6qox z!0fCnWzn)^qKK?(fh$Z3po69sxtH2~+cKI#9A~ysNNtvYN#yuZJ}cK|VOk(d^a4ssWN@X_+f^+ll_ymPR8x;CG1PQ`E?{a}K%{`-2+B`(Hh z;FC?lmDxnTrH)NKQeN4K8+v8C7{J6B+$>P?h3s*^r`IgCzFZfYL6YEZ2N_bCzaxMd zC2wd)u0{Gd_)YkEySGWup1?edzh57#$!kflT*dog6w#tMKy78knjrAa7D4=()b$>; z?vyKl{Wn*w6(^kpPQF4Mc`6aEoUXV&?UX{o(oY9yVd1(ByVFjLhHW{^X&}Sn03)rr z>Eq%1k7hpxCy&s70WCbe9w?o5F^3r!1#JOR{LL< z5iI?bS-{{tXa6=3<1!t@7rW<#(Ld*Hr6xvpYIMg z`TNHZ4jR!!-35i38GP0{l7rm>{{CLN1z>(ue%FHFkc+RhVpFPi%Aox(v~c-BdrJUF zB$iFRYnsCQ_*s%2Sg?kx985vv@qvB}C2u9vC^_1ia>2m!Oa~w&0vf^g6h2dX)E-DJ zz9#d0zyWQ@K%dDdi|4(2zdD*mC!Cm2Nx?AWc_d=QYO>nt@Uw&OcaZb*1*?98%<*h6 zgsL0^ZJF|v-@uqX0>C*PMfs^*EaK+?%H`ftSY?~($uYpr{TA|nUjW$6oi$oaN^}zO zM0tGzbY7Nam?Jj(bC^#`gTU;gdFEndB9u&l%*7K9{%6K@fWh?#{GT@>4%3sDC;k4* zx}p`YsgSPd9aHWzcBW_JBby0ojAauJO;bR7v4vZ(^c$WSHF$m9=q6hMEd@JJL41Y0u3!y$0=>pS zf%I9uzHG1W4!K)w)$O1APf<)fL=2*pN@P|$x5>#>ZJT8^+qjOg{e=Ulz z36Qf!f!ly{q{Rbp+cG8+B=SKE17xco+w_V}Ie)+Xa>n<_2sC}{zzTKeg>@f;*ooZBKVL^`6O=&}vI#1Pn5ZHn{NI(&7@%fWapmT{dP6K6fQwH=(F*;YEw<_G+}>Z=H-N4 zA940*o!iE8k9@}NUL&Z!KsQU%YEbPw3~wJBoJ^e1Bma}{rWq}9RC20&03GWdjR)Xr zgjAd(0*cjthmHUANo{`tfwnG)^aGxu%7oN(A=_Fwm~)?`(9*U6w(3Ld@;K{OHGCYx%<;^={SewBp%yL{StMY%c6&?d~a2BOS!1 zTwiVEWPv`HDkC)oKQ4gt4xu8Q*mR~JXNzA6#L0U$9yM&&RQF4)WbF88*B`I#3YE9R z^V$VWQ1rz$%d}!f(;z8*2Ch5f%ll>HFF=Eem(xf0Jru@Cb^&{8d-NbaL}x89klQPV zkp!@GhKO?jd;h#yduYoaK%~tWTuXu{5n>p*5uBLRo3cKlSH8X?^Xf+;T=$U*MK*i4 zUTg0h@UAThY6S@9jA%Oi!n@-Nif_#v&^GP-+Z>6lM8eJG0ZL!Ij{u=K$6WMIag_ku z0CV!e_xm|pE@t=-MrCyPuu3!@}2A)xOu|1GQ4|~(kLchyjZU}Zq zB*k5z?wBCUNf^^Jc)T>JRlUf@8czg^dKT`(rGt|cnE&~B*A(1_($+sqV@X9MWu>X?WL_-eN$U?AS9C)mvE-q;McqDCQD>ug2#yh4aXUq7$Vwg zpYgWo;ter8tbzVi@J6MY%kJ*%_kjo9!dHdo!RA${?Q$m9295yrGKN<6>fFUPO@I{M z`KAUJA4|qpT)<(hUr1|NYuB+zB?> zYXS-Noo5_AXVO;z3bXV*SnMIULP%hj?&oJAdG4`9w20yRJ^_3dfdu=lOz3tJn{ulCZf7$@1BgDTJG*Gw6X1{KbuA@ zC@Tn|-`~!tPTS5t_v=HLoKqVex1gT@7U?{rbUlDyPPI#_lFFJyq-s3Xf5AeHg~AG> znCo^^Wk>c)<9W`%o~^*G4mT|8qzBuqy-<1mEFPP+6=1_z@p8DgPN8O~7#XCZu-LPw zV@imWuh!F^FQT?!Bj&E=bTlv{uP;a7+rz!uc(6Mt6yj2jE&d*?<(K!qGWp>CSowW& z@3!HI#_}U3j^FiX8^`bH588dVY1`x(gqi|%l;=D8|K7`9u-G$C|HhFyD;*`3zUcpp z1uHPpd%mEd%!(=p(aMUZN{Ryg6z$jW_H}vN-^7j&=42J-@=xVyN-y-uil%Jz`Ubd~ z2OoN#WE!ZV7hy?(66Y;TK6c;Dn{o=7x0Y;AxUm8byFT8IgeQq&l;JDrKUU(hPmv!q zwhSWc$Sm?eG=FVpLB#XaOcHeo>gk`Cwyq}|m^cynFTExSVBN<<9h|GPA9ddhXN{*1 zEQ*Eur0ls3NtnuBSGw}Nq!EB$L!uNAtv;c>Vj-lH32J9B7ekW4`Cjq(&kk_51Gs$ggvivR5R$$+Rv%K`IcW*v6xb6nU%lFX+nQ{ER z{t0Df7vKpCDk`S!LGF@Q{8w26F4xqI;_GgYG!$jzr1)U*AJOgq>|ezvu|!lx+hiu0 zc7Spo%w}OG){5h_hL4gOzNx2BHr8Q*#KCy9Q#u*OyNOUAwcd@&3Y~Z#7W3ng)Gha$?XE!}$1uLJzu#xg_fAfr7k~ zb?zkqSNh$TQQCw55mJ)lpTwvH^T@3Ri64EC4*FzRX3?9$ZVl(Z4iAFHL_12I6C48k z&p8@xJH%Ek0u;E$py6Uc8~hHbgo0VYoIeF6(?KVvo`M#J27Pux7!a`{-5O&5jjc(- zz}P+T&xMbks@Ru3a$%1p@+2Gss%(og9~ zb{c~K@?bcH$H)RSyj=K7KNwdP6EI4TLP!cyuwUr<45Tkn*VUhe>D*fihZ9hxY!3z7 zfG}5DJ+LYX-GOhC|0|~deYANR$R2tVG=sneyeKDwV`~&Fx_*r+=mMOxaTasjhfr8bO6oSy9H@ab|^d+_V&bxQdt%&ahZ$A}+ z0g<%~==@YV2O!2#0ng~>{fylQR_^zIE^`b}r;=2?z_?)7 z5`<}=7@T?h+rX6JH+5 zOGH>KB-%{=Y1gFhihVHaAQ$(5pN+Td!KB>_iyOQThj<1Q)ZuLMikNOJzq}Qe{AWmJ zthb-J_ir^6Y|5-0t<^}bZ1!n-+Ag2jG>*Of1G10}OueyUhp!SEafC33=|MlrCj6W; znz!iwETM&YM@T58y>0UKvcd?TUC#vC`bgaBZOX8=E#}y{$L4R*8ahStS$!ul~XsAs= zBZVN=`Sy%$dtb$kNpxXQGYvi~FO@(4;ovt^7d&2Rw^3ZXescs+!?CIg6X8`k(|%`v zWO?TJ(WKkt4gbyW2}SG2H(nI<6qR1#;JF%D9G_!uOx#9HA6$v^XgRqY_(Kt7{EmS{H3aj53 z(R!_7ih}ji{~Hgm4Ws^3@!sge{gtSB+MC!`_E%O9B(6{5Ap-sUs)Y{OW7L^j7uJ*R zng0(~7@sLWxs|6<^PJ09lw22Du#}k{AUR1N(Q}=xPf7>+PkP`jiR%|76qB$29kGXi z7C~!>zF;$ZM-%$7J!pw_5Xn8izK`h;R)VHF@w#%ThdedLF+HO~U866u5v4-xrCk?AdUyf@uVk&|Eg43soS8U$j!@G13kBy(Y-E zc|8zC6SPrW*Y_h+<}9QMOf_N8oh&sEzD3R<5QLkVA?M#{T=(*Ge@mR-0pbXxy>AMN ziA_2N8-pJY|{xhJ?Sx+1f$$;rkx#Va3)ub{!OdA2yuZL-crRKqga3n zyp}cTf4Sn1MI`cOJL|Zea}w~hO?J=qdx^F896-us3&h3Uf}4c;#1SMt;Eg*8(!yEP z93`9pKW|>;x;7Xzc9!aYLM3L_91t|O$H;8wxsQzf^5^>f3e9SR64jF+yT0ysI+Rrl z2m&5?@hf{q(}_Llsa_B_|1sz`H8hs`$ek>{^80zf>A%PMQavk%`DZQ32>BmUNzJ4p zFb>cBLMIFwn((+l^X;Uq>^==NZs({X>!SD1SVh;x_SI#{8Hhx$!@nN^CrAx=M;(*U zFzf(y|GrM12R0%7YFZ#H^q2{Bq1<<772E;kt@cxKZBLd-wPVg%3z6R}m>RJT^$%nZ z%i?N^AJ^4FVc6;9iWg&oY6W2Lb{7dIBTfCOn%Ua_yQbwo9s|^iu9k>5$0V(fojNGC zAQU>}eFD0vD=_ku%T+xe;SC@32i+#n#$1>*J?}8BhOqIsUddhU%ejMdidf`-G0N}n zTXva;uO+=3!q)|wAq!CRgXu5m(#=E7p(-%NN6hcsJf)?jT2D_QYi;%;YitpD6wF?$wJf7yMgJWD2%@X+^ zD>dNlP&FNgdV}U?gK>$UI{Tr@ir;b3KX$k$hq&jJw4SmM^t~oWY2f-9T6uz|3vM}8XjN$&#agY#4jA* zj4_!l`SBsphNMId`xnIcZ5Yq&`9?NgP9HUnRCSp(SD%ydowSk-f*A>2Jgui{NyRvw z>4)Abwy=8=I`W4{piyw@GZeqlo4&9b0hO~GQ*~8&WI7UDdXl0&QETEut)M$r1Eq0S&N7&YGrdL7;>d!|=^O)nqa zB$}hY;{F3yu51R59NB&n;1_xJ% z4p++)gy&{a-peIdrzJpT-I$a+Z<9L~4GDyx{F`7d3DZPu>z^NKp>jrKtH5w*All;M zIu3vs<2lVwuw4)QFGl>`OhM<}_f0l{76!OJ8OQI85{*+}Dfyyzs+QvDB)u^HKv&|f zPFxcE$BUnxj_JAgp1MR36rRV`UOjn0jgF7jlN#6tdT^v?ysAvTW{Re&RUx4*2;bnA zF;MpU&18z&Pp&=|bMg(T&1({h$Sd&y8;7F{QF^f@bNN&7GT4^wH#g8v+{*dGU)sEM zTtc|!HkM(Ncp^< zDLr=Ura$YBDS3GF+Cx*Fhg|MwmX(&Rn`m`$55NG||27rQO?b1s)x9{g5=`B@N zv4sN(u;RnIzwy-D#8=k$ZfWD9=GVA(RA>fwgGf`EB-ep)vA)%MS)Df9YJ?s0oaAHNO6M%=SW=yjzL(X}U2jrbxn zP8xPY1%^FN;wj8cUQFCycu2lwkV2W&QLGj%_3?r~&Fo9Gcbd59IlUT3z`bx(K}1=(a2nCE8%X5SeB^d2pO!eN-Sj84uO zgh48oLvj}n{JhK`2G)Vmkrp9W_*da?ZsZ?=2l~k5WcO{tAK+=7E10L8P73HyV}JeA z6Eb4>Cu-5+E9MV*7@f&$b2wf4kr!zoX@(q2#ph+6a=@PV)1`1&s%qS9l!et_aQbI` zN1%*6SpXB!_KKM&txy^LVC2{l=wbI~Ei^IX;a5C1U}B!X`_R*AO~K^|h5cJBj zE`@mIkVK}EpKyY2;LBhI>ePHi^gMG@HC&HB<^C1RGhMBv`l}kxT%MMrJqA77H$iJs zngglCcppXJnOppX2)1+(X~Qi z&vv{}?J87{7qK;mtH7n7{p;kup@TJ!!cnDBAW{2E;$Obi#7u<6IM*0J+V#oYUP)G9 zRY9Xit`?^sc7qlxhWgfCy2=P_DC*P%%oa#yk)o{fGg~=%w=ZOITGw<|ciMLEZj6 zH?6iWEh?y_ROy`tM_*d)4%n}rqfU3OUh{uyA?9~s!xs{GAna;!{93uJ%%!Ctx;(mZ zp~Xb+DUM`r#=djSn~#iI0NcmETi>DT=1|CYvMo;L(D2t%qpz9p{lrsy@!Loh9bei! z#VjUSpXxYD1ICJnSZ+GL?Sq6}4qbmfMeM&7WPKmuah=iz5>s+pRqyIAh6d$hh&xwcrHvHBK&nkBmJM*Ep_lD+F~1*8 zOtBT8a+C;Oi8hLB@o1ZIx*8l#tH~B#Q!7<${qq+6&0qF$DLdxkZD+zGmd&RNA#tRW zBGnrasRyfdTocu@q!enu1O^LCeoDcgE6o|tzH%jsVlv>g=d@AOXVR$UNQ>jIo0T}b zjMeyxus%oCroOFnc=3xond1CXI1Pxc6VnbcCCPP0Poz=xM)kMZswE7Mmk41tL?|90 ziAl?`s&FS_t700?7fN$<^uJ|BecXLKn6|s0NT@i;BS`hSjIG0AB~7t{%VXHc_C$$? zZOV1%eq-6JlvPxeR(X6g5oRaDL#`X|+wKMbh>P83OvS>D{hPv*_`Y8F*)UV}MWR%N z_TnTQttxx=)B6hLrSK0z?)*9h!d^(jmH`X?%);#?zG8;Z31f2G)_5@#$&fpWOlSy{ zXytx37zXR%mGV<*Op-U{?n|V!3u&S!np9`BNRwAE2JeP74e`+kI}Ks@rW-Ltci?}c zMqy4!6&YyMvFh#XC(!W=6XofLPw&7L)%sONB*V$;I)62rVC5Pty1L z)x10R5vYec%+&E;a051IB<6$hZ`mZ_Aj~O0t{EDI>fp=Dh2Rq6R)x$XUfip1@rXKk zn?PEDqsj}Pq48x#WsCQd*9d^^1*(m7S>|I7!~e^B=A7-6KO2*yp+KjBJeNR=Kr1>_mgOC$UJ54`KCK^ zCRFB+B!RmtPN(#!+N;xu{KumEVFk&mGX_`9*Hjwf*un4cJ%P=$rQx zU$>#(fGzi(+{wn2CC{Lwft!XA0pj5SNvj3osqhzEeC9K{++$P~7q*@e^Zj@svNfAt;?a?Q zajpMn8j!+2(!E zxj~BPgZF9a+bn<|i;_9KeEH=RPC~pw98Y>dzCs#EphCCYd&5%t;M=Pu>6o|?G~XbD zKx~7Pg_ipVs2_}b*F*hfhI&K>t1sKL>%BAK5uV331EDxy8TkCxPIt!;Ts&QgoK9o)oX1wbvaXAXLqdI z1b*Ptl9I24N#FT<1BosCkuQ+Y8$W0- zcUyhM6+%C(Y=KMHAE?>?I7}6ya+_$3v7ea!8%v|O&D(XfIKb+xgqoj>SNq@>>GI*5 zC~8F95;j^!#h$76^V7M2Qt3tCozG&1-y;%VH~Nxu72$1ubitOX*(0nnUx{>3iVC81 zdodN8zx5&6{dY}@=*Y>HzQ3`s%~T0Dv|5fu%yYy%OZm1o0!Kp=pwUoPcnJ9yE|)|$S(t2z+iTWt%V)gl zSm#<67*+n{&GY z`l6Rg&7WORQJWMgI#?~#5iY?tiEH8FwynQcn~lVUqWE0hwNp^DwB=)=f75wJ#6({F zpvCb1@MHW>m+6l*%y%?_<}w_$HQycN=5(Wn2E|$AlNn}1>72l^s9*5_vVYi@_8OKr z-HSVIG&6o>9rIsgA8a1Kn*TJ0-BWrAx6j}qeW)qte|dF+-PbzeFy`&k^X*|=s;0rG z(KFA_KEr_?27KGrOM1ceVWcFsc}W)!GAe|g_fi;%hqsAxH0+41;< ztu2|mJNU}1KmY^TUwfmKECgDyXP&Rg4dcBCGuw`*T$!&zbK;d9Dx}U6Pn{Rls=MDr z8kTMISV@P%zDxB;;`?KnT|B}Lhs0sHp@%Oe2XkL24Fw`ZoGRGDtxKmu2qW{nWAAWP zd=^&Kkr_NO_08nfg~iTWJcq;E0iou@u=z=a7MsBeUd@n>EZ_jc)YAKX1hVwvlM3c@ zqSYYLfLwhmwt@3(F?-9geXnN#0YS%xr zC@cP#!vViA;liVn&SekX%R28vamwe3%Om4JLsKFr=I+i9eywocxncL<%v>Xm-=Z zs=wRb{MB3&6Oh_l4?#02jOFJ5sN__XOyl4rHVVoEJ__XEP0VzkjQIHHanl0${6k_Z{4tNqBcL_V8&REBZz*29wr>A-ygF7H34H(d^QK20^(R>g|w z8$M5yb**XT3c*dL=S0JE;`Mz_yfP@nfeGdbP;Jpqa|T4$l(p72101L?Qu>`f zcZ1IUHlmsD+dT0#3H)r`M5Fr*v;143$%Cnywh|X5?|VBBq!=k|+nGJX1H_x!a+7A- zYm!`NA}7T68PV}uL5I?3#-CGp&Y>3uIDvWq`R%+)P$$HlQ3qaBTrX~Z1!k3LYWywH z&bPm6KTr5NzLDC|-z#kN4!^YTnY}yZiJ0Cv9d78NzG6()$cqUmFdr&9d?SWEXX$W1_X9e$%L|-nkt$=h4~9k3M85n4JRQpqxXTSh6xwT~^|<@y zp}F)Nl{YF@dokGZ5zKx0mUJkij9}qAM=}l>3-}5@WVKViu3Mv(lRig!IN8%z6&Xaj z=v&0#%^<}`4qRX{pC0|2bM#vUd6qk@`TV1R!b#Etsra1dhqX#t$MUARlYv-t2ZS6ldB z7Kv3`0VAA#Pg(vBA|o)-Mc19?)p1Jf$nOnox05Jl5Puw ztfHWu)AN8P=~^iMCW7wD0Ui6Km<6}>trCyV>fu1W{--^l=*44WygcJl%^q~eZ$WGo z=cs~=7n(lfzY{Mfi4cONgW2JUdQbjsN$SbezZ%v9k86FZ(g~#10h@q4bDvCd5Ai1O z7sww-UeBjzjd#az3X?C+sUOMMyN;i+L%SD?=BR(kG$<9eE%NUC+Ex?^Nq^L(x!3u# zdMM83O~CDc{a&yD(jPlk(JB#Y_ZdqJ&8~FRBMyofGOQWZ45|kPfAwh;Z~@?*pQ&p}uDwGuSsDNG^ubT!Z2pwn#>=38IX*kSd~69U zrk0HedOC<fDF;A=z z#^YL7C&8NN)hOJRVVqoA=T zPm)lS?VbTu)l_>V*%X+rJO!-t+tA!f|dNPb4& z(}Ue&e!Aobaf?hnQ3F;Bi07 zb$ODJi($dpry9K7O^K3%#rXg=ew)_|ObPP!0vGI+k1o>}K72wf+Lk8`fO}2Y<_nSy zC&IIVX7Pn3+z;M+AY$h#Yv+BC85yr4XhNzF0N>XZqX>9JovFzt2WqXi085U;ZdP!!R_taBvyTWwCf~Ckt(d^W)Q0; zRugMiBD>Uos}9iHlH1*Z@uDO(unlg^=^W}P)^lklNh8)F$Ja{C*BgF9v|>4o)Mcbu zHO9v=qYiWu#wXe@dA=pek?n}NqD{S$=M5=*8P8_8IrTB2LC86YTn7I< z^-Q(6dC$H3tl(v){Zh$H6%B0?H_D&JGGJ%Qp6D<3`lY30rmZ{iNxK6I!$#OXx+KM4 zmL^o!o_q^J1#0EAAGf8(Wie90XLNLZ)L0fiseKR_SMI*|M)XIWzGFXig_)#}EqaR1 z#~SgS5=(MJaqAc~ImxJqFEn=juSLGE#2wR&J-XC!Jg-cU#X@r@#y!soXWUzHyiJ0= zOZsxQIZ$>6_0EVtzaEL5mF-wX6zqq|?#Sm;6RwTV#TS zxmh$_jAU~_c70xwqwYnievr=lb5X;VpYiS}Sm$k}5GE6^k1!kiel*HtYskL%WAZ!`E>TQPXKO0DauXoV6X_AT!|}s z>SLt2S^NFTm&Px|36Of!`lBpKsnRV2v7sg02X9WBKVyr{XP?st=e%8b_3{=;U_GfB zB@??fNFe6M3lyp#i1j2SUuK{Q(I<%u;U@_c({9a|{l#|ztRQtYW`nQ*9!vacrnf59 z*=bT-9@rW?^^GHp=&A>kUHvZDz0QVG%`(?nT~%iHuz=0*m_U?#<(+?3)i*`vKH`T5 zA1Kd94wG&_@Naz15ug8vLLVv}Uu$NwK8MY{n7AP;h+!^xdR<+0Ac(~fTpNG#oH`QF zBM^BD*OiPH28A0za-+u`1?UGs`V7=WivK|Ye1uQ{$^S(GghDLh|DXW0m!PfJe^CHj z00odu{2vs+O@IQ>UivQzfCZFdq5nYvJcLjHH~)(Qzy)qCuK%C_vY}D75C4k-(1uU| zEdN0P=z*dyyXU_s07dX?asPt?D0BwL*849C0C=;NwEs&tNCxF#;og7f2LCrdQg&{b z8Srjyjh0yw?0s{Hz5B1Y?NQ3M2s2w7%->oo$bu$SAcGV8fFqg7e<|63mVSijU&T8} zTo}R94Ci_D<=fXM1Fc|SONm1F>EWLZfTLRDhyCcL=8u*DQ%Hi#cPzmcz#ilTIq9{$ zXMr=w8BAEaPgk!{4Tu7@P+VSoc+#J3R~(qEY+n6n2ui++BIc@Nfzt*87g8HAAy+H3 zfO>DW4=Bbqw)kKXF{%PP8!YR&E?@wG@8mKB?LRBWUCWP6dCFT0`zf^ao;ZXK}8@G%#J295A zB#i9FmVF&diy18k9$cTcMk_h7b(ZqUQ?<*!|HsggzD z`&fYV#?C8XB~E!@oE!dSgap;6KpW?FALt+jR9A2c8zP9D%o_ZpB+T~kY&*!|^~wS3 zOv@ADTi>za^GSRMJD_?a2w#PL4EPA)gPmrAq|ommGZ^_33%Qhlya6G$wcpKix6N@b zJ@vrMDRLY5tY*QRYkz!nc(?@C?RfJ0lxci4i-1bsaWXYp=2{kb755`jYXOI$JsQZy zAGqbn59fjT_nSu!Ry#G}-W0$qwP|JTKIRlh?s1C_4fi$HaO(yjIXg=r(FAGi`R%ZrZO{W#NfKf1 zh5e*|r9hmc35R6f_NA+^M~TY+0N+(>yzzr6#FYSjexPUH%h=|tr>i32?30avZQSd- z3}ydnS)grvt&ox=BXf?XKK7x85*66@7TS-`q2&FM!32W`H-Ja0y)^aR40bWMl}$u< zMv$KcL6E_J0w3#jhnRi0GN}P|fY|b<@)#_fM`sDG_`^FQoU|1SpGpJ@r7e*3UBD}` z>jddadyBfq2&{Tn+MFM`>SCGhtP>2%U>yYO#vXCU37o==^HbaTb|t-LcobJCle+Qd zJ!8(#swA8IyXGL<+3M^)-S|wTxuO+F;?Jfdd+pd_T6&hvbnXfc9v%;1*S81Z{=-4) zq%fcrCm5XQla!b5L|nj>su@c8p+w=ZeAx2fe^R1%a9aIuSvZ=pO4INcn?EB7=u|UmXKAQ1l2ed0y0;j^3 zU7;JseUyA{bV&Zy@1Wrqz=OqB;gmcfReo$-p3Im(%h93c$wCyD^kl?PA%_i7)I4Gc z4NI=ek#}pM-qH3*lZ2M|w;C3+c5X1o7sFNG*IPDzq!;FD4xAv#8AfpDJ8#-*3Gec& zFx#a>F;BHcHH8~Z;S*gd6Gqw3*?kN!Rl3i{jAIk%a%{(L8!VVaj;Z1dNKl#8E;dkz zd{V*-$07gaYiD^!W(zSOn{EevR*{~Iv&w|#q!KK)2VO_yTVLI)+mcBE?(C~PBgt02SzczmssV!`Gn3AE#%RaP(QKgy}d(elttkF_EL;%daZB)r?>-}JQFm4 z;sxp4AL(2_nY{|Kp@q3~Jz3^1b%u6{8&0ij7v?_Of5{i+h zN$NRIUBGA&j4ojpYGSJJ;#E%>Z@zME&rK!zBW@Wd(Oq>29Qi+ANsCmtjWRN$=n0^m z!gfYjmWRwq?m9?sPTqXW{TZALb{iCV?QFChUGaf#jX@yr7iEp_KIcH$cK3#XqSqkM zIzsl00-4KQRH@@ZSGPavDF4L&5@z1)iEfRlP9)z1ClxYhcY-#gFi)~cKD8ccFGRdO zacnWJMWUw7uQmbqEBi9HKjGL?yz?}r!k=-6**3iAGo?0g@K&jv?3 zU>^^T#>*E}YEPb}IH_%pU9#NwPGeB}tn8ZH$HGC*ruL};2biMng{Y0TiD70l@n1tzrMg-(3z?qEY^Y7vItTVcT^cziw^XreeVpbimi)hJEM(H;7_d@u!xc^MvsPi zy*tlr8fi0%f6d;&-ZG68dVGz(gW^__bdM3mG86KYb50VR2j#f>lEfUTv#-c%LIYPPm45aJ`V-ftn_8f-5tzj^gOrfk1f_E5CzyFb_k4SB@4s||`()j0jAI9{PmWt#@sVMlX_6&Vh zj;bm#q$`XHAJ>6doP|SXU724XF4a8#EZe19<2NV)3x}|LU{-MR>KdKV58%^7e?Gfn zw@CK~#^gdL7_laNR&uwr-y^Y(mI&o?U+4JoNe+iyAIsi;nskb z(BDhK(}|S=zQR9XbJYyib`jR&0Dv|R9Ol4P4S)WhL7T4jF?PHvco7GNg;`UEVB(F~ zDh7e;Bh7(dKrkIlS^Zlu=@cE9(cZ|Th#dj^(68v-FK@}ih7fF~_VXSv#jl5Ld|Weg z0Vyy7$lV>;Srx}s?p}f2ysK}*n{fwE)gF4(>D&|Ry(5X#v%9v}PmT`~QFM&e`wjfj zE#wsT79avAp>9DxAb;1v5_W4Da~1g-q`RX`(ypg%F7#%HLw&*!{$LhloKQ(%p;lF- z6;AjDg597TAzAQjP-U5Y?u|qhAT}hz2c)0u@$*>-hjYwB{oPW@^~poEZjmZ>ao%W(wCo2dgJQ8*Yp;Sx@8!@`B+ z%c03rMN+ORp*TC^PB0hv^IIP9W6Z--oebK2Z~g04)jN{*HO>*ZC^!7Ogwo@H1a z@hj-%3e)T#;&v_cKd}H6Vh2QKo3b#_hd2D^;LPxD-#kg#6%xx*e;MTZsDvFax71(Sy1#qnqTB@m36{cAjNsG zVC^Va*^e;ByYt&ubX?TkUp&|eLxc;8ky`vPL{c5n5WOeq)tM(UqYc6lW%i#J>iC%% z61H-H@fjUYpD+cQ;S;s%#$&$?CO)4FOV1-l%*Flk03X$u9{8X-N{RRHz&NY}i=e#v z9iqlstFB4;I1|uJDp%jaWNP4num$h0KS5}!1uXjauzD4ga)|kq-H824RDgRGZ3xjd z1EA7IO0S8_Q7ED56Ml@7U{bw3J*0GiUJcifwaDd%6C}9NLqu;-nV5U)hP?S2K2LD2azqDq_JkP=Iz2jBDIr@r%1{<4h{6X)iBUFfH{;z3~(@$?%4` zB~egI#$(`q`1sYOl$H<-ftb8mQec6}AEYmh{3>0>H!i(dP*Hq>iJknQDo_S0j%AIP zD)Hv1TW3JC{hS2RmW`cQLA+LVCt5VxeouWr26Q^MJ?J!h-tk6&`owBo?;em&Iv-1V zaPG9=FC#7lW;@m_n59+4-HEc0y*mRyr)k*wYxo(EaY&mdfU$1Z&R?4Sj68g7e(B{R z)7uGgb70U{wZls&EJLD4U5yb-U(GEt?lIyr^D2YqH{oLAbcK%`k%HoI&UK&8SZ6b7 zzTN=#sk6EX-ZGiyrW2|9FS$BU91_h%oIJ`@*rdL9^~7m2xop|UFhH}7xw~}dt$M{? zk6AINC;?pXg<|9d)oA4LoO5)*RZd;Li+@Or6sG*cA8+@be);z*Py&+oJV7Vyg5RiS zy*e$;V>Icxj?gj%>>eo%2zYGUA0zLoTJ+qGh&>S#4#tX zYo)vQd)SX=Okujm6-SWt{b*z9 z=0O!TqIQP8TjOe=5e9F#D8c5guv*KVFPkYIQPS=K+JzC@$kv+gpt9BCFV!EBXOA(sRqH;n%|}F@m0ism=vxADorK#8G!u@Msb$|MUt|WavVLC>Ii6hJ0Zp<$_j@}I z0nQ~9V%hw5_kY1akSf{SZRM9m&hIR4KuMg0a50Ey6O&?9N|d|+L+6(j4Aj+fFw3k6 z`ClN@kuz>N!cGjFFP$pAk8RYkf0G;v;XDrIAK_D>CLeV`@flVx3~wBX01bw-0ARGX zPdW8Kx0+!Fvsh%E`&?BG=TY!J0EcUsvAlh7N$)E(J^f7|?emXmTZ1K65u>vAX?Y&h zFHE3E%F_F7GB0BB-Zth2-q_dFT5Yky56Ye$6PU7gc+{h`A!N_y?)fNZ5m`zcX9M+g zOIlDMUO89cM}Z->9>Ii;jd;pp9++p{c+JVJbtK2_}=jq#_Qd&Bt#i z4s+`vP9upS7&PN2C7Qvf9{~iZ1+bP5_D+-}NVw^L(OAr0Ln;oomcpeE&* z9X%ddi^Bn#+V9Lo_BIu2bd_w1=b>ixLqbiLQTvu9;Pfr5gNE*KsQ9~$^lNH3=JQ|t zPn9Yc1@9td28KR5tx^WiF+SgX8#wZLdy(9Nw4+(oe3W|S)7?xr@ahT7!pyfolyEt- z;pNG{ug{RMMKsC7QZJ_!6=tkS1qjmE2b;?!U4hb<=?_pWQx^*CQ^N-lXC4oG7P*oshK2{ckXOcfK^w^m(_=o#`A=(*_9>z)4g z`}z)VV}&!n6Y1!pt*IN0jri@JY!W@MY25!H7NcGH`YCIfQUVjmYq*)RCfTjuTvd{Dz$2b?H*Z^%)T~~Kn?wk(CV%(3kxI~?viA1>( zTvJn9OJ~-!$7Zxu%LR&CAe|mLbaYaAgs)I%R9*2)zJf(+S(wqZn_AZpS!BP@H2PNJ z&c(LdUyMYyeepJ$K80?|qv@UM#dFrx}=mC8Y&qVJnz=;+~_totkV$8ULYmBzc~d&5t9( z-=bPN>$=SCitX54(Cy=;RoA_xx;)m-$gj`s8?LFzvt^}BUnX7@xK3~9zJVK#`g*4^ z#`gBynnG80ee&`|`w!LQQciap(m|7V70TV0m`#+Q43j%wtp{ky7c_YEDxTHBvfp}P zui`&=wuZ=}*zhyw<0mHTiIzMxwSKN$9-SfiFXAhFwfKI!E~ZlSx2_-9pQSoj= zu4oe}I~ytI{Ib);M$BVmI69S4-njje@P`bhiU@j^F%V(f^h%7QC*VOgxuSg*E4iMS zK|%0It+9|09?4wd4t*otOA6Jq$+co-1_|7*Tx_p5dhSvu2;qxj1SIkWlZIsTA|35h zUP`)i&cD?`iMUe@9!aB|lth>EL!MO@pS{`Rh21{}Ij!){8+WrhR79Ktd6znAq}!dM zYw$vpMG*CCZ&|u~{p&0@DPWNInpyXI0}rRgEr^&WK_>(PBX62)D1#YCxuYr)WNC-~8Fbbb^#$G?cwjOsCBwhoa??l1C&)o*Jq< zCw0bQz;`zmODdoKBDiF1pF+13OG9E!obO6~H&iH>r!XpcF;TrC*YeW9JTd;2`LH_! zzP;Kb%1GEP-V)PHUz>R_1W@~d?16G_4-n*fC9A4gdffcQ`IFTFv7Bo);Cq%urjIP5 zNb%x_iE4*{EjZn>0@t6XunhSn;8Ju5Dqm%Vq~@QG8(ofJMr2ILCK1N=xfu)dSjsv) z?q4OMVw0W18v_s}C91KfA2=ynrF|vt)#609pk(%^sTHKG?xTBG%3;mwWi7Iv-&M}r z@wnIJZS#a?scaPlEpw!&RI7@w1~G+_C`;k(I|%<+B!e4XV1GO8?0Pu}0j2TZf`-@a zWJ=aPh{-OSE`@~fQoUnLK55M@R4v1M<(aUeqO4|vu5k%NQgm=r+Iwn08FcaBHZj?N z%8vnE_Vi~Z=ePhdEq1%XfuzafoA?Q-eH5W*b~njlz$hk_L7e=wv3@v==Vp_EgKT6& zdl;bR9o&;ApsvqdB%gvyR!9;l%!Nk9zxjrg+1-POD=x#f?Ol zj+E)NIQnlOmG1eZxZ>6fu;i@!gRCmKpJy%HM6E=|cKvUSQvxt~mi$M}uJ>*2?C9}{ zfvTt9$Uhu)x*Q+pJZ4yW|4ax=zCy)^AZ8YL^E>QH$ISD7#M$$&D-yBKn*BR>JI+RZ zvmJXm??R+Mzhcz{AFHE2rK=gUrxEC+q4;C4CVqKMBQ#Md)$06w>!g1X=cG?^w9=Vm z_N`HeL4?}`&w;B73u-`MiCZD$)*iT5vhFxH8vh#X6fG8hb!UKz?|>$m>Z*AsOVV%D zWSl7`9w*i2SXAyCh(9ujOq6JQoZh_Jxz)#!nD!<73U^1-Fk@NELrly}%|O*(TGbYE z?u_y+tIw^Z9_^Wk=IIwh)#E@{4}b;I&~{ey{0)eq$`TN0?r`Y(A33)Y_x{|%8EgEqAS z|Ak0FOe*YKCFpWh(9%`)^3<6c$ns_k_N=K7|4plciiU6gmsWLZ^O)L2+Dz0d!;FIp Oe3_eEG$t52#{UoTF6oc} diff --git a/docs/screenshots/roles.png b/docs/screenshots/roles.png deleted file mode 100644 index e7479458d5dea6f2566cb81f5c081aa9224a0eaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28104 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

  • `U9zsRP} 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