From 85cd6c2d4a874b14ac4a7197c7b1e94adea6c729 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 23 Oct 2020 12:23:37 -0400 Subject: [PATCH 001/105] Removed class from the Toolbar component that was causing ItemBodyView to not be scrollable. --- src/components/ItemViewAppBar/ItemViewAppBar.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/ItemViewAppBar/ItemViewAppBar.js b/src/components/ItemViewAppBar/ItemViewAppBar.js index a517cb3..0dc081f 100644 --- a/src/components/ItemViewAppBar/ItemViewAppBar.js +++ b/src/components/ItemViewAppBar/ItemViewAppBar.js @@ -22,11 +22,8 @@ export default function ItemViewAppBar({ title, setSidebarOpen }){ }, appBarRoot: { width: "inherit", - position: "inherit" + }, - paddingToolbar: { - position: "absolute" - } })); const classes = useStyles(theme); @@ -55,7 +52,7 @@ export default function ItemViewAppBar({ title, setSidebarOpen }){ - + ); } From a7720db440de180e7471edf70eea5ba272e1c809 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 23 Oct 2020 15:37:28 -0400 Subject: [PATCH 002/105] Change srot button to display both sorting directions at the same time. --- src/components/ItemTable/ItemTable.js | 35 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 695a96f..98fc7c8 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,12 +1,11 @@ import React from "react"; import PropTypes from "prop-types"; import { useTable, useFilters, useFlexLayout, useSortBy } from "react-table"; -import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, TableSortLabel - , Paper, Grid, useTheme, } from "@material-ui/core"; +import {makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, TableSortLabel , Paper, Grid, useTheme, ButtonGroup} from "@material-ui/core"; import { useHistory } from "react-router-dom"; import ItemTableFilter from "../ItemTableFilter/" -export default function ItemTable({ data, onRowClick }) { +export default function ItemTable({ data }) { const theme = useTheme(); const useStyles = makeStyles({ @@ -75,15 +74,25 @@ export default function ItemTable({ data, onRowClick }) { {column.render("Filter")} + + + + + - - @@ -96,8 +105,8 @@ export default function ItemTable({ data, onRowClick }) { {rows.map((row, i) => { prepareRow(row); return ( - history.push(`/${row.original.queue}/${row.original.number}`) } + history.push(`/${row.original.queue}/${row.original.number}`)} className={classes.bandedRows} {...row.getRowProps()}> {row.cells.map(cell => ( From 7f299210af960f0901cc4f5ed9dae13b10a9b3e3 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 27 Oct 2020 17:56:22 -0400 Subject: [PATCH 003/105] Fix multi queue loading in UI --- src/App.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/App.js b/src/App.js index 9999793..8320c96 100644 --- a/src/App.js +++ b/src/App.js @@ -13,15 +13,25 @@ function App() { const [darkMode, setDarkMode] = useState(false); const [activeItem, setActiveItem] = useState({}); const [sidebarOpen, setSidebarOpen] = useState(false); + const [queues, setQueues] = useState([]); const [items, setItems] = useState([]); - useEffect(() => { - fetch("/api/ce") - .then(res => res.json()) - .then(queue => { - setItems(queue.items) - }) - }, []) + useEffect( _ => { + async function getQueues(){ + const apiResponse = await fetch("/api/ce"); + const queueJson = await apiResponse.json(); + setQueues(queueJson); + } + getQueues(); + }, []); + + useEffect( _ => { + let tempItems = []; + for (let queue of queues){ + tempItems = tempItems.concat(queue.items); + } + setItems(tempItems); + }, [queues]); const theme = webqueueTheme(darkMode); const transitionWidth = theme.transitions.create(["width"], { From 7779ad44596fb62f971f463070727e33316160e8 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 28 Oct 2020 16:59:51 -0400 Subject: [PATCH 004/105] Use RelativeTime component for time values in ItemTable --- src/components/ItemTable/ItemTable.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 695a96f..ef379d0 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,9 +1,10 @@ import React from "react"; import PropTypes from "prop-types"; import { useTable, useFilters, useFlexLayout, useSortBy } from "react-table"; -import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, TableSortLabel - , Paper, Grid, useTheme, } from "@material-ui/core"; +import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, TableSortLabel, + Paper, Grid, useTheme } from "@material-ui/core"; import { useHistory } from "react-router-dom"; +import RelativeTime from "react-relative-time"; import ItemTableFilter from "../ItemTableFilter/" export default function ItemTable({ data, onRowClick }) { @@ -36,10 +37,10 @@ export default function ItemTable({ data, onRowClick }) { { Header: 'Subject', accessor: 'subject' }, { Header: 'Status', accessor: 'status', }, { Header: 'Priority', accessor: 'priority' }, - { Header: 'Last Updated', accessor: 'lastUpdated' }, + { Header: 'Last Updated', accessor: 'lastUpdated', Cell: ({ value }) => }, { Header: 'Department', accessor: 'department' }, { Header: 'Building', accessor: 'building' }, - { Header: 'Date Received', accessor: 'dateReceived' }, + { Header: 'Date Received', accessor: 'dateReceived', Cell: ({ value }) => }, ], []); const tableInstance = useTable( @@ -75,7 +76,6 @@ export default function ItemTable({ data, onRowClick }) { {column.render("Filter")} - { prepareRow(row); return ( - history.push(`/${row.original.queue}/${row.original.number}`) } + history.push(`/${row.original.queue}/${row.original.number}`)} className={classes.bandedRows} {...row.getRowProps()}> {row.cells.map(cell => ( From 3bdb99fa8569152a6d065111d202db0ae56bfddf Mon Sep 17 00:00:00 2001 From: "Campbell, Justin" Date: Wed, 28 Oct 2020 17:26:20 -0400 Subject: [PATCH 005/105] Format item lastupdated time as iso8601 --- api/ECNQueue.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 89c4d87..7c2ae1d 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -93,7 +93,7 @@ def __getLastUpdated(self) -> str: """ unixTime = os.path.getmtime(self.__path) formattedTime = time.strftime('%m-%d-%y %I:%M %p', time.localtime(unixTime)) - return formattedTime + return self.__getFormattedDate(formattedTime) def __getRawItem(self) -> list: """Returns a list of all lines in the item file @@ -1198,4 +1198,4 @@ def getQueues() -> list: if isDirectory and isValid: queues.append(Queue(file)) - return queues \ No newline at end of file + return queues From 78d002e1432eaaa9c492b98b39620b75e652de25 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 28 Oct 2020 22:44:16 -0400 Subject: [PATCH 006/105] Add column borders to ItemTable --- src/components/ItemTable/ItemTable.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index ef379d0..8d3cb91 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -24,6 +24,9 @@ export default function ItemTable({ data, onRowClick }) { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], }, }, + columnBorders: { + borderLeft: `1px solid ${theme.palette.grey[300]}` + } }); const classes = useStyles(); @@ -100,7 +103,7 @@ export default function ItemTable({ data, onRowClick }) { onClick={() => history.push(`/${row.original.queue}/${row.original.number}`)} className={classes.bandedRows} {...row.getRowProps()}> {row.cells.map(cell => ( - + {cell.render("Cell")} ))} From 9a6f7819ad77a55e31e07e9dba95b113a7b289b7 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 28 Oct 2020 23:55:58 -0400 Subject: [PATCH 007/105] Change TableCell border color according to theme type --- src/components/ItemTable/ItemTable.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 8d3cb91..80ebc0a 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -25,7 +25,9 @@ export default function ItemTable({ data, onRowClick }) { }, }, columnBorders: { - borderLeft: `1px solid ${theme.palette.grey[300]}` + borderLeftWidth: "1px", + borderLeftStyle: "solid", + borderColor: theme.palette.type === "light" ? theme.palette.grey[300] : theme.palette.grey[500] } }); const classes = useStyles(); From 962a672cb8e085ea490fb7011572ab1a79784e9a Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:27:10 -0400 Subject: [PATCH 008/105] Add module level docs --- api/ECNQueue.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 7c2ae1d..901bc92 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1,4 +1,12 @@ -# TODO: Add ECNQueue module documentation +"""A library for interacting with Purdue ECN's Queue. + +This library allows for the creation of and interaction with individual issues called Items. +It also allows for the same with collections of Items called Queues. + +Raises: + # TODO: Add description(s) of when a ValueError is raised. + ValueError: [description] +""" #------------------------------------------------------------------------------# # Imports From 6c446628fde7abf546345a645a1c01ad0f77f358 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:27:57 -0400 Subject: [PATCH 009/105] Remove debug comment --- api/ECNQueue.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 901bc92..3e362a5 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -28,7 +28,6 @@ currentFileDirectory = os.path.dirname(currentFilePath) currentFileDirectoryParent = os.path.dirname(currentFileDirectory) queueDirectory = os.path.join(currentFileDirectoryParent, "q-snapshot") -#queueDirectory = "/usr/site/uds/qcopy/11" # Queues to not load in getQueues() queuesToIgnore = ["archives", "drafts", "inbox"] From d0f9bc60d880fbe3803b8f2cfb96349d480d9054 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:39:34 -0400 Subject: [PATCH 010/105] Add TODO for coral queue issues --- api/ECNQueue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 3e362a5..8ae9a79 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -32,6 +32,7 @@ # Queues to not load in getQueues() queuesToIgnore = ["archives", "drafts", "inbox"] +# TODO: Investigate coral items not having a From header # B/c some items don't have a From field # See coral259 queuesToIgnore.append("coral") From 0c28cfecf600457a4be02dc323801b25435e909a Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:46:26 -0400 Subject: [PATCH 011/105] Update module docs --- api/ECNQueue.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 8ae9a79..2c89889 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1,7 +1,23 @@ -"""A library for interacting with Purdue ECN's Queue. - -This library allows for the creation of and interaction with individual issues called Items. -It also allows for the same with collections of Items called Queues. +"""A library for interacting with Purdue ECN's ticketing system. + +This library allows interacting with queue Items (called Items) and collections +of items (called Queues). + +Example: + # Create a single Item (ce100) + >>> item = Item("ce", 100) + # Get the sender's email address from an Item + >>> item = Item("ce", 100) + >>> item.userEmail + + # Create an entire Queue (ce) + >>> queue = Queue("ce") + # Get the number of items in a Queue + >>> queue = Queue("ce") + >>> numItems = len(queue) + + # Get all queues (and their items) + >>> queues = getQueues() Raises: # TODO: Add description(s) of when a ValueError is raised. From a507ac7436455ccd19bea99ecf234e74b3c75c50 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:55:15 -0400 Subject: [PATCH 012/105] Add Item class doc block --- api/ECNQueue.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 2c89889..43ad0f0 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -59,7 +59,27 @@ # Classes #------------------------------------------------------------------------------# class Item: - # TODO: Add Item class documentation + """A single issue. + + Example: + # Create an Item (ce100) + >>> item = Item("ce", 100) + + Attributes: + lastUpdated: An ISO 8601 formatted time string showing the last time the file was updated according to the filesystem. + headers: A list of dictionaries containing header keys and values. + content: A list of section dictionaries. + isLocked: A boolean showing whether or not a lockfile for the item is present. + userEmail: The email address of the person who this item is from. + userName: The real name of the person who this item is from. + userAlias: The Purdue career account alias of the person this item is from. + assignedTo: The Purdue career account alias of the person this item is assigned to + subject: The subject of the original message for this item. + status: The most recent status update for the item. + priority: The most recent priority for this item. + department: The most recent department for this item. + dateReceived: The date this item was created. + """ def __init__(self, queue: str, number: int) -> None: From 4feaaada3d56709da58af5ac37df75777510c1f6 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:57:30 -0400 Subject: [PATCH 013/105] Add Queue doc block --- api/ECNQueue.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 43ad0f0..beab098 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1174,7 +1174,17 @@ def __repr__(self) -> str: return self.queue + str(self.number) class Queue: - # TODO: Add Queue class documentation + """A collection of items. + + Example: + # Create a queue (ce) + >>> queue = Queue("ce") + + Attributes: + name: The name of the queue. + items: A list of Items in the queue. + jsonData: A JSON serializable representation of the Queue. + """ def __init__(self, name: str) -> None: self.name = name From ab3cb8a859e8a182e2df52b0444aae35a14578e4 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 14:58:09 -0400 Subject: [PATCH 014/105] Update Item doc block --- api/ECNQueue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index beab098..1d28a59 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -79,6 +79,7 @@ class Item: priority: The most recent priority for this item. department: The most recent department for this item. dateReceived: The date this item was created. + jsonData: A JSON serializable representation of the Item. """ def __init__(self, queue: str, number: int) -> None: From b1d258b7c281434c9241701a60883a3ecfd819ec Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 15:14:25 -0400 Subject: [PATCH 015/105] Permenantly add coral queue to queuesToIgnore --- api/ECNQueue.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 1d28a59..ffc5ac0 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -46,12 +46,7 @@ queueDirectory = os.path.join(currentFileDirectoryParent, "q-snapshot") # Queues to not load in getQueues() -queuesToIgnore = ["archives", "drafts", "inbox"] - -# TODO: Investigate coral items not having a From header -# B/c some items don't have a From field -# See coral259 -queuesToIgnore.append("coral") +queuesToIgnore = ["archives", "drafts", "inbox", "coral"] From fea27fd5d83e1664d3433088cd25cd4ab8ed6dea Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 15:17:19 -0400 Subject: [PATCH 016/105] Update module doc block --- api/ECNQueue.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index ffc5ac0..bc9c8cd 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -19,6 +19,10 @@ # Get all queues (and their items) >>> queues = getQueues() +Attributes: + queueDirectory: The directory to load queues from. + queuesToIgnore: Queues that will not be loaded when running getQueues() + Raises: # TODO: Add description(s) of when a ValueError is raised. ValueError: [description] From 202e04cc62e1f53bce92f762084628b10a445b74 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 15:53:56 -0400 Subject: [PATCH 017/105] Remove getContent function /c no longer neede --- api/ECNQueue.py | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index bc9c8cd..2181861 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -82,13 +82,11 @@ class Item: """ def __init__(self, queue: str, number: int) -> None: - self.queue = queue try: self.number = int(number) except ValueError: - raise ValueError("Could not convert \"" + number + "\" to an integer") - #self.number = number + raise ValueError(" Could not convert \"" + number + "\" to an integer") self.__path = "/".join([queueDirectory, self.queue, str(self.number)]) self.lastUpdated = self.__getLastUpdated() @@ -107,6 +105,7 @@ def __init__(self, queue: str, number: int) -> None: self.building = self.__getMostRecentHeaderByType("Building") self.dateReceived = self.__getFormattedDate(self.__getMostRecentHeaderByType("Date")) + # TODO: Autopopulate jsonData w/ __dir__() command. Exclude `^_` and `jsonData`. self.jsonData = { "queue": self.queue, "number": self.number, @@ -135,6 +134,7 @@ def __getLastUpdated(self) -> str: Returns: str: last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format. """ + # TODO: Simplify this code block by allowing __getFormattedDate to accept milliseconds since the epoch. unixTime = os.path.getmtime(self.__path) formattedTime = time.strftime('%m-%d-%y %I:%M %p', time.localtime(unixTime)) return self.__getFormattedDate(formattedTime) @@ -195,7 +195,8 @@ def __parseHeaders(self) -> list: headerString += line - message = email.message_from_string(headerString + "".join(self.__getContent())) + # message = email.message_from_string(headerString + "".join(self.__getContent())) + message = email.message_from_string(headerString) headers = [] for key in message.keys(): @@ -205,26 +206,6 @@ def __parseHeaders(self) -> list: # TODO: Implement attachment parsing - def __getContent(self) -> list: - """Returns a dictionary of lines of the item body. - - Example: - "Hello. I need help.\\n\\n*** Status updated by: campb303 at: 6/23/2020 13:26:55 ***\\nDont Delete" becomes - [ - "Hello. I need help.\\n", - "\\n", - "*** Status updated by: campb303 at: 6/23/2020 13:26:55 ***\\n", - "Don't Delete", - ] - - Returns: - list: Lines of the body item. - """ - contentStart = self.__getHeaderBoundary() + 1 - contentEnd = len(self.__rawItem) - 1 - return self.__rawItem[ contentStart : contentEnd ] - - def __parseSections(self) -> list: # List of all item events sections = [] @@ -1253,3 +1234,9 @@ def getQueues() -> list: queues.append(Queue(file)) return queues + +if __name__ == "__main__": + start = time.time() + queues = getQueues() + end = time.time() + print(f'Fetching all queues took {end - start}s') \ No newline at end of file From 0b8776b4a062b0df93c2a9a3f98ab5a902474a2e Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 16:03:35 -0400 Subject: [PATCH 018/105] Remove __getAssignedTo from Item b/c it is no longer needed --- api/ECNQueue.py | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 2181861..cea3cc4 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -97,7 +97,7 @@ def __init__(self, queue: str, number: int) -> None: self.userEmail = self.__parseFromData(data="userEmail") self.userName = self.__parseFromData(data="userName") self.userAlias = self.__getUserAlias() - self.assignedTo = self.__getAssignedTo() + self.assignedTo = self.__getMostRecentHeaderByType("Assigned-To") self.subject = self.__getMostRecentHeaderByType("Subject") self.status = self.__getMostRecentHeaderByType("Status") self.priority = self.__getMostRecentHeaderByType("Priority") @@ -1033,7 +1033,6 @@ def __getSortedSections(self, sectionsList: list) -> list: return sortedSections - def __isLocked(self) -> Union[str, bool]: """Returns a string info about the lock if true and a bool False if false @@ -1114,16 +1113,6 @@ def __getUserAlias(self) -> str: """ emailUser, emailDomain = self.userEmail.split("@") return emailUser if emailDomain.endswith("purdue.edu") else "" - - def __getAssignedTo(self) -> str: - """Returns the alias of the person this item was most recently assigned to. - Returns empty string if this item isn't assigned. - - Returns: - str: Alias of the person item is assigned to or empty string. - """ - assignedTo = self.__getMostRecentHeaderByType("Assigned-To") - return assignedTo def __getFormattedDate(self, date: str) -> str: """Returns the date/time formatted as RFC 8601 YYYY-MM-DDTHH:MM:SS+00:00. @@ -1233,10 +1222,4 @@ def getQueues() -> list: if isDirectory and isValid: queues.append(Queue(file)) - return queues - -if __name__ == "__main__": - start = time.time() - queues = getQueues() - end = time.time() - print(f'Fetching all queues took {end - start}s') \ No newline at end of file + return queues \ No newline at end of file From 29f7dab069675a971c59b0a236546cf79537df6c Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 16:03:52 -0400 Subject: [PATCH 019/105] Add todo for queue iteration --- api/ECNQueue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index cea3cc4..b1fba76 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1143,6 +1143,7 @@ def toJson(self) -> dict: def __repr__(self) -> str: return self.queue + str(self.number) +# TODO: Make Queue iterable using __iter__. See: https://thispointer.com/python-how-to-make-a-class-iterable-create-iterator-class-for-it/ class Queue: """A collection of items. From b078ed9b51ab2bb3d4bc23110bf57854899e24d6 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 16:08:59 -0400 Subject: [PATCH 020/105] Add comments for default date in getFormattedDate() --- api/ECNQueue.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index b1fba76..f5e7c47 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1123,8 +1123,8 @@ def __getFormattedDate(self, date: str) -> str: str: Properly formatted date/time recieved or empty string. """ try: - parsedDate = parse(date, default= datetime.datetime(2017, 10, 13, tzinfo=tz.gettz('EDT'))) - #parsedDate = parse(date, default= datetime.datetime(2017, 10, 13, tzinfo=datetime.timezone.) + # This date is never meant to be used. The default attribute is just to set timezone. + parsedDate = parse(date, default=datetime.datetime(1970, 0, 1, tzinfo=tz.gettz('EDT'))) except: return "" From c80741692852e1105c549d861794a69682c60b7b Mon Sep 17 00:00:00 2001 From: Jacob Daniel Bennett Date: Thu, 29 Oct 2020 21:15:36 -0400 Subject: [PATCH 021/105] implementation of QueueList class to store queue list info for /api/getQueues call --- api/ECNQueue.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++- api/api.py | 11 +++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index f5e7c47..9135972 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1207,6 +1207,64 @@ def toJson (self) -> dict: def __len__(self) -> int: return len(self.items) +class QueueList: + """[summary] + + Example: + [example] + """ + def __init__(self) -> None: + self.__directory = queueDirectory + self.queueList = self.__getQueueList() + self.itemCount = self.__getItemCount(self.queueList) + + self.jsonData = self.itemCount + + def __getItemCount(self, queueList: list) -> dict: + """[summary] + + Example: + [example] + + Returns: + int: [description] + """ + itemCountList = [] + + for queue in queueList: + itemCount = 0 + for item in os.listdir(queueDirectory + "/" + queue): + itemPath = queueDirectory + "/" + queue + "/" + item + + isFile = True if os.path.isfile(itemPath) else False + + itemPattern = re.compile("^[0123456789]{1,3}$") + isItem = True if itemPattern.match(item) else False + + if isFile and isItem: + itemCount = itemCount + 1 + + itemCountList.append( + {"name": queue, + "number_of_items": itemCount + } + ) + return itemCountList + + def __getQueueList(self) -> list: + queues = [] + + for file in os.listdir(queueDirectory): + currentFile = queueDirectory + "/" + file + isDirectory = os.path.isdir(currentFile) + isValid = file not in queuesToIgnore + + if isDirectory and isValid: + queues.append(file) + + return queues + + def getQueues() -> list: """Return a list of Queues for each queue. @@ -1223,4 +1281,7 @@ def getQueues() -> list: if isDirectory and isValid: queues.append(Queue(file)) - return queues \ No newline at end of file + return queues +if __name__ == "__main__": + thing = QueueList().itemCount + print() \ No newline at end of file diff --git a/api/api.py b/api/api.py index 1e91580..4b9865f 100644 --- a/api/api.py +++ b/api/api.py @@ -60,8 +60,19 @@ def get(self, queue: str) -> str: return queues +class QueueList(Resource): + def get(self) -> list: + """Returns a list of queues and the number of items in the queue + Example: + [example] + Returns: + list: [description] + """ + return ECNQueue.QueueList().itemCount + +api.add_resource(QueueList, "/api/getQueues") api.add_resource(Item, "/api//") api.add_resource(Queue, "/api/") From c67c7215406adac161e5c3f5285e9097cc913d9c Mon Sep 17 00:00:00 2001 From: Jacob Daniel Bennett Date: Thu, 29 Oct 2020 21:38:46 -0400 Subject: [PATCH 022/105] removal of QueueList class from ECNQueue.py and replaced with functions directly accessible in the ECNQueue module --- api/ECNQueue.py | 106 ++++++++++++++++++++++++++---------------------- api/api.py | 2 +- 2 files changed, 58 insertions(+), 50 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 9135972..b909f61 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1207,62 +1207,73 @@ def toJson (self) -> dict: def __len__(self) -> int: return len(self.items) -class QueueList: - """[summary] - - Example: - [example] - """ - def __init__(self) -> None: - self.__directory = queueDirectory - self.queueList = self.__getQueueList() - self.itemCount = self.__getItemCount(self.queueList) +# class QueueList: +# """[summary] + +# Example: +# [example] +# """ +# def __init__(self) -> None: +# self.__directory = queueDirectory +# self.queueList = self.__getQueueList() +# self.itemCount = self.__getItemCount(self.queueList) - self.jsonData = self.itemCount +# self.jsonData = self.itemCount - def __getItemCount(self, queueList: list) -> dict: - """[summary] +def getItemCount() -> dict: + """Returns a list of dictionaries with item counts for all of the queues. - Example: - [example] + Example: + [ + { + name: "me", + number_of_items: 42 + }, + + { + name: "ce", + number_of_items: 4 + } + ] - Returns: - int: [description] - """ - itemCountList = [] + Returns: + dict: [description] + """ + itemCountList = [] - for queue in queueList: - itemCount = 0 - for item in os.listdir(queueDirectory + "/" + queue): - itemPath = queueDirectory + "/" + queue + "/" + item + for queue in getQueueList(): + itemCount = 0 + for item in os.listdir(queueDirectory + "/" + queue): + itemPath = queueDirectory + "/" + queue + "/" + item - isFile = True if os.path.isfile(itemPath) else False + isFile = True if os.path.isfile(itemPath) else False - itemPattern = re.compile("^[0123456789]{1,3}$") - isItem = True if itemPattern.match(item) else False - - if isFile and isItem: - itemCount = itemCount + 1 - - itemCountList.append( - {"name": queue, - "number_of_items": itemCount - } - ) - return itemCountList + itemPattern = re.compile("^[0123456789]{1,3}$") + isItem = True if itemPattern.match(item) else False + + if isFile and isItem: + itemCount = itemCount + 1 + + itemCountList.append( + {"name": queue, + "number_of_items": itemCount + } + ) - def __getQueueList(self) -> list: - queues = [] + return itemCountList + +def getQueueList() -> list: + queues = [] - for file in os.listdir(queueDirectory): - currentFile = queueDirectory + "/" + file - isDirectory = os.path.isdir(currentFile) - isValid = file not in queuesToIgnore + for file in os.listdir(queueDirectory): + currentFile = queueDirectory + "/" + file + isDirectory = os.path.isdir(currentFile) + isValid = file not in queuesToIgnore - if isDirectory and isValid: - queues.append(file) + if isDirectory and isValid: + queues.append(file) - return queues + return queues def getQueues() -> list: @@ -1281,7 +1292,4 @@ def getQueues() -> list: if isDirectory and isValid: queues.append(Queue(file)) - return queues -if __name__ == "__main__": - thing = QueueList().itemCount - print() \ No newline at end of file + return queues \ No newline at end of file diff --git a/api/api.py b/api/api.py index 4b9865f..2f10f1b 100644 --- a/api/api.py +++ b/api/api.py @@ -70,7 +70,7 @@ def get(self) -> list: Returns: list: [description] """ - return ECNQueue.QueueList().itemCount + return ECNQueue.getItemCount() api.add_resource(QueueList, "/api/getQueues") api.add_resource(Item, "/api//") From 69bc887616a11b0db946ac5a241d6f6844cc3130 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 29 Oct 2020 22:46:00 -0400 Subject: [PATCH 023/105] Create QueueSelector component placeholder --- src/components/QueueSelector/QueueSelector.js | 16 ++++++++++++++++ src/components/QueueSelector/QueueSelector.md | 11 +++++++++++ src/components/QueueSelector/index.js | 1 + 3 files changed, 28 insertions(+) create mode 100644 src/components/QueueSelector/QueueSelector.js create mode 100644 src/components/QueueSelector/QueueSelector.md create mode 100644 src/components/QueueSelector/index.js diff --git a/src/components/QueueSelector/QueueSelector.js b/src/components/QueueSelector/QueueSelector.js new file mode 100644 index 0000000..ce9925f --- /dev/null +++ b/src/components/QueueSelector/QueueSelector.js @@ -0,0 +1,16 @@ +import React from "react"; +import PropTypes from "prop-types"; + +export default function QueueSelector(){ + return ( + QueueSelector + ); +}; + +QueueSelector.propTypes = { + +}; + +QueueSelector.defaultProps = { + +}; \ No newline at end of file diff --git a/src/components/QueueSelector/QueueSelector.md b/src/components/QueueSelector/QueueSelector.md new file mode 100644 index 0000000..4cb3f01 --- /dev/null +++ b/src/components/QueueSelector/QueueSelector.md @@ -0,0 +1,11 @@ +QueueSelector + +--- +```jsx +import QueueSelector from "./QueueSelector"; + + +``` +```jsx static + +``` \ No newline at end of file diff --git a/src/components/QueueSelector/index.js b/src/components/QueueSelector/index.js new file mode 100644 index 0000000..4686319 --- /dev/null +++ b/src/components/QueueSelector/index.js @@ -0,0 +1 @@ +export { default } from "./QueueSelector"; \ No newline at end of file From a65c60a87abbc4c09d02fdcb1bc430ee7832d231 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 10:00:22 -0400 Subject: [PATCH 024/105] pep8 formatting --- api/ECNQueue.py | 2469 ++++++++++++++++++++++++----------------------- 1 file changed, 1252 insertions(+), 1217 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index b909f61..717dfa6 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -31,14 +31,17 @@ #------------------------------------------------------------------------------# # Imports #------------------------------------------------------------------------------# -import os, time, email, re, datetime +import os +import time +import email +import re +import datetime from dateutil.parser import parse from dateutil import tz from typing import Union import json - #------------------------------------------------------------------------------# # Configuration #------------------------------------------------------------------------------# @@ -53,1243 +56,1275 @@ queuesToIgnore = ["archives", "drafts", "inbox", "coral"] - #------------------------------------------------------------------------------# # Classes #------------------------------------------------------------------------------# class Item: - """A single issue. - - Example: - # Create an Item (ce100) - >>> item = Item("ce", 100) - - Attributes: - lastUpdated: An ISO 8601 formatted time string showing the last time the file was updated according to the filesystem. - headers: A list of dictionaries containing header keys and values. - content: A list of section dictionaries. - isLocked: A boolean showing whether or not a lockfile for the item is present. - userEmail: The email address of the person who this item is from. - userName: The real name of the person who this item is from. - userAlias: The Purdue career account alias of the person this item is from. - assignedTo: The Purdue career account alias of the person this item is assigned to - subject: The subject of the original message for this item. - status: The most recent status update for the item. - priority: The most recent priority for this item. - department: The most recent department for this item. - dateReceived: The date this item was created. - jsonData: A JSON serializable representation of the Item. - """ - - def __init__(self, queue: str, number: int) -> None: - self.queue = queue - try: - self.number = int(number) - except ValueError: - raise ValueError(" Could not convert \"" + number + "\" to an integer") - - self.__path = "/".join([queueDirectory, self.queue, str(self.number)]) - self.lastUpdated = self.__getLastUpdated() - self.__rawItem = self.__getRawItem() - self.headers = self.__parseHeaders() - self.content = self.__parseSections() - self.isLocked = self.__isLocked() - self.userEmail = self.__parseFromData(data="userEmail") - self.userName = self.__parseFromData(data="userName") - self.userAlias = self.__getUserAlias() - self.assignedTo = self.__getMostRecentHeaderByType("Assigned-To") - self.subject = self.__getMostRecentHeaderByType("Subject") - self.status = self.__getMostRecentHeaderByType("Status") - self.priority = self.__getMostRecentHeaderByType("Priority") - self.department = self.__getMostRecentHeaderByType("Department") - self.building = self.__getMostRecentHeaderByType("Building") - self.dateReceived = self.__getFormattedDate(self.__getMostRecentHeaderByType("Date")) - - # TODO: Autopopulate jsonData w/ __dir__() command. Exclude `^_` and `jsonData`. - self.jsonData = { - "queue": self.queue, - "number": self.number, - "lastUpdated": self.lastUpdated, - "headers": self.headers, - "content": self.content, - "isLocked": self.isLocked, - "userEmail": self.userEmail, - "userName": self.userName, - "userAlias": self.userAlias, - "assignedTo": self.assignedTo, - "subject": self.subject, - "status": self.status, - "priority": self.priority, - "department": self.department, - "building": self.building, - "dateReceived": self.dateReceived - } - - def __getLastUpdated(self) -> str: - """Returns last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format. - - Example: - 07-23-20 10:34 AM - - Returns: - str: last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format. - """ - # TODO: Simplify this code block by allowing __getFormattedDate to accept milliseconds since the epoch. - unixTime = os.path.getmtime(self.__path) - formattedTime = time.strftime('%m-%d-%y %I:%M %p', time.localtime(unixTime)) - return self.__getFormattedDate(formattedTime) - - def __getRawItem(self) -> list: - """Returns a list of all lines in the item file - - Returns: - list: List of all the lines in the item file - """ - with open(self.__path, errors="replace") as file: - return file.readlines() - - def __getHeaderBoundary(self) -> int: - """Returns the 0 based line number where the Item headers stop. - - Example: The header end would be on line 13 - 12: X-ECN-Queue-Original-URL: - 13: - 14: I need help. - - Returns: - int: line number where the Item headers end - """ - for lineNumber, line in enumerate(self.__rawItem): - if line == "\n": - return lineNumber - - def __parseHeaders(self) -> list: - """Returns a list containing dictionaries of header type and data. - Removes queue prefixes and whitespace. - - Examples: - "[ce] QStatus: Dont Delete\\nFrom: Justin Campbell \\n" - becomes - [ - {"QStatus": "Don't Delete"}, - {"From": "Justin Campbell "} - ] - - Returns: - list: Header dicts - """ - headerString = "" - - # Remove '[queue] ' prefixes: - # Example: - # [ce] QTime-Updated-By: campb303 becomes - # QTime-Updated-By: campb303 - queuePrefixPattern = re.compile("\[.*\] {1}") - for lineNumber in range(self.__getHeaderBoundary()): - line = self.__rawItem[lineNumber] - lineHasQueuePrefix = queuePrefixPattern.match(line) - - if lineHasQueuePrefix: - queuePrefix = line[ lineHasQueuePrefix.regs[0][0] : lineHasQueuePrefix.regs[0][1]] - line = line.replace(queuePrefix, "") - - headerString += line - - # message = email.message_from_string(headerString + "".join(self.__getContent())) - message = email.message_from_string(headerString) - - headers = [] - for key in message.keys(): - headers.append( { "type": key, "content": message[key] } ) - - return headers - - # TODO: Implement attachment parsing - - def __parseSections(self) -> list: - # List of all item events - sections = [] - - contentStart = self.__getHeaderBoundary() + 1 - contentEnd = len(self.__rawItem) - 1 - - # List of assignments for the item - assignementLsit = self.__assignmentParsing(contentStart) - - # Appends each assignment individually to sections - for assignment in assignementLsit: - sections.append(assignment) - - # Checks for Directory Identifiers - if self.__rawItem[contentStart] == "\n" and self.__rawItem[contentStart + 1].startswith("\t"): - - directoryStartLine = contentStart + 1 - - # Parses the directory information and returns a dictionary of directory values - directoryInfo = self.__directoryParsing(directoryStartLine) - - # Appends Directory Information into the sections array - sections.append(directoryInfo) - - # Sets the initial message start to the next line after all directory lines and newlines - contentStart = contentStart + len(directoryInfo) + 1 - - # The start line, type, and end line for item events - sectionBoundaries = [] - - # Delimiter info - delimiters = [ - {"name": "edit", "pattern": "*** Edited"}, - {"name": "status", "pattern": "*** Status"}, - {"name": "replyToUser", "pattern": "*** Replied"}, - {"name": "replyFromUser", "pattern": "=== "}, - ] + """A single issue. + + Example: + # Create an Item (ce100) + >>> item = Item("ce", 100) + + Attributes: + lastUpdated: An ISO 8601 formatted time string showing the last time the file was updated according to the filesystem. + headers: A list of dictionaries containing header keys and values. + content: A list of section dictionaries. + isLocked: A boolean showing whether or not a lockfile for the item is present. + userEmail: The email address of the person who this item is from. + userName: The real name of the person who this item is from. + userAlias: The Purdue career account alias of the person this item is from. + assignedTo: The Purdue career account alias of the person this item is assigned to + subject: The subject of the original message for this item. + status: The most recent status update for the item. + priority: The most recent priority for this item. + department: The most recent department for this item. + dateReceived: The date this item was created. + jsonData: A JSON serializable representation of the Item. + """ + + def __init__(self, queue: str, number: int) -> None: + self.queue = queue + try: + self.number = int(number) + except ValueError: + raise ValueError(" Could not convert \"" + + number + "\" to an integer") + + self.__path = "/".join([queueDirectory, self.queue, str(self.number)]) + self.lastUpdated = self.__getLastUpdated() + self.__rawItem = self.__getRawItem() + self.headers = self.__parseHeaders() + self.content = self.__parseSections() + self.isLocked = self.__isLocked() + self.userEmail = self.__parseFromData(data="userEmail") + self.userName = self.__parseFromData(data="userName") + self.userAlias = self.__getUserAlias() + self.assignedTo = self.__getMostRecentHeaderByType("Assigned-To") + self.subject = self.__getMostRecentHeaderByType("Subject") + self.status = self.__getMostRecentHeaderByType("Status") + self.priority = self.__getMostRecentHeaderByType("Priority") + self.department = self.__getMostRecentHeaderByType("Department") + self.building = self.__getMostRecentHeaderByType("Building") + self.dateReceived = self.__getFormattedDate( + self.__getMostRecentHeaderByType("Date")) + + # TODO: Autopopulate jsonData w/ __dir__() command. Exclude `^_` and `jsonData`. + self.jsonData = { + "queue": self.queue, + "number": self.number, + "lastUpdated": self.lastUpdated, + "headers": self.headers, + "content": self.content, + "isLocked": self.isLocked, + "userEmail": self.userEmail, + "userName": self.userName, + "userAlias": self.userAlias, + "assignedTo": self.assignedTo, + "subject": self.subject, + "status": self.status, + "priority": self.priority, + "department": self.department, + "building": self.building, + "dateReceived": self.dateReceived + } + + def __getLastUpdated(self) -> str: + """Returns last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format. + + Example: + 07-23-20 10:34 AM + + Returns: + str: last modified time of item reported by the filesystem in mm-dd-yy hh:mm am/pm format. + """ + # TODO: Simplify this code block by allowing __getFormattedDate to accept milliseconds since the epoch. + unixTime = os.path.getmtime(self.__path) + formattedTime = time.strftime( + '%m-%d-%y %I:%M %p', time.localtime(unixTime)) + return self.__getFormattedDate(formattedTime) + + def __getRawItem(self) -> list: + """Returns a list of all lines in the item file + + Returns: + list: List of all the lines in the item file + """ + with open(self.__path, errors="replace") as file: + return file.readlines() + + def __getHeaderBoundary(self) -> int: + """Returns the 0 based line number where the Item headers stop. + + Example: The header end would be on line 13 + 12: X-ECN-Queue-Original-URL: + 13: + 14: I need help. + + Returns: + int: line number where the Item headers end + """ + for lineNumber, line in enumerate(self.__rawItem): + if line == "\n": + return lineNumber + + def __parseHeaders(self) -> list: + """Returns a list containing dictionaries of header type and data. + Removes queue prefixes and whitespace. + + Examples: + "[ce] QStatus: Dont Delete\\nFrom: Justin Campbell \\n" + becomes + [ + {"QStatus": "Don't Delete"}, + {"From": "Justin Campbell "} + ] + + Returns: + list: Header dicts + """ + headerString = "" + + # Remove '[queue] ' prefixes: + # Example: + # [ce] QTime-Updated-By: campb303 becomes + # QTime-Updated-By: campb303 + queuePrefixPattern = re.compile("\[.*\] {1}") + for lineNumber in range(self.__getHeaderBoundary()): + line = self.__rawItem[lineNumber] + lineHasQueuePrefix = queuePrefixPattern.match(line) + + if lineHasQueuePrefix: + queuePrefix = line[lineHasQueuePrefix.regs[0] + [0]: lineHasQueuePrefix.regs[0][1]] + line = line.replace(queuePrefix, "") + + headerString += line + + # message = email.message_from_string(headerString + "".join(self.__getContent())) + message = email.message_from_string(headerString) + + headers = [] + for key in message.keys(): + headers.append({"type": key, "content": message[key]}) + + return headers + + # TODO: Implement attachment parsing + + def __parseSections(self) -> list: + # List of all item events + sections = [] + + contentStart = self.__getHeaderBoundary() + 1 + contentEnd = len(self.__rawItem) - 1 + + # List of assignments for the item + assignementLsit = self.__assignmentParsing(contentStart) + + # Appends each assignment individually to sections + for assignment in assignementLsit: + sections.append(assignment) + + # Checks for Directory Identifiers + if self.__rawItem[contentStart] == "\n" and self.__rawItem[contentStart + 1].startswith("\t"): + + directoryStartLine = contentStart + 1 + + # Parses the directory information and returns a dictionary of directory values + directoryInfo = self.__directoryParsing(directoryStartLine) + + # Appends Directory Information into the sections array + sections.append(directoryInfo) + + # Sets the initial message start to the next line after all directory lines and newlines + contentStart = contentStart + len(directoryInfo) + 1 + + # The start line, type, and end line for item events + sectionBoundaries = [] - # Signifies that there is an initial message to parse - initialMessageSection = True - - # Parses the entire contents of the message, stores everything before any delimiter as the initial message - # and the line number of any delimiters as well as the type - for lineNumber in range(contentStart, contentEnd + 1): - - line = self.__rawItem[lineNumber] - - # Looks for a starting delimiter and explicity excludes the reply-from-user ending delimiter - if (line.startswith("*** Edited by: ") or - line.startswith("*** Replied by: ") or - line.startswith("*** Status updated by: ") or - line == "=== Additional information supplied by user ===\n" and not - line == "===============================================\n" - ): - - # Sets the delimiter type based on the pattern within the delimiters list - for delimiter in delimiters: - - if line.startswith(delimiter["pattern"]): - sectionBoundaries.append({"start": lineNumber, "type": delimiter["name"]}) - break - - # If a starting delimiter was encountered, then there is no initial message - if initialMessageSection: - initialMessageSection = False - - elif initialMessageSection == True: - # Delimiter not encountered yet, so append initial message starting line as the current lin number - sectionBoundaries.append({"start": lineNumber, "type": "initial_message"}) - initialMessageSection = False - - # Used to set the end line of the last delimiter - sectionBoundaries.append({"start": contentEnd + 1}) - - # Sets the end of the section boundary to the begining of the next section boundary - for boundaryIndex in range(0, len(sectionBoundaries) - 1): - - sectionBoundaries[boundaryIndex]["end"] = sectionBoundaries[boundaryIndex + 1]["start"] - - # Remove End of File boundary since the line number has been assigned to the last delimiter - del sectionBoundaries[-1] - - # Parses through all the boundaries in section boundaries - for boundary in sectionBoundaries: - - # Sets line to the first line of the boundary (which is always the delimiter) - line = self.__rawItem[boundary["start"]] - - # Returns all of the lines within the current section - sectionContent = self.__rawItem[boundary["start"] : boundary["end"]] - - # Appends an initial message dictionary to sections - if boundary["type"] == "initial_message": - initialMessageDictionary = self.__initialMessageParsing(sectionContent) - sections.append(initialMessageDictionary) - - elif boundary["type"] == "edit": - # Returns a dictionary with edit information - editInfo = self.__editParsing(sectionContent, boundary["start"]) - - # Checks for a parse error and appends it, returning the sections list which stops the parsing - if editInfo["type"] == "parse_error": - sections.append(editInfo) - return self.__getSortedSections(sections) - - # Appends the edit dictionary to sections - sections.append(editInfo) - - elif boundary["type"] == "replyToUser": - # Returns a dictionary with reply-to information - replyToInfo = self.__replyToParsing(sectionContent, boundary["start"]) - - # Checks for a parse error and appends it, returning the sections list which stops the parsing - if replyToInfo["type"] == "parse_error": - sections.append(replyToInfo) - return self.__getSortedSections(sections) - - # Appends the reply-to to sections - sections.append(replyToInfo) - - elif boundary["type"] == "status": - # Returns a dictionary with status information - statusInfo = self.__statusParsing(sectionContent, boundary["start"]) - - if statusInfo["type"] == "parse_error": - sections.append(statusInfo) - return self.__getSortedSections(sections) - - # Appends the status to sections - sections.append(statusInfo) - - elif boundary["type"] == "replyFromUser": - # Returns a dictionary with userReply information - replyFromInfo = self.__userReplyParsing(sectionContent, boundary["start"]) - - if replyFromInfo["type"] == "parse_error": - sections.append(replyFromInfo) - return self.__getSortedSections(sections) - - # Appends the replyFrom to sections - sections.append(replyFromInfo) - - sortedSections = self.__getSortedSections(sections) - - return sortedSections - #return sections - - def __directoryParsing(self, directoryStartLine: int) -> dict: - """Returns a dictionary with directory information - - Example: - Name: Nestor Fabian Rodriguez Buitrago - Login: rodri563 - Computer: ce-205-38 (128.46.205.67) - Location: HAMP G230 - Email: rodri563@purdue.edu - Phone: 7654766893 - Office: HAMP G230 - UNIX Dir: /home/bridge/b/rodri563 - Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563 - User ECNDB: http://eng.purdue.edu/jump/2e8399a - Host ECNDB: http://eng.purdue.edu/jump/2e83999 - Subject: Autocad installation - - Args: - directoryStartLine (int): line number within the item that the directory starts on - - Returns: - dict: dictionary that splits each line within the directory into a key and a value - """ - directoryInformation = {"type": "directory_information"} - - directoryPossibleKeys=[ - "Name", - "Login", - "Computer", - "Location", - "Email", - "Phone", - "Office", - "UNIX Dir", - "Zero Dir", - "User ECNDB", - "Host ECNDB", - "Subject" - ] - # Executies until the directory start line is greater than the directory ending line - while True: - - # Returns the line number at directory start line - info = self.__rawItem[directoryStartLine] - - # Breaks the loop if it encountrs a newline, signifying the end of the directory information - if info == "\n": - - break - - else: - - # Removes white including space, newlines, and tabs from the directory info line - strippedInfo = info.strip() - - # Attempts to find ": " but will accept ":", denoting a blank entry for a directory item - if ": " in strippedInfo: - - # Seperates the directory info line into two variables, the first variable being the key, the second being the value - # swt1 - key, value = strippedInfo.split(": ", 1) - - if key in directoryPossibleKeys: - # Adds the key value pair to the directory info dictionary - directoryInformation[key] = value - else: - # Casts the list type on to a dictionary - dictionaryList = list(directoryInformation) - # Length of dictionary list - lenDictionaryList = len(dictionaryList) - # The last key appended to the directory dictionary - lastKeyAppended = dictionaryList[lenDictionaryList - 1] - - directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + " " + strippedInfo - - elif ":" in strippedInfo: - - # Seperates the directory info line into two variables, the first variable being the key, the second being the value - key, value = strippedInfo.split(":", 1) - - if key in directoryPossibleKeys: - # Adds the key value pair to the directory info dictionary - directoryInformation[key] = value - else: - # Casts the list type on to a dictionary - dictionaryList = list(directoryInformation) - # Length of dictionary list - lenDictionaryList = len(dictionaryList) - # The last key appended to the directory dictionary - lastKeyAppended = dictionaryList[lenDictionaryList - 1] - - directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + " " + strippedInfo - - # Signifies that this line belongs to the most previous line - elif ": " not in strippedInfo and ":" not in strippedInfo: - # Casts the list type on to a dictionary - dictionaryList = list(directoryInformation) - # Length of dictionary list - lenDictionaryList = len(dictionaryList) - # The last key appended to the directory dictionary - lastKeyAppended = dictionaryList[lenDictionaryList - 1] - - directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + " " + strippedInfo - # Counter to denote the end of the directory - directoryStartLine = directoryStartLine + 1 - - # Returns the directory information dictionary - return directoryInformation - - def __assignmentParsing(self, contentStart: int) -> list: - """Returns a list with assignment information dictionaries - - Example: - Assigned-To: campb303 - Assigned-To-Updated-Time: Tue, 23 Jun 2020 13:27:00 EDT - Assigned-To-Updated-By: campb303 - - Args: - contentStart (int): line number where the content starts - - Returns: - list: [ - {"type": "assignment", - "datetime": datetime of the assignment, - "by": user who initiated the assignment, - "to": user who was assigned - }, - ] - """ - assignmentList =[] - - # Assignment Information - assignedBy = "" - assignedDateTime = "" - assignedTo = "" - - # Parses the header looking for assignment delimeters and stores info into their respective variables - for headerContent in range(0, contentStart): - - line = self.__rawItem[headerContent] - - # Gets who the Item was assigned to - if line.startswith("Assigned-To: "): - - assignedTo = (re.search("(?<=Assigned-To: )(.*)", line)).group() - - # Gets the date the Item was assigned - elif line.startswith("Assigned-To-Updated-Time: "): - - dateFromLine = (re.search("(?<=Assigned-To-Updated-Time: )(.*)", line)).group() - - assignedDateTime = self.__getFormattedDate(dateFromLine) - - # Gets who assigned the Item - elif line.startswith("Assigned-To-Updated-By: "): - - assignedBy = (re.search("(?<=Assigned-To-Updated-By: )(.*)", line)).group() - - # Appends the assignment to the sections list - assignmentList.append( - {"type": "assignment", - "datetime": assignedDateTime, - "by": assignedBy, - "to": assignedTo} - ) - - return assignmentList - - def __initialMessageParsing(self, content: list) -> dict: - """Returns a dictionary with initial message information - - Example: - \n - Testtest\n - \n - - Args: - content (list): content of the initial message - - Returns: - dict: - "type": "initial_message", - "datetime": datetime the initial message was sent, - "from_name": from_name, - "from_email": user_email, - "to": [{email, name}], - "cc": [{email, name}], - "subject": initial message subject - "content": content of the initial message - """ - initialMessageDictionary = {} - - initialMessageDictionary["type"] = "initial_message" - - # Gets the initial message date from the header - rawMessageDateStr = self.__getMostRecentHeaderByType("Date") - - # Sets datetime in the intialMessage dictionary to UTC formatted date - initialMessageDictionary["datetime"] = self.__getFormattedDate(rawMessageDateStr) - - initialMessageDictionary["from_name"] = self.__parseFromData(data="userName") - - initialMessageDictionary["from_email"] = self.__parseFromData(data="userEmail") - - # Stores list of dictionaries for the recipients of the initial message - initialMessageDictionary["to"] = [] - - # Parses the header looking for recipients of the initial message and stores it in a list of tuples - rawMessageRecipientsList = email.utils.getaddresses([self.__getMostRecentHeaderByType("To")]) - - # Parses the CC list and stores the cc recipient information in a list of dictionaries - for recipients in rawMessageRecipientsList: - - initialMessageDictionary["to"].append( - {"name": recipients[0], - "email": recipients[1]} - ) - - # Stores list of dictionaries for CC information - initialMessageDictionary["cc"] = [] - - # Parses the header looking for CC recipients of the initial message and stores it in a list of tuples - rawMessageCCList = email.utils.getaddresses([self.__getMostRecentHeaderByType("CC")]) - - # Parses the CC list and stores the cc recipient information in a list of dictionaries - for ccRecipients in rawMessageCCList: - - initialMessageDictionary["cc"].append( - {"name": ccRecipients[0], - "email": ccRecipients[1]} - ) - - initialMessageDictionary["subject"] = self.__getMostRecentHeaderByType("Subject") - - # Removes unecessary newlines from the begining and the end of the initial message - initialMessageDictionary["content"] = self.__getFormattedSectionContent(content) - - return initialMessageDictionary - - def __editParsing(self, content: list, lineNum: int) -> dict: - """Returns a dictionary with edit information - - Example: - *** Edited by: campb303 at: 06/23/20 13:27:56 ***\n - \n - This be an edit my boy\n - \n - \n - \n - - Args: - content (list): content of an edit - lineNum (int): line number of an edit within an item - - Returns: - dict: a dictionary with these keys, - "type": "edi", - "by": initiator of the edit, - "datetime": datetime of the edit, - "content": content of the edit - """ - - # Edit Info dictionary - editInfo = {} - - for count, line in enumerate(content): - if line == "===============================================\n" : - errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" - return self.__errorParsing(line, lineNum + count + 1, errorMessage) - - editInfo["type"] = "edit" - - delimiterLine = content[0] - # Parses for the author of the edit, which is located between the "*** Edited by: " and " at:" substrings - try: - editInfo["by"] = (re.search("(?<=\*{3} Edited by: )(.*)(?= at:)", delimiterLine)).group() - except: - errorMessage = "*** Edited by: [username] at: [date and time] ***\n" - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - try: - # Parses for the date and time of the edit, which is located between the " at: " and "***\n" substrings - dateTimeString = (re.search("(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine)).group() - except: - # Returns an error message if there is no space after "at:" - errorMessage = "*** Edited by: [username] at: [date and time] ***\n" - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - # Attempts to format the date and time into utc format - editInfo["datetime"] = self.__getFormattedDate(dateTimeString) - - # Remove the delimiter String and unecessary newlines - editInfo["content"] = self.__getFormattedSectionContent(content) - - return editInfo - - def __replyToParsing(self, content: list, lineNum: int) -> dict: - """Returns a dictionary with reply to user information - - Example: - *** Replied by: campb303 at: 06/23/20 13:28:18 ***\n - \n - This be a reply my son\n - \n - Justin\n - ECN\n - \n - - Args: - content (list): content of a reply to user - lineNum (int): line number of a reply to user in an item - - Returns: - dict: a dictionary with these keys, - "type": "reply_to_user", - "by": initiator of the reply to user, - "datetime": datetime of the reply to user, - "content": content of the reply to user - """ - replyInfo = {} - - replyInfo["type"] = "reply_to_user" - - delimiterLine = content[0] - - for count, line in enumerate(content): - if line == "===============================================\n": - errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" - return self.__errorParsing(line, lineNum + count + 1, errorMessage) - - try: - # Parses for the author of the reply, which is located between the "*** Replied by: " and " at:" substrings - replyInfo["by"] = (re.search("(?<=\*{3} Replied by: )(.*)(?= at:)", delimiterLine)).group() - except: - errorMessage = "*** Replied by: [username] at: [date and time] ***\n" - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - # Parses for the date and time of the reply, which is located between the " at: " and "***\n" substrings - try: - dateTimeString = (re.search("(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine)).group() - except: - errorMessage = "*** Replied by: [username] at: [date and time] ***\n" - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - # Formats date to UTC - replyInfo["datetime"] = self.__getFormattedDate(dateTimeString) - - replyInfo["content"] = self.__getFormattedSectionContent(content) - - return replyInfo - - def __statusParsing(self, content: list, lineNum: int) -> dict: - """Returns a dictionary with status information - - Example: - *** Status updated by: campb303 at: 6/23/2020 13:26:55 ***\n - Dont Delete\n - - Args: - content (list): The content of a status update - lineNum (int): The line number of a status update in an item - - Returns: - dict: a dictionary with these keys, - "type": "status", - "by": initiator of the status update, - "datetime": datetime of the status update, - "content": content of the status update - """ - statusInfo = {} - - statusInfo["type"] = "status" - - delimiterLine = content[0] - - for count, line in enumerate(content): - if line == "===============================================\n": - errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" - return self.__errorParsing(line, lineNum + count + 1, errorMessage) - - # Parses for the author of the status change, which is located between the "*** Status updated by: " and " at:" substrings - try: - statusInfo["by"] = (re.search("(?<=\*{3} Status updated by: )(.*)(?= at:)", delimiterLine)).group() - except: - errorMessage = "*** Status updated by: [username] at: [date and time] ***\n" - - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - # Parses for the date and time of the status change, which is located between the " at: " and "***\n" substrings - try: - dateTimeString = re.search("(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine).group() - except: - errorMessage = "*** Status updated by: [username] at: [date and time] ***\n" - - return self.__errorParsing(delimiterLine, lineNum, errorMessage) - - # Formats the date to UTC - statusInfo["datetime"] = self.__getFormattedDate(dateTimeString) - - # Remove the delimiter String and unecessary newlines - statusInfo["content"] = self.__getFormattedSectionContent(content) - - return statusInfo - - def __userReplyParsing(self, replyContent: list, lineNumber: int) -> dict: - """Returns a dictionary with user reply information - - Example: - === Additional information supplied by user ===\n - \n - Subject: Re: Beepboop\n - From: Justin Campbell \n - Date: Tue, 23 Jun 2020 13:30:45 -0400\n - X-ECN-Queue-Original-Path: /home/pier/e/queue/Attachments/inbox/2020-06-23/212-original.txt\n - X-ECN-Queue-Original-URL: https://engineering.purdue.edu/webqueue/Attachments/inbox/2020-06-23/212-original.txt\n - \n - Huzzah!\n - \n - ===============================================\n - \n - Args: - replyContent (list): The entire section of a reply-from-user - lineNumber (int): The line number of the begining of a reply-from-user section within and item - - Returns: - dict: a dictionary with these keys, - "type": "reply_from_user", - "from_name": name of the user that sent the reply, - "from_email": email of the user that sent the reply, - "subject": subject of the reply, - "datetime": the datetime of the reply, - "cc": [ - {"name": name of the carbon copied recipient, - "email": email of the carbon copied recipient - }, - ] - "content": content of the reply - "headers": [ - {"type": headerType, - "content": content - }, - ] - """ - replyFromInfo = {} - - replyFromInfo["type"] = "reply_from_user" - - replyFromHeaders = [] - newLineCounter = 0 - endingDelimiterCount = 0 - - # Delimiter information line numbers to remove from reply from user - linesToRemove =[] - - # Parses the section content looking for any line that starts with a metadata, also tracks the line - # number with the enumerate function - for lineNum, line in enumerate(replyContent): - - if endingDelimiterCount == 0 and lineNum == len(replyContent) - 1: - errorMessage = "Did not encounter a reply-from-user ending delimiter" - return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) - - if newLineCounter == 1 and line != "\n": - - try: - # Append header information for each headr line - headerType, content = line.split(": ", 1) - replyFromHeaders.append( - {"type": headerType, - "content": content - } - ) - except: - lenReplyFromHeaders = len(replyFromHeaders) - if lenReplyFromHeaders == 0: - errorMessage = ("Expected reply-from-user header information:\n" + - "=== Additional information supplied by user ===\n" + - "\n" + - "[Header Type]: [Header Value]\n" + - "\n" - ) - return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) - - else: - replyFromHeaders[lenReplyFromHeaders - 1]["content"] = replyFromHeaders[lenReplyFromHeaders - 1]["content"] + " " + line - - linesToRemove.append(lineNum) - #Checks for a newline and breaks for loop on second occurance of a newline - if line == "\n": - newLineCounter = newLineCounter + 1 - - elif line == "===============================================\n": - endingDelimiterCount = endingDelimiterCount + 1 - - elif line.startswith("From: ") and newLineCounter == 1: - # Returns a list of one tuples with a name stored in the first index of the tuple and an email stored in the second index of the tuple - emailList = email.utils.getaddresses([line]) - replyFromInfo["from_name"] = emailList[0][0] - replyFromInfo["from_email"] = emailList[0][1] - - elif line.startswith("Subject: ") and newLineCounter == 1: - # Matches everything after "Subject: " - try: - subjectStr = (re.search("(?<=Subject: )(.*)", line)).group() - except: - errorMessage = "Expeted syntax of \"Subject: [subject]\"" - return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) - - # Formatts the date to UTC - replyFromInfo["subject"] = subjectStr - - elif line.startswith("Date: ") and newLineCounter == 1: - # Matches everything after "Date: " - try: - dateStr = (re.search("(?<=Date: )(.*)", line)).group() - except: - errorMessage = "\"Date: [datetime]\"" - return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) - - # Formatts the date to UTC - replyFromInfo["datetime"] = self.__getFormattedDate(dateStr) - - elif line.startswith("Cc: ") and newLineCounter == 1: - - replyFromInfo["cc"] = [] - - # Returns a list of tuples with email information - recipientsList = email.utils.getaddresses([line]) - - # Parses through the cc tuple list - for cc in recipientsList: - # Stores the cc information in a dictionary and appends it to the ccRecipientsList - replyFromInfo["cc"].append( - {"name": cc[0], - "email": cc[1]} - ) - - # Deletes reduntant lines from the message content in reverse order - for lineNum in sorted(linesToRemove, reverse = True): - replyContent.pop(lineNum) - - # Strips any unnecessary newlines or any delimiters frm the message content - replyFromInfo["content"] = self.__getFormattedSectionContent(replyContent) - - replyFromInfo["headers"] = replyFromHeaders - - return replyFromInfo - - def __getFormattedSectionContent(self, sectionContent: list) -> list: - """Returns a list with message content that is stripped of unnecessary newlines and begining delimiters - - Example: - *** Edited by: mph at: 02/21/20 10:27:16 ***\n - \n - Still need to rename machines - but the networking issue now seems to \n - be resolved via another ticket.\n - \n - \n - \n - \n - \n - - Args: - sectionContent (list): The section content of a parsed section - - Returns: - list: the section content of a parsed section without any delimiters and unnecessary newlines - """ - # Continually removes the first line of sectionContent if it is a newline or delimiter in each iteration - while len(sectionContent) > 1: - if (sectionContent[0] == "\n" or - sectionContent[0].startswith("*** Edited by: ") or - sectionContent[0].startswith("*** Replied by: ") or - sectionContent[0].startswith("*** Status updated by: ") or - sectionContent[0] == "=== Additional information supplied by user ===\n" or - sectionContent[0] == "===============================================\n" - ): - sectionContent.pop(0) - else: - # Breaks the loop if the first line isn't a newline or delimiter - break - - # Continually removes the last line of sectionContent if it is a newline or delimiter in each iteration - while len(sectionContent) > 1: - # Initializes the Length of sectionContent each iteration of the loop - sectionContentLength = len(sectionContent) - - if (sectionContent[sectionContentLength -1] == "\n" or - sectionContent[sectionContentLength -1] == "===============================================\n" - ): - sectionContent.pop(sectionContentLength - 1) - else: - # Breaks the loop if the last line isn't a newline or delimiter - break - - return sectionContent - - def __errorParsing(self, line: str, lineNum: int, expectedSyntax: str) -> dict: - """Returns a dictionary with error parse information when a line is malformed - - Example: - "*** Status updated by: ewhile at: 5/7/2020 10:59:11 *** sharing between\n" - - Args: - line (str): line of that threw error - lineNum (int): line number in the item that threw error - expectedSyntax (str): a message stating the syntax the line should follow - - Returns: - dict: a dictionary with these keys, - "type": "parse_error", - "datetime": time the error was encountered, - "file_path": path of the item with erroneos line, - "expected": expectedSyntax, - "got": line, - "line_num": lineNum - """ - errorDictionary = {} - - # Type - errorDictionary["type"] = "parse_error" - - # Dateime of the parse error - errorDictionary["datetime"] = self.__getFormattedDate(str(datetime.datetime.now())) - - # Item filepath - errorDictionary["file_path"] = self.__path - - # Expected value - errorDictionary["expected"] = expectedSyntax - - # line that threw error - errorDictionary["got"] = line - - # line number that threw error - errorDictionary["line_num"] = lineNum - - # returns the error dictionary - return errorDictionary - - def __getSortedSections(self, sectionsList: list) -> list: - """Sorts the sections chronologically by datetime - - Example: - [example] need to do - - Args: - sections (list): the list of sections to be sorted - - Returns: - list: a list of sections sorted by datetime - """ - sectionsLength = len(sectionsList) - sortedSections = [] - oldestSection = {} - - while len(sortedSections) < sectionsLength: - - for iteration, currentSection in enumerate(sectionsList): - - if currentSection["type"] == "directory_information": - sortedSections.append(currentSection) - sectionsList.remove(currentSection) - break - - if iteration == 0: - oldestSection = currentSection - - #datetime.datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S.%f') - - elif parse(currentSection["datetime"]) < parse(oldestSection["datetime"]): - oldestSection = currentSection - - if iteration == len(sectionsList) - 1: - sortedSections.append(oldestSection) - sectionsList.remove(oldestSection) - - return sortedSections - - def __isLocked(self) -> Union[str, bool]: - """Returns a string info about the lock if true and a bool False if false - - Example: A file is locked - "CE 100 is locked by campb303 using qvi" - - Example: a file is not locked - False - - Returns: - Union[str, bool]: String with info about lock if true, bool False if false - """ - lockFile = self.__path + ".lck" - if os.path.exists(lockFile): - with open(lockFile) as file: - lockInfo = file.readline().split(" ") - lockedBy = lockInfo[4] - lockedUsing = lockInfo[1] - return "{queue} {number} is locked by {lockedBy} using {lockedUsing}".format(queue=self.queue, number=self.number, lockedBy=lockedBy, lockedUsing=lockedUsing) - else: - return False - - def __getMostRecentHeaderByType(self, headerType: str) -> str: - """Return the data of most recent header of the given type. - If no header of that type exists, return an empty string. - - Example: Requesting a Status header that does exist - __getMostRecentHeaderByType("Status") - becomes "Waiting for Reply" - - Example: Requesting a Status header that doesn't exist - __getMostRecentHeaderByType("Status") - becomes "" - - Args: - headerType (str): Type of header to return. - - Returns: - str: data of most recent header of the given type or empty string. - """ - for header in self.headers: - if header["type"] == headerType: return header["content"] - return "" - - def __parseFromData(self, data: str) -> str: - """Parse From header and return requested data. - Returns empty string if requested data is unavailable. - - Examples: From data is "From: Campbell, Justin " - __parseFromData(data="userName") returns "Campbell, Justin" - __parseFromData(data="userEmail") returns "campb303@purdue.edu" - - Args: - data (str): The data desired; can be "userName" or "userEmail". - - Returns: - str: userName, userEmail or empty string. - """ - fromHeader = self.__getMostRecentHeaderByType("From") - userName, userEmail = email.utils.parseaddr(fromHeader) - - if data == "userName": return userName - elif data == "userEmail": return userEmail - else: raise ValueError("data='" + str(data) + "' is not a valid option. data must be \"userName\" or \"userEmail\".") - - def __getUserAlias(self) -> str: - """Returns user's Career Account alias if present. - If Career Account alias isn't present, returns empty string. - - Example: Email from campb303@purdue.edu - userAlias = "campb303" - - Example: Email from spam@spammer.net - userAlias = "" - - Returns: - str: User's Career Account alias if present or empty string - """ - emailUser, emailDomain = self.userEmail.split("@") - return emailUser if emailDomain.endswith("purdue.edu") else "" - - def __getFormattedDate(self, date: str) -> str: - """Returns the date/time formatted as RFC 8601 YYYY-MM-DDTHH:MM:SS+00:00. - Returns empty string if the string argument passed to the function is not a datetime. - See: https://en.wikipedia.org/wiki/ISO_8601 - - Returns: - str: Properly formatted date/time recieved or empty string. - """ - try: - # This date is never meant to be used. The default attribute is just to set timezone. - parsedDate = parse(date, default=datetime.datetime(1970, 0, 1, tzinfo=tz.gettz('EDT'))) - except: - return "" - - parsedDateString = parsedDate.strftime("%Y-%m-%dT%H:%M:%S%z") - - return parsedDateString - - def toJson(self) -> dict: - """Returns a JSON safe representation of the item. - - Returns: - dict: JSON safe representation of the item. - """ - return self.jsonData - - def __repr__(self) -> str: - return self.queue + str(self.number) + # Delimiter info + delimiters = [ + {"name": "edit", "pattern": "*** Edited"}, + {"name": "status", "pattern": "*** Status"}, + {"name": "replyToUser", "pattern": "*** Replied"}, + {"name": "replyFromUser", "pattern": "=== "}, + ] + + # Signifies that there is an initial message to parse + initialMessageSection = True + + # Parses the entire contents of the message, stores everything before any delimiter as the initial message + # and the line number of any delimiters as well as the type + for lineNumber in range(contentStart, contentEnd + 1): + + line = self.__rawItem[lineNumber] + + # Looks for a starting delimiter and explicity excludes the reply-from-user ending delimiter + if (line.startswith("*** Edited by: ") or + line.startswith("*** Replied by: ") or + line.startswith("*** Status updated by: ") or + line == "=== Additional information supplied by user ===\n" and not + line == "===============================================\n" + ): + + # Sets the delimiter type based on the pattern within the delimiters list + for delimiter in delimiters: + + if line.startswith(delimiter["pattern"]): + sectionBoundaries.append( + {"start": lineNumber, "type": delimiter["name"]}) + break + + # If a starting delimiter was encountered, then there is no initial message + if initialMessageSection: + initialMessageSection = False + + elif initialMessageSection == True: + # Delimiter not encountered yet, so append initial message starting line as the current lin number + sectionBoundaries.append( + {"start": lineNumber, "type": "initial_message"}) + initialMessageSection = False + + # Used to set the end line of the last delimiter + sectionBoundaries.append({"start": contentEnd + 1}) + + # Sets the end of the section boundary to the begining of the next section boundary + for boundaryIndex in range(0, len(sectionBoundaries) - 1): + + sectionBoundaries[boundaryIndex]["end"] = sectionBoundaries[boundaryIndex + 1]["start"] + + # Remove End of File boundary since the line number has been assigned to the last delimiter + del sectionBoundaries[-1] + + # Parses through all the boundaries in section boundaries + for boundary in sectionBoundaries: + + # Sets line to the first line of the boundary (which is always the delimiter) + line = self.__rawItem[boundary["start"]] + + # Returns all of the lines within the current section + sectionContent = self.__rawItem[boundary["start"]: boundary["end"]] + + # Appends an initial message dictionary to sections + if boundary["type"] == "initial_message": + initialMessageDictionary = self.__initialMessageParsing( + sectionContent) + sections.append(initialMessageDictionary) + + elif boundary["type"] == "edit": + # Returns a dictionary with edit information + editInfo = self.__editParsing( + sectionContent, boundary["start"]) + + # Checks for a parse error and appends it, returning the sections list which stops the parsing + if editInfo["type"] == "parse_error": + sections.append(editInfo) + return self.__getSortedSections(sections) + + # Appends the edit dictionary to sections + sections.append(editInfo) + + elif boundary["type"] == "replyToUser": + # Returns a dictionary with reply-to information + replyToInfo = self.__replyToParsing( + sectionContent, boundary["start"]) + + # Checks for a parse error and appends it, returning the sections list which stops the parsing + if replyToInfo["type"] == "parse_error": + sections.append(replyToInfo) + return self.__getSortedSections(sections) + + # Appends the reply-to to sections + sections.append(replyToInfo) + + elif boundary["type"] == "status": + # Returns a dictionary with status information + statusInfo = self.__statusParsing( + sectionContent, boundary["start"]) + + if statusInfo["type"] == "parse_error": + sections.append(statusInfo) + return self.__getSortedSections(sections) + + # Appends the status to sections + sections.append(statusInfo) + + elif boundary["type"] == "replyFromUser": + # Returns a dictionary with userReply information + replyFromInfo = self.__userReplyParsing( + sectionContent, boundary["start"]) + + if replyFromInfo["type"] == "parse_error": + sections.append(replyFromInfo) + return self.__getSortedSections(sections) + + # Appends the replyFrom to sections + sections.append(replyFromInfo) + + sortedSections = self.__getSortedSections(sections) + + return sortedSections + # return sections + + def __directoryParsing(self, directoryStartLine: int) -> dict: + """Returns a dictionary with directory information + + Example: + Name: Nestor Fabian Rodriguez Buitrago + Login: rodri563 + Computer: ce-205-38 (128.46.205.67) + Location: HAMP G230 + Email: rodri563@purdue.edu + Phone: 7654766893 + Office: HAMP G230 + UNIX Dir: /home/bridge/b/rodri563 + Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563 + User ECNDB: http://eng.purdue.edu/jump/2e8399a + Host ECNDB: http://eng.purdue.edu/jump/2e83999 + Subject: Autocad installation + + Args: + directoryStartLine (int): line number within the item that the directory starts on + + Returns: + dict: dictionary that splits each line within the directory into a key and a value + """ + directoryInformation = {"type": "directory_information"} + + directoryPossibleKeys = [ + "Name", + "Login", + "Computer", + "Location", + "Email", + "Phone", + "Office", + "UNIX Dir", + "Zero Dir", + "User ECNDB", + "Host ECNDB", + "Subject" + ] + # Executies until the directory start line is greater than the directory ending line + while True: + + # Returns the line number at directory start line + info = self.__rawItem[directoryStartLine] + + # Breaks the loop if it encountrs a newline, signifying the end of the directory information + if info == "\n": + + break + + else: + + # Removes white including space, newlines, and tabs from the directory info line + strippedInfo = info.strip() + + # Attempts to find ": " but will accept ":", denoting a blank entry for a directory item + if ": " in strippedInfo: + + # Seperates the directory info line into two variables, the first variable being the key, the second being the value + # swt1 + key, value = strippedInfo.split(": ", 1) + + if key in directoryPossibleKeys: + # Adds the key value pair to the directory info dictionary + directoryInformation[key] = value + else: + # Casts the list type on to a dictionary + dictionaryList = list(directoryInformation) + # Length of dictionary list + lenDictionaryList = len(dictionaryList) + # The last key appended to the directory dictionary + lastKeyAppended = dictionaryList[lenDictionaryList - 1] + + directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + \ + " " + strippedInfo + + elif ":" in strippedInfo: + + # Seperates the directory info line into two variables, the first variable being the key, the second being the value + key, value = strippedInfo.split(":", 1) + + if key in directoryPossibleKeys: + # Adds the key value pair to the directory info dictionary + directoryInformation[key] = value + else: + # Casts the list type on to a dictionary + dictionaryList = list(directoryInformation) + # Length of dictionary list + lenDictionaryList = len(dictionaryList) + # The last key appended to the directory dictionary + lastKeyAppended = dictionaryList[lenDictionaryList - 1] + + directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + \ + " " + strippedInfo + + # Signifies that this line belongs to the most previous line + elif ": " not in strippedInfo and ":" not in strippedInfo: + # Casts the list type on to a dictionary + dictionaryList = list(directoryInformation) + # Length of dictionary list + lenDictionaryList = len(dictionaryList) + # The last key appended to the directory dictionary + lastKeyAppended = dictionaryList[lenDictionaryList - 1] + + directoryInformation[lastKeyAppended] = directoryInformation[lastKeyAppended] + \ + " " + strippedInfo + # Counter to denote the end of the directory + directoryStartLine = directoryStartLine + 1 + + # Returns the directory information dictionary + return directoryInformation + + def __assignmentParsing(self, contentStart: int) -> list: + """Returns a list with assignment information dictionaries + + Example: + Assigned-To: campb303 + Assigned-To-Updated-Time: Tue, 23 Jun 2020 13:27:00 EDT + Assigned-To-Updated-By: campb303 + + Args: + contentStart (int): line number where the content starts + + Returns: + list: [ + {"type": "assignment", + "datetime": datetime of the assignment, + "by": user who initiated the assignment, + "to": user who was assigned + }, + ] + """ + assignmentList = [] + + # Assignment Information + assignedBy = "" + assignedDateTime = "" + assignedTo = "" + + # Parses the header looking for assignment delimeters and stores info into their respective variables + for headerContent in range(0, contentStart): + + line = self.__rawItem[headerContent] + + # Gets who the Item was assigned to + if line.startswith("Assigned-To: "): + + assignedTo = ( + re.search("(?<=Assigned-To: )(.*)", line)).group() + + # Gets the date the Item was assigned + elif line.startswith("Assigned-To-Updated-Time: "): + + dateFromLine = ( + re.search("(?<=Assigned-To-Updated-Time: )(.*)", line)).group() + + assignedDateTime = self.__getFormattedDate(dateFromLine) + + # Gets who assigned the Item + elif line.startswith("Assigned-To-Updated-By: "): + + assignedBy = ( + re.search("(?<=Assigned-To-Updated-By: )(.*)", line)).group() + + # Appends the assignment to the sections list + assignmentList.append( + {"type": "assignment", + "datetime": assignedDateTime, + "by": assignedBy, + "to": assignedTo} + ) + + return assignmentList + + def __initialMessageParsing(self, content: list) -> dict: + """Returns a dictionary with initial message information + + Example: + \n + Testtest\n + \n + + Args: + content (list): content of the initial message + + Returns: + dict: + "type": "initial_message", + "datetime": datetime the initial message was sent, + "from_name": from_name, + "from_email": user_email, + "to": [{email, name}], + "cc": [{email, name}], + "subject": initial message subject + "content": content of the initial message + """ + initialMessageDictionary = {} + + initialMessageDictionary["type"] = "initial_message" + + # Gets the initial message date from the header + rawMessageDateStr = self.__getMostRecentHeaderByType("Date") + + # Sets datetime in the intialMessage dictionary to UTC formatted date + initialMessageDictionary["datetime"] = self.__getFormattedDate( + rawMessageDateStr) + + initialMessageDictionary["from_name"] = self.__parseFromData( + data="userName") + + initialMessageDictionary["from_email"] = self.__parseFromData( + data="userEmail") + + # Stores list of dictionaries for the recipients of the initial message + initialMessageDictionary["to"] = [] + + # Parses the header looking for recipients of the initial message and stores it in a list of tuples + rawMessageRecipientsList = email.utils.getaddresses( + [self.__getMostRecentHeaderByType("To")]) + + # Parses the CC list and stores the cc recipient information in a list of dictionaries + for recipients in rawMessageRecipientsList: + + initialMessageDictionary["to"].append( + {"name": recipients[0], + "email": recipients[1]} + ) + + # Stores list of dictionaries for CC information + initialMessageDictionary["cc"] = [] + + # Parses the header looking for CC recipients of the initial message and stores it in a list of tuples + rawMessageCCList = email.utils.getaddresses( + [self.__getMostRecentHeaderByType("CC")]) + + # Parses the CC list and stores the cc recipient information in a list of dictionaries + for ccRecipients in rawMessageCCList: + + initialMessageDictionary["cc"].append( + {"name": ccRecipients[0], + "email": ccRecipients[1]} + ) + + initialMessageDictionary["subject"] = self.__getMostRecentHeaderByType( + "Subject") + + # Removes unecessary newlines from the begining and the end of the initial message + initialMessageDictionary["content"] = self.__getFormattedSectionContent( + content) + + return initialMessageDictionary + + def __editParsing(self, content: list, lineNum: int) -> dict: + """Returns a dictionary with edit information + + Example: + *** Edited by: campb303 at: 06/23/20 13:27:56 ***\n + \n + This be an edit my boy\n + \n + \n + \n + + Args: + content (list): content of an edit + lineNum (int): line number of an edit within an item + + Returns: + dict: a dictionary with these keys, + "type": "edi", + "by": initiator of the edit, + "datetime": datetime of the edit, + "content": content of the edit + """ + + # Edit Info dictionary + editInfo = {} + + for count, line in enumerate(content): + if line == "===============================================\n": + errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" + return self.__errorParsing(line, lineNum + count + 1, errorMessage) + + editInfo["type"] = "edit" + + delimiterLine = content[0] + # Parses for the author of the edit, which is located between the "*** Edited by: " and " at:" substrings + try: + editInfo["by"] = ( + re.search("(?<=\*{3} Edited by: )(.*)(?= at:)", delimiterLine)).group() + except: + errorMessage = "*** Edited by: [username] at: [date and time] ***\n" + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + try: + # Parses for the date and time of the edit, which is located between the " at: " and "***\n" substrings + dateTimeString = ( + re.search("(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine)).group() + except: + # Returns an error message if there is no space after "at:" + errorMessage = "*** Edited by: [username] at: [date and time] ***\n" + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + # Attempts to format the date and time into utc format + editInfo["datetime"] = self.__getFormattedDate(dateTimeString) + + # Remove the delimiter String and unecessary newlines + editInfo["content"] = self.__getFormattedSectionContent(content) + + return editInfo + + def __replyToParsing(self, content: list, lineNum: int) -> dict: + """Returns a dictionary with reply to user information + + Example: + *** Replied by: campb303 at: 06/23/20 13:28:18 ***\n + \n + This be a reply my son\n + \n + Justin\n + ECN\n + \n + + Args: + content (list): content of a reply to user + lineNum (int): line number of a reply to user in an item + + Returns: + dict: a dictionary with these keys, + "type": "reply_to_user", + "by": initiator of the reply to user, + "datetime": datetime of the reply to user, + "content": content of the reply to user + """ + replyInfo = {} + + replyInfo["type"] = "reply_to_user" + + delimiterLine = content[0] + + for count, line in enumerate(content): + if line == "===============================================\n": + errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" + return self.__errorParsing(line, lineNum + count + 1, errorMessage) + + try: + # Parses for the author of the reply, which is located between the "*** Replied by: " and " at:" substrings + replyInfo["by"] = ( + re.search("(?<=\*{3} Replied by: )(.*)(?= at:)", delimiterLine)).group() + except: + errorMessage = "*** Replied by: [username] at: [date and time] ***\n" + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + # Parses for the date and time of the reply, which is located between the " at: " and "***\n" substrings + try: + dateTimeString = ( + re.search("(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine)).group() + except: + errorMessage = "*** Replied by: [username] at: [date and time] ***\n" + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + # Formats date to UTC + replyInfo["datetime"] = self.__getFormattedDate(dateTimeString) + + replyInfo["content"] = self.__getFormattedSectionContent(content) + + return replyInfo + + def __statusParsing(self, content: list, lineNum: int) -> dict: + """Returns a dictionary with status information + + Example: + *** Status updated by: campb303 at: 6/23/2020 13:26:55 ***\n + Dont Delete\n + + Args: + content (list): The content of a status update + lineNum (int): The line number of a status update in an item + + Returns: + dict: a dictionary with these keys, + "type": "status", + "by": initiator of the status update, + "datetime": datetime of the status update, + "content": content of the status update + """ + statusInfo = {} + + statusInfo["type"] = "status" + + delimiterLine = content[0] + + for count, line in enumerate(content): + if line == "===============================================\n": + errorMessage = "Reply-from-user ending delimter encountered without Reply-from-user starting delimter" + return self.__errorParsing(line, lineNum + count + 1, errorMessage) + + # Parses for the author of the status change, which is located between the "*** Status updated by: " and " at:" substrings + try: + statusInfo["by"] = ( + re.search("(?<=\*{3} Status updated by: )(.*)(?= at:)", delimiterLine)).group() + except: + errorMessage = "*** Status updated by: [username] at: [date and time] ***\n" + + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + # Parses for the date and time of the status change, which is located between the " at: " and "***\n" substrings + try: + dateTimeString = re.search( + "(?<= at: )(.*)(?= \*\*\*\n)", delimiterLine).group() + except: + errorMessage = "*** Status updated by: [username] at: [date and time] ***\n" + + return self.__errorParsing(delimiterLine, lineNum, errorMessage) + + # Formats the date to UTC + statusInfo["datetime"] = self.__getFormattedDate(dateTimeString) + + # Remove the delimiter String and unecessary newlines + statusInfo["content"] = self.__getFormattedSectionContent(content) + + return statusInfo + + def __userReplyParsing(self, replyContent: list, lineNumber: int) -> dict: + """Returns a dictionary with user reply information + + Example: + === Additional information supplied by user ===\n + \n + Subject: Re: Beepboop\n + From: Justin Campbell \n + Date: Tue, 23 Jun 2020 13:30:45 -0400\n + X-ECN-Queue-Original-Path: /home/pier/e/queue/Attachments/inbox/2020-06-23/212-original.txt\n + X-ECN-Queue-Original-URL: https://engineering.purdue.edu/webqueue/Attachments/inbox/2020-06-23/212-original.txt\n + \n + Huzzah!\n + \n + ===============================================\n + \n + Args: + replyContent (list): The entire section of a reply-from-user + lineNumber (int): The line number of the begining of a reply-from-user section within and item + + Returns: + dict: a dictionary with these keys, + "type": "reply_from_user", + "from_name": name of the user that sent the reply, + "from_email": email of the user that sent the reply, + "subject": subject of the reply, + "datetime": the datetime of the reply, + "cc": [ + {"name": name of the carbon copied recipient, + "email": email of the carbon copied recipient + }, + ] + "content": content of the reply + "headers": [ + {"type": headerType, + "content": content + }, + ] + """ + replyFromInfo = {} + + replyFromInfo["type"] = "reply_from_user" + + replyFromHeaders = [] + newLineCounter = 0 + endingDelimiterCount = 0 + + # Delimiter information line numbers to remove from reply from user + linesToRemove = [] + + # Parses the section content looking for any line that starts with a metadata, also tracks the line + # number with the enumerate function + for lineNum, line in enumerate(replyContent): + + if endingDelimiterCount == 0 and lineNum == len(replyContent) - 1: + errorMessage = "Did not encounter a reply-from-user ending delimiter" + return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) + + if newLineCounter == 1 and line != "\n": + + try: + # Append header information for each headr line + headerType, content = line.split(": ", 1) + replyFromHeaders.append( + {"type": headerType, + "content": content + } + ) + except: + lenReplyFromHeaders = len(replyFromHeaders) + if lenReplyFromHeaders == 0: + errorMessage = ("Expected reply-from-user header information:\n" + + "=== Additional information supplied by user ===\n" + + "\n" + + "[Header Type]: [Header Value]\n" + + "\n" + ) + return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) + + else: + replyFromHeaders[lenReplyFromHeaders - + 1]["content"] = replyFromHeaders[lenReplyFromHeaders - 1]["content"] + " " + line + + linesToRemove.append(lineNum) + # Checks for a newline and breaks for loop on second occurance of a newline + if line == "\n": + newLineCounter = newLineCounter + 1 + + elif line == "===============================================\n": + endingDelimiterCount = endingDelimiterCount + 1 + + elif line.startswith("From: ") and newLineCounter == 1: + # Returns a list of one tuples with a name stored in the first index of the tuple and an email stored in the second index of the tuple + emailList = email.utils.getaddresses([line]) + replyFromInfo["from_name"] = emailList[0][0] + replyFromInfo["from_email"] = emailList[0][1] + + elif line.startswith("Subject: ") and newLineCounter == 1: + # Matches everything after "Subject: " + try: + subjectStr = ( + re.search("(?<=Subject: )(.*)", line)).group() + except: + errorMessage = "Expeted syntax of \"Subject: [subject]\"" + return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) + + # Formatts the date to UTC + replyFromInfo["subject"] = subjectStr + + elif line.startswith("Date: ") and newLineCounter == 1: + # Matches everything after "Date: " + try: + dateStr = (re.search("(?<=Date: )(.*)", line)).group() + except: + errorMessage = "\"Date: [datetime]\"" + return self.__errorParsing(line, lineNumber + lineNum + 1, errorMessage) + + # Formatts the date to UTC + replyFromInfo["datetime"] = self.__getFormattedDate(dateStr) + + elif line.startswith("Cc: ") and newLineCounter == 1: + + replyFromInfo["cc"] = [] + + # Returns a list of tuples with email information + recipientsList = email.utils.getaddresses([line]) + + # Parses through the cc tuple list + for cc in recipientsList: + # Stores the cc information in a dictionary and appends it to the ccRecipientsList + replyFromInfo["cc"].append( + {"name": cc[0], + "email": cc[1]} + ) + + # Deletes reduntant lines from the message content in reverse order + for lineNum in sorted(linesToRemove, reverse=True): + replyContent.pop(lineNum) + + # Strips any unnecessary newlines or any delimiters frm the message content + replyFromInfo["content"] = self.__getFormattedSectionContent( + replyContent) + + replyFromInfo["headers"] = replyFromHeaders + + return replyFromInfo + + def __getFormattedSectionContent(self, sectionContent: list) -> list: + """Returns a list with message content that is stripped of unnecessary newlines and begining delimiters + + Example: + *** Edited by: mph at: 02/21/20 10:27:16 ***\n + \n + Still need to rename machines - but the networking issue now seems to \n + be resolved via another ticket.\n + \n + \n + \n + \n + \n + + Args: + sectionContent (list): The section content of a parsed section + + Returns: + list: the section content of a parsed section without any delimiters and unnecessary newlines + """ + # Continually removes the first line of sectionContent if it is a newline or delimiter in each iteration + while len(sectionContent) > 1: + if (sectionContent[0] == "\n" or + sectionContent[0].startswith("*** Edited by: ") or + sectionContent[0].startswith("*** Replied by: ") or + sectionContent[0].startswith("*** Status updated by: ") or + sectionContent[0] == "=== Additional information supplied by user ===\n" or + sectionContent[0] == "===============================================\n" + ): + sectionContent.pop(0) + else: + # Breaks the loop if the first line isn't a newline or delimiter + break + + # Continually removes the last line of sectionContent if it is a newline or delimiter in each iteration + while len(sectionContent) > 1: + # Initializes the Length of sectionContent each iteration of the loop + sectionContentLength = len(sectionContent) + + if (sectionContent[sectionContentLength - 1] == "\n" or + sectionContent[sectionContentLength - + 1] == "===============================================\n" + ): + sectionContent.pop(sectionContentLength - 1) + else: + # Breaks the loop if the last line isn't a newline or delimiter + break + + return sectionContent + + def __errorParsing(self, line: str, lineNum: int, expectedSyntax: str) -> dict: + """Returns a dictionary with error parse information when a line is malformed + + Example: + "*** Status updated by: ewhile at: 5/7/2020 10:59:11 *** sharing between\n" + + Args: + line (str): line of that threw error + lineNum (int): line number in the item that threw error + expectedSyntax (str): a message stating the syntax the line should follow + + Returns: + dict: a dictionary with these keys, + "type": "parse_error", + "datetime": time the error was encountered, + "file_path": path of the item with erroneos line, + "expected": expectedSyntax, + "got": line, + "line_num": lineNum + """ + errorDictionary = {} + + # Type + errorDictionary["type"] = "parse_error" + + # Dateime of the parse error + errorDictionary["datetime"] = self.__getFormattedDate( + str(datetime.datetime.now())) + + # Item filepath + errorDictionary["file_path"] = self.__path + + # Expected value + errorDictionary["expected"] = expectedSyntax + + # line that threw error + errorDictionary["got"] = line + + # line number that threw error + errorDictionary["line_num"] = lineNum + + # returns the error dictionary + return errorDictionary + + def __getSortedSections(self, sectionsList: list) -> list: + """Sorts the sections chronologically by datetime + + Example: + [example] need to do + + Args: + sections (list): the list of sections to be sorted + + Returns: + list: a list of sections sorted by datetime + """ + sectionsLength = len(sectionsList) + sortedSections = [] + oldestSection = {} + + while len(sortedSections) < sectionsLength: + + for iteration, currentSection in enumerate(sectionsList): + + if currentSection["type"] == "directory_information": + sortedSections.append(currentSection) + sectionsList.remove(currentSection) + break + + if iteration == 0: + oldestSection = currentSection + + #datetime.datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S.%f') + + elif parse(currentSection["datetime"]) < parse(oldestSection["datetime"]): + oldestSection = currentSection + + if iteration == len(sectionsList) - 1: + sortedSections.append(oldestSection) + sectionsList.remove(oldestSection) + + return sortedSections + + def __isLocked(self) -> Union[str, bool]: + """Returns a string info about the lock if true and a bool False if false + + Example: A file is locked + "CE 100 is locked by campb303 using qvi" + + Example: a file is not locked + False + + Returns: + Union[str, bool]: String with info about lock if true, bool False if false + """ + lockFile = self.__path + ".lck" + if os.path.exists(lockFile): + with open(lockFile) as file: + lockInfo = file.readline().split(" ") + lockedBy = lockInfo[4] + lockedUsing = lockInfo[1] + return "{queue} {number} is locked by {lockedBy} using {lockedUsing}".format(queue=self.queue, number=self.number, lockedBy=lockedBy, lockedUsing=lockedUsing) + else: + return False + + def __getMostRecentHeaderByType(self, headerType: str) -> str: + """Return the data of most recent header of the given type. + If no header of that type exists, return an empty string. + + Example: Requesting a Status header that does exist + __getMostRecentHeaderByType("Status") + becomes "Waiting for Reply" + + Example: Requesting a Status header that doesn't exist + __getMostRecentHeaderByType("Status") + becomes "" + + Args: + headerType (str): Type of header to return. + + Returns: + str: data of most recent header of the given type or empty string. + """ + for header in self.headers: + if header["type"] == headerType: + return header["content"] + return "" + + def __parseFromData(self, data: str) -> str: + """Parse From header and return requested data. + Returns empty string if requested data is unavailable. + + Examples: From data is "From: Campbell, Justin " + __parseFromData(data="userName") returns "Campbell, Justin" + __parseFromData(data="userEmail") returns "campb303@purdue.edu" + + Args: + data (str): The data desired; can be "userName" or "userEmail". + + Returns: + str: userName, userEmail or empty string. + """ + fromHeader = self.__getMostRecentHeaderByType("From") + userName, userEmail = email.utils.parseaddr(fromHeader) + + if data == "userName": + return userName + elif data == "userEmail": + return userEmail + else: + raise ValueError( + "data='" + str(data) + "' is not a valid option. data must be \"userName\" or \"userEmail\".") + + def __getUserAlias(self) -> str: + """Returns user's Career Account alias if present. + If Career Account alias isn't present, returns empty string. + + Example: Email from campb303@purdue.edu + userAlias = "campb303" + + Example: Email from spam@spammer.net + userAlias = "" + + Returns: + str: User's Career Account alias if present or empty string + """ + emailUser, emailDomain = self.userEmail.split("@") + return emailUser if emailDomain.endswith("purdue.edu") else "" + + def __getFormattedDate(self, date: str) -> str: + """Returns the date/time formatted as RFC 8601 YYYY-MM-DDTHH:MM:SS+00:00. + Returns empty string if the string argument passed to the function is not a datetime. + See: https://en.wikipedia.org/wiki/ISO_8601 + + Returns: + str: Properly formatted date/time recieved or empty string. + """ + try: + # This date is never meant to be used. The default attribute is just to set timezone. + parsedDate = parse(date, default=datetime.datetime( + 1970, 0, 1, tzinfo=tz.gettz('EDT'))) + except: + return "" + + parsedDateString = parsedDate.strftime("%Y-%m-%dT%H:%M:%S%z") + + return parsedDateString + + def toJson(self) -> dict: + """Returns a JSON safe representation of the item. + + Returns: + dict: JSON safe representation of the item. + """ + return self.jsonData + + def __repr__(self) -> str: + return self.queue + str(self.number) # TODO: Make Queue iterable using __iter__. See: https://thispointer.com/python-how-to-make-a-class-iterable-create-iterator-class-for-it/ + + class Queue: - """A collection of items. - - Example: - # Create a queue (ce) - >>> queue = Queue("ce") - - Attributes: - name: The name of the queue. - items: A list of Items in the queue. - jsonData: A JSON serializable representation of the Queue. - """ - - def __init__(self, name: str) -> None: - self.name = name - self.__directory = queueDirectory + "/" + self.name + "/" - self.items = self.__getItems() - - self.jsonData = { - "name": self.name, - "length": len(self) - } - - def __getItems(self) -> list: - """Returns a list of items for this Queue - - Returns: - list: a list of items for this Queue - """ - items = [] - - for item in os.listdir(self.__directory): - itemPath = self.__directory + "/" + item - - isFile = True if os.path.isfile(itemPath) else False - - itemPattern = re.compile("^[0123456789]{1,3}$") - isItem = True if itemPattern.match(item) else False - - if isFile and isItem: - items.append( Item(self.name, item) ) - - return items - - def toJson (self) -> dict: - """Return JSON safe representation of the Queue - - The JSON representation of every item in the Queue is added to the - Queue's JSON data then the Queue's JSON data is returned. - - Returns: - dict: JSON safe representation of the Queue - """ - items = [] - for item in self.items: - items.append(item.toJson()) - self.jsonData["items"] = items - - return self.jsonData - - def __len__(self) -> int: - return len(self.items) - -# class QueueList: -# """[summary] - -# Example: -# [example] -# """ -# def __init__(self) -> None: -# self.__directory = queueDirectory -# self.queueList = self.__getQueueList() -# self.itemCount = self.__getItemCount(self.queueList) - -# self.jsonData = self.itemCount + """A collection of items. + + Example: + # Create a queue (ce) + >>> queue = Queue("ce") + + Attributes: + name: The name of the queue. + items: A list of Items in the queue. + jsonData: A JSON serializable representation of the Queue. + """ + + def __init__(self, name: str) -> None: + self.name = name + self.__directory = queueDirectory + "/" + self.name + "/" + self.items = self.__getItems() + + self.jsonData = { + "name": self.name, + "length": len(self) + } + + def __getItems(self) -> list: + """Returns a list of items for this Queue + + Returns: + list: a list of items for this Queue + """ + items = [] + + for item in os.listdir(self.__directory): + itemPath = self.__directory + "/" + item + + isFile = True if os.path.isfile(itemPath) else False + + itemPattern = re.compile("^[0123456789]{1,3}$") + isItem = True if itemPattern.match(item) else False + + if isFile and isItem: + items.append(Item(self.name, item)) + + return items + + def toJson(self) -> dict: + """Return JSON safe representation of the Queue + + The JSON representation of every item in the Queue is added to the + Queue's JSON data then the Queue's JSON data is returned. + + Returns: + dict: JSON safe representation of the Queue + """ + items = [] + for item in self.items: + items.append(item.toJson()) + self.jsonData["items"] = items + + return self.jsonData + + def __len__(self) -> int: + return len(self.items) + + def getItemCount() -> dict: - """Returns a list of dictionaries with item counts for all of the queues. + """Returns a list of dictionaries with names and item counts for valid queues. - Example: + Example: [ - { - name: "me", - number_of_items: 42 - }, - - { - name: "ce", - number_of_items: 4 - } + { + name: "me", + number_of_items: 42 + }, + + { + name: "ce", + number_of_items: 4 + } ] - Returns: - dict: [description] - """ - itemCountList = [] - - for queue in getQueueList(): - itemCount = 0 - for item in os.listdir(queueDirectory + "/" + queue): - itemPath = queueDirectory + "/" + queue + "/" + item - - isFile = True if os.path.isfile(itemPath) else False - - itemPattern = re.compile("^[0123456789]{1,3}$") - isItem = True if itemPattern.match(item) else False - - if isFile and isItem: - itemCount = itemCount + 1 - - itemCountList.append( - {"name": queue, - "number_of_items": itemCount - } - ) - - return itemCountList - + Returns: + dict: Dictionaries with names and item counts for valid queues. + """ + itemCountList = [] + + for queue in getQueueList(): + itemCount = 0 + for item in os.listdir(queueDirectory + "/" + queue): + itemPath = queueDirectory + "/" + queue + "/" + item + + isFile = True if os.path.isfile(itemPath) else False + + itemPattern = re.compile("^[0123456789]{1,3}$") + isItem = True if itemPattern.match(item) else False + + if isFile and isItem: + itemCount = itemCount + 1 + + itemCountList.append( + {"name": queue, + "number_of_items": itemCount + } + ) + + return itemCountList + + def getQueueList() -> list: - queues = [] + queues = [] + + for file in os.listdir(queueDirectory): + currentFile = queueDirectory + "/" + file + isDirectory = os.path.isdir(currentFile) + isValid = file not in queuesToIgnore - for file in os.listdir(queueDirectory): - currentFile = queueDirectory + "/" + file - isDirectory = os.path.isdir(currentFile) - isValid = file not in queuesToIgnore + if isDirectory and isValid: + queues.append(file) - if isDirectory and isValid: - queues.append(file) - - return queues + return queues def getQueues() -> list: - """Return a list of Queues for each queue. + """Return a list of Queues for each queue. - Returns: + Returns: list: list of Queues for each queue. - """ - queues = [] + """ + queues = [] - for file in os.listdir(queueDirectory): - currentFile = queueDirectory + "/" + file - isDirectory = os.path.isdir(currentFile) - isValid = file not in queuesToIgnore + for file in os.listdir(queueDirectory): + currentFile = queueDirectory + "/" + file + isDirectory = os.path.isdir(currentFile) + isValid = file not in queuesToIgnore - if isDirectory and isValid: - queues.append(Queue(file)) + if isDirectory and isValid: + queues.append(Queue(file)) - return queues \ No newline at end of file + return queues From 3adbf91d970e7806856ff47fa4cc626cc59c479b Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 10:01:30 -0400 Subject: [PATCH 025/105] pep8 fomatting --- docstring-format.mustache | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docstring-format.mustache b/docstring-format.mustache index 9a318e0..7fc2a20 100644 --- a/docstring-format.mustache +++ b/docstring-format.mustache @@ -4,35 +4,35 @@ {{extendedSummaryPlaceholder}} Example: - [example] + [example] {{#parametersExist}} Args: {{#args}} - {{var}} ({{typePlaceholder}}): {{descriptionPlaceholder}} + {{var}} ({{typePlaceholder}}): {{descriptionPlaceholder}} {{/args}} {{#kwargs}} - {{var}} ({{typePlaceholder}}, optional): {{descriptionPlaceholder}}. Defaults to {{&default}}. + {{var}} ({{typePlaceholder}}, optional): {{descriptionPlaceholder}}. Defaults to {{&default}}. {{/kwargs}} {{/parametersExist}} {{#exceptionsExist}} Raises: {{#exceptions}} - {{type}}: {{descriptionPlaceholder}} + {{type}}: {{descriptionPlaceholder}} {{/exceptions}} {{/exceptionsExist}} {{#returnsExist}} Returns: {{#returns}} - {{typePlaceholder}}: {{descriptionPlaceholder}} + {{typePlaceholder}}: {{descriptionPlaceholder}} {{/returns}} {{/returnsExist}} {{#yieldsExist}} Yields: {{#yields}} - {{typePlaceholder}}: {{descriptionPlaceholder}} + {{typePlaceholder}}: {{descriptionPlaceholder}} {{/yields}} {{/yieldsExist}} \ No newline at end of file From 190c75ff31af5da736c1b624cdd4a6d070ff01d9 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 30 Oct 2020 10:34:27 -0400 Subject: [PATCH 026/105] Fixed sort toggle buttons to allow sort by direction of the icon selected --- src/components/ItemTable/ItemTable.js | 65 +++++++++++++++++---------- 1 file changed, 41 insertions(+), 24 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 98fc7c8..5e53c90 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,9 +1,10 @@ import React from "react"; import PropTypes from "prop-types"; -import { useTable, useFilters, useFlexLayout, useSortBy } from "react-table"; -import {makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, TableSortLabel , Paper, Grid, useTheme, ButtonGroup} from "@material-ui/core"; +import { useTable, useFilters, useFlexLayout, useSortBy, useRowSelect } from "react-table"; +import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, Paper, Grid, useTheme, ButtonGroup, IconButton } from "@material-ui/core"; import { useHistory } from "react-router-dom"; import ItemTableFilter from "../ItemTableFilter/" +import { ArrowDownward, ArrowUpward } from "@material-ui/icons"; export default function ItemTable({ data }) { @@ -17,6 +18,11 @@ export default function ItemTable({ data }) { inactiveSortIcon: { opacity: 0.2, }, + selectedItem: { + '.Mui-selected': { + backgroundColor: theme.palette.type === 'light' ? theme.palette.primary[50] : theme.palette.primary[700], + } + }, bandedRows: { '&:nth-of-type(even)': { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], @@ -35,7 +41,7 @@ export default function ItemTable({ data }) { { Header: 'Subject', accessor: 'subject' }, { Header: 'Status', accessor: 'status', }, { Header: 'Priority', accessor: 'priority' }, - { Header: 'Last Updated', accessor: 'lastUpdated' }, + { Header: 'Last Updated', accessor: 'lastUpdated',}, { Header: 'Department', accessor: 'department' }, { Header: 'Building', accessor: 'building' }, { Header: 'Date Received', accessor: 'dateReceived' }, @@ -54,11 +60,11 @@ export default function ItemTable({ data }) { /> ); } - } + }, }, - useFilters, useFlexLayout, useSortBy + useFilters, useFlexLayout, useSortBy, useRowSelect ); - const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = tableInstance; + const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, } = tableInstance; return ( @@ -75,22 +81,32 @@ export default function ItemTable({ data }) { - - - + { + const isSortedAsc = column.isSorted && !column.isSortedDesc; + + isSortedAsc ? column.clearSortBy() : column.toggleSortBy(false) + })} + > + + + { + const isSortedDesc = column.isSorted && column.isSortedDesc; + + isSortedDesc ? column.clearSortBy() : column.toggleSortBy(true) + })} + > + + @@ -106,8 +122,9 @@ export default function ItemTable({ data }) { prepareRow(row); return ( history.push(`/${row.original.queue}/${row.original.number}`)} - className={classes.bandedRows} {...row.getRowProps()}> + onClick={() => {history.push(`/${row.original.queue}/${row.original.number}`);}} + className={classes.bandedRows} + {...row.getRowProps()} > {row.cells.map(cell => ( {cell.render("Cell")} From f07895a2d3421274cb5e2a9ed62853d6c34b7ca5 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 10:51:46 -0400 Subject: [PATCH 027/105] Separate building valid queue list and loading queues --- api/ECNQueue.py | 118 ++++++++++++++++-------------------------------- 1 file changed, 39 insertions(+), 79 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 717dfa6..4af0767 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -4,28 +4,28 @@ of items (called Queues). Example: - # Create a single Item (ce100) - >>> item = Item("ce", 100) - # Get the sender's email address from an Item - >>> item = Item("ce", 100) - >>> item.userEmail + # Create a single Item (ce100) + >>> item = Item("ce", 100) + # Get the sender's email address from an Item + >>> item = Item("ce", 100) + >>> item.userEmail - # Create an entire Queue (ce) - >>> queue = Queue("ce") - # Get the number of items in a Queue - >>> queue = Queue("ce") - >>> numItems = len(queue) + # Create an entire Queue (ce) + >>> queue = Queue("ce") + # Get the number of items in a Queue + >>> queue = Queue("ce") + >>> numItems = len(queue) - # Get all queues (and their items) - >>> queues = getQueues() + # Get all queues (and their items) + >>> queues = getQueues() Attributes: - queueDirectory: The directory to load queues from. - queuesToIgnore: Queues that will not be loaded when running getQueues() + queueDirectory: The directory to load queues from. + queuesToIgnore: Queues that will not be loaded when running getQueues() Raises: - # TODO: Add description(s) of when a ValueError is raised. - ValueError: [description] + # TODO: Add description(s) of when a ValueError is raised. + ValueError: [description] """ #------------------------------------------------------------------------------# @@ -371,18 +371,18 @@ def __directoryParsing(self, directoryStartLine: int) -> dict: """Returns a dictionary with directory information Example: - Name: Nestor Fabian Rodriguez Buitrago - Login: rodri563 - Computer: ce-205-38 (128.46.205.67) - Location: HAMP G230 - Email: rodri563@purdue.edu - Phone: 7654766893 - Office: HAMP G230 - UNIX Dir: /home/bridge/b/rodri563 - Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563 - User ECNDB: http://eng.purdue.edu/jump/2e8399a - Host ECNDB: http://eng.purdue.edu/jump/2e83999 - Subject: Autocad installation + Name: Nestor Fabian Rodriguez Buitrago + Login: rodri563 + Computer: ce-205-38 (128.46.205.67) + Location: HAMP G230 + Email: rodri563@purdue.edu + Phone: 7654766893 + Office: HAMP G230 + UNIX Dir: /home/bridge/b/rodri563 + Zero Dir: U=\\bridge.ecn.purdue.edu\rodri563 + User ECNDB: http://eng.purdue.edu/jump/2e8399a + Host ECNDB: http://eng.purdue.edu/jump/2e83999 + Subject: Autocad installation Args: directoryStartLine (int): line number within the item that the directory starts on @@ -1252,52 +1252,15 @@ def toJson(self) -> dict: def __len__(self) -> int: return len(self.items) - - -def getItemCount() -> dict: - """Returns a list of dictionaries with names and item counts for valid queues. +def getValidQueues() -> list: + """Returns a list of queues on the filesystem excluding ignored queues. Example: - [ - { - name: "me", - number_of_items: 42 - }, - - { - name: "ce", - number_of_items: 4 - } - ] + ["bidc", "me", "ce"] Returns: - dict: Dictionaries with names and item counts for valid queues. + list: Valid queues """ - itemCountList = [] - - for queue in getQueueList(): - itemCount = 0 - for item in os.listdir(queueDirectory + "/" + queue): - itemPath = queueDirectory + "/" + queue + "/" + item - - isFile = True if os.path.isfile(itemPath) else False - - itemPattern = re.compile("^[0123456789]{1,3}$") - isItem = True if itemPattern.match(item) else False - - if isFile and isItem: - itemCount = itemCount + 1 - - itemCountList.append( - {"name": queue, - "number_of_items": itemCount - } - ) - - return itemCountList - - -def getQueueList() -> list: queues = [] for file in os.listdir(queueDirectory): @@ -1310,21 +1273,18 @@ def getQueueList() -> list: return queues - -def getQueues() -> list: +def loadQueues() -> list: """Return a list of Queues for each queue. Returns: - list: list of Queues for each queue. + list: list of Queues for each queue. """ queues = [] - for file in os.listdir(queueDirectory): - currentFile = queueDirectory + "/" + file - isDirectory = os.path.isdir(currentFile) - isValid = file not in queuesToIgnore - - if isDirectory and isValid: - queues.append(Queue(file)) + for queue in getValidQueues(): + queues.append(Queue(queue)) return queues + +if __name__ == "__main__": + print("Stop") \ No newline at end of file From 50a899f2f0587c850fb8774ebba65eb9ac407bb2 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 11:15:09 -0400 Subject: [PATCH 028/105] Create utility function for checking valid item names --- api/ECNQueue.py | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 4af0767..a1ad7a8 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -56,6 +56,29 @@ queuesToIgnore = ["archives", "drafts", "inbox", "coral"] + +#------------------------------------------------------------------------------# +# Utilities +#------------------------------------------------------------------------------# + +def isValidItemName(name: str) -> bool: + """Returns true if file name is a valid item name + + Example: + isValidItemName("21") -> true + isValidItemName("twentyone") -> false + + Args: + name (str): The name to test. + + Returns: + bool: Name is valid item name. + """ + itemPattern = re.compile("^[0123456789]{1,3}$") + return True if itemPattern.match(name) else False + + + #------------------------------------------------------------------------------# # Classes #------------------------------------------------------------------------------# @@ -1187,8 +1210,6 @@ def __repr__(self) -> str: return self.queue + str(self.number) # TODO: Make Queue iterable using __iter__. See: https://thispointer.com/python-how-to-make-a-class-iterable-create-iterator-class-for-it/ - - class Queue: """A collection of items. @@ -1225,10 +1246,7 @@ def __getItems(self) -> list: isFile = True if os.path.isfile(itemPath) else False - itemPattern = re.compile("^[0123456789]{1,3}$") - isItem = True if itemPattern.match(item) else False - - if isFile and isItem: + if isFile and isValidItemName(item): items.append(Item(self.name, item)) return items @@ -1252,6 +1270,9 @@ def toJson(self) -> dict: def __len__(self) -> int: return len(self.items) + def __repr__(self) -> str: + return f'{self.name}_queue' + def getValidQueues() -> list: """Returns a list of queues on the filesystem excluding ignored queues. @@ -1284,7 +1305,4 @@ def loadQueues() -> list: for queue in getValidQueues(): queues.append(Queue(queue)) - return queues - -if __name__ == "__main__": - print("Stop") \ No newline at end of file + return queues \ No newline at end of file From aba6964062ee1f5cfa5eec9d0e0ec04ca33aaaa2 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 11:39:59 -0400 Subject: [PATCH 029/105] Add getQueueCounts() function --- api/ECNQueue.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index a1ad7a8..a8e1305 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1294,6 +1294,32 @@ def getValidQueues() -> list: return queues +def getQueueCounts() -> list: + """Returns a list of dictionaries with the number of items in each queue. + + Example: + [ + { + name: "me", + number_of_items: 42 + }, + { + name: "bidc", + number_of_items: 3 + } + ] + + Returns: + list: Dictionaries with the number of items in each queue. + """ + queueInfo = [] + for queue in getValidQueues(): + possibleItems = os.listdir(queueDirectory + "/" + queue) + validItems = [isValidItemName for file in possibleItems] + queueInfo.append( {"name": queue, "number_of_items": len(validItems)} ) + return queueInfo + + def loadQueues() -> list: """Return a list of Queues for each queue. From 20b0c37eb99ccc1dc00b974d72e710fb50254b8f Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 11:42:08 -0400 Subject: [PATCH 030/105] Move getQueues endpoint to get_queues --- api/api.py | 119 ++++++++++++++++++++++++++++------------------------- 1 file changed, 64 insertions(+), 55 deletions(-) diff --git a/api/api.py b/api/api.py index 2f10f1b..f77e7fc 100644 --- a/api/api.py +++ b/api/api.py @@ -11,72 +11,81 @@ class Item(Resource): - def get(self, queue: str, number: int) -> str: - """Returns the JSON representation of the item requested. - - Example: - /api/ce/100 returns: - { - "lastUpdated": "07-23-20 10:11 PM", - "headers": [...], - "content": [...], - "isLocked": "ce 100 is locked by knewell using qvi", - "userEmail": "campb303@purdue.edu", - "userName": "Justin Campbell", - "userAlias": "campb303", - "assignedTo": "campb303", - "subject": "Beepboop", - "status": "Dont Delete", - "priority": "", - "deparment": "", - "building": "", - "dateReceived": "Tue, 23 Jun 2020 13:25:51 -0400" - } - - Args: - queue (str): The queue of the item requested. - item (int): The number of the item requested. - - Returns: - str: JSON representation of the item requested. - """ - return ECNQueue.Item(queue, number).toJson() + def get(self, queue: str, number: int) -> str: + """Returns the JSON representation of the item requested. + + Example: + /api/ce/100 returns: + { + "lastUpdated": "07-23-20 10:11 PM", + "headers": [...], + "content": [...], + "isLocked": "ce 100 is locked by knewell using qvi", + "userEmail": "campb303@purdue.edu", + "userName": "Justin Campbell", + "userAlias": "campb303", + "assignedTo": "campb303", + "subject": "Beepboop", + "status": "Dont Delete", + "priority": "", + "deparment": "", + "building": "", + "dateReceived": "Tue, 23 Jun 2020 13:25:51 -0400" + } + + Args: + queue (str): The queue of the item requested. + item (int): The number of the item requested. + + Returns: + str: JSON representation of the item requested. + """ + return ECNQueue.Item(queue, number).toJson() class Queue(Resource): - def get(self, queue: str) -> str: - """Returns the JSON representation of the queue requested. + def get(self, queue: str) -> str: + """Returns the JSON representation of the queue requested. - Args: - queue (str): The queue requested. + Args: + queue (str): The queue requested. - Returns: - str: JSON representation of the queue requested. - """ - queues_requested = queue.split("+") + Returns: + str: JSON representation of the queue requested. + """ + queues_requested = queue.split("+") - queues = [] - for queue in queues_requested: - queues.append(ECNQueue.Queue(queue).toJson()) + queues = [] + for queue in queues_requested: + queues.append(ECNQueue.Queue(queue).toJson()) - return queues + return queues class QueueList(Resource): - def get(self) -> list: - """Returns a list of queues and the number of items in the queue - - Example: - [example] - - Returns: - list: [description] - """ - return ECNQueue.getItemCount() - -api.add_resource(QueueList, "/api/getQueues") + def get(self) -> list: + """Returns a list of dictionaries with the number of items in each queue. + + Example: + [ + { + name: "me", + number_of_items: 42 + }, + { + name: "bidc", + number_of_items: 3 + } + ] + + Returns: + list: Dictionaries with the number of items in each queue. + """ + return ECNQueue.getQueueCounts() + +api.add_resource(QueueList, "/api/get_queues") api.add_resource(Item, "/api//") api.add_resource(Queue, "/api/") if __name__ == "__main__": - app.run() + app.run() From 9be5a9e33a14eab699a13f326f4d3a8b50272ec0 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 30 Oct 2020 11:58:48 -0400 Subject: [PATCH 031/105] removed row selection code from branch --- src/components/ItemTable/ItemTable.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 5e53c90..a1f68aa 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,6 +1,6 @@ import React from "react"; import PropTypes from "prop-types"; -import { useTable, useFilters, useFlexLayout, useSortBy, useRowSelect } from "react-table"; +import { useTable, useFilters, useFlexLayout, useSortBy, } from "react-table"; import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, Paper, Grid, useTheme, ButtonGroup, IconButton } from "@material-ui/core"; import { useHistory } from "react-router-dom"; import ItemTableFilter from "../ItemTableFilter/" @@ -41,7 +41,7 @@ export default function ItemTable({ data }) { { Header: 'Subject', accessor: 'subject' }, { Header: 'Status', accessor: 'status', }, { Header: 'Priority', accessor: 'priority' }, - { Header: 'Last Updated', accessor: 'lastUpdated',}, + { Header: 'Last Updated', accessor: 'lastUpdated', }, { Header: 'Department', accessor: 'department' }, { Header: 'Building', accessor: 'building' }, { Header: 'Date Received', accessor: 'dateReceived' }, @@ -62,7 +62,7 @@ export default function ItemTable({ data }) { } }, }, - useFilters, useFlexLayout, useSortBy, useRowSelect + useFilters, useFlexLayout, useSortBy, ); const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, } = tableInstance; @@ -122,7 +122,6 @@ export default function ItemTable({ data }) { prepareRow(row); return ( {history.push(`/${row.original.queue}/${row.original.number}`);}} className={classes.bandedRows} {...row.getRowProps()} > {row.cells.map(cell => ( From 496196e66be8f62b4ec737ed7f5d7ee5b6c95961 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 12:40:38 -0400 Subject: [PATCH 032/105] Cleanup --- src/components/ItemTable/ItemTable.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index ff324a4..b45a99a 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,8 +1,10 @@ import React from "react"; import PropTypes from "prop-types"; -import { useTable, useFilters, useFlexLayout, useSortBy, useRowSelect } from "react-table"; -import { makeStyles, Table, TableBody, TableCell, TableHead, TableRow, TableContainer, Paper, Grid, useTheme, ButtonGroup, IconButton } from "@material-ui/core"; - +import { useTable, useFilters, useFlexLayout, useSortBy } from "react-table"; +import { + Table, TableBody, TableCell, TableHead, TableRow, TableContainer, + Paper, Grid, ButtonGroup, IconButton, makeStyles, useTheme +} from "@material-ui/core"; import { useHistory } from "react-router-dom"; import RelativeTime from "react-relative-time"; import ItemTableFilter from "../ItemTableFilter/" @@ -20,11 +22,6 @@ export default function ItemTable({ data }) { inactiveSortIcon: { opacity: 0.2, }, - selectedItem: { - '.Mui-selected': { - backgroundColor: theme.palette.type === 'light' ? theme.palette.primary[50] : theme.palette.primary[700], - } - }, bandedRows: { '&:nth-of-type(even)': { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], @@ -48,7 +45,6 @@ export default function ItemTable({ data }) { { Header: 'Subject', accessor: 'subject' }, { Header: 'Status', accessor: 'status', }, { Header: 'Priority', accessor: 'priority' }, - { Header: 'Last Updated', accessor: 'lastUpdated', Cell: ({ value }) => }, { Header: 'Department', accessor: 'department' }, { Header: 'Building', accessor: 'building' }, @@ -88,13 +84,11 @@ export default function ItemTable({ data }) { {column.render("Filter")} - { const isSortedAsc = column.isSorted && !column.isSortedDesc; - isSortedAsc ? column.clearSortBy() : column.toggleSortBy(false) })} > @@ -107,7 +101,6 @@ export default function ItemTable({ data }) { size="small" onClick={(_ => { const isSortedDesc = column.isSorted && column.isSortedDesc; - isSortedDesc ? column.clearSortBy() : column.toggleSortBy(true) })} > @@ -117,7 +110,6 @@ export default function ItemTable({ data }) { /> - From e3eb945e5a113fa2bef9fdae33541215686a22b2 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 30 Oct 2020 12:53:14 -0400 Subject: [PATCH 033/105] Fixed row click --- src/components/ItemTable/ItemTable.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index b45a99a..2519a04 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -123,6 +123,7 @@ export default function ItemTable({ data }) { prepareRow(row); return ( history.push(`/${row.original.queue}/${row.original.number}`)} className={classes.bandedRows} {...row.getRowProps()} > {row.cells.map(cell => ( From d93ed18839a25057b7d05bae4cbb2812d56a7ef6 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 30 Oct 2020 13:47:09 -0400 Subject: [PATCH 034/105] Fix date parsing error --- api/ECNQueue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index a8e1305..6d73768 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -1190,7 +1190,7 @@ def __getFormattedDate(self, date: str) -> str: try: # This date is never meant to be used. The default attribute is just to set timezone. parsedDate = parse(date, default=datetime.datetime( - 1970, 0, 1, tzinfo=tz.gettz('EDT'))) + 1970, 1, 1, tzinfo=tz.gettz('EDT'))) except: return "" From 989f1481c13e45f02a1bf8c6e7fdcfea1da192ca Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Mon, 2 Nov 2020 15:02:11 -0500 Subject: [PATCH 035/105] Added styling to ItemTable to display what row is currently selected --- src/components/ItemTable/ItemTable.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 2519a04..a45d8ed 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -1,10 +1,7 @@ -import React from "react"; +import React, { useState } from "react"; import PropTypes from "prop-types"; import { useTable, useFilters, useFlexLayout, useSortBy } from "react-table"; -import { - Table, TableBody, TableCell, TableHead, TableRow, TableContainer, - Paper, Grid, ButtonGroup, IconButton, makeStyles, useTheme -} from "@material-ui/core"; +import { Table, TableBody, TableCell, TableHead, TableRow, TableContainer, Paper, Grid, ButtonGroup, IconButton, makeStyles, useTheme } from "@material-ui/core"; import { useHistory } from "react-router-dom"; import RelativeTime from "react-relative-time"; import ItemTableFilter from "../ItemTableFilter/" @@ -22,11 +19,17 @@ export default function ItemTable({ data }) { inactiveSortIcon: { opacity: 0.2, }, + rowSelected: { + "&$selected, &$selected:hover": { + backgroundColor: theme.palette.primary, + }, + }, bandedRows: { '&:nth-of-type(even)': { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], }, }, + columnBorders: { borderLeftWidth: "1px", borderLeftStyle: "solid", @@ -68,10 +71,13 @@ export default function ItemTable({ data }) { }, useFilters, useFlexLayout, useSortBy, ); + const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, } = tableInstance; + const [selectedRow, setSelecetedRow] = useState({ queue: null, number: null }); + return ( - + {headerGroups.map(headerGroup => ( @@ -121,10 +127,15 @@ export default function ItemTable({ data }) { {rows.map((row, i) => { prepareRow(row); + let isSelected = selectedRow.queue === row.original.queue && selectedRow.number === row.original.number return ( history.push(`/${row.original.queue}/${row.original.number}`)} - className={classes.bandedRows} + onClick={() => { + history.push(`/${row.original.queue}/${row.original.number}`); + setSelecetedRow({ queue: row.original.queue, number: row.original.number }) + }} + classes={{ root: isSelected ? classes.rowSelected : classes.bandedRows }} + selected={selectedRow.queue === row.original.queue && selectedRow.number === row.original.number} {...row.getRowProps()} > {row.cells.map(cell => ( From 1a4c22b225a16af44884eefaeb4a6788e89b259f Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Mon, 2 Nov 2020 15:08:47 -0500 Subject: [PATCH 036/105] Changed TextField label font size to prevent overflowing parent --- .../ItemTableFilter/ItemTableFilter.js | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/components/ItemTableFilter/ItemTableFilter.js b/src/components/ItemTableFilter/ItemTableFilter.js index 68f9d56..82e631a 100644 --- a/src/components/ItemTableFilter/ItemTableFilter.js +++ b/src/components/ItemTableFilter/ItemTableFilter.js @@ -1,19 +1,35 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { TextField } from "@material-ui/core"; +import { TextField, makeStyles } from "@material-ui/core"; +import { pink, purple } from '@material-ui/core/colors'; export default function ItemTableFilter({ label, onChange }) { + const useStyles = makeStyles({ + + labelRoot: { + fontSize: 14, + }, + + }, + ); + + const classes = useStyles(); + return ( <> + ); From 4f95eb14862e67a9a5bb9ba845bb3e37ea7b1330 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Mon, 2 Nov 2020 16:18:46 -0500 Subject: [PATCH 037/105] Update component and docs --- src/components/QueueSelector/QueueSelector.js | 51 +++++++++++++++++-- src/components/QueueSelector/QueueSelector.md | 33 ++++++++++-- 2 files changed, 76 insertions(+), 8 deletions(-) diff --git a/src/components/QueueSelector/QueueSelector.js b/src/components/QueueSelector/QueueSelector.js index ce9925f..f4d8c4a 100644 --- a/src/components/QueueSelector/QueueSelector.js +++ b/src/components/QueueSelector/QueueSelector.js @@ -1,16 +1,57 @@ import React from "react"; import PropTypes from "prop-types"; +import { TextField, Checkbox} from "@material-ui/core"; +import { Autocomplete } from "@material-ui/lab"; +import CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'; +import CheckBoxIcon from '@material-ui/icons/CheckBox'; -export default function QueueSelector(){ - return ( - QueueSelector +export default function QueueSelector({ queues, selectedQueues, setSelectedQueues }) { + return( + { + setSelectedQueues(newValue) + }} + renderInput={(params) => { + return( + + ); + }} + getOptionLabel={(option) => `${option.name} (${option.number_of_items})`} + renderOption={(option, { selected }) => ( + <> + } + checkedIcon={} + style={{ marginRight: 8 }} + checked={selected} + /> + {`${option.name} (${option.number_of_items})`} + + )} + getOptionSelected={ (option, value) => option.name === value.name } + disableCloseOnSelect + autoComplete + disableListWrap + openOnFocus + fullWidth + multiple + /> ); }; QueueSelector.propTypes = { - + /** An array of objects with keys of name and number of items for each queue. */ + "queues": PropTypes.array, + /** State variable to manage selected queues. */ + "selectedQueues": PropTypes.array.isRequired, + /** Function to update state variable that manages selected queues. */ + "setSelectedQueues": PropTypes.func.isRequired }; QueueSelector.defaultProps = { - + "queues": [] }; \ No newline at end of file diff --git a/src/components/QueueSelector/QueueSelector.md b/src/components/QueueSelector/QueueSelector.md index 4cb3f01..ea505eb 100644 --- a/src/components/QueueSelector/QueueSelector.md +++ b/src/components/QueueSelector/QueueSelector.md @@ -1,11 +1,38 @@ -QueueSelector +Allows the selection, removal and viewing of active queues. Its extends the [MUI Autocomplete component](https://material-ui.com/components/autocomplete/). --- ```jsx +import React, { useState } from "react"; +import { Paper, makeStyles } from "@material-ui/core"; import QueueSelector from "./QueueSelector"; - +const [selectedQueues, setSelectedQueues] = useState([]); +const queues = [ + { + 'name': 'bidc', + 'number_of_items': 5 + }, + { + 'name': 'epics', + 'number_of_items': 6 + }, + { + 'name': 'wang', + 'number_of_items': 13 + } +]; + +const useStyles = makeStyles({ + root: { + padding: "16px", + } +}); +const classes = useStyles(); + + + + ``` ```jsx static - + ``` \ No newline at end of file From d728722c32d10f18248ca969086b1018c916b29c Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Mon, 2 Nov 2020 16:19:50 -0500 Subject: [PATCH 038/105] Implement QueueSelector component and modify API call for multiple queues --- src/App.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/App.js b/src/App.js index 8320c96..92034cc 100644 --- a/src/App.js +++ b/src/App.js @@ -8,6 +8,7 @@ import ItemTableAppBar from "./components/ItemTableAppBar/"; import ItemTable from "./components/ItemTable/"; import ItemViewAppBar from "./components/ItemViewAppBar/"; import ItemView from "./components/ItemView/"; +import QueueSelector from "./components/QueueSelector/"; function App() { const [darkMode, setDarkMode] = useState(false); @@ -15,15 +16,26 @@ function App() { const [sidebarOpen, setSidebarOpen] = useState(false); const [queues, setQueues] = useState([]); const [items, setItems] = useState([]); + const [selectedQueues, setSelectedQueues] = useState([]); useEffect( _ => { async function getQueues(){ - const apiResponse = await fetch("/api/ce"); - const queueJson = await apiResponse.json(); - setQueues(queueJson); + if (selectedQueues.length > 0){ + let queuesToLoad = ""; + + for (let selectedQueue of selectedQueues){ + queuesToLoad += `+${selectedQueue.name}`; + } + + const apiResponse = await fetch(`/api/${queuesToLoad}`); + const queueJson = await apiResponse.json(); + setQueues(queueJson); + } else { + setQueues([]) + } } getQueues(); - }, []); + }, [selectedQueues]); useEffect( _ => { let tempItems = []; @@ -73,6 +85,7 @@ function App() { + console.log("Clicked!") }/> From b7726e0740bce457c19c5b2ef7e076c49577b2e9 Mon Sep 17 00:00:00 2001 From: "Campbell, Justin" Date: Mon, 2 Nov 2020 20:52:08 -0500 Subject: [PATCH 039/105] Move selectedRow state variable to top of function definition --- src/components/ItemTable/ItemTable.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index a45d8ed..825b975 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -8,7 +8,8 @@ import ItemTableFilter from "../ItemTableFilter/" import { ArrowDownward, ArrowUpward } from "@material-ui/icons"; export default function ItemTable({ data }) { - + const [selectedRow, setSelecetedRow] = useState({ queue: null, number: null }); + const theme = useTheme(); const useStyles = makeStyles({ // Fully visible for active icons @@ -29,7 +30,6 @@ export default function ItemTable({ data }) { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], }, }, - columnBorders: { borderLeftWidth: "1px", borderLeftStyle: "solid", @@ -71,11 +71,8 @@ export default function ItemTable({ data }) { }, useFilters, useFlexLayout, useSortBy, ); - const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, } = tableInstance; - const [selectedRow, setSelecetedRow] = useState({ queue: null, number: null }); - return (
@@ -158,4 +155,4 @@ ItemTable.propTypes = { ItemTable.defaultProps = { "items": [] -}; \ No newline at end of file +}; From e7d1df517d55bf7f37c95a67fc38828ee8d2fb38 Mon Sep 17 00:00:00 2001 From: "Campbell, Justin" Date: Mon, 2 Nov 2020 20:53:17 -0500 Subject: [PATCH 040/105] Consolidate isSelected logic --- src/components/ItemTable/ItemTable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index 825b975..505617f 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -129,10 +129,10 @@ export default function ItemTable({ data }) { { history.push(`/${row.original.queue}/${row.original.number}`); - setSelecetedRow({ queue: row.original.queue, number: row.original.number }) + setSelecetedRow({ queue: row.original.queue, number: row.original.number }); }} classes={{ root: isSelected ? classes.rowSelected : classes.bandedRows }} - selected={selectedRow.queue === row.original.queue && selectedRow.number === row.original.number} + selected={isSelected} {...row.getRowProps()} > {row.cells.map(cell => ( From ef1a12dd6b6f9dd9caef80e82aff3bc8bc035213 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Mon, 2 Nov 2020 22:53:44 -0500 Subject: [PATCH 041/105] Add useEffect for /api/get_queues and QueueSelector --- src/App.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/App.js b/src/App.js index 92034cc..6c08ecf 100644 --- a/src/App.js +++ b/src/App.js @@ -17,6 +17,7 @@ function App() { const [queues, setQueues] = useState([]); const [items, setItems] = useState([]); const [selectedQueues, setSelectedQueues] = useState([]); + const [queueCounts, setQueueCounts] = useState([]); useEffect( _ => { async function getQueues(){ @@ -45,6 +46,16 @@ function App() { setItems(tempItems); }, [queues]); + useEffect( _ => { + async function getQueueCounts(){ + const apiResponse = await fetch(`/api/get_queues`); + const queueCountJson = await apiResponse.json(); + setQueueCounts(queueCountJson); + }; + getQueueCounts(); + return _ => setQueueCounts([]); + }, [selectedQueues]); + const theme = webqueueTheme(darkMode); const transitionWidth = theme.transitions.create(["width"], { duration: theme.transitions.duration.enteringScreen, @@ -85,7 +96,7 @@ function App() { - + console.log("Clicked!") }/> From 2221f28a4f0844ea1cdfdf606bb9c00d1ea7a165 Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Wed, 4 Nov 2020 10:51:19 -0500 Subject: [PATCH 042/105] Fixed filter label overflow using useState and javascript event listeners --- .../ItemTableFilter/ItemTableFilter.js | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/components/ItemTableFilter/ItemTableFilter.js b/src/components/ItemTableFilter/ItemTableFilter.js index 82e631a..a3ed137 100644 --- a/src/components/ItemTableFilter/ItemTableFilter.js +++ b/src/components/ItemTableFilter/ItemTableFilter.js @@ -1,37 +1,33 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import PropTypes from 'prop-types'; -import { TextField, makeStyles } from "@material-ui/core"; -import { pink, purple } from '@material-ui/core/colors'; +import { makeStyles, TextField } from "@material-ui/core"; export default function ItemTableFilter({ label, onChange }) { const useStyles = makeStyles({ - labelRoot: { - fontSize: 14, + overflow: "hidden" }, - - }, - ); - + labelFocused: { + overflow: "visible" + }, + }); const classes = useStyles(); - return ( - <> + const [isFocused, setIsFocused] = useState(false); + return ( setIsFocused(true)} + onBlur={() => setIsFocused(false)} + className={ isFocused ? classes.labelFocused : classes.labelRoot } color="secondary" type="search" size="small" variant="outlined" - /> - ); }; From 9ebecc8cf9e256b785cb8b57255ee118e0956bda Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Wed, 4 Nov 2020 11:16:44 -0500 Subject: [PATCH 043/105] Removed unused imports --- src/components/ItemTableFilter/ItemTableFilter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ItemTableFilter/ItemTableFilter.js b/src/components/ItemTableFilter/ItemTableFilter.js index a3ed137..b5a2fae 100644 --- a/src/components/ItemTableFilter/ItemTableFilter.js +++ b/src/components/ItemTableFilter/ItemTableFilter.js @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { makeStyles, TextField } from "@material-ui/core"; From 0fc47e4fdb7d2d71640b0633de2750ad17b7936e Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 4 Nov 2020 11:54:26 -0500 Subject: [PATCH 044/105] Add venv:freeze command --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 56190c6..bd6ff48 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "venv:create": "python3 utils/venv-manager.py create", "venv:delete": "python3 utils/venv-manager.py delete", "venv:reset": "python3 utils/venv-manager.py reset", + "venv:freeze": "cd api/ && venv/bin/pip freeze | grep -v 'pkg-resources' > requirements.txt", "test": "react-scripts test", "eject": "react-scripts eject" }, From 1de44ad39f755ff76dfce2374047314883fa2b53 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 4 Nov 2020 11:57:34 -0500 Subject: [PATCH 045/105] Add pyjwt to API requirements --- api/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/api/requirements.txt b/api/requirements.txt index 8a009e1..a7f38ba 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -10,6 +10,7 @@ Jinja2==2.11.2 lazy-object-proxy==1.4.3 MarkupSafe==1.1.1 mccabe==0.6.1 +PyJWT==1.7.1 pylint==2.5.3 python-dateutil==2.8.1 pytz==2020.1 From 3872dbe84043b7976352f6e589d55caeeadc82ee Mon Sep 17 00:00:00 2001 From: "Campbell, Justin" Date: Wed, 4 Nov 2020 12:36:36 -0500 Subject: [PATCH 046/105] Add venv:freeze docs --- Dev Environment Setup Guide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dev Environment Setup Guide.md b/Dev Environment Setup Guide.md index e80c78b..03ed436 100644 --- a/Dev Environment Setup Guide.md +++ b/Dev Environment Setup Guide.md @@ -252,4 +252,5 @@ All of the tools in this project are accessible as an npm task so you can intera | `kill:api` | Kills the runaway API process(es). | | `venv:create` | This will create a virtual environment in `/api/venv` and install requirements from `/api/requirements.txt`. | | `venv:delete` | This will delete the folder `/api/venv`. | -| `venv:reset` | This will run `venv:delete` then `venv:create`. | \ No newline at end of file +| `venv:reset` | This will run `venv:delete` then `venv:create`. | +| `venv:freeze` | Regenerates the API requirements.txt file and mitigates [this pip bug](https://github.com/pypa/pip/issues/4022). | From 44865c2ef7a276097f86d8576f50e1c412a4eaba Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Wed, 4 Nov 2020 14:25:46 -0500 Subject: [PATCH 047/105] Changed color of selected row to a color that is easier to see --- src/components/ItemTable/ItemTable.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index a45d8ed..cbc1bf2 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -20,9 +20,7 @@ export default function ItemTable({ data }) { opacity: 0.2, }, rowSelected: { - "&$selected, &$selected:hover": { - backgroundColor: theme.palette.primary, - }, + backgroundColor: theme.palette.type === 'light' ? theme.palette.primary[100] : theme.palette.primary[600], }, bandedRows: { '&:nth-of-type(even)': { @@ -134,8 +132,10 @@ export default function ItemTable({ data }) { history.push(`/${row.original.queue}/${row.original.number}`); setSelecetedRow({ queue: row.original.queue, number: row.original.number }) }} + // This functionality should be achieved by using the selected prop and + // overriding the selected class but this applied the secondary color at 0.08% opacity. + // Overridding the root class is a workaround. classes={{ root: isSelected ? classes.rowSelected : classes.bandedRows }} - selected={selectedRow.queue === row.original.queue && selectedRow.number === row.original.number} {...row.getRowProps()} > {row.cells.map(cell => ( From 0398df25068e48ed596ace6c5c9255a5e17aed74 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 4 Nov 2020 20:11:54 -0500 Subject: [PATCH 048/105] Add dotenv support to API --- api/api.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/api/api.py b/api/api.py index f77e7fc..dbadc9a 100644 --- a/api/api.py +++ b/api/api.py @@ -1,6 +1,10 @@ from flask import Flask from flask_restful import Api, Resource import ECNQueue +import os, dotenv + +# Load envrionment variables for ./.env +dotenv.load_dotenv() # Create Flask App app = Flask(__name__) @@ -8,8 +12,6 @@ # Create API Interface api = Api(app) - - class Item(Resource): def get(self, queue: str, number: int) -> str: """Returns the JSON representation of the item requested. @@ -80,12 +82,9 @@ def get(self) -> list: list: Dictionaries with the number of items in each queue. """ return ECNQueue.getQueueCounts() - -api.add_resource(QueueList, "/api/get_queues") -api.add_resource(Item, "/api//") -api.add_resource(Queue, "/api/") -if __name__ == "__main__": - app.run() +api.add_resource(QueueList, "/api/get_queues") +api.add_resource(Item, "/api//") +api.add_resource(Queue, "/api/") \ No newline at end of file From f6a15d3882afe4bdb0834ef48eaaab223310abd8 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 4 Nov 2020 20:12:11 -0500 Subject: [PATCH 049/105] Update gitignore to include api dotenv files --- .gitignore | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c518367..e238c91 100644 --- a/.gitignore +++ b/.gitignore @@ -8,15 +8,17 @@ # Testing /coverage -# Productiom +# React Build Files /build -# Misc -.DS_Store +# React local environment files .env.local .env.development.local .env.test.local .env.production.local + +# Misc +.DS_Store .vscode/ # Node Package Management @@ -28,3 +30,4 @@ yarn-error.log* /api/venv __pycache__/ venv-manager.log +/api/.env \ No newline at end of file From f9dd83886be82608933f3527c94496096da17ad1 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 5 Nov 2020 00:06:51 -0500 Subject: [PATCH 050/105] Add python-dotenv to pip requirements --- api/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/api/requirements.txt b/api/requirements.txt index a7f38ba..890a147 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -13,6 +13,7 @@ mccabe==0.6.1 PyJWT==1.7.1 pylint==2.5.3 python-dateutil==2.8.1 +python-dotenv==0.15.0 pytz==2020.1 six==1.15.0 toml==0.10.1 From 982ce7b1c0fa3cb16ae15c7fab4d2bedf306b29b Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 5 Nov 2020 00:07:52 -0500 Subject: [PATCH 051/105] Replace pyjwt with Flask-JWT-Extended --- api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/requirements.txt b/api/requirements.txt index 890a147..1aaa908 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -3,6 +3,7 @@ astroid==2.4.2 click==7.1.2 Flask==1.1.2 Flask-RESTful==0.3.8 +Flask-JWT-Extended==3.24.1 gunicorn==20.0.4 isort==4.3.21 itsdangerous==1.1.0 @@ -10,7 +11,6 @@ Jinja2==2.11.2 lazy-object-proxy==1.4.3 MarkupSafe==1.1.1 mccabe==0.6.1 -PyJWT==1.7.1 pylint==2.5.3 python-dateutil==2.8.1 python-dotenv==0.15.0 From 937dbc00f8de7942bd4d63ba8a16856d72f48d0f Mon Sep 17 00:00:00 2001 From: Tyler Jordan Wright Date: Fri, 6 Nov 2020 15:16:57 -0500 Subject: [PATCH 052/105] Added logic that removes selected row styling after ItemView is closed. --- src/App.js | 2 +- src/components/ItemTable/ItemTable.js | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/App.js b/src/App.js index 8320c96..a7cfa5a 100644 --- a/src/App.js +++ b/src/App.js @@ -73,7 +73,7 @@ function App() { - console.log("Clicked!") }/> + diff --git a/src/components/ItemTable/ItemTable.js b/src/components/ItemTable/ItemTable.js index cbc1bf2..b7b85d5 100644 --- a/src/components/ItemTable/ItemTable.js +++ b/src/components/ItemTable/ItemTable.js @@ -7,9 +7,9 @@ import RelativeTime from "react-relative-time"; import ItemTableFilter from "../ItemTableFilter/" import { ArrowDownward, ArrowUpward } from "@material-ui/icons"; -export default function ItemTable({ data }) { +export default function ItemTable({ data, rowCanBeSelected }) { - const theme = useTheme(); + const theme = useTheme(); const useStyles = makeStyles({ // Fully visible for active icons activeSortIcon: { @@ -27,12 +27,11 @@ export default function ItemTable({ data }) { backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], }, }, - columnBorders: { borderLeftWidth: "1px", borderLeftStyle: "solid", borderColor: theme.palette.type === "light" ? theme.palette.grey[300] : theme.palette.grey[500] - } + }, }); const classes = useStyles(); @@ -135,10 +134,13 @@ export default function ItemTable({ data }) { // This functionality should be achieved by using the selected prop and // overriding the selected class but this applied the secondary color at 0.08% opacity. // Overridding the root class is a workaround. - classes={{ root: isSelected ? classes.rowSelected : classes.bandedRows }} + classes={{ root: (isSelected && rowCanBeSelected) ? classes.rowSelected : classes.bandedRows }} {...row.getRowProps()} > {row.cells.map(cell => ( - + {cell.render("Cell")} ))} @@ -153,9 +155,12 @@ export default function ItemTable({ data }) { ItemTable.propTypes = { /** Array of items from all active queues to display in table. */ - "items": PropTypes.array + "items": PropTypes.array, + /** State variable indicating if rows can be selected. When false, all rows are deselected. */ + "rowCanBeSelected": PropTypes.bool }; ItemTable.defaultProps = { - "items": [] + "items": [], + "rowCanBeSelected": true }; \ No newline at end of file From 4e8fae4bca9d923308194b39c0b7f9975aa906c4 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Sun, 8 Nov 2020 16:23:00 -0500 Subject: [PATCH 053/105] Implement basic shared username/password auth using dotenv --- api/api.py | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/api/api.py b/api/api.py index dbadc9a..a9752f8 100644 --- a/api/api.py +++ b/api/api.py @@ -1,7 +1,8 @@ -from flask import Flask +from flask import Flask, request from flask_restful import Api, Resource -import ECNQueue +from werkzeug.security import check_password_hash import os, dotenv +import ECNQueue # Load envrionment variables for ./.env dotenv.load_dotenv() @@ -12,6 +13,27 @@ # Create API Interface api = Api(app) + + +class Login(Resource): + def post(self): + if not request.is_json: + return ({ "message": "JSON missing from request body"}, 422) + + data = request.json + + fields_to_check = ["username", "password"] + for field in fields_to_check: + if field not in data.keys(): + return ({ "message": f"{field} missing from request body"}, 422) + + if data["username"] != os.environ.get("SHARED_USERNAME"): + return ({ "message": "Username invalid"}, 401) + if not check_password_hash(os.environ.get("SHARED_PASSWORD_HASH"), data["password"]): + return ({ "message": "Password invalid"}, 401) + + return ({ "message": "Login successful"}, 200) + class Item(Resource): def get(self, queue: str, number: int) -> str: """Returns the JSON representation of the item requested. @@ -85,6 +107,10 @@ def get(self) -> list: -api.add_resource(QueueList, "/api/get_queues") +api.add_resource(Login, "/login") api.add_resource(Item, "/api//") -api.add_resource(Queue, "/api/") \ No newline at end of file +api.add_resource(Queue, "/api/") +api.add_resource(QueueList, "/api/get_queues") + +if __name__ == "__main__": + app.run() \ No newline at end of file From dcf3c3d7b795b3b4bc5a4d725a4b95930d53faf7 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Sun, 8 Nov 2020 16:36:41 -0500 Subject: [PATCH 054/105] Implement login, token generation and route protection with JWTs --- api/api.py | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/api/api.py b/api/api.py index a9752f8..3d2da84 100644 --- a/api/api.py +++ b/api/api.py @@ -1,5 +1,9 @@ -from flask import Flask, request +from flask import Flask, request, after_this_request from flask_restful import Api, Resource +from flask_jwt_extended import ( + JWTManager, create_access_token, create_refresh_token, + jwt_required, set_refresh_cookies +) from werkzeug.security import check_password_hash import os, dotenv import ECNQueue @@ -14,6 +18,30 @@ api = Api(app) +################################################################################ +# Configure Flask-JWT-Extended +################################################################################ + +# Set JWT secret key and create JWT manager +app.config["JWT_SECRET_KEY"] = os.environ.get("JWT_SECRET_KEY") +# Set identity claim field key to sub for JWT RFC complience +# Flask-JWT-Extended uses 'identity' by default for compatibility reasons +app.config["JWT_IDENTITY_CLAIM"] = "sub" +# Set the key for error messages generated by Flask-JWT-Extended +app.config["JWT_ERROR_MESSAGE_KEY"] = "message" + +# Look for JWTs in headers (for access) then cookies (for refresh) +app.config["JWT_TOKEN_LOCATION"] = ["headers", "cookies"] +# Restrict cookies to HTTPS in prod, allow HTTP in dev +app.config["JWT_COOKIE_SECURE"] = False if os.environ.get("ENVIRONMENT") == "dev" else True +# Restrict cookies using SameSite=strict flag +app.config["JWT_COOKIE_SAMESITE"] = "strict" +# Restrict refresh tokens to /token/refresh endpoint +app.config['JWT_REFRESH_COOKIE_PATH'] = '/token/refresh' + +tokenManager = JWTManager(app) + + class Login(Resource): def post(self): @@ -32,9 +60,22 @@ def post(self): if not check_password_hash(os.environ.get("SHARED_PASSWORD_HASH"), data["password"]): return ({ "message": "Password invalid"}, 401) - return ({ "message": "Login successful"}, 200) + access_token = create_access_token(data["username"]) + refresh_token = create_refresh_token(data["username"]) + + + # This decorator is needed because Flask-RESTful's 'resourceful routing` + # doesn't allow for direct modification to the Flask response object. + # See: https://flask-restful.readthedocs.io/en/latest/quickstart.html#resourceful-routing + @after_this_request + def _does_this_work(response): + set_refresh_cookies(response, refresh_token) + return response + + return { "token": access_token } class Item(Resource): + @jwt_required def get(self, queue: str, number: int) -> str: """Returns the JSON representation of the item requested. @@ -67,6 +108,7 @@ def get(self, queue: str, number: int) -> str: return ECNQueue.Item(queue, number).toJson() class Queue(Resource): + @jwt_required def get(self, queue: str) -> str: """Returns the JSON representation of the queue requested. @@ -85,6 +127,7 @@ def get(self, queue: str) -> str: return queues class QueueList(Resource): + @jwt_required def get(self) -> list: """Returns a list of dictionaries with the number of items in each queue. From 271caababf41ca961bf318a38fd01cca50009c43 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Sun, 8 Nov 2020 17:40:27 -0500 Subject: [PATCH 055/105] Implement /tokens/refresh endpoint to get new access tokens --- api/api.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/api/api.py b/api/api.py index 3d2da84..12829a1 100644 --- a/api/api.py +++ b/api/api.py @@ -2,7 +2,8 @@ from flask_restful import Api, Resource from flask_jwt_extended import ( JWTManager, create_access_token, create_refresh_token, - jwt_required, set_refresh_cookies + jwt_required, get_jwt_identity, jwt_refresh_token_required, + set_refresh_cookies, unset_refresh_cookies ) from werkzeug.security import check_password_hash import os, dotenv @@ -37,7 +38,7 @@ # Restrict cookies using SameSite=strict flag app.config["JWT_COOKIE_SAMESITE"] = "strict" # Restrict refresh tokens to /token/refresh endpoint -app.config['JWT_REFRESH_COOKIE_PATH'] = '/token/refresh' +app.config['JWT_REFRESH_COOKIE_PATH'] = '/tokens/refresh' tokenManager = JWTManager(app) @@ -63,7 +64,6 @@ def post(self): access_token = create_access_token(data["username"]) refresh_token = create_refresh_token(data["username"]) - # This decorator is needed because Flask-RESTful's 'resourceful routing` # doesn't allow for direct modification to the Flask response object. # See: https://flask-restful.readthedocs.io/en/latest/quickstart.html#resourceful-routing @@ -72,7 +72,14 @@ def _does_this_work(response): set_refresh_cookies(response, refresh_token) return response - return { "token": access_token } + return ({ "access_token": access_token }, 200) + +class RefreshAccessToken(Resource): + @jwt_refresh_token_required + def post(self): + username = get_jwt_identity() + access_token = create_access_token(username) + return ({"access_toekn": access_token}, 200) class Item(Resource): @jwt_required @@ -151,6 +158,7 @@ def get(self) -> list: api.add_resource(Login, "/login") +api.add_resource(RefreshAccessToken, "/tokens/refresh") api.add_resource(Item, "/api//") api.add_resource(Queue, "/api/") api.add_resource(QueueList, "/api/get_queues") From ba3c9b7cdd2bef8f459596c7f282669fc4236f12 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 15:22:57 -0500 Subject: [PATCH 056/105] Update Login resource docs --- api/api.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/api/api.py b/api/api.py index 12829a1..b29b4f6 100644 --- a/api/api.py +++ b/api/api.py @@ -45,7 +45,24 @@ class Login(Resource): - def post(self): + def post(self) -> tuple: + """Validates username/password and returns both access and refresh tokens. + + Return Codes: + 200 (OK): On success. + 401 (Unauthroized): When username or password are incorrect. + 422 (Unprocessable Entitiy): When the username or password can't be parsed. + + Example: + curl -X POST + -H "Content-Type: application/json" + -d '{"username": "bob", "password": "super_secret"}' + + { "access_token": fjr09hfp09h932jp9ruj3.3r8ihf8h0w8hr08ifhj804h8i.8h48ith08ity409hip0t4 } + + Returns: + tuple: Response containing tokens and HTTP response code. + """ if not request.is_json: return ({ "message": "JSON missing from request body"}, 422) From b75f3d7275cd9207efe8885f3daaf61caf288843 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 15:57:37 -0500 Subject: [PATCH 057/105] Make Item resource return tuple w/ quueue JSON and HTTP return code plus update docs --- api/api.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/api/api.py b/api/api.py index b29b4f6..8c6a657 100644 --- a/api/api.py +++ b/api/api.py @@ -52,6 +52,7 @@ def post(self) -> tuple: 200 (OK): On success. 401 (Unauthroized): When username or password are incorrect. 422 (Unprocessable Entitiy): When the username or password can't be parsed. + 500 (Internal Server Error): On API error. Example: curl -X POST @@ -100,9 +101,13 @@ def post(self): class Item(Resource): @jwt_required - def get(self, queue: str, number: int) -> str: + def get(self, queue: str, number: int) -> tuple: """Returns the JSON representation of the item requested. + Return Codes: + 200 (OK): On success. + 500 (Internal Server Error): On API error. + Example: /api/ce/100 returns: { @@ -127,9 +132,9 @@ def get(self, queue: str, number: int) -> str: item (int): The number of the item requested. Returns: - str: JSON representation of the item requested. + tuple: Response containing queue as JSON and HTTP response code. """ - return ECNQueue.Item(queue, number).toJson() + return (ECNQueue.Item(queue, number).toJson(), 200) class Queue(Resource): @jwt_required From 5c5a1002ee92ba8bb5aa5514ce97c0de4b9d4e19 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 16:02:31 -0500 Subject: [PATCH 058/105] Update Queue resource to return a tuple of data and HTTP response code plus update docs --- api/api.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/api/api.py b/api/api.py index 8c6a657..e651b87 100644 --- a/api/api.py +++ b/api/api.py @@ -132,28 +132,32 @@ def get(self, queue: str, number: int) -> tuple: item (int): The number of the item requested. Returns: - tuple: Response containing queue as JSON and HTTP response code. + tuple: Item as JSON and HTTP response code. """ return (ECNQueue.Item(queue, number).toJson(), 200) class Queue(Resource): @jwt_required - def get(self, queue: str) -> str: + def get(self, queues: str) -> tuple: """Returns the JSON representation of the queue requested. + Return Codes: + 200 (OK): On success. + 500 (Internal Server Error): On API error. + Args: - queue (str): The queue requested. + queues (str): Plus (+) deliminited list of queues. Returns: - str: JSON representation of the queue requested. + tuple: Queues as JSON and HTTP response code. """ - queues_requested = queue.split("+") + queues_requested = queues.split("+") - queues = [] + queue_list = [] for queue in queues_requested: - queues.append(ECNQueue.Queue(queue).toJson()) + queue_list.append(ECNQueue.Queue(queue).toJson()) - return queues + return (queues, 200) class QueueList(Resource): @jwt_required From ffc049b761f46daa3dd88835736e7acdb81e5802 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 16:05:09 -0500 Subject: [PATCH 059/105] Correct refactoring error that broke Queue resource --- api/api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/api.py b/api/api.py index e651b87..7c85b5c 100644 --- a/api/api.py +++ b/api/api.py @@ -157,7 +157,7 @@ def get(self, queues: str) -> tuple: for queue in queues_requested: queue_list.append(ECNQueue.Queue(queue).toJson()) - return (queues, 200) + return (queue_list, 200) class QueueList(Resource): @jwt_required @@ -186,7 +186,7 @@ def get(self) -> list: api.add_resource(Login, "/login") api.add_resource(RefreshAccessToken, "/tokens/refresh") api.add_resource(Item, "/api//") -api.add_resource(Queue, "/api/") +api.add_resource(Queue, "/api/") api.add_resource(QueueList, "/api/get_queues") if __name__ == "__main__": From 5b752deed8607a83ec7d7ef1f7cc7a662d8f4fac Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 19:01:13 -0500 Subject: [PATCH 060/105] Update QueueList docs --- api/api.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/api/api.py b/api/api.py index 7c85b5c..f4b71e2 100644 --- a/api/api.py +++ b/api/api.py @@ -52,7 +52,6 @@ def post(self) -> tuple: 200 (OK): On success. 401 (Unauthroized): When username or password are incorrect. 422 (Unprocessable Entitiy): When the username or password can't be parsed. - 500 (Internal Server Error): On API error. Example: curl -X POST @@ -106,7 +105,6 @@ def get(self, queue: str, number: int) -> tuple: Return Codes: 200 (OK): On success. - 500 (Internal Server Error): On API error. Example: /api/ce/100 returns: @@ -143,7 +141,6 @@ def get(self, queues: str) -> tuple: Return Codes: 200 (OK): On success. - 500 (Internal Server Error): On API error. Args: queues (str): Plus (+) deliminited list of queues. @@ -161,9 +158,12 @@ def get(self, queues: str) -> tuple: class QueueList(Resource): @jwt_required - def get(self) -> list: + def get(self) -> tuple: """Returns a list of dictionaries with the number of items in each queue. + Return Codes: + 200 (OK): On success. + Example: [ { @@ -177,9 +177,9 @@ def get(self) -> list: ] Returns: - list: Dictionaries with the number of items in each queue. + tuple: Queues and item counts as JSON and HTTP response code. """ - return ECNQueue.getQueueCounts() + return (ECNQueue.getQueueCounts(), 200) From 4757b28a9bbde04b2e0d749b1e638ddeefe17fb4 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Tue, 10 Nov 2020 19:10:40 -0500 Subject: [PATCH 061/105] Add JWT_REFRESH_CRSF_HEADER for easier reference --- api/api.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/api.py b/api/api.py index f4b71e2..e1ffb89 100644 --- a/api/api.py +++ b/api/api.py @@ -38,7 +38,10 @@ # Restrict cookies using SameSite=strict flag app.config["JWT_COOKIE_SAMESITE"] = "strict" # Restrict refresh tokens to /token/refresh endpoint -app.config['JWT_REFRESH_COOKIE_PATH'] = '/tokens/refresh' +app.config["JWT_REFRESH_COOKIE_PATH"] = '/tokens/refresh' +# Set the cookie key for CRSF validation string +# This is the default value. Adding it for easy reference +app.config["JWT_REFRESH_CSRF_HEADER_NAME"] = "X-CSRF-TOKEN" tokenManager = JWTManager(app) From 4e40b028fe4101d957eb3d0897fd576677fb50e9 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:09:53 -0500 Subject: [PATCH 062/105] Create base LoginForm -- nonfunctional --- src/components/LoginForm/LoginForm.js | 100 ++++++++++++++++++++++++++ src/components/LoginForm/LoginForm.md | 11 +++ src/components/LoginForm/index.js | 1 + 3 files changed, 112 insertions(+) create mode 100644 src/components/LoginForm/LoginForm.js create mode 100644 src/components/LoginForm/LoginForm.md create mode 100644 src/components/LoginForm/index.js diff --git a/src/components/LoginForm/LoginForm.js b/src/components/LoginForm/LoginForm.js new file mode 100644 index 0000000..ee4e902 --- /dev/null +++ b/src/components/LoginForm/LoginForm.js @@ -0,0 +1,100 @@ +import React, { useState } from "react"; +import { Box, Paper, TextField, Button, Avatar, Typography, useTheme, makeStyles } from "@material-ui/core"; +import { Redirect } from "react-router-dom"; +import { useLogin } from "../AuthProvider/"; + +export default function LoginForm() { + const [username, setUsername] = useState(""); + const [password, setPassword] = useState(""); + + const handleUsernameChange = (event) => setUsername(event.target.value); + const handlePasswordChange = (event) => setPassword(event.target.value); + + const handleSubmit = (event) => { + event.preventDefault(); + return true; + } + + const theme = useTheme(); + const useStyles = makeStyles({ + "box_root": { + background: `linear-gradient(120deg, ${theme.palette.secondary.main}30 0%, ${theme.palette.primary.main}10 100%)`, + width: "100%", + height: "100vh", + display: "flex", + justifyContent: "center", + alignItems: "center" + }, + "avatar_root": { + padding: theme.spacing(1), + width: theme.spacing(10), + height: theme.spacing(10) + }, + "paper_root": { + minWidth: theme.breakpoints.values.sm/2, + padding: theme.spacing(3), + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + }, + "button_root": { + marginTop: theme.spacing(2) + } + }) + const classes = useStyles(); + + const isLoggedIn = useLogin(); + if (isLoggedIn) { + return + } + + return ( + +
+ + + + Sign In + + + + + + +
+ ); +}; \ No newline at end of file diff --git a/src/components/LoginForm/LoginForm.md b/src/components/LoginForm/LoginForm.md new file mode 100644 index 0000000..7e0553c --- /dev/null +++ b/src/components/LoginForm/LoginForm.md @@ -0,0 +1,11 @@ +The LoginForm acts as the only public facing page for the webqueue2. If any part of the app is access without access tokens, the user will be redirected here. It takes a username and password, attempts to login an, if successful, sets access tokens and redirects users to webqueue2. + +--- +```jsx +import LoginForm from "./LoginForm"; + + +``` +```jsx static + +``` \ No newline at end of file diff --git a/src/components/LoginForm/index.js b/src/components/LoginForm/index.js new file mode 100644 index 0000000..3789b92 --- /dev/null +++ b/src/components/LoginForm/index.js @@ -0,0 +1 @@ +export { default } from "./LoginForm"; \ No newline at end of file From ca130f81ababbd4cde281a768d81d2b9a82e1dc3 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:10:45 -0500 Subject: [PATCH 063/105] Create base auth utilities -- only login --- src/auth/index.js | 1 + src/auth/utilities.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/auth/index.js create mode 100644 src/auth/utilities.js diff --git a/src/auth/index.js b/src/auth/index.js new file mode 100644 index 0000000..dad0b46 --- /dev/null +++ b/src/auth/index.js @@ -0,0 +1 @@ +export { login } from "./utilities"; \ No newline at end of file diff --git a/src/auth/utilities.js b/src/auth/utilities.js new file mode 100644 index 0000000..1237078 --- /dev/null +++ b/src/auth/utilities.js @@ -0,0 +1,33 @@ +/** Utility Functions for webqueue2 API */ + + + +/** + * Returns an access token to be used for authorization. + * @example + * login("janeDoe", "superSecretPassword") + * @param {String} username + * @param {String} password + * @returns {Boolean | String} An access token on success, `false` otherwise. + */ +export async function login(username, password){ + const loginInit = { + method: "POST", + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({ "username": username, "password": password}) + }; + + let loginResponse = await fetch("/login", loginInit); + let data = await loginResponse.json(); + + if (data === null){ + return false; + } + if (!loginResponse.ok){ + console.error(`Login failed. Got code ${loginResponse.status} (${loginResponse.statusText})`); + return false; + } + + return data.access_token || false; +} + From 50f03ecd09789691d882a86e3ac59316d8f86c54 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:11:13 -0500 Subject: [PATCH 064/105] Create AuthProvider component --- src/components/AuthProvider/AuthProvider.js | 32 +++++++++++++++++++++ src/components/AuthProvider/AuthProvider.md | 14 +++++++++ src/components/AuthProvider/index.js | 1 + 3 files changed, 47 insertions(+) create mode 100644 src/components/AuthProvider/AuthProvider.js create mode 100644 src/components/AuthProvider/AuthProvider.md create mode 100644 src/components/AuthProvider/index.js diff --git a/src/components/AuthProvider/AuthProvider.js b/src/components/AuthProvider/AuthProvider.js new file mode 100644 index 0000000..c63b9e2 --- /dev/null +++ b/src/components/AuthProvider/AuthProvider.js @@ -0,0 +1,32 @@ +import React, { useState, createContext, useContext } from "react"; + + + +const LoginContext = createContext(); +const LoginSetterContext = createContext(); +const TokenContext = createContext(); +const TokenSetterContext = createContext(); + +export const useLogin = () => useContext(LoginContext); +export const useLoginSetter = () => useContext(LoginSetterContext); +export const useToken = () => useContext(TokenContext); +export const useTokenSetter = () => useContext(TokenSetterContext); + + + +export default function AuthProvider({ children }) { + const [loggedIn, setLoggedIn] = useState(false); + const [token, setToken] = useState(null); + + return ( + + + + + {children} + + + + + ); +}; \ No newline at end of file diff --git a/src/components/AuthProvider/AuthProvider.md b/src/components/AuthProvider/AuthProvider.md new file mode 100644 index 0000000..aad5bee --- /dev/null +++ b/src/components/AuthProvider/AuthProvider.md @@ -0,0 +1,14 @@ +AuthProvider + +Description + +--- + +```jsx +import AuthProvider from "./AuthProvider"; + + +``` +```jsx static + +``` \ No newline at end of file diff --git a/src/components/AuthProvider/index.js b/src/components/AuthProvider/index.js new file mode 100644 index 0000000..165e516 --- /dev/null +++ b/src/components/AuthProvider/index.js @@ -0,0 +1 @@ +export { default, useLogin, useLoginSetter, useToken, useTokenSetter } from "./AuthProvider"; \ No newline at end of file From 4e79718e1ea1779adbac9871fadfa839c74cc58d Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:21:51 -0500 Subject: [PATCH 065/105] Create PrivateRoute component for checking auth --- src/components/PrivateRoute/PrivateRoute.js | 24 +++++++++++++++++++++ src/components/PrivateRoute/PrivateRoute.md | 1 + src/components/PrivateRoute/index.js | 1 + 3 files changed, 26 insertions(+) create mode 100644 src/components/PrivateRoute/PrivateRoute.js create mode 100644 src/components/PrivateRoute/PrivateRoute.md create mode 100644 src/components/PrivateRoute/index.js diff --git a/src/components/PrivateRoute/PrivateRoute.js b/src/components/PrivateRoute/PrivateRoute.js new file mode 100644 index 0000000..8507e82 --- /dev/null +++ b/src/components/PrivateRoute/PrivateRoute.js @@ -0,0 +1,24 @@ +import React from 'react'; +import PropTypes from "prop-types"; +import { Route, Redirect } from 'react-router-dom'; +import { useLogin } from "../AuthProvider/"; + +export default function PrivateRoute({ children, ...rest }) { + const isLoggedIn = useLogin(); + console.log("isLoggedIn", isLoggedIn); + + return ( + + { + isLoggedIn + ? children + : + } + + ); +}; + +PrivateRoute.propTypes = { + /** The route's path. */ + "path": PropTypes.string.isRequired +}; \ No newline at end of file diff --git a/src/components/PrivateRoute/PrivateRoute.md b/src/components/PrivateRoute/PrivateRoute.md new file mode 100644 index 0000000..7f0d5c0 --- /dev/null +++ b/src/components/PrivateRoute/PrivateRoute.md @@ -0,0 +1 @@ +The PrivateRoute wraps [React Router](https://reactrouter.com/)'s [Route component](https://reactrouter.com/web/api/Route) and checks for authentication using [AuthProvider](#/Components/AuthProvider). If authentication is valid, the children of the PrivateRoute are rendered. Otherwise, the user is redirected to the login page. \ No newline at end of file diff --git a/src/components/PrivateRoute/index.js b/src/components/PrivateRoute/index.js new file mode 100644 index 0000000..4c9765d --- /dev/null +++ b/src/components/PrivateRoute/index.js @@ -0,0 +1 @@ +export { default } from "./PrivateRoute"; \ No newline at end of file From 58e6b965ccefbf160359d48eba9259299e7c3c4c Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:24:22 -0500 Subject: [PATCH 066/105] Move previous App component to AppView --- src/components/AppView/AppView.js | 133 ++++++++++++++++++++++++++++++ src/components/AppView/AppView.md | 10 +++ src/components/AppView/index.js | 1 + 3 files changed, 144 insertions(+) create mode 100644 src/components/AppView/AppView.js create mode 100644 src/components/AppView/AppView.md create mode 100644 src/components/AppView/index.js diff --git a/src/components/AppView/AppView.js b/src/components/AppView/AppView.js new file mode 100644 index 0000000..acfb4a2 --- /dev/null +++ b/src/components/AppView/AppView.js @@ -0,0 +1,133 @@ +import React, { useState, useEffect } from "react"; +import PropTypes from "prop-types"; +import { Box, makeStyles, Paper, useTheme } from "@material-ui/core"; +import { Route } from "react-router-dom"; +import clsx from "clsx"; +import ItemTableAppBar from "../ItemTableAppBar/"; +import ItemTable from "../ItemTable/"; +import ItemViewAppBar from "../ItemViewAppBar/"; +import ItemView from "../ItemView/"; +import QueueSelector from "../QueueSelector/"; + +export default function AppView({ setDarkMode }){ + const [activeItem, setActiveItem] = useState({}); + const [sidebarOpen, setSidebarOpen] = useState(false); + const [queues, setQueues] = useState([]); + const [items, setItems] = useState([]); + const [selectedQueues, setSelectedQueues] = useState([]); + const [queueCounts, setQueueCounts] = useState([]); + + useEffect( _ => { + async function getQueues(){ + if (selectedQueues.length > 0){ + let queuesToLoad = ""; + + for (let selectedQueue of selectedQueues){ + queuesToLoad += `+${selectedQueue.name}`; + } + + const apiResponse = await fetch(`/api/${queuesToLoad}`); + const queueJson = await apiResponse.json(); + setQueues(queueJson); + } else { + setQueues([]) + } + } + getQueues(); + }, [selectedQueues]); + + useEffect( _ => { + let tempItems = []; + for (let queue of queues){ + tempItems = tempItems.concat(queue.items); + } + setItems(tempItems); + }, [queues]); + + useEffect( _ => { + async function getQueueCounts(){ + const apiResponse = await fetch(`/api/get_queues`); + const queueCountJson = await apiResponse.json(); + setQueueCounts(queueCountJson); + }; + getQueueCounts(); + return _ => setQueueCounts([]); + }, [selectedQueues]); + + const theme = useTheme(); + const transitionWidth = theme.transitions.create(["width"], { + duration: theme.transitions.duration.enteringScreen, + easing: theme.transitions.easing.easeInOut + }); + const useStyles = makeStyles({ + "leftCol": { + overflow: "auto", + width: "100vw", + height: "100vh", + transition: transitionWidth, + }, + "rightCol": { + overflow: "auto", + width: "0", + height: "100vh", + transition: transitionWidth, + scrollbarWidth: 0, + }, + "rightColShift": { + overflowY: "auto", + width: "100vw", + flexShrink: "0", + transition: transitionWidth + }, + [theme.breakpoints.up("md")]: { + "rightColShift": { + width: "40vw", + } + }, + }); + const classes = useStyles(); + + return( + + + + + + console.log("Clicked!") }/> + + + + {items.length === 0 ? null : + { + const item = items.find((item) => { + return item.queue === match.params.queue && item.number === Number(match.params.number); + }); + + if (item === undefined) { + return ( + + ); + } + + setActiveItem(item); + + return ( + <> + + + + ); + } + } + /> + } + + + ); +}; + +AppView.propTypes = {}; + +AppView.defaultProps = {}; \ No newline at end of file diff --git a/src/components/AppView/AppView.md b/src/components/AppView/AppView.md new file mode 100644 index 0000000..9d4107e --- /dev/null +++ b/src/components/AppView/AppView.md @@ -0,0 +1,10 @@ +The primary view for webqueue2. + +--- +```jsx +import AppView from "./AppView"; + +``` +```jsx static + +``` \ No newline at end of file diff --git a/src/components/AppView/index.js b/src/components/AppView/index.js new file mode 100644 index 0000000..08cc8fb --- /dev/null +++ b/src/components/AppView/index.js @@ -0,0 +1 @@ +export { default } from "./AppView"; \ No newline at end of file From d20a3b4b0b7e6aaa13f4041fcbfa1f99c705f526 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:24:48 -0500 Subject: [PATCH 067/105] Update app entrypoint for auth routing --- src/App.js | 136 ++++++----------------------------------------------- 1 file changed, 14 insertions(+), 122 deletions(-) diff --git a/src/App.js b/src/App.js index 6c08ecf..c410707 100644 --- a/src/App.js +++ b/src/App.js @@ -1,134 +1,26 @@ -import React, { useState, useEffect } from "react"; +import React, { useState } from "react"; import { ThemeProvider } from "@material-ui/core/styles"; -import { Box, makeStyles, Paper } from "@material-ui/core"; -import { Route } from "react-router-dom"; -import clsx from "clsx"; import webqueueTheme from "./theme"; -import ItemTableAppBar from "./components/ItemTableAppBar/"; -import ItemTable from "./components/ItemTable/"; -import ItemViewAppBar from "./components/ItemViewAppBar/"; -import ItemView from "./components/ItemView/"; -import QueueSelector from "./components/QueueSelector/"; +import { Switch, Route } from "react-router-dom"; +import PrivateRoute from "./components/PrivateRoute/"; +import AppView from "./components/AppView/"; +import LoginForm from "./components/LoginForm/"; function App() { const [darkMode, setDarkMode] = useState(false); - const [activeItem, setActiveItem] = useState({}); - const [sidebarOpen, setSidebarOpen] = useState(false); - const [queues, setQueues] = useState([]); - const [items, setItems] = useState([]); - const [selectedQueues, setSelectedQueues] = useState([]); - const [queueCounts, setQueueCounts] = useState([]); - - useEffect( _ => { - async function getQueues(){ - if (selectedQueues.length > 0){ - let queuesToLoad = ""; - - for (let selectedQueue of selectedQueues){ - queuesToLoad += `+${selectedQueue.name}`; - } - - const apiResponse = await fetch(`/api/${queuesToLoad}`); - const queueJson = await apiResponse.json(); - setQueues(queueJson); - } else { - setQueues([]) - } - } - getQueues(); - }, [selectedQueues]); - - useEffect( _ => { - let tempItems = []; - for (let queue of queues){ - tempItems = tempItems.concat(queue.items); - } - setItems(tempItems); - }, [queues]); - - useEffect( _ => { - async function getQueueCounts(){ - const apiResponse = await fetch(`/api/get_queues`); - const queueCountJson = await apiResponse.json(); - setQueueCounts(queueCountJson); - }; - getQueueCounts(); - return _ => setQueueCounts([]); - }, [selectedQueues]); const theme = webqueueTheme(darkMode); - const transitionWidth = theme.transitions.create(["width"], { - duration: theme.transitions.duration.enteringScreen, - easing: theme.transitions.easing.easeInOut - }); - const useStyles = makeStyles({ - "leftCol": { - overflow: "auto", - width: "100vw", - height: "100vh", - transition: transitionWidth, - }, - "rightCol": { - overflow: "auto", - width: "0", - height: "100vh", - transition: transitionWidth, - scrollbarWidth: 0, - }, - "rightColShift": { - overflowY: "auto", - width: "100vw", - flexShrink: "0", - transition: transitionWidth - }, - [theme.breakpoints.up("md")]: { - "rightColShift": { - width: "40vw", - } - }, - }); - const classes = useStyles(); - - return ( + return ( - - - - - - console.log("Clicked!") }/> - - - - {items.length === 0 ? null : - { - const item = items.find((item) => { - return item.queue === match.params.queue && item.number === Number(match.params.number); - }); - - if (item === undefined) { - return ( - - ); - } - - setActiveItem(item); - - return ( - <> - - - - ); - } - } - /> - } - - + + + + + + + + ); } From c3e9d2ceea74e2025f2a35d54597a5a665cd3905 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 15:25:02 -0500 Subject: [PATCH 068/105] Include AuthProvider --- src/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 578b96b..0290d94 100644 --- a/src/index.js +++ b/src/index.js @@ -5,6 +5,7 @@ import * as serviceWorker from './serviceWorker'; import { createBrowserHistory } from 'history'; import { CssBaseline } from '@material-ui/core'; import { BrowserRouter as Router } from 'react-router-dom'; +import AuthProvider from "./components/AuthProvider/"; export const history = createBrowserHistory({ basename: process.env.PUBLIC_URL @@ -13,9 +14,11 @@ export const history = createBrowserHistory({ ReactDOM.render( - - - + + + + + , document.getElementById('root') ); From 34f56ae41b51bb683dbe15df05a52558ffbd773e Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 13 Nov 2020 17:35:41 -0500 Subject: [PATCH 069/105] Integrate API login and error handling --- src/components/LoginForm/LoginForm.js | 30 +++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/components/LoginForm/LoginForm.js b/src/components/LoginForm/LoginForm.js index ee4e902..daa43ab 100644 --- a/src/components/LoginForm/LoginForm.js +++ b/src/components/LoginForm/LoginForm.js @@ -1,17 +1,31 @@ import React, { useState } from "react"; import { Box, Paper, TextField, Button, Avatar, Typography, useTheme, makeStyles } from "@material-ui/core"; import { Redirect } from "react-router-dom"; -import { useLogin } from "../AuthProvider/"; +import { Alert } from '@material-ui/lab'; +import { useLogin, useLoginSetter, useTokenSetter } from "../AuthProvider/"; +import { login } from "../../auth/"; export default function LoginForm() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); + const [error, setError] = useState(false); const handleUsernameChange = (event) => setUsername(event.target.value); const handlePasswordChange = (event) => setPassword(event.target.value); - const handleSubmit = (event) => { + const setLogin = useLoginSetter(); + const setToken = useTokenSetter(); + const handleSubmit = async (event) => { event.preventDefault(); + let access_token = await login(username, password); + + if (!access_token){ + setError(true); + return false; + } + + setLogin(true); + setToken(access_token); return true; } @@ -30,6 +44,9 @@ export default function LoginForm() { width: theme.spacing(10), height: theme.spacing(10) }, + "alert_root": { + marginTop: theme.spacing(2) + }, "paper_root": { minWidth: theme.breakpoints.values.sm/2, padding: theme.spacing(3), @@ -49,6 +66,14 @@ export default function LoginForm() { return } + const LoginErrorAlert = _ => { + return ( + + Username or password is incorrect. + + ); + } + return (
@@ -60,6 +85,7 @@ export default function LoginForm() { Sign In + { error && } Date: Fri, 13 Nov 2020 19:07:17 -0500 Subject: [PATCH 070/105] Add auth headers to API requests --- src/components/AppView/AppView.js | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/components/AppView/AppView.js b/src/components/AppView/AppView.js index acfb4a2..6fb0006 100644 --- a/src/components/AppView/AppView.js +++ b/src/components/AppView/AppView.js @@ -8,6 +8,7 @@ import ItemTable from "../ItemTable/"; import ItemViewAppBar from "../ItemViewAppBar/"; import ItemView from "../ItemView/"; import QueueSelector from "../QueueSelector/"; +import { useToken } from "../AuthProvider/"; export default function AppView({ setDarkMode }){ const [activeItem, setActiveItem] = useState({}); @@ -17,8 +18,14 @@ export default function AppView({ setDarkMode }){ const [selectedQueues, setSelectedQueues] = useState([]); const [queueCounts, setQueueCounts] = useState([]); + const access_token = useToken(); + useEffect( _ => { async function getQueues(){ + if (access_token === null){ + return + } + if (selectedQueues.length > 0){ let queuesToLoad = ""; @@ -26,7 +33,11 @@ export default function AppView({ setDarkMode }){ queuesToLoad += `+${selectedQueue.name}`; } - const apiResponse = await fetch(`/api/${queuesToLoad}`); + let myHeaders = new Headers(); + myHeaders.append("Authorization", `Bearer ${access_token}`); + let requestOptions = { headers: myHeaders }; + + const apiResponse = await fetch(`/api/${queuesToLoad}`, requestOptions); const queueJson = await apiResponse.json(); setQueues(queueJson); } else { @@ -34,7 +45,7 @@ export default function AppView({ setDarkMode }){ } } getQueues(); - }, [selectedQueues]); + }, [selectedQueues, access_token]); useEffect( _ => { let tempItems = []; @@ -46,13 +57,21 @@ export default function AppView({ setDarkMode }){ useEffect( _ => { async function getQueueCounts(){ - const apiResponse = await fetch(`/api/get_queues`); + if (access_token === null){ + return + } + + let myHeaders = new Headers(); + myHeaders.append("Authorization", `Bearer ${access_token}`); + let requestOptions = { headers: myHeaders }; + + const apiResponse = await fetch(`/api/get_queues`, requestOptions); const queueCountJson = await apiResponse.json(); setQueueCounts(queueCountJson); }; getQueueCounts(); return _ => setQueueCounts([]); - }, [selectedQueues]); + }, [selectedQueues, access_token]); const theme = useTheme(); const transitionWidth = theme.transitions.create(["width"], { From 27d51fa5ac9ed94945766d1b8fd0ea63b83a539d Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Sun, 15 Nov 2020 18:26:55 -0500 Subject: [PATCH 071/105] Add view password toggle to login screen --- src/components/LoginForm/LoginForm.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/LoginForm/LoginForm.js b/src/components/LoginForm/LoginForm.js index daa43ab..6cd39ad 100644 --- a/src/components/LoginForm/LoginForm.js +++ b/src/components/LoginForm/LoginForm.js @@ -1,5 +1,7 @@ import React, { useState } from "react"; -import { Box, Paper, TextField, Button, Avatar, Typography, useTheme, makeStyles } from "@material-ui/core"; +import { Box, Paper, TextField, Button, Avatar, Typography, InputAdornment, IconButton, useTheme, makeStyles } from "@material-ui/core"; +import Visibility from '@material-ui/icons/Visibility'; +import VisibilityOff from '@material-ui/icons/VisibilityOff'; import { Redirect } from "react-router-dom"; import { Alert } from '@material-ui/lab'; import { useLogin, useLoginSetter, useTokenSetter } from "../AuthProvider/"; @@ -9,6 +11,7 @@ export default function LoginForm() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(false); + const [showPassword, setShowPassword] = useState(false); const handleUsernameChange = (event) => setUsername(event.target.value); const handlePasswordChange = (event) => setPassword(event.target.value); @@ -74,6 +77,20 @@ export default function LoginForm() { ); } + const ViewPasswordToggle = _ => { + return ( + + setShowPassword(!showPassword) } + onMouseDown={ (event) => event.preventDefault() } + > + { showPassword ? : } + + + ); + } + return ( @@ -99,7 +116,7 @@ export default function LoginForm() { variant="outlined" /> + }} />
nHw62|s(K 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 Ip;yxX0rqm1$p8QV literal 0 HcmV?d00001 diff --git a/docs/UI Snapshots/UI-Snapshot 2020-11-23 at 8.57.36 AM.png b/docs/UI Snapshots/UI-Snapshot 2020-11-23 at 8.57.36 AM.png new file mode 100644 index 0000000000000000000000000000000000000000..cb063975d301c0fe5e475b1f5673c951eb521b1d GIT binary patch literal 853966 zcmeEucUV)~vvxo%h>C)O(v>PzKzdgcL+?eJbZJ3qfDnp`NbemCiu7Isgrd@<=bf1q!nHM3E?;E02mk;s1D`1C z0svP?hZhnqoFlzmY%Z4p04{MkK76PReE5(}+r!P?(Zvn`coLqRdR{-Vhc0+UsEDIh zkw^D|+lMDYBhCP_qLr&|+dJ99?y z)j)cCas<)F`VLvr`+bEalt%E^`N@r?)UC@=E?0|)Gvnmd1 zzys>BOpPJhhg@HHLQ*KsU6?i-yrt@s>Y0(ienWh_DkM&ijBQks33v`rywhNOID2VT z#ru}+`D^TSu14sA&Q|o z{;TzpaQg|WyJCCS|mKEuIw=2r+Y$Nsr;!Uq)! zn0pT3=xjLk$M!|?>n#Cs)L6?mb-e|0PmK1K`5xPbaL0KnQha^WW*4FJ;rlerXPd%n z$M5dpbgF@Gv(9#f_}sMl`pn01-XYBNL4}|%0CSo6a9)yj@;t6VG^>YoKhzVU zxVc}|`$qKGuusYI`uU5h-`*eSlmAfoE3SRnn!mWCT~f*KHeDiNCRrH0Ve?OS}-25i2TL(Cnle z<`f1B8+rw0i&bFPIJ%;D=2q)kzeT%U8%^+HnOQoAWl{SQHF*xX*g@VZ8G8fR zq&* zvdC9H*$rO=1w&qxd4{RhIAFodbyF4t8n~%5odiUp@kvFqS(s7`lVmp+b+6={^3?EWfpN}zPRoI7p zy+krXmOq?bz2hbIG{*1))7iWYWrxf-!+1;d#x-!w@Te6w(C)}Lk5S2+Q2i7cguGMHZuyuWNzJTkGl4C zL4;1k=iZ=5Q|;TQhEH9})XQkfpic#!w#;PA49Mii#~9EJ$V81_Q$ob$FpLJmt8JfU$(#HBJo^&RrJ2dC9&&_4Q#Kv927~{foLS7gGJHI$onpomQPngE~$A zUT#KXW?p8Qu(JqSOhTO1K_1yWb5wq|^9$<1v#P-#&7BZ6zCMn=&Xl^8p;E81DZ{gd z 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

uj_*7_o@C0GXn;RDL>L-hIX!PZBA`n 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%0DnuQ#iPve@`6rqkITu7d+gm3@U|ZZ}@B)*NAmg<2 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

MJ{VA|_ZqO4r_>LNj{JqN zW(A)n@DIH@b{@iIQrSEt{3AK>YQIV_QMdg&H0Ap}5i4zYGg$tzdRC!ij#TWs@E@1B zzdDWHeiEhR+?&?gz;fjo@F-6#9(o%2x|**&By;7S*4Nd%;oj%gNxJPfe*EWRKnLf) zUl;$2T;aQ$+DXBtGBr z``eHT2W{MdmjOUH;}UUs)44~x*LqC{E&(S5f@-Vm5fyh};?tqgo4lp_RI;y%@oT050 zcm2TjWl&s2vy|8P=dgI>-!m+3$n3}Hf{CIBcCmLc_M}&w__xDzwU9XI?I26Fjju05 zNL1-L?udQNYaNx|05+cB0ep;XZbG=>J21`6a1&a6^k&nx$&Oys$|7vy%bzIB#VhP} zfh0G;G=ozxmBFqIP`HZl0G8h?_pMy6A3);WAVZ;$4Wyz$EP%Tv9nhqwZMk{s1D3}H zZbM-q=JBs>;x#2R-*P?zV(AUDv0V9}8b;m)Dm5ih88@=~0p!YF=Bs{)k6-T{%u`mZ zePJ@tcSo`IJrwXEXFH7bxVa|C2Wbo1*nC45aoR66LgcW$2ksxWvHtNbW8?Q zeH$g`9;hsac?OMN=m(uoEXzujLc$P`Q8Y*mj?f?Bd4L*|g|}tJ^Ij@w9J?pA+8pc+ z5;5Y+c3_ONJ8E+=E+pW=o#$kJkQw^VSd%*h*Ua!1PGlSpcX+;8ka=7?`Rxi!X8v|j zKKS>%DA&A>V1UNss%ggDSidgTx1zi}p|?e!7YX9LKA;i8WkS=tTygR$Rn|dF9s9M1 zfwE>?T&tbXXJ)tx8+Z0&vNP}d>_I=W`L#@?aTE?_oM#+gAE4ru`jHy^k?HahLNFnT*2EysxAC{NRc=tu`Sqc`aQZ>8MahHzY_mCXcyuW zgg@PSAK0)^bwoXR8s-75ufR#E(tA3#(2(Z@3g9JGMYu2gy2QvI{yS8y0L2KV7aV__%$=4a%IR}6I?fT8HDDXHZeU@=-oLFFb{@m!N zT$u6SGwA;%7iJ16=CR+NGxyYSZHc;V_Yy!wkS81%war1hV`m&1 z9j^sHI*n~HU*2r;k=zHQTD<&I&;oPGUZ1Zu(j=7rkd#D3(^+8&22;uX@1^o$mjde- zp9l3`zSQ>l^y?KZ7)PixvBE!3YSaATIPc)^`0V>S*_4Ee`kTm~s!+_Af7ir&G@CNj zziJ1CV@GL;-_fK{pSC9Gwr!qRhela2RVR>4K3FC@etrJT+vA>{;1@X9`!`1{Ho4HX z7ihB561BO{ylCS`3iL}WtE>VmPDHo@ueeXP@I)=lk|Kd*3_G7>+eEGU6DnxFiD1UdBd<1xbu951zig;rPMxXadJ|E4oOAt4$oL+6 zyGl?E(AtMd-%S;I^Xc3fwKjLwwNUp%o2qeZS|jY!wxZn+gonG|msjp=Q53qbT^hmC zcSL#+d55tkPU?;^^75qy2JP;p?8A3bDm5$g7Ss%V2J>6j$U0~hr>2< zXK#Ob?w@xywQaO>rn}MI+aP zc=pPXoPFD`7&2*-ipmSt38yALzw<1OGrV>)*0X{+!_3-;xxz2g)4h2?&@ORYE^lc3np(@%f^=bNz|;O1TvtpvI+|LJ?D zY@P6zA%G%fC+sFm{Rkaf=OpU^A|pe`syJjM|hrh z|Fp5B9)M6)GeW176qu2w4~C3%4^|Havj>BPvN8mip%U83tcl^NE7`X1MvO!$zSN5P z33+On6VPjf{7`Kk7%ixcnY7aN`WjQ$JMg_kK3q;=nIQDsetm5TopMLO##*3dW>p90rS5Y)&*v!v=3@?de(1MX)wC`Dka3Wlox^?ryu7mNGuP2Mo?Gv%TgSi1Y}pds;ABpBzu z9jUa#!moC>L95tpfR1z*9h)=GX;1gheT7?v-b2TN+U$zQhM4zlBf>qU~PFk?$#W&iDxh($}|yu`?=4(h*~8MCYdzM}}t&s_YI2 zI!}_~#a0%=2RaF$q|e%nNQNS+BRUh;AxNp;V@#6E<~uqfjEutiDF?Nc&E61Gft zv7Ty5fptf{meaY8r9J>bP1Q?g>aq&RmG2j^K4$@Bx<1MycuB3!F;SfYYElQn?t=8e zdQn*bE+6qMW%HC66!kc?FgJNQwXAnxI{~88Y)~3HvTIB7;SG=+0?h)eL+A26QIaBw^n#}Lv8+hlDF+Z^I(2y|9 z`B6nQrMGY2^OB9d(Vz*iJb+4ns+%wojs>GYjx zF}aS;imFq+1-@HOx`U42$$mREat;b#7a^hZCllwLY;)5c^CgOBYgNTP!j|{rjq15Q zcB=~q=X6=_+ibXZi%~pt&fd)L0vE}@US}To{o=By8Ytm#@;_+eFM5-m=YDVd*%{_U zfawFMgugR)*=^U83A)Bmm3%rDbo`!t_?RnvhE|gg^kDfH3+=w5@(sXj!uX_cMO6{} zbQJWFrjHpHLu>Reg6%qsFth%33GLrZ(p0i~kfAG(Fz;afr2A|WSK_HP>sA5wQJiJL zBUUAjUM*6?NVNK8++A>)k6SJ7@^2i!7kJMV&(wsO$2@;yLyzrd3}u& zx>b&>TRK|^iHARs>kMli2)i7&xb|;oVIDhfv+gB#ebKk&re>A^Z{31x6Dlp6_p(XjEq$%`MVp&v#>|#?* zhL>=Bf&?vhVpdr-GN_%O$cKyG*{1CHB3UWBx(`H_((F9d#5EueL4v|ixEfwDxF&SD zC{ykXx0Yy>>YOR=aD?=Dys?5D(KXc#Y;45wHCJFOilRIQ(5{EvC#|+!8Cu}?UpLB* zi?|Ae7V&;UKk9yr(0-A);kOu*isrgeSKYUOTS7c{0Q94>xekfy6wef2pl8XGsLkB7 zWUBgn`ID`@=6BL2m_|r2c_)j~H|yc2?J2Pd++eu_ zBA*&294KEL?AcTC%)l`6iWR2wro^GD&wAC4#r|8{W!>JQoq}P_5<-p?*D#5?WsmC#`pXz>7CeA{EFujPm;NyUw=!JCVuS>>#nat6yhz}tWF?MsTF&rYjOFQEAv_9)y7CxP=( zZaYmphd~`*-*tbtCg##-mG)IYbw<1s=|bMz&2z{N!zi#9j?_LKjbwkZHXTiXeTm?` z$F+nGB-&g-b>&~^ATnYO3n+222O*_U9N>b$bvTF*JXgm2f;{DWTMp{$q0(xBZ*T1i zQ8sN~LG2Umhdyc&H&EyDDa8{h-n%7|GZ|XAhFN-XI*(7HcC%cEU*8)=k1whtltr%X zhu`s8WWV5WnV-zggG|izTX}7vQtQvac!c+D*+6Qho$?9m`Um1Iwj2_tc~J$;c^E-o z@R4KmN6;)cw6BfwNE~66PS@pAOw&TV#}NM#Cr_#(e_xZ*)_X?m?AJE|c&a;w)^{od?;3re8FXBb3yCT_f`eqpd`GwV=hLF%dtDnsBS znxZg)J0Q8hpkEVif%ADBD*KUI=Vvr395~a4eC5Q6D(7iK@zA1SZQ`CgHyVe%uVs$H z+2R%K;0h@bjg@=Zx32;^tY9>tP?Lnv;iiepo}YYHtKip9ix|$ei+33D=AP+jgILR5 z%|}O5)LfzjR_i*@FS_#GW|x)(GfU#Hw6Ow3&0e)J=Q!uaBvgo4q$%xblb>?;&%hNrFVolS2% zRf?rEfa{bZv1uzzVX*(h9RD1fZ+@U(`l?t?S8gO}X=LI<>*x2WF@6>Z*Z4s4C|On3 z+CyQ~v(C8Koo17Fm?E}0E2;!o*quNo!n;B&B6inx4t6Y_yIx>RY@LIh*yRFTshz4w&cvtM zrPn9yK1jb+fe|CLo6yG#!i(K7ClSAK$;@Dt`fyU;re5boG{dtH)2nDSYud~soB=e2 z@Q7OI5+hNqmPCe?h!J)-SW#*DB9Do|)@jktm%g*>cA7X=-WK(dot$H?Mm}C*lIu;oi^7W2zxZ+E^-b5KOk=NR#b8e_dMLQOziDLk2cJe`xE=};G*hT zhXo{TRx`m*Kz%=vy-DU zsZd@W9*jJ+?k&}i4j-hWK_#wWm1-2lUVxoQl#{dyzwC2#xSYA*Nh>9=TGi?PZ^Cf| zb((@n=ai)+22rUxHX4@qYQ9g;VzRhxfDt}4?aI-BFZ*w1vsKLp#aae?a}60yB_dM_ zg!0uq8eFyWo+iH$qD~)SM`xkKml%dZp-1}K6s+9bZ*jR{;z--Xv4pjGd9Sfp!+QyWs~UcMyV!et#HNy9 zPA`j_vBXM^;cJaD=V-Z75jRIBX5|v(F}V5ID$1I>b6~u7%ZaVSSI50sv2lU8hxXI0 zP~JO-pzNQ}ih zE3i7SKNCFBXscdemPHDUv0FWSTW9mquBw#4$rNh#ay5Q_mk43cARDs0elN)8C@q)6iD82Y+Z1={9%r*Wi7z@{C#$2a6sS!8*#4=obl^I$c3hbk~D);bMrh zQC&FQ8~LV6&u`vmj7N185^a3a4n*T3lmZ_bSlX4C3pTCcEUn%<(y1sCZOEpJQT1IO zw-c?JJ5n_&Z-!@~(*Z<6=G)z} zf9_jaK_=jSXiMTCDbP zom|RwvuFzv`Y_rlRukTdOJOiPETSfS^?QpJ6ppDjP`1R)q680lM3ZW1f5JA=erY@F zo2T4kaM>9P#7d~4)QxX|2C}KBYSt3UWK&|8O~2JS+54a#3zGF>wuy&vIT+4Z2TG$$ z36i|~)r?{^ACM~@MxLYLMyzeY+ld5;!!@FN#)y>qa z3Gp!eJ{@Aam+HEneyq&1y?9N$sC2t>oV=8Qbq9#bIgQV5Ad2gErQd~Llm!2Y(r@!4 z$~F!XX!)jAkQQnxb~>tMT((5qCmz0}r{f0;on9MgoenLJwTuGo76;ARsXfXne|dZR z_5}-0ZGhLQ0o%g8vj%|3W%LCs`G5Q2!;p8e9%g1t@9&yu7JgDs3_+I-C?g^tl8a+l zFFa5`huOXvW0gGrE_C%CyT_JvYoUT0$jEwyI`P7-4PO`%ANE*v6&FtRS#3_xzEA6? zl{-Vvmo@o0lrfQbC@HQv9~zr;&|XiA)cRV2Y#Sd-PaIA2FG|kLslJgU5pX~G!6t~s zdKD;yYrrwKiWhtjJ7~p)%2-7gsRf?H$R1}wL|Jul_e+YKIewO=Q4rgcT518YDQ2P$El_;FxQ(VC*L zrA|8cx^^2hOFNL%-W<8|a6Z;P6c!e~{v^13&aJA1V0XrSO(#s*kW>&(cmU z=_XPG3HMr{-{Q|g!zR;_8CK0MjN1HB7z&`xmyf$Mko^9&-sFi=f z>FLO~=Y|D*vmX$ROSmTT&-(_7&Gvk!tr74W<)thfL&~-D`}y&%&Yp}ocURUo@>cJ5 z<$bQ6!A3sB)K-w?oPOy^jeK zp5C#IfW-Dkr@-J>or1J~UZ(&k@^}i~$E*8eCf_ujH(Hv)R3%*s-7ara zfvFdXpy;Bf0tJ@~p6-A^9sYNRuLOlxIxs}R6Z=;yz?2|;?OSH5IsWt4@ULjs0;U#> z#!ctjsRrdOF}SmbfDl^>Bcp3l-CSwMQOzJdcD>PL?%iQ9b~fz-?%bT$m**ryS!VYk zpYYQK96A$0iBk;_tuP%}@p6vfIqXHFDfA&G^);FAvzI*Z6*D*M5^#e9u!Zw3G7a znNS@`qHCT&?1A#!v0O5P!fLL2<*5jbQ65wR%HUOK?h~!N(kaSH5_c%;UF-~*1Kq;M zVs}|-)D`eu8Yg;zmGvlZy?FPAe054Mo&WZFMoShVh~;{rwmPZHEmChA3WEsm)3gwZ zUC(^B>G93uQ+p^kR_rp@Mfb{;j@K!aGKyNFpM`olAApKgEmXoPGH}MrF$Ba1l3ngw zQ^wYDdyP({JrT8$5rslZIeXb#a#3ssB#l;n z7VGsL#vgAeR+<2Gnq$1Q`ZlvY6}*&QbXu|c7u;98payDc5X8f9eMC3(t*ZhnN7 z&(|^-H&--K4Y&21g`Mm-pC6{NNF;XfO9(1VUn9LL?=JGLrDr30oz!|Aws)^GX8A^Z z$x_iuuR)^3<0@#T3he8h%|%jvy}bj6RFvQCky6fOj^b0t_}lOj_$BW90jKK2b{6Eg zSZCseU`r2x8VG@sAFGt^&ZVa^dOAM2vnnv$26RvBQWlFKmdY}!%sZ+9L8~|?jB;Sn z!wJ4{wX0{6WCT6BIkbBmQ!hGtl!GsAVO4y>T@AXdB1+ah~z`BI|uMlrL&hG~lL}&}&|nEf70- z=yf(8G|@ZDjh%n2790|9rGm0*0VBeJsZF#3ltuH}%Z?^$7Jz~DZ=27g1}~1h*nTAJ z&rN}bXk_|l&7mN=(MXje$OA__ufgm7E@E^9WUF8fz*uiGk}VmciWo)^zhM9^w?jQUdV>g`q4%bP1Vi&5>4!_mP2!M}ECx{M*{a zpx2?o+CWus69LCiOx!vlqwK5XXwvGOY~vaYToe6pw2JrSN#wQ`{Pxxp=9OI2LSM|M zXu^;4=diYY_Oy43-_9Z>H*75RIABC=b(8r2(BUKgg|$bniE;Sc1!$(|cS-Y9qEPp5 z*PuWDvVD`EcR$2tqMU4_E4u?EZ2VpEUp_GeLN3%|Fx{w+X>~hjq zdOdsA9dxwWHIOBnpzAN*I?Pe~9)t;5U?@!ZzWSs5Cr5xT=U^3>C^g)n6G!`(gU(}p zJ?Hm)!A{Vs;ZwibuKJ2d3Vp zMzr9g>`Q3)G5x0>=z5F`+$!7jy2A=9Jh2T_6mGJ8YK}|8`hIiK=hF00oUs{yE#TH5 zO%XGC9JK~7!HJ%Up3pR3jCLB0Qd3RLU=DPG53A!8p>cTQIocx|3p7L}TyVlyAP(pj zEUycG`2^mMJ-HCx^%k%EW5qn05b6vM6c)H=0v$T?U;+4?U0U*Grg^DiXP@AmoA;Qf zalZ()#C~eRh`PVIS{jFIX4ZUeb;XYmn@H!coI4vN2n(!@Nm+ir8gaqpEuLWfZ& zl~DedGK~QizCAPXlivpZ3%|_~WKU7npD+wb&Aw`1_{*Gzon`!38FaEtg5m9}<5I@} z)(VVuM)Usc+w?%7d)nW?5>T`__4~)iLWRl&xtq9=7bgzpd8lmDJ?&s44AO^3>1^^? z!(m7!ge$z3IqLbq;*+<;@NeJ7TQb7G%0Fa5f^J0Lai)Tnn7h57TRR+`9eXa7L&8)z zPZvuuU5oBTW52DHU9=@t@730oivr+Hp^{UmuiYMCQu0}xPC4*7M(j9}K6E3GkH^Qm zK{N%a9r9yUum(h_hw-Jkpl&zu2RZ{v)y)|%@XT?6V9^z$0RSvGdDmdBw8(){NzElj zKuWZ9sSvoc`C#|BWI3kGMtKb+KyzdkG#s@zuulpGOJo5HQFunms(^&dkP);Vl3Z}b zeJe8Wgh%ANU=fPU0Rnm@J}#;qV#C2e-rsRd?<$5BcJC08`I8@zmM|&+0+g{XrVhb~ zU;a>jTHE}2ivWzzDngDIIn4oN=64Sd$QYTxW0CPDVy)5A+oD6!ALqOZ$E_T7^ zopVDb3mJz^%sXMGrVWOU76qK@=vYxd4)$|g=J_pZFsVRh8)Kjw{bU$_>*UR*3(B7= zXA{=nw^u4#*Dp;2{0bg*#mD{f?H>hN;(-0uCZbD$T1E=jhG#=jsAM_4aclxt9rxPA zK%k!HSj{fxu>11c%^zjw#;Q=0tkPL`#-urF?- zh*xR?0Sd$;@&MDaWF616&ocCsLwr&-_0bEzMKD_*Yv+4?TMoK zttEBK^baHCzGuHMLh>plO2qyN!%n7I@p*G#1{#12cm&=~f3UXXfYWG&F0&qV6~>c+ z1Mg41{hL2%CeT0Hs|9r4%CC9}K0wNU*j08~Cu?Z|;OPpYE>{U5;%p95Z5HVfVJ#*#HAQnwnj z21$AA)$80>#MrFTjA?<}5w@+Thv@<(1&o)MzIpdQokrM~O}kt5mAe3Xj%tBGRPQ#( zGE#d3AXj2D0IK8~(pC}&hiwVCqLGJkiszo=bfKuWF6}@;)Sf2-6iN@BKia#`KCf~( z3qa%F<^z$~mHK$H;!8K6u47Yc%+a}Ilz;bZHGl+K7k%n`w(YGw(x};Jy&sAmI@mtF z+^Wm`WA538a4~wU6^KPY#b|6-spacFSJ1?*Ay%TAAn8zTd10Af)f->D;^bw#BXNM- zD{V32DVdWl02;KT5?z)LYPP=P)MV4VzW=3MbNSJ-d#aoD@&n*J3Eh-xgNn6O>wXzA ziR=?|D*CN*7yV*jPEEzLopMopvz{M0d=eaKezT3}nwP9z)3(fodhzL{Us7H`9G$Rj ztpkHp!i3y)=st#;Y_AO6aGsdct8)Kld}hU4oAOmQ6mcqg3LRRol){`Q1lUe<1*%1g zX}gV&>SGM2mM}BrK26f?;TL2mcc3HnwI2y-w*(BM1071Nw|g#4Z6GSRRTCnKs*b2{rtbZ&BB&0?hQT|*6D)`f2g_tFMfvP9 zD$)Sc5j1v*YV$sr0??|ws-1R;WWX6l`tEFy)!qO;?b+9nfk5m$c~X%_Q`8zUlhyMV~}x*UN1K0?_M(@0U8U;LI75DWHjm zU*${VWx=0|!_nPJQwTH^Ab#lXD2|20ur7I!59f|no(#FT)0{mI)Pa3S$SxwtcouoF zU!sg8`__E96H(^4oSt70l0bk{5u6 z#+O@3kl_NPvN`tA2hsA-JA}$ehef+*Ygz#HDJ`w0{!x*65M<5>AgF#bBW3}D#oG8u z8(fk)r1wm#`P>_~syfr_qy6ptqWt|PTijD0plr>l12_C*yj-YzSru&34V!dhxwJLU ze9l_OJ$#k#pz(q+B*D8^e8sugR;22k8ecsCfPH63UHfF4=9yUi$FW2OYlz#*620@5 z?CZ^4C(&|YO@w)X3*ou8{K~NMn>s+)0dt?V`MDAJ6kw5WwzH!NUvM#q% z_36AvYvOiv(#L3m41LpfnWyt3k4M@jD; z_Eg@-Ym(0WqU-5gTek+cLJX*s;b-6Tdz*^L_+(l95 zTzq8e?qC9rFD|J-*cY|0o{%sHhf=wbA+~@;+(i`NAFFCyPp3k&Ucv7?C{kzD_u`X1 zhF-ZKFaw3Kd-PaU@Q79V@d*denNyhH7IzTjk3PhH;d;~VFL{1j)8VKugPx{6kW8^v|SYZ}A=f0a$$jhEi7 zp{BU2MAh}G_ZI1puOP~>(-}MefQwO$3+p1wD8j7dZ>mK1@NCp$*8Lkyz0x!R3dfPI zzQ9}gP5=$V!OpB{x4{Q-=dT?{Jvioje>sh<#KoZ}?7RIk0a#xFVfIp} zK)$R|{Sa2vHuTo6mgA&rM6+)jigWQr&5n#}aMi%KVmxhDvoV|ieHQ{6z^BBsrp&(t zNJTXTLW3#@3wU5{EMnqX0B#m=9dRTU5BVv*$X8mGMjQ)VsG5vraJd(HcqS2Z5Bp-< zP7sW;WxjV=*Mrt&T;kOOj9qfY0NEPs=(o|!N=4j1bU3QC1paJ_g&K?hcA2ZbS_MDu z4UW=xO^?Eqm%&Ie$v$lhG(;pHuIg9llP9s-Lgn!mYFJ*_ImtQYIW_&u23I6zS=(nb z67M`LF{AfaUbEayrE=?ioG-@epQwK}KH#Rk<$lX6M0GP{H5A>ZnPxH0LfSKj^xlsJ zBE&F-dzK~8hThbc z`DKH~40pSfF@mOvi}5BG>5=I$S$#7fMmpk~9cVj3-fSitWSGCizx)z78CxqyPpro+ ztqn2yZW1?Nz6H0k?RZnqm(mLazQVI)_Msz7pZQT2Qk?1-3Z~<&Bk=c~->?ruZNDxL ze$OBGGLeLict2=34bH^sN~rV=s^03YEPq-&_!49)Mvl+z#^E$d?c&CRD<{v631Ld2S z0-p(+3I>DLW@R_Pw*?t}Q|4N~6gC{y)7Cy=0&9{*oJ5!f26hRC>jeA53ih?AogSmx z@B4-~jh;25OJo!isA3c(6|G$X$NBKRrvtS;r1xY2ZQPc5V2zEHL@$dczc!%# zxk-VfiaJejE*y@!0c611+UMK1f~{l_dVP@W{c!)so_lMTI=uyh(Pc%Gc-#xzOd)VC zojK=9%UoKF&&t@rCr1ycAuOpn) zQv3-Ea5ruVdD_JnZXP5;fx!*$0OIrN=?kY*Sygy*#RJZzdCwKJNg_@#T3l56O;@g% zN8<#tC>OXGZW&InYhcr<;-QyeIPSeV*{p$QGn4LpKv9eVk)rn0Kl~3=GC(-h4p+l?CvAyZf;d3E#>3dL?klh%X8j)L%K8%4gsR-OH;G2%U0ic6pM(R;Gn~2+`TSy5xEX z*R=o&U#lI^WjLZ@dMc+#KU;U{0`WlFk!x0*$CF*6uh=g=%cWjoeEL$Q{22kXSk*3Y zBb#xLR1R>@y#~~G(cCkog)Q!2HP#a}l=~7fECVjB+9Tt4=Nu(W9RZa*0C&fa>h5P4 zeno#C6<$TF2u^>2+{*7gQhe;gWs>-mK>vp?&2jR0D{F@92@G}F&5m6e;qY^q61AGJ zFAKm9<{EbAHnKS1^M{9E<&~jcwthK2VgH=xI33sA9*ITXKovplv`G6H%~o?NPexc><0563tpc-OU-~$MN>PKqB#_ zC}!Inu&sx&*C!xPF|FP)r0gSv%6tfUOgfM`M4=9*pDZQgCgHQX5_ZHMSNz@>?Gzvt zt^Pdwq9**-H48f{Y~kGjx>J5TR6j1<$(# z@a>Cil*X5Y7#)zuq4Bw)rBA)X(R`OtTAnmMGo>3NKnb6N5?jo^5q>vsaZ|A-c>b{h zODBz=y30$kh0`{(3)Xaeba?bSuPt^FgZ`vzaDs*8o3=Qv4@ul??(T&>O=o+^6QQIP zz%_g%fa^TyOAVJVlQUn#oWNGXK{)FHO>6W_%G_7on|HHg1~a>jzEiEhmG~tzZdd3o zalgey|7c|O0-V?^+gnOT7O}QBXa3N&RX(EkU)`IM_hc~eux#95(-sE5LfW`2^kdow zii0_`-Ude&+o$1?*};B%g%iLJ%8Ap7xOG%7Rwd{;7mwwfS+TPXI3Fm1nzj>!@snZNw z477S4H%PGfiKJ92_ z*Jf#=HzCCBNEsoVj1KpwzmTB9yyA9soO8l_B8Bur*$x%zEHvCCoiyEc{LwAy%&C$Q z4$L{V)hFgu)8#82aO;8#WhaoauApaZjz)ZO30qlPAwcFt3srQ5sTHrR-aUi>7@Rio zK5{e;;RqFELf$;O@@kIIVLp}m$=6un&WH#JY6`4pE%$UA!JQF{n4%Wdjv{qmU@UEH zQo=<}vsfc(LS6OaN;^FTczx_N0POfmm;oMEAr!l+O0hrm7KZR^EZ>t$DzST?5c2U$`J9Mk$USZFI?z9Gw)q5((EmXFiS2v`swLN1YVSXj^<_!9j&G>AzcU7RKPEvcZZQI z-ku?Uf&g@Wh>UYJwk$eYii? zJIasL&L6miKC?C6ukf2PFzY<2n&6q2d?sIKwEcJ-V)6e~CMKlui}UwCk%|3%Tk21* zn>L8Q8=>{q4X~~V8WO_Je0p(R7)=8%iDxECJ`W~?)DOYg$}>dh{68T@c<=8@TU^tA zgD&<03<&n1qi`&)2dzX5_UDbm>D2Cam5?_FxjnHA?E3i6$_CQDX0&F65LyHM z#R*7*b>J9eIpY1^f<1}ViC>GT0#xq%I=!VIjjZ>=j-=l5L-+H&isbic24rWppwiU@ z&?*vnC^u>AEEz>T{ery&DOkX>WV40CH(fe!< zn=KH z$mTGYEG;P0tXhQ9UECNx0K2zsHvuleN9y&z$%y$LS~y7!$x$O_ZW`^C9|FNEx#%cY zTE&JWHwR%C8gBXIrf0Gg&&HAN1kKIK-P1{E;-x@)*Q{l)C)rn)yu-wEU|+^Rdef&l zcFcm`>3Z`*#ZpQ=^OIFBsh5nVG`0OSdpHo}yBKVX_NZdocr6a@g?j+zoBZ-5rd}hC z+dAlM{@XGN%l@fF6Z;<2)BEk`tunkkwUKLD?wio?9qVBKGKc)ReVJ0cEa!-GH}pB6 zq`0%)_$Fx5=lhHw=#L%9G&~M_{$^B;xmFB0P_~0deDZ$sbrW#wey6#q`~zri>nPe9 z{xLuFvXR9P%A_j1OSrMgqPdB_y%P~|L;&Ez>e&n}wCQZZz=O1EGX6Ta_=@`6 zU1>*KHh_z7a~Jq9^5+llWe}vb87Z&~kLl`sM>~^XG!#$$U#Vun@2EZ`*ajDSy zuo16fiEQ7ukgoZ7chCk7!(?NhI0qiZF@g-TlEYYQ;Oj8wi|$cc+g7%qJgZ_$tU~VQ zzK0g9KW}=cZ0vlpZ;v-?EgZ!(XP?V6oLs=FbXLNL^!Z`3H^;Amv)kGuYLA-Z>JxQK3t&wN9odz7X zP=PkTA@5*?&u}hY;gMI&4|ReDMRQyIPerX5i4M3)L|Eigph_`S2=qbIDYbP86n@0o z`W&f~+b-R1%@(O*TN)|@H`dpUOJfa~+a|cGs5M9f7Dlm}&VHk_QfZXBs^Jrg7fq}( zF|n}Vnjw8m@+cW}f6BUDXh5KlT8m|geH9ViHj!jSG*gHjSu(_^*I~)5XT8z*wbOXY zm~`+UQ))={)Re+nz@Y(6qm9j5wI5F9^-Z(v|F#sIz-mEE5hm;ms(DzT2UNIS#KW%us z2i?D7S_r(=h=6z6FuiYYfSFy25&0FD@*G4NgT`zAGU7|c^jGH`wob{|-~a#iZ2y9L z^iKeTUIRSG!EEzuSYe1gXH*EfTctP5gqyDdb3}5D=R`7F)$$ABAdq(WN@5Yp$~^?= z7J0-NXpvke$x$&11*gFv6#TIX1}C=o^Urc&)N<-TcQ- zbOW65PVdXj6M*PWQ8WNJH_n0WnY8b1znh82Cu>gD{U9_oo;)Fs>0|<$&O2}rjfIv1 z>&OZVb`D1PZmxO%J;ZYPzkCBv_Jc=7=vb%cU0=;VNLQx!|G)E#Kdmuy??0HnhNStz zGF%ld(IaRI`cFe(%DWe&BiPQA1NIoZ4hTZYAA4ewkah0|z%<}RAo%4q-v^n8S%84Y zzYaGHfBVI7<9{ARY>g)0Iv&cp#jtQeoXaI(5iu+a0pWT28*2->Am-w4*X;SiOGbht2wUC1^wh=9Kij>SQYgLg{*j<4K4}U;*Sh>IQ6%<`XR!pjB~} zk7j#z3y96cw$A{v5j2(F7wOfOUI!#K5~F9&$Nji^*0885QgSuB=uP}v|JdFdV_*Mb z`~IJ2y~aaH8=t3Q+o8bK-wC@vzlgsHKJh#AnD$?Jy8^$>-~D-`_0v32^Iv+&{biH< zoBvuq`5AT0@UOg*{=Hk{r*l6ezXSf2_xYb6`TzHIz_p(V$Naw%xBt%*j?cb^fVJ(X zUQ_u0ou~fCHuVwu#9v9@bpKikV;hLv|HkX)O6A`??>~-_zr17f6nx^Z4UQ+jvc~_H z8yx@F#QU0T=)!k3FT3h5d;Q-(`!%P327I%;{NGLg9|yYs+Zy%nc6{*c|L>;%-^RE9 z+w$q}AAB&V``=CfzYA;sznlI)G3Mm|XPf@v&>G0KHV^5gpfJk)r*ccJjKFxh?g7Ba z7i6U0{mZ59_w(82@lOYGuJ1o`;_weUkY`rO(|{;sUb_5Ma|8{A4(5N=I2Ept#qY9v zXN$aZOrrZnjMN6CMe_l2PtL8xBoN_w9Sr91OI>!E$#nqNCcB=Lkz4~2?gAln+=3V& zVBQ&&If++fqXnW@Ln#omS_eVk?^LagPkn*Z=0kw^{c7rDn6m%0GsXMOP5q0|b@=x` zHV=OK=7ik-^}e}$axD0Aw#f64^t}%N{`It+Adlh(d1t%$IPcLmdy9=8Cm_}hVUp8@&*Rp^=9 zx)1@H4?*+LrFx@Z*c62JhTpGsCyX2$A_JUk+7@7g9&+ot9%5u3Ezbwzn7a)+DjXj( zM9(zSDh4)uH(v!>Q_<|=4&&mNcYv32zA&!xG~hc{<0O6nd9yN8j?MwsW(VgRF&A#3 zkupVNz?!Uw`jfy?`?~37(7~&45Y;gL)&Keh-$oGV%qI)Ygq$l#*f~}Rf*1liSa&Xb zz7q2{jR9c7{o_&*Q1lP(V14IG;ab3{g~=eHJS}e8GeD1P49hYB29sJ~^EEyjr^E`n z%ph6Yubo!CAADk8FqnVbFFTL`f~*wx0fo>Z#i>I9FCZ()mhd7VN3yT-f_!9Oy%|0C z5=d7!1dJ80%XLAEZXU2Cb6#ZzO~_724*?!_XfqT`Vg#1>wnVS6g>3UqT@tS z5Qlqj_B~?N)Mw${l^tj!QG8r&sx(s!afqR87bppU0ZO;HXS1&gSa*knq5xE+0CPTu z&c7P(F@=H+$3ULBK;Z3>?1A#zhd}Sm#pq`2m4tjDaV%Oz%rCr#@mY8DV~uw%`@YGz zK3#%Nw!>p!d-54oTHl)x`qMY(57$!psU;LP{U0Y_okJDbUH%gwZ>OFsuSdXX3EWN+ ze4k|QF$n^7Y78JJ={lX)`eBX&)3`tRwhivbqdN|a94ydby>b85D*fu~YrIkEdB@xgf-7p3m5+9otcjodvEPq}zb!L{}j&B?XQ|Dh#X$ zNvklxLMpBT8(U-HH!T*}w!m-}D~$7A6Hmb83qGF#z!j)Os~!)xuoUqD$uhclP`qY6m|0!PToUr4sZ4_EW=I@mD+Bf1TMnqadp=jEsz@ z7C<9Uf4B>Dk_0`$fW_MYa#6$uu;Cyn{Ywy7yKKgVVDfPoEaUe0W$_a5=&^wTsoAaf zSLtkGz#45e>*S4;J?FDp&lPc88U&Nqf3(#$}Jo&5{CxXjjhvrRm>p_y*nsD3dnvwThkWIKmn}* zc7?6iC1Z>SglBt6A$s+1`*jant5Qbfb-N3$tk|FwpU5m5) zv{`1Julfk*aTm%xa>P!X)I$T({lK;1u?n5VAWHq?lz}wOAoMTs?}xr6CxEp;n-DKS zAo$U5?}BhLWt>kSA7mqH`d#R>5UBfxU*61u&8GrdN4m!f_>%7(;HpisFNXA;$k$xt z@u>0aC`gt$dyoA@&0M8<)J#$`e{^m|t)rsu+pX~dM;Sn1 zhDK^;Ku|l9G~A1f@l~q*DQD>5!Igct2mCbIx<0-*3Io z`>gZ+^Zs$KF(>J!(s_rCU)d~-2d5rwxat;VJDyMycj@KJGJ^mvqfm%Y8`{+^JC zMVf_&*hpfrd9-M|ej@8iVsnkpIZdNuOU3-rlo;K4-SR4*OZAH029XCe(K>SXD&;{M zZKtPRiHcS2TKu4t1OkDFLBsvMkw|>0xAgc}m=p3i^m41PzIV~J7mkjDwn@bfkL8() zPE+DmPHyIf+|FBWwl3ypEq$l{IfA#Qy0VnB$5~0&gKI@Q-a)@Mr)wwgV^~xC@O!X?eTJ@6`_BKUR+w9ajxCBduxg+;q*QV8Crz?U){M@80L`L`dJ_V-43ci&$C zKJ5%`H+JxipmTlY7m~LPY$AFb3Ph!(AMbssOPLS4B!O8Je6~_hg`We#$774l4=j}Qm&~A`B1Bc989#v`d|8fwc^*8ZdPfj@>aWm) z7y;j3wmm|Nf;hSl;MO-Fgi~~2G^7N0@G)j0>*XeB>S#G!*2R$ppgl>}dhojnByn7v zG1R9lhO#{9dK}(XlknRb!Q@JuMgD#`i|^lY_gZ$psi1qP^tdd?5@3iWBsqs^C)S6* z_0X?0mK_;epNKG)#a9bgaNrU6aLW`-_{&_nL5?%tiP0bWiSRy2+aG&Tw+gIyK_Aj2 z$+^aMLV#Y2Q=IsGX@roRvgtc^I(e<6SIj3td-o*Ug9-)1$U&~~BcF+R_8|BB(P|cE z1Ny0p(>pUETw+)KcWs58mijey&zohpANwZiBxyeYx zv$7A}5&J5Z|Fx+9tnde~z`9{<5@Y#V6i$QY?9kOqaU6fgnKBq9Z{_uVUf8R1*|!bpyQib3NnEK0UR$^MWs1hI&~+=GsNbjZsOD}Q15Y(WuOebL{7Kj{C1|=EP4$@d9puYw z#kKCoua++c&NKq`UZ4eJ%E*(toeh>j^x+aY zYbS_gyVAxHxr4SxBW2L^-NGv$F)zej;q(sm9v!c*KL^T_RonuBt6$rTHsJkChduZN z#vP1~kvnKC@YU2v_k_GCOm7v2WT(L;GHOw39saZIZ+@yP-JC}Y*mk}8y!09@F&9bJ zxnY6Pr!3HT0^Im=tDFdnj#PQc8YCVg^<~80M1&%-cbUMwi|Hnl`H1z^f5(3pMPdFi zJjWpNBW@W-F#}ppri_P=Pr;zWx)^A29t-Fi0Ff&x_FG$2CISVD)oR2Y;iF(cq8)0`QXx~UIl>YKS8dk8W3^T7vit5jL9WUIe6N)q}VvYSoQd=JgyP&~#`!S9Y^?mF+v1BSi&35x)P?a1OhRKvN<+g| zBH~Dru=;zYsxepNpV(23lrlSUw2YKBpF4x$2g0%0QMSsz5(hq$fMMe_sfTJ+0`-@Z zR9~y$nvkCxF5!8F%v{+Zre*Xx*-S_1Hq~5CYVk^PW6ydJqSf))eo)8a;_*X^G&c-P zpvL^zXxk+DH8uW!yEe?AWh=SL$IGzdg4dW){o{vDt93`8C8KN8p7Z1U?Jpm14Svj} z`O@AO`R&cUA7ULlTg!dLf|EC`cWXYH==HfCX7KhG6bq0WVQ2Q$=yHEOm#2+EVs5FUFC~zY$ zqT1wSYJ%s%vL{kIzUGI9pdb5(O#%uuk#I~93Xc>ktIV5att=*Vy3_v?pf-xOY^4D? zyW45!qOa*(c{Fk&akf4#(yWp=qaukjKbV<+3)I&6B+#y8!RtXGa8qWH<;oKds0kmR zaNA%E#?S$yu?nASlq)sBJOb}gn==AVcNCg!0GF`wAJ_sxIXn)%wUTdx6`f>a{XRN_ zBF?nxfgDVRke7{>SHY@i9H^=BR6Ee`B#}xNv6OHOYeearWtw@7EmYGjM4lyFI6PoG zSc25Ikc#4#kY_$IPOS85A5GM-I!1T`a({TB4A$gKGd_xtmvxBpfIQ3|jOB)D;x|M- zOU&^=mft?o zmSy^^Rsb&wob*=QTBV(-t<2WIM=zQI0J1Y{77}72f%9zh42PS;dTXk!ixMEBH z1*k>~=sq@kzh(1^b?Ao9m{V!4wfE&J2sOGERC+a<(@B*2XcU})KOt9w;G*-$G?VE! z3zhRvP*G$VrksMj_FU2g6~H-Heq=lMc$^q7()xAaf}n!vpVd*0@82$vxBuz_ zvGyCgvp{ph}-+R4dBTEqGz2fKYxPyy9z6k5cI%Oyr zNMaT11#;N}6b!Ulk6vrsZ^u@ktp5UWc0qY1J0P_o8O4PTk}waRhw^H1xJyy55V|~= z&K>mgZ)Es{vtW>>Ecf0@0xUs(wd6jo?P4O_=UdBdx|lX&eDwEm^ltO+Alb9M{x+%i zsW1PcR^b`MoW|FkH2dIv{|!L8REeHYMZQxkOsZuj85_ACT2D=s!K}a;8I88bn8E9H z%oDFhehBWl%PPpijB2o6uUHH(o0DQK^`w9Wy&_1w9sZ8y1!YD`lp@AMl9R7N=et7E zllRE|E&pF}a^o|jGj&K})xu*MLycj7ZYT(D~tPsrY# zn+5mY&DM2!T^TX-Bat%gF6G*a5I-v)1JE`;k3C2Xbc8Y)-n}AucT?S|8yYSrjTW{W zP?I;?4}LJ^mAh`w1+QltvZ}MHWlZ}Y*ZZZY(PG~#LAf5Um*#(Do7vXtjxM|Dv{q(q zZ^@dyGcdDet$lc>K=fuwHNyM$t%tW!pt3JSv|)_?f2;J*^aCkpp1b<%ER@6XTz5!Yi0r8SZbunOR^(q|KbdiVbaBT8y0eu&# z7=o~udBewpkI15E6JV3;V!`%7)wNO=-_K%4h^PhhheQXKf&`{#`I5&5(wD(N z)sLCw4*$e(IibV^cbU>QC|6ki*<-bj#643#^N<*%6hpK;HOnZingHrdcW%p+xe<0Xyd(Zh-sEl{ z*dS>aKG5(Q+*|ek)%kh5Pl@ZI?xhB<@GKW_4OB#UteT`NDZD#*w4y+TZz#U@kW289 zP-?EJaK2K$s{ggpr012EM*GMaW{;ik$oby3k!$v;5Qbb1R;7?k_k3MabnN%p@tUoU z8?20K2K{XXn)?+=Bx@Hti=UMl2#7Njdj6yL{LiCS;v&GMR?&NObm5NG-ll33%gY~U z1T1zE)A|uIW@@SMR3-c0I%fOxwAP^G)EPb($-N%=%nvNL0U2;^ zvf2Cvii!Gi7PQ;#fBW%Q2s{>|5lju}s*6o;49c{d_)In8)4|k7u_2s&!KWtdxL*X{ z$$Y*U`WHYZNTm40b^r$zYQwNm|G+6YIZt{xqwAXB?~8Np4F-O~s89WF#;3y6j2P(6UgS7BYqOXEkGW5{8|BY z4N(+@3On1$JGE2@>K5RXJMn6IJT}hedkS4d8E9?&zfuUZRF8V`5~!c=f@6W>ABH7~CueC&00zwj0Src0kJzR=P8sH4gCJSH2HemnNxIt*0`9)AY6 zx1sr?{NMlS1ppuq>Be&Dd=esX(ouku?oIuNL~yOohI_C6__rUY#X=jUx1C?AiL<0@ zX1(tG44K`A5CvV&BlMw~1-_-Pf<_y-X_s)(aBv>O@##p^A4ehekkP%6M-+lLk|ksg zSg*Yr1Mc9$xxnAS(HYzu6_90nraPc5Z6crJ#9Cj1m9n0*akZZq59!+vW!_h+whL(z zdP8Yf)Hg?1f^)c{aTx9*Ks}3vku{n6v8~fAfwSyRPEdpunIBA7_rsy z%fU=Y6+j{G(!5GLKUoaNxka*JW~tf%6R@0LcXsqqc%515#(9A-IR$JHynSSL*Ph?` zrK|~le4UiFhZvYAh#|F=*^(}2!qCLGe*qX^XfnYe6}c5xG&!sx0g)(U%_5vSLVNZe z$|qNm zf2kB+DOb@E{=^b7e0IOn@ht8~^Bc|G83CQjlj|ZHH&h<3Wh!$O+`1XE{j*PNvQv2Q zYDzp82j3~jGnUQlO4oVI#Ccg5XAP_7bK77aqXQKhv@7|(2GvKb)0d-59 zq6faP=b%coMe5>~2`b2<4LFhM6Ck9u5^%m7IuAc(Mu-VVrhTgd!Vu}>@~~_ni^vNg zRhjCBU1Th^wjtgfaKHo>L-v-?c1A3T;=jG^|E;MO;%Q1Ute`e1a7{ucm!$>?3yM^r zyfx>2ffSL295dI%H~c8?-wctUQ_v1I)RHm3~rF1V+Y_NOT*N{vVFunpKvgRrq(+(ODaYbN?bLiRR9nV7Ko2! z2J#LcN)8*^LN8GLng`azE?at|Y=MOmoVmNzP+X zrs8GX3q3br6arr)5jxxc5+jWNQt25?T*pxntO>(v$C+&`0id2tyn_5 zzoTJbHT?62h3WmjdBdV$$M(D?TO=~KG8UoK$njH9s(y{0WwUq3I({|&!5TdaOa>NkW2i<(XHIQ&@zLU@X zQ?FQuwpq#47w1@9dk*HTFvYaTKSFk-V30^_T^otuMSfB?ZtSA7NS-bmHYNrIX)Ed* zdQ)QIItBK2EjV0=Igrk1%$uDM7-ISt0E-cD0fjiTsODFRFhn~6mP~C99S8Zx@aKGe zgNui9_Y_o9gnvjH&Wcmc%9e5~l(Yd-XCWWlevxI&A@}xL?$j2sWF-7}r1KtL4_=oC zsa~;;ro%=~mzO0$1sFs3IyC%s5No{+C`h|j27BcPJ_wx0k}TA9QJF;3ELsCt)e#yS z`$Zmo)nBL0+x0(|U>(vP^Be%@?wH`eCdy`tAvl7Ch@6qC&yo|wQ)jT?GaE-ac&zmcOvyF z$bJGW*k>n%*9n%CDlb=1+`GdAU>(m9_dOl#f4_5c(P(@_f}-9wn~$>>uZ3)BJ+ff@ za$V`Y;~Z*i(z2pwvba*aBv*f&O^H7J=8c@Fe*>8P@&?wnY9NsLFl^=}%8y+Fn26|Mp{XgWDv&t9+ehib3 zQQ4!fdr#WCx*>P##?_%Nbxst13<>nOwRpVX;vf6AszU(Xk68mtBS&)BAGpOAGRBKu<_M z_Nk6$hnz;_+=Y)e5qt^#I!PdiL&HK)nbpXem_@Vl7p4vTu&C!x(mBedx;As_~=t)EJfqZ zC|=AMc3ixj3k-8vZg(7VfCkJx@(4KyWm#LE^DKSAIXoGZREEvf$qdwJ*Pq|raE)NG zV~aksF#f5JvowQCASwm4jI2@jXRVtp+Zv$HC9O8W1KzJ!n~i_YMY`TmT9n9o!H~m0 zyOlW5t(2^t$m8B>%fLSscVkoH^yX_~mqHh3evt|#p3MUb*)b~obIG?i_m%-Q(_?q)Z<+vi(4>xE=^k*vt%7dA=jj2|c7|187`_~Oi3<84MKw_a zDIzI!HlxdwPla_t=sb|r5kKwD)c0U_yjC8Fte zQX$z^R8*8*tUXZ}s}xlfNl2OW-K=&3CKqqhdTT&XV7gT`@zMMI3d#zxifAYdS%O=V zd93ZAe@%d0sONqIRpN+N--rE8?Br@Y{~ zrTbr;xoqDhL(Y_ji87vJUH8)eYd6q)=7R3!KYMeiSNc1VHpTHTh_s(%Tmk>*7U@LU z^L$~e^B%-aG}4!`l{_?iB>fd$vJWXPr>`!7`!TNDaHvrCHq=EaAfF~l<8u-351WwD z$Qv5Pm4Msm2agC(BXK8W&-r}2`wnw-$=k0`c};|GUGhkC&-J6jL1A}jrovH_F1)@- zO7D~iz)q#j`aEvjeA#@j8jXTSYO4qGU}C@kGm(Oo^ey1jj{OB! zi+QYKF4QNYX0C-ltyVJJdaG@dVQh@arvgYP8yocYC`g(;L+52+$xkixjzzA)N6ia% zYHLPfB}ysj(`Fv1@+Uo%fhnWZz~y;ft@NbEqByl8_j?NE7I4tFG9 z%8Ph0VZri?3Z>^lcIiVP!UO69aiOty(%Zl=Ik|$6jJZ^w^HyX6nh&Eq{)k_Qq=|^_ zmQO$jEi8e#2<|KTYB>xngi$$kzb8y3cifM##%LMk<0=+pN|yDc~` z-3Da?5&1j-)u*X-Orw;kuvGpWaN_~sQJnOn85BY;SQ*OMhX)z# zyQ0RZSnu`Rh?a{H1)Snfr~_R_SJSC+Q_6@(9zjNDfzhJk83&aMFL|Y`2V~>?cbd=r z7VQT2Qn75XTYqE^v9G4ez-Orh2`JZgNb7aS65ypSeK392Ze8=l-#Y|fxnz1 zGCCwH6o!aG8MCWX)5RXqYT!DbShzNN5pQuddX61JNlXkfrEKZ}uwhk^AH+SH;d!~% z^<|?nXOZVq(8%qNcT5iILRvpYnTzpKHY3Uuk10tLwK*sWWpdGS{prSBXo-DE(0VH`+&C zMc5p|kZf znwm50Q7WZtS-gjWb>?6Cp>hd6YFbb)!Ul_;1T+!@X_^@?9iexTJ(ZK&bO6mQznt5S zW+uaIB8NbZR|)oL{U@-*5@Vi?Ge>dQP`;}6&&)G5#(ooUyNyz_5{{$5v%#i1u5F{i z$x+jHyl4Ihj}_a-rGOfdgV&qWl9{Z$9@qsrS9zL&gomLQ`{2aiQy`NPhse*P#b0fk zZjG@ce3U((uqr1LNcQ?W8}CoJy+9x6=v2RwY2~|!Z`qOYD3R0@qu>D)9q*~aiU}gb zj&lB>^ZCj-jz9-kc{NTO+y4bVbSdU7Hu8{@DCUQ=ZYx{@Ck4uo4{iW082`T7Ok;2v zH7RJ$8rCGQ1MaL!hJAUlEmX8o1``{tE)bwfO?cKL)Y)cL;FrU^&4rN-xVg65t)?c1 zQRLb#<|p+8VpFU7N5J^10n`N^gR8m#LCc-_pIdBfi(uy9J=(R2JS8#XDQU zOGWE|Lku*T^#W0K4svZFfZRw(zezE@#dz&%He?Sqtw(r13u&=Qi?0m%5vuL&0bDRL zz&pV6iE1+>znN%|D3$5^<^Ec&RqO)SCQfI=jsJpz+U`@+r*-{6R^CVbFu|tTa}QB_<%Jq{0esuCQ*}j-V`GOEQiZC zlj7@aDa)F<7gl8f%dZIH|KYUkc%&X z)iNQ4!zbVbR&+1U6O_3Z=xF*r5mq{hYH3;M1;7;QPKzPvaMvYw_)?)C+S+vGbbnI3 znnLCL_}6C50%S5#mSW)$lTb*kNN2~tc#8_*wU}&w|JtqMG|jz#z}LL^hJaF;_U@j( z%Rvzd)$o7Yn*dn(n~*C1UkIuGZDPg!8KL*>eC9vQN;KM#S#1V-lLhg%2UU9HA* zKvtWoYZ7)l_+enicrvJUZLZyaPnvNF-@5qGs^>jelP#%8T#q{wb1uT0A`nKK_GMEU zZ0FRc5kJeoW!18-Fg8|#@LmIg@e(J@H#VsJ>nD)m3;$^`&gF;m)yLf$N zy(W`zBl-{M_f(S&LegCFOWiBaK-U{3D=*}sTA2Fle*gDpBt4By@0GlUw>ZQ&Sv{XuOH~O%rfF7<3^umhT%{D2Jnn? zWNAH#&eQaOaiFDmBWpq&aQ2=CA8ifVS}tcO@nT_z5JT!qs78UgB2~+q!L*C?T1fLc zd&_+84oDGa2(7&K7-;E#`VcVv(t2!pb)TL2LsU+H@>A=5wbxq+@7L0v>7NL{FQG^K z*!RWStYy%lW*-T?0h}7<25e3n*)XMldP7rrn|p-jo1V=}3EU?0rHkS)$pvs#5-;{o z{LHZbl^%Gh@%>VXIrb;07YFWw?k%0Rk!^^7h!75Z?s(Laqs|}rmj9Ji`0eSDsxsT$ zd4sd-kq)4B8P(d*OXMGr(WF^dwq(BWgT70KEBs!oP~eFiYqLHp+mKW+YcYnE4e>zc zkl)DbVDc3B29wAlpC-a1Zl9~PB_Yomt~4+~f_Kc%6;&?Kjy-&GN2Xrpz(D#He^5c# zJGexCKa@Z{o%~(gUynK?Mhsw74eKeuL$C+o5&50-ueWQel@r!qehOm^coX9f?XxOt z=JLRHEn)rxS24+Jj@6%&Wn6F4hd1&%neP60Rbfsn zAA?vz?2D~SCqMFcW8ddLGeGRKow*HnKg?a-c0s{LzIYD19~HeYh&(UMG>aj8%LP#F zf0m{R$$!(KOwU~V7o{l);inJ(#%&n*3f89V|a6`UEuC2AU4u?#Nk|r+Q1Rw94@M%3paY$Y0FR zt^%3N!5~n5*Z0DOs3@DpYvfk6m7ygGjBkQy-XNG$W)aycN6VkBHQhMy4GY@tc?~0< z#?;{J0weU)MxToo{0w>tpK70m{3#u!?vJqpfWE1tFXRr&d>+{&vZ zGv9iTV6|bS%m_6<}OQh9xpHH_vvt;lI$ZfWO2FV-Q|a@*&sGJ zkTRmT8iY);aVXh)?$QD1CircHKL!UcGJJ$%yJY(==^D29G(9i~1gA7dpBFyS|rwWTY4hvAZ+6o7UqMZ%CZ zR~v;FSvGZfLM~46*l*_&-R76NQ|p{7&+ySra)|H`J6l~$F%bz(BvQ!zbnJBH{AiEc zJAWG@waa5E?89~nx-wDzlz|==Zb$@ckr z3Aq8i3ZeH->#h%DW6@`2^chcu;TJdYEM8m#8uX<~X11hn zbz#o(tY1d@CI#+8WSfS;6$RI1g5O*e6Q5Dtj;Fgry_$K&y|aoiQ}(1$_aj^@#T2DM z$-w{Tih})Zx8UXe->bHmUTjpH6i26JubSRBq(|IdB_MrR{op6y_v~5zO5a`-KOaf) z*c&mD6Sz#vwVyx|5??5?QO(Ce4xt*rOJ0a|%G(3T83J@Ttl8Q{+rEI|x!(+jHp!{@#2F64Naz!7_ z%(d8GEm1U4b;)nK#JerbNBExft?2tcF5g-8iLOOK8$$||c|)@;3sv%G8*L+MT?RLo zTC;^^DlKgcgS@D&`}km?8oZvCDw~}GY76CHtiknw&qtZ-ExNy!^#X){({yNJ3SAOP z$GhmV+9jKl`Vkh#grEYvWWq#LQqcg=6)-Rq4YQ%tEp-KM-0k6JPqvXt$WEdwFS;#g zzIhVQ?tstZtqNsfbs{xldjWu-Vi5rRNb8(@U0vJhydNq3EK(y$|%4%tqt(w?Z{j7UoTxe|9a{-vPY-Omk<507h0;*=4xL% z=O@tOa^U0ktBiOa3A4K(Vu|wiLTzCaxst!i^sg4Hr~2g}MOe+)xzP9wo@d(=aeP{E~L!xU5^Bu1uvzsbGk5 zC`{G|8W0`_Vp6lJ??q7W{WXCsNt&NJhQmaNfr(CIWcy}W^a~%>{1{qA zxHG=lL~vHc@BYQNwmMKlRw5o+rw_buIirbY#pp#OS&giGXf5%4VH^A9j|>3E)DX8- z6Ki{AgUGd~hed0+cJD~kdad#kGZ0xKYj753JtVUa)-mn|c+4W<)t)YcV!+9*u{_v~ zX%T13Jxi9lO-ClS)y6V?rEs6nQd~x(c)Le1dX1-@VAfzlHZIJoua@oJL`!;E-3i$! ztLSW@ji=55*Oq=#j-xeYhQbJ|W~k4B+_1{(2>D$Fa+!M^6bgQ#O24g8G5xs6rd?9Z z1v}D>>_41W=+gF)se!9=_*n>7?Qpv9&0)|#d@Xq@FWVf7f)(8u*2PvZg1O6eAOr8j z>5KAheslvrjUYCCUa4pjdBqAcGxlwn{;H!tY~i zjlUc5VuHmlUVOC2=Et5A=GGS;wkOpDrhUnfI1*z=St(;XD>Rrz@7lbhy}kNEt;D6E zUgq-$LtWRiR`abo-VaJJQ)MzzC_4xj+UBN3u`WOUenuf)i>5$GbqX5XGjFa=n)kRq z$NT#&*}5)b-xhmufp9V(jc0e>qK~eAwooS_E^4xUi#--#-H4gU$?_qzE9+S427hmf zI0z>2R`g)Pi?r*ZId@j55iJPS!VWf5_JAl1pQJ z@n*Rc(zC!+30+PE7I@J0uMuC}p;S=r-!52kZF4wqQwLOct6~i;79c2H4(_K^q zBy>ojddA%gZ(qm4TAG-|v`V~+rXmZ$1Wh1zkU^Kjy}l0o+3x}#GxjPd`sP?bhaX@+ z4;%m~ou~t^nv3^udW1g=CynQ1}iwI_-p2AcGa z4EM5WY&>LWP$VMQ(YDbtWHVmXi2BBL`W}mK7>wHj+)mlZ4g0<(%h1GOx|pfLS3k>v z+{Qi=;lKi$k$ELeAKvOJWr~luE$A{&*z+1{4fQo`qz*-yh94zl`~hS>Giuaj&H8b^2?)jLY&Bjq{~_mtn^>7?iKH$<;ocwYt3 zC^qDD$a-wGSAa|!dt^RZwdsCY5mWC4B*~V-+1IU!FV=fRC!n$u9-_RTC@8VT+3pz8 ztsG!Wp{8N;M3qI_fxdJ4L9Z9f#^GxVjn(Vnby(QDoEuzlVbs&in&t7YJx^lx*T$;~ zErw|rUf=9cU!;D5zR1nwhrZMxsEU)oR}@oS9#&p?zwSY6$1vA|olYECuL50JG-4KQ z<;d}Cn~94n`a#O#Qt5fM=mreKWS6?_&%+oKKOYtll-k1QBHU8yNjt`EZjszk0lY4y zKXK^J=8({_Y)tr)&pv3$3{?tL1VCxIMT`aN>^L+%(ILVj0vjzGo9SQO<$-5+^)!3q zFmFdqmH@EEWNZ(7(2XU-+C;rqMf2)_7Gb(P;c51ewQ)SHt`ysBjR759#aI#d-u&?; zLDfXwt4ZFRY+ob=Ip0WR>YmpOY@c**Gt1ELWw+Zlk2Me4-L>^}TcZeVc(W-wnY+a{ z81zLmt|hgEi!;)q5+&AobR|T1y)Kj<{YL8beDY$=7u=Wb)9`b$bH{wMs=8L;uc-?< zG3WdgjD~qH?-p!|c(z=SjlmCP4?iu`I31r9F7w&;y=%nFmA|Ops&vBqG=dqu7%Nt& zqM6+z_GqmtNS`99*CV9JrC|Rf+i_mm-?|Cs2vxC zl6_p30{bbsOcO39$HUxrigY@hHc2Pln;^yt901DvfpGKPNhkn-nBt z7&w*!AQ*63!cT*&QJx0JhkT8h;@Q6SU8rk>JpzU+Ie>7bZ%oFdYAOks7&@b(7jm?7 zEVoPUwx}dC;|0c_@*$yRcAL3Ypgw?&qCvX@PCggD%mlYyCeA@Qdh(0T+rD?&3q zSm?B|>8i(2ut$N}V7@LZhPCGk#w<3~Uor5Xf{#O&)O%V_s)NiDcz#$>l|)fA;3eU0 z&O#86>C+>lSC7r91%gs8ER(~;fBTU6kG#KWOnW~^@EP}W|Bqc=18vveCzEGzjg;vu zM#;^*%nqn8gianR3YaaL-IwUxwgnR!lW-^+#`;(e)^s*qdf7E{lSJ(jCy>EU7kKXG zh12EH zS_gsvqOu?{<-+tb1Fg7x%r3G9X~g;T`&qpyK(okL+Y@L(Wzu_bweZv`e&0jJryehO zldUzppE%q`Fhd&s5euP|)UmOf&-DkMve8MCHDc%FVv2b<7n7WlpQUbNsw5roO?sfL z!0CDzIr$=o(?EO4yv%A*8{FT*tDVzW2r(txuS>b*QZNjuADBD`i|^=hf+#n`H5%y!@08)IJ1 zqzK;*jYl7Cu6JfoOV2Gyi8F0z$ECMifbk z%#IshljU1fRx@iZm~aN&l#Sa(xv!-@gV#Tp_M)}t`3~zHR&M+1CdPJO0#|=|ge$JH zx8Ii8b?G3r{=hfLmNt#&UDG<>A$}GHcV}+Rn@cd8Xajjbl~3P4e1@@%~KuYO#=T_sg@us{mpuoI-huU^X~7= zlX!MZB?!g2p7Kuan0eOe*K-lyH%JhEV*`J&(~0emmpy%R9iL{uliX9Mk4x#$%(9Mi zHvYP&&LCIkp_ywPlEX~44tdXzs_x@*{ErhU!PmD>ir*OwZgnP|HpXv#KHbu)RXboBntR|dLY!rS&irA` z`2qEEjbA(N{K1`E{fpqtQ?`OOd&jq(@Ff;VcU-7Ad|Q{f&(S!I{i5xZ9jK zHo~PfR*n6uJUiiTXhU_0t$dBMKGSA6U;2bdzr%n|OUsK1qyFIH&(39CM||2-i@=-*TrH9xtTX0{bhKN6NT2i`c{0Lhs>Z9|HvQ`#+^>re-BOTG;RWx-0Snqu zGdJ^I$CJPsmP{&(XB$@Wr>%F3us0$o%;UFGZ`{4kR@%zOYp&ERk`efFLqTjtyv6*- zYRCwus&RYAtiN+*mxExqcA?MU831ARpHTIA4(_2glxZER`xkOvsy-!k6jSfX5vD@; zw0lDxXxi%46ZRo(ld#KYkjCyf&2915$8mD=3#7uo&^I~;#oj19?L26q=qk2Ta(SQi z@r7zu@l4^no)+2EUw}ex5h;vtkze>W5wjw^T$EX6keV|D9*rTD7u6B&-;8=Azx0~Q z+i!Ox=y~SDq7pHz(zngT6)Zmt%nF7>QI~SBx_d54dp7Bzt_AzX# zIs5hi@aDT(w|!uQ1m!Yq!Eqa$ao4o`d}McuFo1FQ>(0a%0AaVgTE0}#11$N-;lik5 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

2wBi3=dSLRIH=iZ+pJIV3_4| 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 JyjQLT@9uTko-pW5LE!clq)5ef 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

8gES%n@&v9jn&{`yc`$IlA4cYFg_ zZh)P8K1yg)?7OtC>Pus?=D1))M;SOvpZb~lGUBwuvs*xPlxQCgGt zvp0WheO{h!iPIw$f%dk@r(xFDj}$}>cpG-?{?$?Mu(s2OV;u&^z`D#6J3jBDhaxG! z4j5nn@rZbpd&c5I z-shDZe?-1&xylV$cyu_jzy;NGp)?s;=+f}sUH$Df_)D9@F6S3_lI5yxI3Wx6>>|cT zp4^w4`BSTfXM@nvO@#bPpFuZ<_pD*237>UQdwnr7#`I5$hiSD>k+Z>I5x&zbH0?~; zpYS_}6jXU^{)+%~t?+FE_gO20rAgl%8bKaeH@MXm8(zdvxG5cRubHwuV}zje)5I`d zLo4w-km@aSllA(7-|e-bYYlr(vP|R~FKq%ECh({F-Tn~~48j!UH`7Zm-qX$GX=Q`> zDEG2HQvBQPR$^s`E#Cm08D3OqLy zrFNRF^&lp_2L#b`?~T^4&o80Ib18zH(nEvpwSwAN*Pu5CVT@YZreRFrso{p zX9qp3#uhIG{zH?(e_Da5-^ohW+xP=Zxw9>`Os_KMa{*eA2jBy&EiS8R7obXqtQ`LE zQ;xjx{77VFOk_u9=R9WU2Thyp#kY1SRtpcY6qs?Qq43R$}gw`oQqGkI}2t=Pn{(v z)`!4w1nua!jN7H=&u4v+JvwC8Gvg8A8y|@v2j%~I)?zt{7mbhn{3fYMhgc2>m`T1n z7CO)tSI59N7z4=Aa(&5~5$maXd{yBMZpM?I#L8nsGkdR5;|IJq{TAfhB-vTH6(qQO z7A~VGmJuG>cEaVa4MPt>X!Of3u88(fQRmaAW;?d*IXkAfA}wm++wUC@Klzl|-IXOP z-kyC@V!<(Obx>l{f8q4kwY-INZpeDmtl5XBR&h|mQevJXamkwNihW@xB_}6OIj8lw&~>p& za+{|tO?`7dsqV`-tMw-Tm8^%^Czpn-s^-=oATBT{JA#vE%q(W&y&*V3@I^jgbEVWF zllAt?ZtLxiaYNW3T)Sz#Gk4OFi9y?i0?}EAM(Cyy>e5847euIGAg$Qn% zwJwLUtE}Gw1K2Greq^4XmH+n<15J~)E}>L2_JKZKbr?L(L*FSLPOplYr|ZY@ug)@D ze@*hzw?Y}DyOsi_izfp^3af`s48CX|9M|M$6r~k84|gpx20ZfgLH{ap7C@VH|(7rZ?{r>XIfCZ2N>5Z z4cMUrgx{iJ4E2n+$|d=|ZvVVRWaY-Tc0a`fo6>?FkbLpzF$=4O2=f5`IH-4!P1#PL z)2{xsaZ+mB(j~BZPv18#wa-rUbFZ2yvPGW??if=^qU{4yVf9zOjlk+=?45mc8p69> zoiC`0^R`M!zla5zND#3^{x+;dER*SK?5HMRP>^eJJB!ZaOz+AXz*X$CU-NZ}nC8Bx z>%fhM9m~ef2dJQn2JThG!k)*=7`lFkCsEtPFXlvWqf0=K-aa2-22cMG?vl8Qs85NW zW++&4LTFpXEiZttCr)34Xci~WGrc_P(^49+5B%qrC-0j$1G zgxUm#J>~mSm1#vc9lqlrwo`vorTY)%*viQXk)_*^k05JyWA5pKu#$DyB~lom-H=NmJ`>GPzky9m}u!>lEHu*OGjhyUwQE}PA{@zHtqUY)& z@5qUNegF?VZ=`=OF~=nu^DWWCp~%k-hh1Nx@T_sH)zLIV(reTv(#)N>3JVnU(%uG~ z9r$3T*jVEyFt=td6vQOg{452oRt;$k&d4#9n{PKyl*=kjBS9!Q(HWn$Cw3?!cHEJn z_--b}y#^qDgI0WjSCu5HIISrHaD`iX1_?Y7x*R{^hHN_|lixM7YOg03$ZBy8XfNK` zP2YZro+h@iC}W>>JLey-p$x6`r@@J4U$Dal8b4_dg(j?v#w!y|H$gFW#LFcgl^trsH#s_!m7WfUv-@kD7abot4PRdyysdOi>0GxXfNa2$ zZZ;A0#$(3*FK;v&TY4NOBc0s6;2c;J-GK^^8C#L7oVJUp@7oZ?!VnL7*7qR^f4I{9>v++B7oeOZxdDy8$Om1lGLd1e5<6!!&2gHp+SPyQur!2qN z%_j#j>kPF$zH>w|JRH)N(Ce<>o=cNy(4uaBnE3;JgbKCnKt;L>^b8t%(> zJ-jVfR$XYn))+KoIJmv)o)wE1_Q2duE?YUHHYIit$!=#P=2gEiC9Bzac0>*iSxo4{ zdyXB9Ow48bsM!v#EAmNnwhhqWaj)$#?YuZKOBHJ57lX;yo{;rJLrvX0g9J2Q7d)GF zl^P_a(!BTWM2*BEbt(>uzqzI<WYJau_TBN_mJU}+y`a`8$*ded z&&8qgWDaZ5l&&|fk_yHuLe0kQT=^PTTw`1koE47i|6Y%T$h>U9g3JMgLXOP#a<3N4 zXQpu$7Tkk$p?mC2@Ne(8X2FWYC3roeBILungR%>lIfaWrpY#FP5MFIbS*^$^NMz^E#63IRVJo_?e6;>RVUf zyna@Jbgz%gt)xBfF9!6-v8-<}=X64ILBgtTh_i$bf2j;e4ty%A7?%9kkY;IgPsD}X zdNR-_m*`-5TUy*QNFs2q_`Wa)g z?{Bgjc-3a$-~6USteAWCyTVSN7USs((s%v5>Q$oaqyad*?+Sb;=GeJ{EaX3YMpfmSC_T}^))*O0 z78d1ffdAJDoUVYaT#CNpQqLa(7#{eF^xYfJ-Rw40~wX$zy-kOE(j zOs#5m%NHF!ct9ITgYuyl2Svt>5AAm+ZWpzt~_l`Sb5Z zcrubbQs}_f->ozoD8zrk=2(|O(-@eiiF>8$9HEBs{JEgB8d3js2wR%=VV{*^dd(~7 z+cTKC%n*wRLs$+fSKozzw-KxYkdg_hlg}T4WA&sh zn`TQn2uH@oAJ^t!?F%xd43xxwu<=_x?bInil>hHDmHDmFdxJ#^&{p?edIsuE-V6Tp`(c`R586dK@~p-3oJ0x1G;SMOq97d4hD6 zl}XW3r)vHyX=iT`^{0)cC+1V`=8BVIK$wI?KqM1 z7*EJuvX6$!B`x6IST|x9b~ISl9eb7Z=dvNkwSGo_q4B!a6&(AN@gSWd6Pd;DSwNB0 z48&DH%U#dpG8Jrl_-3=m0#3ps2dwYEII&|H^BUej*o$yjsX5T?{A`?q@w4pU!y)^sgrwSUk2+_OqayG4}st6RCM;f-8*X4Ti~cQ(e=>!z#SX4A$BKkn{2 z-RD~Q+8`F>Q6b0j*?;*q1Ke9x$ANfCYABf-h^LgngvjzY=@h(LU-WNKAP*aL0Yd|> znVX>-WZX7GJq3=$p1giPXD>f_xT&rLqK~C=SfWRJ53naBz=(Y(-;;5zdN)>X8A9gL zw?gIw+KC=3OwFIrfd%#%_mc9bByD@WJ6A(lAF4e*!&1sMH$W?*UCulRQb)46?CMi` z@G`Sz=b4>rCP@dZSoCcH{Xuu~26DIW>1||;%!>NLOOMN02yqE$T`WS(ea$tk5@nmk zsi3UZ*fk%3>g38t#ff}kCc~)5n^{UOi1YE>YQ%}hW}aNwa42`a;dPrMyDfOZ2zQ?; zd>k4T)nd(keja*9bQ%fi7x85mulypL(7+hLW9*}dhMb4j5D~h`m%e)WU$xIUnakhe zxTbkcFlM%-;-_0)Zy>-iTfLBrFX9w!;m|lyJ0N9Toz2x5D9o92h`f|n31mpu(cGSJ zv8~gXerA%CGv8$>XH|3gckpZ7A*#8h5AnS~IqcQ{CX-I-p5z4_AJ-IeUt5 zfMw{fL>`4pime~t26U>DZV2AWU!L|>M7CWAeu&!#0wa!Add@L+r=>$tY9mIZtfRlc zY4-O>F%mN78Ytq=WBT2l1!lVA@$lp9PoU5X!N3fiZQlWl@5=UR{NhRV75N z`j&~gHVSx$GmTe8F~wOQ^9(^7E8BSMw1}?-FsB{^u72~`cQq@yMaFCy9f0rGhHng& znBU2xT)ek149?-hBcz_T~8?9Bcn%X^zIb z3Dv#2l`sK@r%TVtEhESSfNgz5e;7lg)fgP3a3L=yezV9j&|-#rh53!o5BfARBg=rkr+nD*>o#uU$qF$#}2`X(lcjzA*9OvcRJ1)EP1^B$D zSC>RCNIkL_7t_p8psG9$-NAh`Jc&k79*L|Hwu}ikQ5?s6R4@F<(*<-n`qQ&|Zz1oD za3(1d!P3<}dnZcg88&w~xJ4QDMkEv!dk0w4Kh5^#2Yc(!)qV*63~=x#?-|iv-?M2k zq9q)+?eR=l9p}n?U`pZGI{PDFam&E}XPxX|tI#uL>3{dX>09?0jhfYp7Q+`;w++$d zQYE|zrS%Cns3zAqzQzc!S-?vCWH*#YUO3`5Ze-)(+yNP-OJ82ZoboWZr|t=Gi4(L+b}8$)ks{yL#{^8FX4 z$+`fKj-t}$cRdT@RLMo(9S^Rc@uzOcM?D*wOmFGvLtMBxAqv=i^XsNoCg_54*wt^Q zx!Zl$87=-nR9b8$=jkEgj>58|Bas`>Ja6GoLQ3L?95w$43C;rWXnFq=5|B33|AC!R zZz^DNDN?y3vfb|VWVw6#%%FRh`s+P>#6p2ocjv%vciwXo=su_1e~#lmU5W-Lyu#Jhw+p%OK(m(L@WG}(Qt5>qlv zRSrdjH#t%g|41mRBLxpG7OEy)5&a*x|jc3lSfdb(wEbMnG z)t)uM?y(EY6^(;(&A*=Kc*JNsUC_hmlO--8MJu!|@!>jvqRa;JB{{t}Higye8=EL9 zeVEXV3L{)Ol1zAZ8KDk&x&Ptn;U@z?{rACWs(K?xqbE4fUHyS%ATDUNFQC~gbZeyH z#jSXTE_aBMQ8RFdT~=zNy*2EmD@M#UixM|rNYYtO)jeLE;K_}JHhEo}edC#1` zU9eB)f0g;{RAsE3AGXP7FmOH~9rW~&_C_w8$?1F}x>pZfX-6@a6zxk{z-Ezi=F0B% z28h*j_$t6?5#JI|mXWL` z3%m=XGItPx5szxcAjVhZk?4w?XL%akiS%DQ$nV`E-dd5}nK}gXd7x*#7g>~>)A@tX zpqk7XHEvH!*P{&NmwRS_0#aD&G}JuZEC z#7(X40nOe69>`iFLvDE*;ebiR1MYMrTKpM`@2lBu`zKGuMyYPCpq!8Rm|jU?%FLo2 zd$gwFh$Uh{$wyNoYlQ4y#lA9+xdJB2v(hkqUlp`lVz*Ih8jlnzRo-$;xj1SyGFJFY z;*i@bovUO0N=GzQ4r-;Sc2pXep;E_ro~V2(dx5CYED$`PS;Gr_$}ib^($r7V)Ua^l zo*;9Moljr_OJ}u>Y~js|hv*wf`*i?SOk{vHh;SVR-5*7`>v@vUz#LJlKjVtWkc_m< z3*r55!Nx+jNeRyG!c(Q%^bfcqT-pQJLgGKo+?OWij6?)ozb0vGOjWm5)vCcak-hwX zG}BeYg-8)Nr8~;r?rZS!zYrtY00ii03SvP_WW7p9YTrdnah=u0s-;%U16FT6w z_EC|<-Pv!Ltg~ewehxX_pOSlYx#k%^5CAlK5{ZSfW&~fbJFOB69@m*LyH-9f5A^Gn z&9D`Rk9TEHKUNv9ANlUit(|PX7!P^(ZyC^7ES5De5J=#5GBFVM+heMjcPmU;0@=}$ zent>c!Dr*=MKH0SP07BdIo9&6p24O>t4Vv@srL~{Eo=9Boj<(#5i2A}u7FASEnKed zU^unC=H1sF+%#v-&=rljyCHv*Sqz?aX4cL5=+Sc&5AUws^mS7ZRhbmTiZlXYw~bXH z*#SpCeHjihp0e8tex7}!SkLBA7cwL=Ucw+rG1~V=WVn=lRzs)+Dmagl$jleSk8srQ zQ8WIL=N(&v){uQrEH@(dV26%0#@%Iy{0J!<9(B5p6?vm!I4f#Xu59qT<*|aootp;X zMktar?0#>64!qu(YF_rd9uxhdkC`^uZ({I$=?m9j289P&PNs|9GpSrcR}Z&_^7j3M zq;5SPkFy}hQ;)|Azq-~`lhiKnhm9QP^Or$_ff{S-x3DX%f9>7pArq|^5Q{tUwB`qA$$L_OH5B+CG;QgP>2ncZ;- zwy7WemWjcoIXWMRX|A9I6n&E3- z7#>dqJ>Tp3tf`!=0tH}7vYZii%vR7cT`vp>#PEGp9q@_2K z9JBGSZ>FwPxynmCp*#VeHw^ztIXBhDndh4$<@49ztOi#^B3yt{JIF|7N~W;!R*%S$ zch%S0^@nw~l58-A(GFA~&L-;jO=G;og<_X+*Zhn&cz%}pS+ZDL9_Go_XX&mp_N4$+ zX!>kem7gYLNCLFx4IHqP0q24l9r#!U@UocY%jyO_mfwxc&$?~)Lb3hjDW%MNTKeU! z{I1N~FFo6GC`M2Nt>&vV=FQ?65koagJ`-On$ z5?D-eIHQpgl<^A6q8$B5AT0bpORk0C(66FOZvT^>dV440JUB1H%=045`?wj<0uO=n zz$4TISV?o7;OHpa7rb@^924fz5EMEC4hg^DXUxF=_nQ-dlSawQvcl{ZZH(*Xd>a5@ zgr*CPi!NA)!q6EF0PNfDCWaTfoJOMfE>?XqD(rabhhFT@(?l;G%}x--;Ii&(K(2a@ zUK7|PFAFw z54cx1btn^R7U)TnTSwU)t~d|mI1=u&FYJG=SYn3^k8?wL$0G9rlH_-Xvf2v~-V9md)E zjUJ4Q&!uT|c2nP)_0n%3TjI~zuTFipk&zDiu>T?BOl*c3iX;W=kWOW6RT#EqR+%*^ zVxPTe6mDsAoy3%5K}1rzVq>IXEw0=NsV?{G5{vTYe1(nsL+tJo4t3EKd_Dv(6pF;3g|l63E$kkbh9(HqcI8?5l@WM_wtE)sUoa<`gvC>uo;EeNUg`(YwZd z$8=_5o;YSII5TCSd1f+OUU$715tJ2tRqO15RoVD#EU!p_UI< zX9b3t78+K~{e3RzrqD~l&K2cr_Z=m1e?JUtcGuV+x(zbX)Yr(;R{MAqM88EN?8$#l zEE$?vmD>I)W;V&~1=_y8z+gt_u zuZvW52zs38E9)TcbjlPY0Sll!G)jU3H(v~kT%h)qqfJab|GLgrIMqy$SEBGEnW z!TC>fKE_R=NbggM!4EQT-+X)?oj2fT+JB8*Y)ja+x$#yew0+@Y<-OZt+`&vV+!I(( zJn1990Z>TlkKZeia(XFOzON;*sl-V6HTX*+v0KIUO3Tx`a)Y{7>g9yHfdH`OcVd-Y z*>q|CxV*-UUwd)XmsGiRD!umQAnyyv0Cyu1d*j|9~)knj+U)!1B zo-8$R$OU>Vy&NFn5|++bN?>bgr$*W@(jxJLR#<^p7d28XwVNHz-U|4&=WWM<6G?Eq zqV4=vX4ejY3m=rf4VQ~F9*xMM9AI3?aj}+5G(|c?6Bevs;eBD;m}#Fg)ZQ?k`d+DA84X+s<>kaq`5p7z->&psDIZ--<3a$8U5O_D zv_W_p`9kvY-MMUcm_2@3c<1eFXw=i)`t@|3wl!cyAEXFUd0tzBhMkDf3!l|I#qtkW zQ7D7wWVCi*@6hH%$^T@|;-DyLg4`pBAegiE-Os$H4a)rrRg(3`=n>F0;kkZonc!^& zUvaP;mjM?7b0KiZk*sV?5|T zeOi3iXuTqS5paeCi{04l|HIyQMn#ovTNj85Z9TxR10op&L9&8?NRk|j zU;qIDl_ZiuL_t7u4hm9A&N=5?l0y-`b+r55wxw_T#&~1g@5lQ`(+H=|-h1t}=9+8H z%5~B)E<%T`Qx17ENk%X%P98sH=ifDM?1e-2STWzQZ!7W0Vta(aG;A2r9!8N z+>^9df|ZDF314>oL*Y^s_dAM|-#}#2O?AR7`JWo4qrP!qNFl!m3_zOxXyDvPVHJ%< z421T;DN=jS!vbHr!DYAejun7Ecj2tue_Kt-GZn^-GQyNM13f{aiwi{k4X#6fgp z1uJ5MAQ_<`P`YttGZ2JC`I&zP%F-LS3w{HDb~y;zn!J_Q3}@yZh+T z1?CqKp)#-LRz630^rd4rz|{EO#B%vjvmAtGkOZ2DKIeb?u8m4Syzt%K zurv1r(?uiRK-v?vT>r#ND>NEE0LWiB=w#&ihLM2AvKMsPSntPzI7S_^-8IE)9>O~m zgD=TH)Pq0Wm;mgUzW@_%WYE12a#i}c6M0cNdmRXGS&4jjfl!&nMb;E*hu_9WSa{9p zjsvQ011bT<*S|PEMzyATaPIN|;8FA@>X6-Hvr0Ei4vj6)mNbAkNH-Wu;~>Z3r(cxo zO%0?_y?xLYJPr6WJ;p&n)(X;Pk#2{{B+8d85Z}MOfPYg6&i-$c^0se+{(goeVPD=L zQ*t{>SVAaz_EO&tLeTX}0cdcr3&e0<-aZ2;0&*~N0IoRO?wiU>e2>;~P~hHS=mc46KY_!3eV6` zetUAUn-u{poBgOQI2#DNvg`gH&aq<3Coo9O0furrCU5hp{o$VR`UGP8(PzagwrAI& zjLbScfz~wLq1AtAVfR^OAKwLm{M(UlO(DgCz7-Wg3)_hckR~i3J6EgtA`Ly!v77L@ zpAhlGCZB|_95#M4cLG%}$QaI$4UvusAw8~JUa0pxG)Lfle0%ZVV$i?7yjlL;mPF7t zgQO#m`$~_-KQYv5Xr;8_$tZxX^5&2J-FvO;u2(3(efOQpf98e$z6IrbEXZ z6a^{<_-xxfoBZ#Q@@VgW^M?5Gh5dd=PoMfGKG;^{V|G8w^vN?`l?0BgM~g9Onc2@h zidf?(RL{?I`G-E{T9Rqk4Q)P%%Cf{ZP=4EzN6CI^qke0g{<}r``zsD$1g9CsH-x-I zt~*`txc}Rg?N9HID&ThxQaSH`Gk|PsAGufZJLA}LFf=OZsP0g8;6LTeU8xIjeZx)e z{_vOX_w8c=6D$`yNkR$Gi3yIq+}`+T7t`Kex?T9aH(=`Y zUybBHJk;-pwj>J93%D)`@)rGHc-uY!{=e|{@1ceNNq+Qy;q9l(3CRk6y8r(#y#1;8 z-2QU>IUjW57+$ZQ-2imf4;2&7(uiHvMkNu z!~7R=8e>3v~{Z>Yw)= zIrFOKl8)(imwFvysz;1c&%4E7a417;Bq-rmpr{~Ig)peRwT?lqrj_#>%?{&0R{;`fEjl(G?Z&xuu2n;5=*$@NAzHA0;3-uAWDFZal=Qw%LqOa z2tnM+1`mvUM9q@cs_w#!>yG`8h;mv}h9ymJP;IyEg?zW6ieLuuVL zZg~&d4z>u{qT#^5(3c+;?D`)I_VT~BVAj-!m}RX}iZ}Dron}Ansqq@wWRM5W@oKzu z$N(5p9LWYNlcm=F)12FGIo{ttf#rW`%N-*@?U8*n!by5Z4Au6i^ww|N?k2O}3zCsD z|CNG7ofdfQT8`C)AdGDKHZI75r}kYEd5thA%9#Qdvp5W#$y!Y?T`B6CIZz#2ttQ2p z`wD@*scZ>F{Z;hN2D67lz7>sOycv9g?gA`XT;(d|MVktE1Rs>tx6fpWt4GK-G`tl8O zyaL!?{~YDTzP&s4Jn^}X&Mme9kBhkl_DwQl2}wUgNDU;|#X}?@3aH`kV@vz$ zIS8U2sxpULJ;y_P5Qpqdm#<_)Nof_VGw)0HTY}F=H94vWqT~#4c^5Z|7UHQJfBw&AS)8O1X1Cr4C(Ny;UEBXdLejC5TvR&vvrk)UzBr?UBQ|r8x zuJxD~%+GB>0=xYzS_EjRT>wLlSHjWGrJVS(1fX>b;(#H`fcB(k>JuDze1dwk=j>G_ zdzdQghCeq3`ri7y_H(y;6P7=Cu_ce4@49zsImrx@7!V~tzcnTDA}whXFE5{_yc= z3_b9YABv%?&SQL30R`Y)e$A45)g6g_B-wYF4^6*(7o;9U5~cp2f{;P zjtM|!w-gmspY?;>vs%1RV1&!2Jr@}buc<~tyLgxX9l85gNREOeyNrm|m{XTI_S|JR zL~nsIUKmW3qoow>p_^a|c3XGS9+8t!Ti4i+W`6vQEr(mT-0s57HePnAfH%2wIyhxN7A(^r!rQ+{9e~`Uz>01DB_51b5JGMJ zI%P%>#n5e1xY!~)aGFW%iT_Qhf%nKjPdAVrk=rrckIKMc!BfsjC-1Sj9+4}eLhMHr zZ+>_h*BH5((Fvwo-DFbi{X2EYuKCM+f%u)--zHZ5`Q zj>JJy-i|vbvWK2a33wi6ios86Z%u^4Qrp;qDM$`tG17H(6%qYj2FiJRWbC>XJJM%X zhaP1Yhzd>Dh-^8DLV;5st0%Y@sCiEW5}{Y^c$9_N1 zLsQ4h7>W55z(Z0GToilR1zn1FYyh+V?3n$T=^Mf@v+r6R-*n3Dow7Tt|1no`xP)q3 zK2X%SD6R=Oo-GT2KBChIu8n8vLjgAa9QJ_Z{g2S40PF6_>(jxmJ7CL6Lid-IKJ_Tz5UkbP{WMTp+sJ{p7UMP zx$3=l+6SuWlOP@~UK~{+9kePyEz&_1_D7kt9awd6@bA#J3<%@VA!sVZV zw$Q>7G8wP+;)sC6`kOH?B>(26w{B9HG1A7XjSYOVVoNDV%N`eyEC`VlBNWx#LmMBn zNAj#)1xtJmbfBUQPiacgmXfPz^iPv`<@u8xZu*2= zkl?zm7UOSHpd|aU;JP^c7w zK^E0Or-GjAy0B>J_*gqN$p)(V_{S><+NW=UXRF(Tb z-aZ9Cp^Y#O*|fkqkw^d`X*@W6jDp^sUTJT5P}c4Pwzo7o$rLn?hR`- zXn}Que160c499||S>YnJLhlqqA`Wth=|rz<@sDk#@od(TmHv7G6H6EM|z zctfs!T0cZg9sOF)t125L*jC-a9kJ4fRxsOvd=0hU_2|k zj7)0p<3{?b?*e+5VK(jARu-nKd$?}8z*JtzLJJkgpgO+J=?c!S0ix#si74GYat4X3n}YU)F&% zZbUqe-kkNz*Ipl>lyOF=mx2(v3uG7sNLa~-%^=Y=nX62+l0>b1k#lY^+8Fn zW$v|1mc+Z9nY_t7q?E{ZL59r8C@O-yOkdCtZCmAj{w`@+o}^I0{!4EjbewyQJ{5_u zM<$C1O^h2muy$7QBzpcq+}N&2`Eykb_Lc;mn8VRBI&nKGZj|h!6*ya4Xwb1M9rYEW zuLY8G6jONR+16dyt)~?%3wgu%G|U*^Bg+>C+aRCMW^X;o58~d$`rbXuLe`Dc^xDCE zH5L0jqU!b$^ldEn;uyn}uHF6!MOs<#yz@J7ltAC_MOv_oHhUWbSQNWJmb(uwsDZjE zM$WE#rTaEuWW3BWoD?-tSkNHJ#!u__@G&Al&^ViM?U~(IC_`RT+N+6(ajcgyqx(;s zMcjZ8DpSj4=(heGcq9*v9Vh7P#O&U1?lrpmG!c>Un43DUtkA=&7k%pVLaIfe(3HQ5 zZ>N$Sc+VvX--xkq1&{>PoKGPBbaqD0F$SR!RP!gO{Q5HZGJPRK6@ zDJVwQN>73c&cAce|MaDsArbJ4D3IERYepgYvkOw-go63%y3w(F)Uf3d$G(FmxHers zlgq7An%T0jjtQNFqXPEJ;Ut~th5|Hj*67b^(Y1?H?w zx@z)rE5UA>y2o92Y%1Y?2s?f2KA3GbuRmpb_x?U)6rIK^lB;mf543kdVv0}-WOS>} zHcF$t24=DJxaHBa=dJfq`Y5L+1u96a9~IMw#L`K8N9 z=A#I`jgM%bG>{o||LxJ=Hss43S&EUFa?M;y6jHCpPezhqE{euqbzM90YBPtu6Dj6i z%gXf9t1kW48VQaG+da-t-*t;Pe#}jl^-J>A+Yaw%z}#u@#HPgOb5JKahEDA`zE7W^ z52m&u!9BZ_dM;o7@Jbl$9GNp2%=&-P2i1glA`BBYVGQ^T4rBhz|C=yfv?c^Fah`E z29rx_9uV8QpmLj@DO}d#1>@PH<>^8Q`vdWBc>lJJ1ays_q2w=$dO9GimC7cYhFK%_ z@J1xtFE5O8Bj;9%!NP46KW$I-^JR^4`+(4oE`4T>_V)~bXPj%giw%ozQD!=TANsyD zH-1l1UKh2EuOp z`4IoSYmnjmi>VDTNIdmP+^g>-K_6fgld-uHPhVwitwwGgA-#&kFp#G4hvc<;-TIm{ zuwia%rQ7UuMFwHI6~t+Wv0LT5MfId~<%dQ{P+M!Q#d#p^`NdYj8LSP;yN@m+<#TWu z(G#*I77J}H2N=ok>M%-~)&zqmZsture>$}dC`2m68yr`MgE84kP2~_EnT!KU6mYAM z$i36dH)WMFK$`0#42)|&3! zQ=nyXu@OnBe&rOLmM6J7WN;8gJ}s95DbuH7M(S(!$6kG4N9`5E0CpX8RM5tFglP|^ zRozV37Hl!ku7Wq{v=8xpM4CfzZ7eplL)?dY7%_G=^Ou*spNmYwp|{rOO~I_|Yqv6( zY`WiLKPL-RiI=tr68vwa0mQreZRsp%VdhsO_Bus0;(MFiGZD?0Y>wQa=cb#hqjJ8n zS6!hD4aRiB;`9R#z2IaqEQYu*&A2mo3*u7&YS3S<_jArLjCc?5x?c`VR68~z*ZrfC zgwM&sd}KR-TU2o?_=@VZ7ZFQ;C&{SVK+09!=jw9B`>%3d?N^#ku$A-{c)^5wj0cn zXH3YdF{6ULhIbFJ0kiPIH;h5XAj1ANe#$_k^A6|H;|hc#p0i~-D_{FLi(Ehv5xfhB zowxA4yd%VW;9?C@*Y!D9UASnw2uL;pJ_=o*u|}u5-UZxp^6jOp!aZb@ypehBaLsNyyJIW`Y#`JE3A>i@DoCH;uSO2MyW?TL z2D$ur(Q+Zq-jb#nFvbJMmkrlJhNu1O9_*N-e0H%iVo%RIiBf}!Yi6?7N48h{LG8KCU;SxikDY!&{GzV5 zrhOu)k}jw^g>wD_Cn^AC1b~_qnFGtdqvxwI(?;6!_5FtnWfbs;ZuN2nTgq8ZZNLg1 z-XYtRD0{=0+7B&^X$YI-%ODofywQKa<({9=+*RHE#g1V+zqDCZ?|-n_bF zhsdESS{3j~TxGrx{+uX+TD+cOG{k_8o?pII2Q-UJKRzVc++b3OX5cHAIJod+7~=FK zLL;q3tafcq3b4ZrP8BkSwOxN{?Tyv8bkqbW&wCaMtJtny5FEJkINO+3;xvNV2X;v@RU&U2)F`v1%tvSY81{ zehE<+f6G!}0=SD6Tx99_Uq9}_Xdc`|DxL9lP>@q~5dt}Y;&>yT2Ql^VT1<*MdI?2k zEa1GYy>UnEcWFObt%BQhf2}rQxl%(<0Fw620MKKYko#pR9Or}u(s$Yy{XnQK%6+KM zRV4Um+!yo?x&bPmzGN%3mQ~!Q17)5*<^vzW{cR|v9o#WEG0Go%;0FY*O`Kvz+?&{AUoJC9~m=7X0v?C|wBBn-FtV*D27B!Xm zMh`~}U;SwAVA(w4g48PLQyBJ`g2YdeA49LiXNr^6)&LaPHv&<47}`gP?{gKL0iCB- zSUTT!a|igV1)u8}xF54&*oCzF#mCca#JUxg&|;115YVc^LJ%umv}7NGEKH^p_Y7r& zFhxG_^iLnTP)9?~Gz*mXXRul3sSi>%D~qAtIO`lc2=Fhu?eR#wqb@k9-qT^=jwuUO z9S1+Qd$5ve`9S;FxFLX+LPSyh_;Mj*%>h%~&Z_MW6HFzF9w0^)H`_jSh-vA>q%7mL z$X=-?BZ6L)>76&k?0W-bbVOF!9&LQg3rzg?LF@dV9yEh?i=D31;3@nE#eSQl=f~Jy z7YZfhd2LEzMpcDQ#*S-5MMAe!ENfftauu(qDH0Xuj=Zd7x!(mbuA>7*Z`V01c`Du< zbZzK*8T$K>{!t~8ng}j7DYE%!$NBq8DEzjl254>fb1BYo_q|81>7AkvSE!#qd?ckA zxopqTH!B!34M~%*sPmr+Z-u;QR6CECvB&6~3`|f-oLYs6{`^~|?zu?sbdRt)?QQ^; zf4&Cl9uSt?SZ8)qQ&kU2nbOnFW6|jaz0o9%e^pslVX7=C98-$lGRgmVK;kcBCW7_+ zI)^+^@4pYA{P>Fg<{i2bTtyM|p$hIW?O%n_2V0=iEJeg#@v(raU(Qo2XPc*n-?aBI zp)e;(nq*5lEVwyHFWXrxms4}(6nC>vEeH(KMP4?U50Op=bqtF(|j@mTm zTaj1ViA?rgdUWycrh$YG&&RDRPDjh=6_TQqb5zHXX_KGV|K~NK`V1R+|GPw9o2eVN zW6>UK50EjqE(B!%+FyE9Y1@RiE!fI;v+oShoM|RaAe1R`OQN+l^t= z(d_p!#pH)FMauPWqi@P{j{)?e-()JVvGZ-&H@0DhZJYJ%2!L$b&AML;vv@sw&{r@I zN`wUSJ|G@gBls$0A)`)B#cvhkr#Dn@KNIUhK=meBL__!I7xN;OxC(xo&56x%zngHA z@V%46pHNNb_%nK!rW^WWiXQy8bDoJqseN3@Mpbn{;_eni#AwWNd@?nL=11491c zrG`g-mHI{?H9B8m9y%duW88SRT4cWC;;(G8K%v9SZ(TI}Oo&lzU9XS+H`8D1y}#Q`9F-zWBRtxbx{*1Y#dWXKw1`poV^4o+CE(CLKq}4;R+;=N z+Xe`?Bacds9YVc)FBe=}VIF}DUvyXe3u<7ID+q2qpR}A2`5hiD)0=+14LI84B~uiA zueSWjd>eCeCtsdy%Xum7BLq>8fBh*R!&6?cO69-)H&5v<>PLc#UvLXNCUX!Uz-|#~ zyyRtK-o5@&s8ZbWp))HRdHY3rHkB`>X#3$D8EYoN9>dI$NPClLgKtnfySeJNEv9T8 z{}hrX;{qi*eA(iAzs%zRS$&h=-R4;Rw9jF@4+fI>P+Zg=FrmFofIK}$vhW^tnxbD- zm}35u_57ZBc6!aNIyt?#A7lS*tYA{hI!_A60{bN8l3@T7=k`;M%Eoi&K1BEgSIj#N zoKIwnOvGglG`&@<9jlc1#rOg@Dhlo_GoqaG4y%2Iaj}UmcFvG?T5EaYpGmev6-_d0M8C1~?`7vU@+Ad<7Ylc

shs@W12gwMG_(H@npH1uI}QBK`&s)nd*ytRrE3@+^$K338A0UA zCLJ!YC@u5LPb_+~9PWsF<;CS;AUUwjW-oan9<`gub@!42CI+`?(_8t_AxJ9hwTcEJ zT1v~RM-G&l2+^`DQO$B)NuyZ+)xU^7K=+3BperuT)7{I!kKvjT)GPYM!> z)-(Pxa&-{a{K1%xWy1FRo@cKc-C@-0G6y{qvh*)15_*ntYoTAOovzvQ$$mGp=>1-# zhnN0XJFNV4m&mPFP;?~Gjp|T!Dh12Su^3Bvu2u0a@Pw{;V3b<+5JY|cUk!45P%>4) zWMAWq$kwz$qWoHTVftt?7zyc~$_(|; z{oac*-u!V}6a0m+pau2Ro3Mn?ZVT=V3k5o_)oVp>m)g!t^*Rxw#KM0W#JP;*O)=ip zZ$TyZr-dLOt~yQRAdTXSJMfOka7og0mlX+q&BG(N|0ej65(=}T0v^k;FpYSdCE{$JA!H<+W3C5on*s%L*&*zOa3I|8vm( zr4Z;rI=J>YE6H3ho0-}lJ+k9$PnFBwNf z;AB{777}(q2c|>qi%gRNMoHzGaI?M*2})(`5X$!%&#&jCMAuZIfgR67 z=SD}0qN@{M^ej?|K-FD#&O<2&-IGblFf0Z8Qppoh(a_;YhY1$mMroeh{!)*8=nS2m&p^@qRPn3tsESzK zKuWdO+q_wuK?_+Iw-2&WyLY;>T+mhxEi;}jvXW|}y4C*B;_dl)sbQ8-AM&i>Z~gm^ z=C4)J>mjX6(JGr%(b{S3sed^Trnxos6>o(yJ`LxX>VAn>JQEq<%9SV=Vb%sU&L4#u zmCTi2eZ{{Y=#FzpZ@mj3>(RsgOtJ?=*58L(%9P}xAh4uA zm2AD2nhY?_eUJ`wZ0O7~)TVI?xXg?3L|4e{psn}gAXrK`D|Uw)fq0Z6u9m=dK-jrN zxBQ7Y(ETFRq07__^zkXMlF6bI8JMB(X;#smF2Z-?WO-*FA3V{ukGHGtcB}2jr0kxK zjZu*;!?Z*T=q)4jNlpTS?lp(%aI6lZScHOX<(C2~DB+Q>%q|nTZrsn*-USmiTsMw@ zY&um5k;7%wN(%bnp*1bCwMRO|?~OkSR?c@+VJ+sH1J9@{)2%(!TlH8}YB#<`7gWl9 zTjh-UH&BLUO0asaAG#6;3g@uI8_$PZw(`zyocYdVGs>@bEUBLw{S8l#G`WN;UU?t@!5z! zi{~-N=`eme1T_qIaM>R)PfLt_YpvC*eNwuv$Y_)^cZe(-Mtu%EyoBrEE?Vj^(#lu{ z9XdR}$Z~FNF1V7_bG$Dh1e!~aW#YRu$;Q+$^YSCITyc*m)IQT%d_FFF@dF&xR#33% zss;dDW>aa+qXf~Zn_3RsT%Wm*dhe2~?eYY4HALQ=ISH!rPf7NkA&9zce)37WMcAZ; z`*&GR$y^VQc-y_G7 zL!DLHHgQUh#-VYw2MD6DpTHGr+azJ#WvPd#BQ%b+*6is8QiYKtob!6ut`O{d;C1M- zsM0Qyic<>mM-HDj$Vf_b;Q_<3n8(r=LM|VSWj{n3yUX177Tp51`Of2#qB)z_Yl?f& zy`8p^n1sYc{4##m%yN?&=5A|GenNgEU9IXy#9t4lTe^p<$eTqvDMqW4VqEFR()ThnG#e81pXlWgJ{7H(M|7_uE?W!!Ax9v2IS(TFfx< zRxU`HoL8DD3n~A4dn$j^{zGWb!fS=PrO@Kl&|*LU?s+4hjs1Aht<))`lj_chmTjj=q`J6i++Q)_wO~!BHg@sIlX99DSy{lxcPA zDfVX$HcTqg?^)KN#}B-yH~mDbhzUvSdb3`?&U}t4C>8+KIB%p@vWb}Y8F0~V8rjpJ&ic2AhZOv>g&ihF+7 zFsJT}iK%61|G5W=1TTdG%}9yF*WxP;NpELrz~`IQ3M}y}*RFl$7bFfN zAS@B5Y{0QeNuf?DM0%CoRp=Yd(lt$-QPmL{)k1oOsb_G%A#Ny#M-YDP-pG|QX7@?0e++l1Z z3@)u-pkFf*WPBRRhF9zDS~=%(80Gv)#p%=6-YvWfy`v6vf)&rP~z<29W}ry1+A(dr@`;PM$Ap)HIxs@yf% zwT_&pS%Dl_|7^X-Z~c~3u@cK~G-t@k!X`FfIo7nOrY~7nuNE|}=3Dj19Aho--RSP! zmq%f>p}7#V)|ISf6{(WkvTPr@Y`^#_ut&4ZsDnbY_$9fic4uQAnn_@(5Hrc2GWtM& zdMa0CA*SomEu4VE+(JQa851WrI^Pj2mnPe-AWUa6V=QZuCs&ad;@2A7BO$BbKCC%m z?&sL`)t$HCR#$;a;l%Y)U=`upWt#DyG;t2C+|C|?UAI<%87WdbVoGvHUrm_as*t0woXP#AVi^29_?Nj{>R=UiEx(Q4CXEnkFTa0>d$p)hCMdEVMHBz-sg>sYK z*KlXn3LTB=`SP%n5v_u;Yv`15&2oXjTHl^xb7SHCmK!ZSW~1f&o$CfssMCAa8RZjK zhibWLijY7|iT%Xx2h+&iI&o$tbZ zR&tEhn=G$~tP1bu5{uUo8+W@GFRB-xbLw5j^uAbr?;&iQgTvqi*Gmqpmwe4H#^?LD z^}`VDB$b~?&tkIeK7>c-!CN>k(>P^B7Tq;=g_nA>xp++_w(p*786!cNip!#kU#X!Z zqzMN5VZRj%6~K%zZO_JxtzReSaj)_Q?EBuWjb0HFjm^FTn>W{QYG$IVRO%g&sjveg z3ztOBB6b|HDa%+GS6ndfu4u)2s41ag`@4|U2ron*5I)1B2?J7xUzumftVLZH>$K|Z z?6I-yXpA_o0UPBgCW&5PKcWThf&3l%N7pNwv7y;HpE!1r@PCR?{+5WW^=S|9Yj$!vFSS<#wU2l>v{!1Kj}S>RUvx{XIZ7gE z<-1WPw_f)3vpCvfDh;4@d}lAZU@kC)W^<}`(|G-A%VhoTY^Z}bJj}M1%tS1b_#!5= z3#Uy=rL^XrD-^srAaR|My)o6f>;xV6)d0mqBzkW3D$c_y`vu&$7K=Aq`*+ZHmk=!lmkzHeRduBLBWVpYPr_f8-}kFfsH)T zeEsstyj?}GU`}>0=_@>wUPB(vE1+#^lOB35o3}?CXPx5cgS{|X#kD!WwI6ae$8uF> z>vv}N9vt1f49S!`ZoLL){M%?jDn4f1Q%@6f}7 z>s=3pIQF(;YlVJGcO_1HEv{dT%c0&5{kYm?O>WC@O5|kNO0?xL)_Dr+-n%*78!_Ya z8~EK>YP5F3wcp;RSFbGM`AKPky$&NeJQrNNUZyZwGHq&`Ur+CHbv=5tjBEWP*WRt= zt<7HUSCi5@FOY|(OL>qxf5Ml?V02RPB5Sx*p4nJY+}uv>uR90x7Bm`iiGFR?MOZ7 z*FVtHq|6)YeRw>I49bt3xEO~?#wIqczBO2*htMwD8d76l{bCtddG-an$Ee;ob!KBa zqf~>kgOYI9W}TT8{4Yzel9`XMUwg*41Pj!CCp0=j1$|&KB4)l_Y;>*FdAc>PUDK%h zrG$K~SvQZyf(9I2Gl3rFq9LiGvYEFnHe+-Nj;;?K@|dg1O|r9Obo7L6t>~+^xoSPIzaJ?HMk3+*#~rkQ1Suchb6hl5b))$#Lou-Q3d) zI1BZiu11k0=Ebs0mgkaR z)FWxnojj-QB+I$sa|y@ouq$Dx7eC)dRzHc`xz>HTxcC!U>uMVoZDUumgYGmsSPLAZ z54dcOx)j+J`{>@HC*!+BZu_Z&;e(vzsPj zV;1wO+P$zhIC{~onNC=p?w@nluq2H6yKI}t7hHnbx)FoP>fEF3&6L8aHELSEaxR(Xy(g$-clS+M}A7kTkrh4Zm$HZR0yPT6u`Hphd4aVQ>DikBmI5$yk z)VJ(TTB|EQsnICjyY^H|jHm7n?b<1;w_v!} z^C%7uC~c+Z{XneH2zPAV(AGxr7Vq#|KXjN)yETT+AXosN`B@@5W1$Gs-HPcxg);I< znOC7NP8f?dz{s;5bgu|Q$rCbHQ=j7Yr>Y_+QPBcUdu@#*lUoGZCU7O?x|Ork!>6AV zX6?pbOgvD;tO%+saL>cUbDwU%UAOaOw)3Q&aQUkoI!`OB2vb!*Y`|AhdcMiniQKuU z-NJVcSBmw2&@ip$icU>7b0N~KtQT)0tB{lrkh&dXDXF7|F;-_Idvr&+3AdJv6FB+8 zd%0c^PRZczwg}C{^DW&oHrf4HmvyYcqgaTmXA=Wfq@3DW$qrn-8RdA3bGC>nHLylk zlaiAx_6Fn0$cLWHI}oKNeG^b8!35 z*s5Qaraqy?OGYmB!dM}@wO@^aksF_ovc{V4+q_1lJ#Yh4Af&=5-LRUj@1C2vm+570 zWBANj)B6v{*GMtRcN{nN$IWwi(F|rD=Pq3Y!F|IKe!tOW?-zJI?IpdzTqcG2F5$~M zJB0_0()r6RRhCmvt+$OjWE>!Kk*G6x7PefO`EZp?LiL8oa+SGrV$ZN9YY%Ru@uoz%#_DUcwb!%s zI**@umFX$a9H}MWh~43dSK|?xD3rzzr$JD{WH+HH1XLKGHWb>;(B&=o7EannPxoSZ zG?s*R(N2ssu-plH6pv6*KW7NypMLDA9`hqE1Wg!fosg2K^$ahOQxZyk74LSGV4NKhJ zH7uiAEt2Rb-HmKrXi2rf*hmXDo*pPP8#klLYh9sd7>1z2x=_PL5Vf-PC35}CvwIrx z&b3ePT(4creU8hvv^PlK0$^dnk9ckPi_?EV;*Y*@l5R-*Yt2tor3^(hvQ+C$3EMc>z0o~Lsnridq_xgjj+MwME~H19lnan&2W zx0(IC5fLhLx|y97@S0+Ncjr-CXM?pqX+i-G&b8XbwL8j8&TmF?%D7)j$kFGF7k5tT z-l6ooxNtDh8~w)rec#L0f{~T_SfWEOJw?SPSGcx@i=PmRj3)XLisCcTo(>DfO7U9}z9cgpTVq#XH8a*G$(U$TZy$3&Co_CA zN~twc-~VYHYmi+xCke_Lef4aonjcyx5XF@uK8al7d|t!1Cs(c>W4uBpYWP~BxB&kemRn2ImhuGd2PKL51;-R?@^$%r!lm)9jn<7+Hw_jE^|8w}8I zX*d_<*LB@$pQqSiJ^OXFr1@2(exPz_Nsl>xD1IJm{!O@8IHIewXI3 zD-n~KsA)nY4uOD2iIH$YIyqLiAFJlhd9Bty;Q(N(XXb?`y1f$WfC zx-BNSVfQSAeixzr9PZAzhD@AGL6qa$PYn*tP2BZ7BP?RBF)_<8KdUcyp5wVQ(bZya zav_Dt1JYW0x-t5LV_J#JJk?i|o^Ks@bIMzmT1jdk(_Hu1`bvMrJblh;daV0{7_Lr0 zc5{?GuUG2Esr>@W)-KPlii_0>Xo{GRTv{FEf1Op)wZYxP>{Mf7UsP^BLgcET5sUZP z9Cw>(7szthKfWB!e$A8wwb2v3e5|+CdSiT*I?|Br-55F%f~fse&aAi)#X#a{U6Ab* zCXBMDfSagI;)U7CcY@bS7az4!&eD6byJvx1hKv(yUGwHlhWYVrEmru6H@QY#ym zaE5CJXa@tOcF5oK-eH6U%V||t6!3*NXUu3|S;t08U*e}fa)t-?^N6C}7)C6L6KcMo zSbVE&uFjBIkfFnGo1A1_^=U}OGt+X~wrcvEbyZ-}wWGMx7H3=L7R$n71(JEztfR72#Bkq$U-v%5xPK)oB`u?5&)Y))f}A zs>$j>lYzr)dbt-=O>YDp4ID1lw!{irq=Ohjoh|%=J%S zSgpfFJ&sw*3lY0#BY&A~@Y+L`bY031odNOdXZ$~3IH+`e-dlbq%IOu~NU&e{feP$L z>|BM%JpB81!zzX%D!-^njsYZp%y2z=4e3q2QwiXo^4)V*+GSCUFbQW)P z-jxk0yj9hh`eoQq&avaH`;7z+y391c#pZI&NjCa%+0J*mDc3F&`lnP0@d&=kp{W1( z!VxfhOch)DE*XsVUdw}yJnZztba$R;R7^4M7CUv`M-k0X!?Ih?J$6Ub64{ayE z#9+Vy%Xo7yzOk#4Xf3e?E5>B^nSBB+MOVC5rf=vU6R$Q|1nOwnZ*tM0?*%&)!HXsr# zjk#}ikG;+v!UxUtW(qB`F?=)(7yBCIL7jb}H90$x*ur;sfv>DZcdSUBO#m%6#XB5$ zL@}{*1MXRU9eMQE6uR_|mHOb6&{1KWJ-1MYgFa<+M}}~kWj)U(GI$p-|2(*WG5$&I zCWGV)3$OQ6H)Q={J)$GJM>HNXSKqSs@F^Ap zLlmdc*RYnnz1mB;5zIpUB#l`CM_!iOrk^-^jandRBsOoU>I=rgQ5$!SF8lGyYZF$6 zL-~o;2Pb864?uO5z+YIyP!dwky7i(Tn5%x)&FM|Gy9>F-`Ki5UlEgFweHDq=xzD!e zMR>i}tE%UJj%(M`?==*(5}xQ52xf>0v5451G8p}OK?s`>o`lyek~7BmV$HqYY_y#p zcbFCQh$t2-ab_RYrN_5jSY>8zEE*51!nv-tzggbXjkWN^l{oaYNLCpZGPkZRt<9yj zt@#%E&Fj$Ps`Gj_den$+?au5~u+nbC5zO{9RI-gO3LTOiwzSs9ofa^tjwg1VH>Eek zj!K4Hn7_(?ereV>(WtdEPHj{(>G15pGokKAulM6O5}XZYty6k6@8Tk7sq2MjLAP%! z)!ZtDV@uQWJ%nv! ztWCnzaoLSg2D#C_Jd4?9%$w#li}S|{`;-FG=sY*+>@RvV$~@1IXgDR2$XNY6L#pAl zL?xq)e}+s0pTs0%wSR_OgQ&zFCYgW?g@&sVY)sVw8H%F;Vrs0039pi#mrJU#8799f zOxrK@lHD--LjX&)$0|;OpRD`vejzxY4wokyA{p5 zGg8L}1zp%#jyHE6IWKVB@QW{|9xPReR zhHt;-j74z!0X*aW1#@Qr2)UOyc#Ndcw51wW2Ugt8R@}|sl9-2arOMHDayLV_wO8;TQqmcN&MiA2ZFDgklf>+G@~+M)GnEj-+Z|eqs)`G@ z;{E)nYRO4MU8Gv-BG_~Nar z(mogsOOe?_BHXhq=}xrj9<&P5%6KZFo@_PjwZU=fCT9s^#Y2s!n14I5a0?&Qa6;)+ zdWYQxQ>lrkGIymiGgBZ`KwPkxoK!W=VZL(J9rUHgz9$kG>i zjStPVy7?xoNc1G5E8lW%V71!GA-^;CBbt^+P?CIZ65?I#uWhE)?A-O>QwPr}w(EqZ zlkZ|JVHCbNel_JgAN7)7_9=VQbw`guIXw{S)wnzIc#m9RXm+OBY0ml)+7c7=j&Dys z=w7QfsH1g!zpI|PxEeaU?HAYp){!_Von#`&lUmVUVkR{AqmMc(UZSGd-B$Wg>rbpK z6272J{KF}LRHQsPyaU`7KOQ@*Wy6W~@_IgQy)2$p*=PtA`8Jo0^_ZUZWhQwfx2+wB z%JJd$4^pM$nZuiqcn)rx1>FBl_lnfH+R%MVu2pu0=v7{Iu5c(&JI&wb|F`Z`OL!X zg_!0N540VLNL(2jWjAt@Eqyj)dT`T)8%V)7KWMMl*`;$(=WWE5v?bR<)n8_+?PV_p z;|9Qw=z7M$b}p*ABr{32j%R-=gewYF&?dJ1F|A^jFcRyAN>c;ae@f`?uQ9 zzYEL$NfVZT0y6%HD=&P$emQe7%<{;@;XJ$C#Sn`)rhz zsJIYDe3Lu_`{@;ZZcH9i{;X;W?8LTR!(%FR>I1cAifKfRE}kS;`Q^jCA8smd{DBig zomfP7sUS^8R(TBWQoEy*5vQV1%J7u-7gxWBr9W9Uwd1!l@jWJ5uL(O6*1s`TkAJxT z!!NjBZdl_LEd}0F>9eZ3Us#L*3B@e#O;mCkbZXKVum$t7ZHQ-UIC6eiC22Ck_s8Y0 zU_X^d*h^lE?w{H2aNvGKSA>V%sq6ytT$4yl`mSAyOwx2_n>2m))vDMl6}a&``wJAA zi9NK;-^=BU{G1p7Zd#IwO^Rol%XjbSXg!(zG*c#^3T zo@SfP`UWGnG^_&@X*{0Y;7oS)l$ROg-}+d$TFua73zE1k{#i_r-Ju*iNk=CyYX2`! zXdeM<=iYT=n{?NDS7l?nxH83T&$s;!tt+pE-t3#fiKQq)G}8s!>S7-g7IH@v1mqCw zi2H~_5V z=?VT$|LiAW_xeuob^RZfT|T?t9=9_orR*%%KF29=g<3x0d6U}Z(e93w*VN|?n*M1` z?K>I{M3CniqsmFE!SFtum9cbl5}tXB&dtVh>BzCRu1Lst8AlgV8kCoCxg!%@tgwjQ!C z*nOU0XlPF^Oq4qK&>g2qnj}b8$h9Ghzf81)i-fMsFMg>K$tbSCbWlbQb}g$n*}_bR zdIvsGU332-YW!9=xm(2ror+w0FKD-wj$uGY*D52g>3SCjL5g3B+jwZn(PQd67a;Qz zna{`tQ`^zT>+7eHK8|*&b=V&S)%9m}Gj(LG~H#e5Pr@$`f#D-#ndc^<52D zJPXs2#Fs8I@F?KBak#q=e}E<|xdm9m%I~*dZXUh+tcg`XwX!?abAX8)JiIFE^vWb1 zpJ*$)t-4_ovE6{0hwiJaudC|Ye*D2RJCmB*NvUzlka_7FTYYeRLJGS%^D`VrM5lsF zgTB*0MOnofH|J8LZ+r_7QLh6*4WQe)nR&iHePC+fNOY5e@>FGWCfeQlu(3NByWiZB z*8Qr1HbL(WAx`YI{IK-e-Rr)J#{95hBA7VO1p+EdKXcCZ)xi&Tt?$S7MO0xKc9D%A zepHK5Au^)@O_xMLDXV{zw_4sOAKk-9t_@!-r+o4(G?oK^jgpFaobU#Nt65H6mKlUQkm;$9*j2R(raf-e6=#d ze9j8`aJP*NVLppf%x(9Eed@xGMziJsjTJXn%0#zm&|T503{!$ z;!@7qZK=1NKC)&kiL7D;j;y(TZv1g+;}83Wc^gO(%#UDZhrHn3f=+`*PnzSPr+NK= zoIefK#(TH#dYt+w=A~Ih15M|(K}capF)nTF@bu{$XA!?=F$S`3s?>R``|6g1<6s!} zmBu~Z*FFMOj0?p!0~;6trtd&%>scwUMTP|-MDUm7>C?Vt8efTiVSPN49MzI?&UcAs zE|}lyDD}*1+;?E6gEQNaGN&^yjLYT&W_`uYed8VL6KfgVjjWDjoU zo&CpNtMogLfRkjkbTG2w0`GvAmcDct+m1-eD~d);g2dUO!CSC@ufA+-`lJ- zaUZ*vra4l%k$xMhm2Kox+xVza-C}2d_O719>E87N)xj-Nt&s@UY2PVL+g)3$KHA1j z*cLPghbF>T`Z&KS>_nz)`n~{7qH)$9NpkYd*_?3bvgQ~Sh!Y~dZ%R@eh!3r zXm`G4YzFyC#Op0xdk=U`K6m-f=9KsyxnkMs0&L}Lt>L}>Rz7yk%2cA;hSBm?!o+to zF>9PWy!P0fGPV44J@d5q=g0CNJ5A2V3e92>yG$Z+m^If|*$nODQ^MPAEqm734tFEG zS;_m5A18*3Cb*E)TarKg*c;&!@m)?+l|is1*Zl?qG2S^6E58zN=l<5hlQQh}*YVwEwkv&A*Ov~8v&HVSUH_#(%Hk#e-?{pn`yT?3^nvxGP zh*)Bj4hDN`w|D)cW#Zb8M0Ad1B~Wp}EhoqojeE>fGVa*c zauRmb!fTYZP&9_)s*J@n1|`lQV~uWeCRM@Xm)s(>2+S{-R_ z&R0tBUgz}G&QDv<`vE1Jp@};fJE~(C)trb+jNRy}z+P~%xJ!#pmHv7z1qpsKVJN`-V6xgR*7n6jJ#XEnNZwz zv-z10ybnh!XvsBO>$jSZuFn1KMQ>W%bXvg>_nTg)v&KEP8O=49#FGXh`I|ho(?9DZ zE^Be=`E?(<;ozMm>LNJ4+0Y~|>G9#^*SG6a+72I%&nb)BgZ5sD)i7Fwzu{z<1}-|d zrDC05Z;bu85od@^k&K&y>A$N#d?VVUhyZd|?BHe6Y;$x~>W#1Lbkc!)S?indI`#3Y zA|{P?{LZvWShcIv(!pcmk$3~~%CBcG=o$Zf)PL?ml*^)r&ONIlC^>x3G}E8APR9Sd zd-*9-Vm*`uvHHM}R5FlL69v{*ID(GildG5nO*r37_waSml6ow?Cj3Ek>!_Rcq?5Jj z@zeJb-_ZFxSCG(E1=ZWn{cW!&ud<#(!b%t9TbF6E$EOVMKB>R=H@)N!(VfrmZ;XAY zuR?F{dY{zu-g53N{O9}o8rskD?@p~fvSXW?o$kkW z?^fj;S_MbcE|VG5!``z+9`^TJ8aG;%8a#Vvo%1&}BlYTSCtDt`{WaElPG}8X5K_;s zojE?WF7XY`?b;e4nwl%N{`8gg-d}mk0-{FN*>Og>2l=|vtdkiVLU)zEa1g*uK$Fv~ z?iS@iBiZQ6kW%vVy!KzbSO~+;rVU4P~IA~WBUrap&pB0jwv~kgmRaf(=ku<=UvrTDBSJR zo#E?U-0F)ao1jS_#zYZ;g5g3W1Pz@&U*Ov+BYcQ_Ki40J9*NMo!YjPVY}SJV=DUfVY|0G_gggzDNg1WcK|al1q!Z@ zn|bB6ms#VeG^E3C8cmGn$Rnk{pU})}KT-Pou~HfXr1x8R2ISjEw~>q2l)s5B36maw zrg#0Rum7D=lYs844CbZ+)I1%N9ARJTHIRP%nNk(k&`0cJn_eOwJ-l%(bCgI^Wz&wO zR*KBq@+He>!h&<+=BD$Go3OW6lxeM9+vm1AO);_es9MBvGC(taurFQp{Bo*c6W7$` z@#%-M#tezBDt=Yvf{gl(Nl<{VXH!f29w19gyy*uW!6oL zpFNh_cgF2Ur}|!J+myyk&k@?=gvGBQW>nM4qPbVs8#0xM5v=zBq-(P{WUepd>&{i@ zh9g)OxYC*^IMNjCAvmkq8`_#57S!=Xu_CP$r@o(|2|pQm_Gy8|L^hNotwh@Se;-Q0pb)vK?^opEE7>(lfb2o0#Ll75;@ z06z6==Og`a{f3+dRPtCiUK<|!F~V-zChM;b&bjvT*OWsU1c{2Z3XTN=amX&6^;#)z zr0?qk!QkoxH-Fihz?b*}>EK+?s|D72x5=|c+$;#dk@d<)I*Lc_Ra@U?j@5s2rZn>V zl#FLjXT}Z}bt1G7DnTUf4JvQh^{1irtW1a{rD5fMC(jH>@EFNB;YHx)yhdje!FfR- zm7hi*t9N0b>Z7~HbHleApyFyxaznRMpN^IlSOvjsr+4~NB@C`v<wKtEmg$NJo)ASAb0r5IH{tQz)K5VY&(QiR}z5erF&~7_CmiS;_DnQf<;=F(s?*d5EWc4qmZo1JEg&91V>(5>RDg^%-VO@ zN6uG=BWtc|8E()r5zmXf=0s-|cOyo^@*I42a{aADUn#Z;(|(h za;TKs1zA~6zCGEf#4Ez%!Frh(AG+`iC+x87vCD(ejw zgH5fW4T=3DKS00n0wssD@(q&OxY`wbjLIf=SQASpyEf2jWSSvKdEIM*LF$XUlXyix zb-RNKeLV?9gNifm zlA_gXwl#6tgu{>|z&LW}BXP!+J@_JJ)UD>opaXWiqZyqc^#=1R3r+@jjg%9*wZ;+> zKcPB^V4|4WEnHdL5Gyv2A8Qq&LbO^)%eo85U0|-M_|f;WNPGF6FyJm&n86#{JYU<% z8B^{X=bd-Y_g=j8T$s_28D`iSGT!EggvV|B&|QCZ)w_`&qM(BzU+EU5AQcAhH=jUX z{V96;clXMUzu$f$YkShYvXk%iPgHLI?ta;+_xn!>wkO>$b9irgLb?6Bl(N(BkDl1# zlasPvMFVZ#<6ros@E-N#W<7sGapk?Q?O^);CB>Y3&UTpw{?qO6&GZjPq+VA^IH>6*!UUkya z6?zT&5c(4O`}451Q#V}Ks==0Ms8}H1MGqa?0BXLRa38Kqcfc5!kA|($U#=E%9(DDw z&7$9>cJPf|X{jPZpJ|@R`iRvG=+~W-B$YbUddVfqa%Zj?tvBRl|Ei^U=c-f9ez5Dsnnd>~YYpBls?V|4 zp>^Ix2YoZvT=AZ|ZELypW`$Jy(QgRt@pONy3L;FjO=tS;;f(eorFj!#($j2E*O)w_ zM~Z4K!mZq}G>EclIC=X>TmQu=6>9N;n(D^QL|OtJuMdVEf0zA>bG*EmZ&J|eLdI6x zMOvw1nD2?~h{?U>sxCoMjl^SQ?5R$naJHL0O8>=o1Z8PSBQN`qK^x&gw(iMRQ z)pFaU?r8k&kw}Vo>ixkv);DVxQ-_)Soz}Wn9e+~s0RYR=uJOqIsLegDIW#Pxt- z*>j?_Wt&>rlw;H`|GX!6?>V0Y(eLifld$K2F5>GMoKf4A#NE8;Ld(x?I=J(ot-o~Dv9ZYx{iuCU>JS)rd+wEUKn+SY@f&n7bkRLe|V_UZ3& zw$MiiplP*}Zjw!E25KpbUC`ckOQynnA`eBnMWG@G;$|(nMsc(>FO;>bHU@7wP20-- zSMudgNYs~gJFlsI`u#$;iP~Vg6;MoPLbtjrMy9$yeb>EL1a2bTlyKudV%CC-7i+jT5In>{0CXoS%fI<*$01Q}da90Txp$`=(LxNj2Sc z{>=cW??=ezjh3rTexyR5a<^Xm;2v+Xio4_o)g>bZp#bCJHGOBo{-Hq1Rg48*uV(4R zMtH9KULV^6=p0MXiI*vxhHxU;Lr}ek8Jj@WoqPZt@ao_=SJmPQtM6B;+_OLY>UVu> zGmfwRut$Y77m!trTAC+-;bY6Y)<&yl@MqUX0$?`oQZ^tzL)D+D1pcKap0{U#P=ezR z$E;D4vC|8aM@?Vnu*Z$&$Be8?MykK_5^olQUjHi;fvRuSzb4g}l&FK3M0vt{!p6bX z6`|D1h;CJDDa~%>7G7G zqwi1$n$(_+b4-ZwXOPr7FxGWo-L@PwvH`H3Rb3$IP5Il=Qr7{?HAeBL#P#rQ1vj3j zk{{E{nn%Qx8_yX9R=q#2%8&xYtjcfg#qL388f<-i4!E(il^oSAX@PXWMo79+b#37-U{OSrdxQP~0X4k!O0t#2^t{tuR=OHWnitkSjJ<}3S zMZbE#^4ch#V+s0$2;Z40-Uvp%jUv_iG?^P5%E<~fO~z8Gj;U&=Gk^5I_2kEUsmC+7 z`X@SEzVpQNUf*$kp1xYju|iw5T`Ca+IQ{E(1f?v!CSEU46z-Z!G*N@iq%FP1MV_ei z(Mt1GOQGs<)Glkew%l|x@||^UNwFbhOai|6KmokSzXO(8?&;yto-ei0Yo|=$n(K?0 z0ni}iga9MOhDH-{!d(TaX5xnFVAf1O94UG7$(4#k^rrL8>#pt_eABv|u+B}F~)jtFJFDXh5R(cz)b0F!RNneqvlA`(-7p&67(sc4@Qu=2V(k;>c|s=#PxC`pXvE} zRID4Az7e;pp`c;R(dUf5ydfw#A7;EkU`%DoT*)B~8xd3w^KL|IbAGlG zKcn)`1)QTj7}1n>=Ch0UJIm-&z64!a5G>mDv?t83lAAkTr(>sSqA2amN>eufo6*Am zzrg*!ycfR}*E3%{r;b=fQnJAYTt?;uiz_xX&;z3DW=pz*TG>eq0+kt~u9!t{a;FM5 z^BzORTyASZ>lkk;K$(RNu9Qs$6uqGaZs0XjIg{xcs61y5&kz#?$U#_5f2ov@ zsO)?mjW9M6P^dA6{9O9`1SYgPlFYd@awNS4fQKRW`hCaX79tE0PR=gEOi+ekL@Zr) z;F58U!1S=E_7Q3BOl~&6tr|LF*T`YCQKhii5-En@DRd$x@Iu?nyNIHLG-vT>00hnO zP_UEY|LV;Y|FYMAPx7*tFTt!aBMiVBniw7GI!brB0>uzK&y$WmHWHV6G{loV0uv`- zzcF&N%fF+Q$zhAoCrk!%a_jL|Nf;HzS!JL z;}4P4oLy;G|`9Rs&ctt9;eYDL; z@tB}V^ALzJz#VzlXmBtD1H7F!E4G!;mI`o#68VpwgP_@a;fo15C<~qyxx-f4FW_Tp zur2ChgQV6h+I|Ov;8f#OELz%6^C&_>37mWuQAC^st>B@vkYii^-K?y?%)qHO_d@O= z(&dxeT2QnpZ+s?T`pScq-dezMZJb3*VK}t>j66XeHBJru0NZKYO+}8QDxG;TWUo8G zjihpRBqM4DodfMu0~VC4_e}yn4qw+mCkF{Am=+8Xt>enFjiwsOlcy=^Sh8%Yd80HxqOnP4h#hw=`*IUK z`p{*`c|l)311U7N=EK4R1sE-%jE-rPy4qUw+0+cd1aq#@D>?NW5hYSugyS?79Zbkk z@=yU#c@eWOrfVY$F4ZUnh82Y0oBYW=K@{OAkQ9n!wbWiFXi8pn@vMq4H6>?n5dc?i z8&pZ0)^q|d(l@TLkU7*qsV)6vn4I%#q_J7D6H+`!$@aiTW})FiTdy)i<6Le<>NfmI zZ4*W9jZd%XuS_SCp#spW#^owCkayYfE8DS6gH;thnz3=4ee2 zugihv!HQM&S;t4V6PaREb|o_CRhN3`L#`FC`;Mj;-$86)M9m|V3y4T4tG0J+oA^yR zqB%|3M3Isv|KXWcfhlS%0MgD2V5Ljlk>XPDN79ad;QS1{JbPRrTmd!WiamoXi3Lz_ zXs?str{6S++S%dy|Ngs?*z7Hma$G+L6XH2+`^6_b+hECKjUozXAvhr^T4;ilEUoB6 zp9(9>$(l7TP%ky&ZRY$|ZAtw#oY=~vDtkx!_{edjuvaRni^m3F8pP=V8wid&c+F|j zT#SJ&!@a6&h$HQ)>IexOIZ_4uv!kbht`fFzIxGS!3y7kl_&_6VFobC`VZghFLgih& z+s&V|o93I5wu#wN+PG%80oVW;T}yJ=f37X?;f!24c`9&H2N zmS{q(I?rbj9zl0>w7_j*k#mqqh3`!;?50`o=sJugw;3n7=fz|MiZP81#uRkjG*Sq` zANY&1nmKcjvdm zlw*mAK(_3FMXq4X79Yej4)!V{G9McWtbo6Zp+~?=t!dHYs2Xzh_NeEWlkCq6wqt0J z+N~JbLh4{@^?Gz1?|Tr3hP=luMNBAn<&M#CeGp?*a*2s%bziLl@s*RV*MX&o+e znVf05=lx0!BT}FLpP1~w`|R(hw!TO#_qXqc1t)VL#3ptSZ%n|ZAlh{VCFn{nCz6h% zL#QO`uQAVQxI*c~L4tA5+)+5zyV6ITE+FHmEF2@1kbZI~yuVPXiT03)U5lf~z43Kj zHZ8q}qgefQMI!xaR0r5u2LZ9vNZILJ&BWBWM&~q#mkjM%+Y;5uRRoGF{NQ8IUTW=a zsDO@(1nn;;*%{+Danx4lQP*396|wATIM%SgGlatZVEt{zzgx(k@8!Rq>fal;y|`b# zTk3!;rn@%jV4Jyv9hgoDnlX4;JZIe3k;ws_c}>o_OT)>s^k#7f|Df(`TG=XN29r2> z*O93liDGY@ZFh$6z=i(btG>0jF#Jw#6^wn)h}DT92=pV7oAfj zed1b7)9@%n7i6%b=PVQf(sXe|@dny6BZWLDT8rLQlFL27n)N_f(40x5%#Oe!!ecBu zzfW*44{C)FkqczdH+I#CiQZOJY7Ar;G%pqh@l5duin*es^MkX4XVrJ@HOZLuD+8>8 zNm`YZB;x~qNGy&HBG;Dt4awQ-gg8-0y0C4t*N_R%NL*Z3G|Bwt&p^Gu5`|PJf&KO3 z>c!9g`OXm+1Yu3$^ufy(W=ezusHDu3FUA!)*Y;{GY`21nTLwY+30{#CL$M(fysP*T$_al#YHb6A zfVtD|>BK|j8G&g4AsvaFf(4tArl|!V~W?c)KRVsoU%=GruHeu=ia5YC5V38_; z4QGc0M}zuFTNfBAj1E)^tkf7|LwG({z85v&*NA@7hb}%JBIRwq|K$tbyQXc=HPB!= z-MFXrF(D$5H)IM*yTShZQl?<<#*k^NV?@)Z%m^|&QagG#E0Qv2>eW%8nM}Sc4m+4C zNiRsRhk>*8{p#9u)#w%%sWhIE*_q`ci9WjbynX)_*|!g)#$XU*^`Ic{K%;g_Ire#; z7K=?zPYV)LXY9xaYZ*aOm*j)*lz5)bY%?3k%Ox5#Q1D@fvq_?4<970!(C8WC0$)y& zOT&NR=pI`PUwRr0u$jt{@Mk(Psvr)`2^2jb+ksGA4OmdI?MF{{$3}~G46+(c?)NIu z3YTIz6yfJ!#O#?o2BIperNGQ6*_sLp0GLVb*LKS6cztHmOFM zb!`VO%)q)fkKmp-*$XzlZ`j)?$jKlWk0iv^VX6Qh*{loSK^%F9e&xs-stZzj7%_Q$ z5d7vZE(?C&b=~uD%UMsHn92>nBSTIAucwL@fW?Oh5POF6ftyTTHwzCW=zY7~ih-?0 zP^onFQVxYDnQR|1uazc(^vXh<7~8&w0=;!N&l=Iy{PrSpx3;plE@}2yrOU+CV#Jl= zO^DsJ4d6H+o%;CAUZtQkCxfwUAn|91Tj17U+qqLpbs014jWl^KkR$Sm1BU=Itg34h z=_MXzj^tj))S&342yf< z+aX$`b3Pfy=Vs=FYvxghGdY6OAOWiY2OlZAWI@Y8#1)t32*@OFNU&Ff4muF&9{*Km zh|W)klMDHh_%KzdlVRvJ2qMBA`XF6`DHaDN=a-)h=EYF5$>Z@lm9;|Gwl9sYYKt3| zq~17#6jEk}&;Woa@%8fxuEfuh*_dD!BSBP-mC3&y^R5X*=7a)#r2|$;ZK^Mt&NJde zx{Z0phWG@U=tbBfJ(hQlv`yAFMsJBBxaxJ!2265eg|2pw3;5rbhDbChv8H&Q%fj-v z0IW-|8v~NA-o&{;UXKADL97l64k4I2B)eV-#+t@W*uVw-3p3<^EnpuT@r|`-OU|QW z*k(KNQ)eWlJGIf|FD(hxmZUD%U!F&OgT{jjlsA;hA-mebqlwhCHXH_+*dQzzN7^vP zoNM<4 z-U|vU_K>FFY0aY6W*$H(3Nz;)*9zeuUfP<*UBT`8_20t92_Gs(!kV*rQ zUM}yWlxE$h-;SdV!t@o7r9pQcchJN!h_Rb7@}gEs7;o%31A9AziaR558IOF8Bo8G9 z35ccuU?Zt29xrOErx49h7Oz=a3#AGpOyQ^cxQ|?i?*nv?EuqBOYoYU`;#pNwPAVIB@9}CG9^kiWH{1C>b{qbLl5@Ts_hUY6huQ_WZ ztjNnzCwU~65QK3ULI}c!LcAQc(2oIV_4&aD8P3HAZjQrMXEz!pumR(0r7OSR-p^!JJf$$*aLK|4B&@Ia(@GrkBnjC zCF_LET*hR=3@p+&g_VnBspdBlO+6=?+Syr&$-kuN7>5u@4@O*zh=j@qaoee@M&EOd zQx&3!V5Dt{5jAZH*1>>P_a=@87Fmgr(`nw?JW57+4w4C9{2Df|g4jF9Abl`_xa1Ot z*=k)IAf&`t8H1#YUxAFA`s={yzoz=CvfyR=$qPkl&p*F+O#v}121Z4wCQE+Sk164c ztwaYova`}zqNs@(FxL++L53;=Chr-k5Jg^0-&0qDJ`;)U74SneLqNq!K4J?2o6A-4qZ!L|ZkuxNK*k2KtZXE&NXBICv) z=CQZas5o*b|5Op*t1mH z5T>bH%jIj^&YnX>0}spTwdkuj@DzcRU~v>oXYUsSsP|7?&<%CszsM!SK#~N=2w2vO zS`2aUGAs0P4Ua7Za1uv&EUv8D1Nc=?f>ScSMh6EYhX68eUJHjZ&!J)`g2-qcibs_p z4PCvSGaVcvHIsGU+UqaTu$%4cY3~kTxi(Qbl!tA^R%A?l(sVnK(&?9$&iceCuf{ZX z#1XY-sc0=8Fx#Sos`n;J=ab)r*~FDaqr77qx26c;KcCMrI3QXGJE{;lm=0?GVlKe=gWa$01&9O1wW$CK-i1Y< zxeN?U)O)JAK|H~SkO197nMo*oBZW)^&eJ($YRFQnFO8lr=avs`4?dYyx}WP_)yH9g z3Jt*e2(2LL*+5$Xx&MCWhunsu$uK}*MTS;#r%*MjSm))$>Ht$@Tlr&!>AZ`QDNg>> zsP?T~5Iwt;t9J%zAquUZDmH56F zQxM%2Fz)6a*IHv`5VAp^z4LL^;PkuL3?(=4?Xm(8H*)d=w% zz%?y%LHhbfI00c35L|n@sIR%Bc)L-d)%R9#WmD3vFD9eh+djv{ti;dO0rEF5g69~R zz65X%qUf#IMto0Is(G8n0VQV{I&R@js}}fq46ngw&?<+#KHQT?lWk$O--=l9EwE8d z)yo3IqCsw`hLrZ-&k+o#&9a;3(sj@%PlDFC@L)5>0Zc!>=aDGbD7nm%J^=XUA7}gx zd6kuIoFOyW*XtdhKl1aM7hfD3f6aR7yr|`D4Lw3e;~P^iSq#H$n?OM{#*6^)&d|6* z#IeJPFpZ$5lK1w`v{9{GkTdkQ_;+v2`X*JrAeF-u2r%)>d}oqh@1z3zUgJ&iLPA@n zrr5C6N&?^f%fT-_s0Y_AxE6~R6KA~wb@&)_>YlV58N`sns%tl*eZ*9r$Q1{a%{YW$q+$cwVF8fSh3A{4qFL<18Z5<}SfGv{50aYUXsa%Q6emjAI#v<_Op%W< z*hLiwh+BHljQ)`J1VR!|(MH?v+>vHVA5N1TJa)&XQdhUH!8x?%vu6E#kL#^m1(^61 z6;k!(E~a`(l+D@CbI5^wfZaxHmx;_}NdOhe)&K{LO=6~^#ERZnN>x=?hi+}2*7#$< zyou?ble`6&7(-c0tNzF0u75B@OiU0&fbeE#8!W?#DmEn2o7vd)Mavdu83 zuy81_)5$g-eB^z&^ZwRKlt_9+qjhthdeQV4^-cC=jtICZkO}GXJxMXmc&X}`R&j~b zJqMfF^abNE$L+wMlmUD2Z-;PIp1?(~iwG+g3HT(_oyLE85c!{&?UjpLUz}HK6_8TX zut>f!%~z0y)GF-<$e;Q+OqQ9BLdOzvuw87}Jl%DI7pUa6P&)eW6MCc}?TDUu9pmmf z&{o-(onK)(ceeXPHYL67IGB+C+_cucxG$M;899!Kt|Ky~iIkw^5lnHZmVgZK&q}aB z%qAllMQToJm~&@YGS8K8q@ZNGRMaxIYMU*>z)PD2k`77y9JWmtJ%kO^LHt#0_D|NS zcAc;Uv)0U@_^SU9J)#MZC2Iu*o&AGBWg9DzVG}k2#8LcEK4yrPQrQqem^|3W7XVF; zm>>BW`6`US{*xG}4y4q2f$(_oeVulmX)KPyw<4z_qV2SlN8#Tbm8zgy78H^yfQ0YX z9_O{On<%`rS>TO~6s6Vq1Tb?$+GtFR27KkY5p;2W*qSdc9}Dg+WNweF5J8~73nm5I zCCDwJz!RF7d2xxIgL!RdErYu=JK8u@2|ZNvb813O;AMP9{|_#p|E1?f_SXUhgKqR4 z?i7UjR12*_cf)=NWbvuO;35DjXk(4d1a?wO2X^u(woQ8*&oe~E<2Un4(!3!=>dB7O zBb=qyaPo>091O0|)Vi+zrLOeaq3thhG+GCp5)GzNmejOB7Mg%fF;ap+CMY0~VM38> zFbjK|+^@nG0S7$fMCj>oXSp`8$tqf-%9DoZOkh@}R)5e?t~Sj{Fz(}?83%;*Qsd7> zBADNmM5O`xPYk%)A}_rIW{g>)P(vo-L)yKNwq8`U1ujb!^9|{w+2?R_IQ@~_r zfgS-f3awaB|Bxu*n-QQqbTT~_WM#!jUl;W14nQ;z9Z(*KpfU@hIiFGmR2#vpIpYK3 zWJo(s+6Dkx7)WSxgcw4uitt(>NZos=?HhrfsL=z7ZzS`AS4@BD@-E;P>@D!^`!=8` zO2ran?)r)#F|2Zj7dSA;7-O0b%e5mFP~^d^SkvevBXNaCQCdtwQA9K-fk~sg%~H#A z`@ImK4`e~W9s1;@`Akfs$LF;A*B*Z_H8sm+CypLImlgwfvaa{Gx*hJ;EborbZ>pp^ z-$SwuAbayKC^P7wxv|@qzSM;*T2{8Kc*Dsi5l9(nz&3&^xpQq@XL$yH3#6?RB8p+k8LKFQ{R-UMu9e4`vDXNpeD{B#DyHW;{(PF<3X?V z4zXsGcos)f)Mlqz(T1Jz+sN32Ow6XDf)RHI;AjEo)2c!y7tU{Apw>YqFk^(n1dyz> zsD5t{HUw^xr~(2&-k9D~Z^K)JAZxjCE!FhHiZ8{PVlb=Q+?Jfjp#ASG_HWg6q~kXN@G0OCwV`EX#~aV|<8mxEbN!kZy(T zLxFdss^5^WNr`30^S>+(1z&{aK1_3B7X}%&>qmqfr4ugGn^r zou?3KQqH4>?}ZGlS4>ic<-?!35o*K*b@22)t+IgM#z~h$i*>IBpD%=FN_u16uf*0EHmTJV&$|8jmYuaM z%ZUkP_DIEnR0Mi56^cgK&)whcxp35+9dOe37%$$>&H%fkjF;B5dTvRaZXR|EH|U;4 zS*2x-w>Z~LgTf|_(8IVz5CH&1X~zN3~}#yadU^A^EO zm*#4UE4tpZuzr%yRuqB<;1?(8`dbFTijbqgz2#Osa00KUs|JYH(6Pj5G};=N<9t7| z9pa4SOvC2#(|hOBzQkcj1*geGp)B z12)LRwXgt+15p*{hD<)88{6BVQQCQ5*x?!?-N-uVi$C@8JrO}ukdj0*;MKrOL4Da5 zptYLW*JB#jBo1|#_a0PvPBTT6G}}d$M)8>X9l1r(<9!O@7uOi8+l&CE-g?&4pi9^Q z0Yn7Q4~Op?%r%ZiUETjc>`vpUszY$H7wS~;S~(N=xpXvak~mw0z@KXVKt#wVNTR?= zW-MF^vsOABtM+N^f|_4UMIj-dYY0zdLqU(!GO#sH*83(Gl#gD4Us~d-U7uXS{q|YZ zm>5-JO`}W#C+w`>*N)Lrwx3(t7e=X%kbr<XtH|l~}BtDql?@-fG zqfP76BcIEP^_h2hGCy)MsHTCRn+HWLS+@FzL)X+6E&dOFxE`{uEo^r{KIa+rLE@YG zOjLH43nV1T1woIM>B|j~4WT4o+nAQT#s|U}>b}(4fsIYo&*zCc%)u@?H8xerqraUQ zQuJw88Xlr#;=v-UpZklpl1qG92j$Q3b;Y>qXl;m-n-gxly}{LrC>CX=*wtJvc2O3b zC~#y`atT;?nD>A1y#Hfy@@2)I&o;NpQG_XdXK_O$vLj)~E6owBZKl-}7v?sQ@JT*RCaVKIV$E-7wo?Gw99Z7LWE8=LN<&xhxx2R{3mbvA5VV0{AKfs zbERQ8DvZgr-|XtO85eN!UNHf%Q-t`br|J`u<~Hu{!d z;(K6NY7IAQ^op$WcNuZRpJDv5XL}o_1GC4c-H06WjHU=>KWka?boj2A;7M?G>#k2D zM`>oz0;0%gEJgKR*x`K}H{m^W+K+tqk4O3se)!#Nd3N>Q4IbS^NN`vyo@Uc(ee|ol zElGHSyPh*Ck)1rTnGoMsUlHZb8SlQ=GvLB;@s8VkHLBO074 zcu)KNUC;FpqJtOvB4d4jx8!g7tk^h@5c&YpCP?ZLSU*yuAK=ZDv#HEd++VZiH#7WW2P)h~>-i zK*F$5) zdFGVSu4IXLmkY0N`f^hMu{e2Q7h^?kUUxCYE*9|nO>CV;G4=(w_PNIHOtmE9^V~hM#CfJg^pd%^<(?lhNpH>u zDIUa0^u|VN?qdpgU1*5U4wmGKAkTvKRnQNXV&dYQrg5NvW?DI;NMA8}T{76NsDe1B`6n39? z3|X&;>acL}2)`UF78R66+i>Lp&OKp45F^&|s%(zxn}UHUA2Y44LHO8{Y!eE++V%F$ zmp&s0t8=C&iskxf!e{`t=$6L+ZUNBit%>LFD!>8uRuk4oQ|K^1Qw=-06Xv2WX^8pcT)SSA{2 zR-8Se%~4Rs{Jcfoyg{cv$!MUb%#Jd!F=;Yje*eHk9bM7RFC{|u)jS`$Tk871dgT$1 zU!LEX@2tQDMAMyP)QiURA~TRlaPmYf+R{3l>5HwOX%DT2Hhmz?WWmO*ZIUW9bqKqW z&Vz$tk)C){77aR5RaJ&0sa$>pf^ujhIAp`MDZC36dGS4$B|hC8Oi)C*EDLVK>Z=i~anx4yE+-KciXamwGz z)Lfo8<148=lZYa`myF6_NZLN0U==rA=tsqVc%{<06|K_BSWizC=&-vOwir~H+)(lP zNiDh-%4$G!gLuax=i58tzKZ@3D3oevFMk9noe`&_xTzBhk=n4U%O?k?V=lnvgL988%**-P@3R^X11KNVUx9lEQ$#r?nNOG?Oh3CDAY zHi-zyRdh}P4{i+QJ+d0miQ4`-;O?Qw3~t=}FKWkDOQW3LQ=5w5$4baQiR10M`I1Dr zQRJ&0z7h-5)+N!Zt+789m=A)kWl~{6W@|CM{q!!HJV@P--ND3vl{BM*&RTU zsiMW;}fE^A?6I;c_3kuBLFc{6o>@}H6oVED<7b7an4NhnoU)_w6xFfw@!sR}EZ9_JM zWS>!wS?wGDAa-4FZB;uZy8a0OL(d-g#hr`=mH=@ z9zu7xjmpB?)XAzGN@YUXUPsqUf@8`&Ix;8PP^G;?WPEQu0%#Au;HtQEdlD>%u<97i zh`<2vky6IW=2ijLbFSh{j_%%HUx2HBPQ*Cz94nX`ZUq!=MXVM5eFEd|{q^&N8kp%; zDPVJrNYp&~)E2mKflZQKUk+^JED?61=4WpGNcbi^o`A8-!l6%3if~#ny7QEdf>_@04T3s z8HVe7$}J{#)}rw_NztSm*+k|H(7#doRcvCdekEnqHj^}Zp z`Z_*2G7w^$o-NewpKJ>LTbV7y9K$vn5zp|pyh^;iDqzld+d06@${EUvYpnsAi(3Tb z(6&y+2s>!U&*^=E0GBg+uJ$2R0+tA%Q~G^NgNh704Wlo(`k=-Y%u1frmS#?!$QP0rirp+*3V# z+38%I@rsxr&0XvoY&0fCqs%9IG7~qkahX%B5pk)xMoa2A%4x{VscOdX0(DI$gtdg? zh=;%n$8ImK0Q4zj1ed7=017+i6sdew+1{_^Qs9w{bnCt}p7sN1pHp#ZLWT9a_h@f} zm7VpYGA}+C{9_uY!mKErd$ivAdIo7&8w=%bzk0>_~(BF;- z-3NHc0-)5xYSh-uDTMka{e(t*n713n)*9U61nu=?B=LFwuCS4D%(z9 zE;MG{`4;^UVZzhZ&RoE^hwTYLHEB(K6w<7SiZq}~Z`?$0wvA=&*!u!#`Q=X19=79^9vv1U=!1otk9McxbQu}{B{+Z zFZ!3cI+6sB{(&|y1=I8sH6BgqssxxYIAvp>a$g!ZO$msD?eN47hPhRC7z4tVj1x9= z`~P_88koeC&!$zVpw7ZG)zUZ@#vtUv~8h5 zO`8KWAoP65ZQY&s2O}tX98uG(_n6&=(AFsa**f+nDt?saU-&t5FF-To3q51Ot(mS1 z8keQ)J}Sxb#F9vXAlgnkZNLx$8FdjJ>p?7Y;wvYGd~K~?TrYYp76QCl?7P;wO8&@d z1nIruR!aksfldoyn>Y>Vw%|hNmjZK~T=LP;SmCY_ej8>hOd%eGe+;G*INNh%T;7+- zmP7zWoXHJJ4F|kJ*^Q}34KdjM!frv~d)iS5kHch9EF+J|1lc17Rh?+NIHZ{WcjTlo zZ<&K`?+?3wRpk3zKwKc2Vm&(4wRvM{b4RxJZO4q-5)H0Iet>;#N@=S@*Ny-aJI0YzDoo2Qv$_vd3T`6NY?;ww411-psbw_7-cW#n<_F%0~VMEefl^0)|&g_ zvF2}dIa=%0WQC?OJ`RP_a5Nemp{>xl1tjUodUO}EBCS{fiyW=3!i0>DB~#XM7_7ye z!H-)S=CqJ6kefpsGeKi~WSsbhI{VCj7r84kmwviaD5pSeqcv-vS}NXSBwt0#8kNet z9BwodtGPm{-tgi>MMjiopGf{50 z*dW(a)lggeaF7XUi)V)!>62MF`}fVSzbk_Cc2U3NK!I87RcEwSKAUG~x65ZYD~gPU zmN+or8gJ{_9F-9g|HYYsTlRfi!OfslM{|%YLNf}XMsi~Il<=iOm}k4~u!d93n-;b& zFXuCf6(`-oOm9j)Hdf-Jm9t^LyMp!|DBx9YVH(q+%URgRLQSbas%8a?+X;p6Vi1gR z_N8;up1S%UGD$Ei3@^!!W*pBFW}a&95J-cp&csb{+#v8tq@G1}q*dfkZc6Q|~e?}K0@6E_z#7_Fr-#NKMxUqC{O*~3jm zMN+~AtcD1orXh2uHIt^**>gW`Ybxx1Tt~hiI(?d?KY52YBqu4Q)$Y$V&f5*yNY`axRK3qQ@uQTj>iI+ODdr0fvuepo!6)Z-+S>fWYLXwf4#MhQG{5Dw`ykuEVLIB)o{; zqv%7iCE-qf!@jM~W4i(19x&2t+*=oLqi%^dF!%2U_L4Pb64#Fl5 z#r1VwCb8h$D%2puo$&u zpf{|O>7=;@XUHkaY5kB0E=0JEGk}m2sK|E zI*iS+ZR0T2O^@lC(1B)p-rZdnm0{1?;6Q_|_I7ifPjzfHrWzc0b!#Bec#f+|qqHa{ zVL1BK;I=SM&Ez~H#(K#*S1N$=t|jp-kWt`k<@VP%a}%xkjy%eZ(}!Z@&A~}>dI?{! z8o*}5Od_u}Aj4|i5De2Z$;a@Hy$XVM#xJddKHGHo)x{YdLIVT%4LgV6rgifJo}fKe zn#P2$HCd41Nu65qvj;aK733Qxc>~fmG;h9lt?3hLqe_%58x&{rKZTautPA9W6AFDq zk@Gj)2tNxKj^{VDnEH4}%QWq~==8S7K%W>%bh#2jmhWFUh+ug3Ii?%-jkTS)0uQ_2 zHgyV0J;R3zqmmKUdC{DZ1=A@(Hr|9^%yg~o7>USAW<##Q3w^XuPhW!#m=~Bsgf7jZo+B)paK5ASpNPMj32?7HVcyEj$i094G*sB}{0aUYw4n+p!^FAbPeZ^qe@l zFl4MSH|M9rKi=z|?3ARFPNbnBz=}=TW@`4pCF}7{A>Bpijv|B20`~iq>RPlDMmnB0 z7NI1#Lh{$%E>u+-tmsR>m z>vch`XkVK5x8cBKXD$N8F$g+l_zBR`DYayHGZ+qC-xyr3HF9ErR-<`0_@^rtzGN{vjnW^})oSX!tAR)y@0R2` zHn1D9Vl6996xfR=JzNUCQT;ZEGF(-EaTLBuN5I<-Q10%^s-NVwatszZ)H(9VX9?8C zZ0CBeY&=Ntg}~fLayrwOza5#IK*hs_+&KLhuamwT9OxWxJ)!KM$&=OL;kVK-1M+w| zZ)RH5{_qs}VJJVQQBECQ$7U}xV*Cg#8cEG{XkHbHFo6FlGoe*6ARF{9__!h!gLP-+ z$kJu$*Ypat(-{1N2qE0{sZ>Or{3R-13RuAqs#2GfsZHiUspV{w+?oZ5VwV2_hz0mc zWVXNgq@s2vkEh1N*}O4eVacQSJDx<8(1v0S<+B#9%-j!!X}Me!2Oc&I)cl{z%P2Z_ zEN~wj{1b2qb-dZ-EqS5~z%)EAlA|nKo)+B=^pA8?Co8njT7Dzfqv<Y zCHpaE$rP$GHIY)3cbn~T*$mNA;nOyqS$SThJi9~pN)Ut zqpt5OTc94GPl_jYMmo%Pf2N|N+0~iTEn0Gn2@NzfggE(nA(r>F)am&)rj3CFWraYk(ru^n8f8TV8d>BY;ADW`QETEAxFmkzI(;1Kf-3N-6= zCzrAp3$kB%r|8f)cViyJtSMTRY-3TY!HaHxuU);FwZ2soh@)5rVKqS&vlH2E$wK+yA9kh zFcb}JMahH4A0m~+!w$B0uT({_hr}D2W25#-$_=(6V*ufbN>+$nAG&`BZWZ;;^F!yv zQQRD%vQ84=u#GLj6y+ytQc=`->F9*T&$BOgPAO+{mI94E--EKeXL~Bo5pw<@CK}jF zO8tGYo7v>(=)QnlPEY=yNp8$jfl?;7JsMIBL7P7S6QQ#`of{KvYesTRLL5`&p8qzc zT0y`mzGFk(8K>;fhhs}l!)J-}=drY9{72y25$zY`XSwZSCD~mmA$TsAE-2hrx-MiK zbG3N7t%;5ig0Jj2xRckDJ9@-X5(&`d5KY}l_M?bu-^s7wyOo<2Z;(i>AQi70 zGrpnzDWm95b7_gTM58YBld|)Xfwvj?&ikcFvtQ1}aV~;P=O^cOpz}!2u3offDDg7` zn7i^64*p5YwIn|o>B~@DRa*ChBERS2bx`9!MuvdbZpg$V1YUKZ{o4+^v#A(u zHxFLozrjb(cYJjQUu<5B7A$0Zoa}rWB>NB)oL@S}+p;*k@eGq_hf(%KQEk)^=4r3l zWLVyde-8}zzVS{Gv!?~qxU?{DaNm3dBAf~OEaAvpL5IQR-cIIR0k>Iw<4O4Qf?%W6 z=FrVuRPHLiZEYJT`wM>?_!V`+m&OLw1-$Xj^Uj{at}X6ufnJ%xQWF#0dHR09ktx$H z#Vy<1mAPf$tbNxP<8c`B(g1ZS#GqMr6@6%>Zs~lj>!A?&fO81c&}V(y#;*Ri;*JG% zj-;DQ)Nl1>q;-FjL9YMUg^psWL3N@3+)^ZLdpzg*n|rPoF@AAq+w3+JDePBU-UZ=U zR_pI{P?6b@X%C!;YIGLpn`Tez{r@!s2UVJ%jl0)(Ex3CKwu`z~Fb5{~=`&tQ0VxMB zoy%AguDo+0SGx^!=Nos~cdZO?yP&mFRL^&^*GaOdinI#2mAHN>}H?*@O`pVtGYy&G+r z`6OpOByustN_o{V8|n`N7c;|e#;+R)5~Wer`+%3*juG|{<{~lT8ncaAuI;*RAHZkId3uH z<@!aby{=LdHu+4Al|;8l;62MVAo>1{eQTmdJ+FZj Date: Wed, 25 Nov 2020 11:35:54 -0500 Subject: [PATCH 093/105] Remove log for CSRF token --- src/components/AuthProvider/AuthProvider.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/AuthProvider/AuthProvider.js b/src/components/AuthProvider/AuthProvider.js index ae5b6fa..cd11258 100644 --- a/src/components/AuthProvider/AuthProvider.js +++ b/src/components/AuthProvider/AuthProvider.js @@ -24,7 +24,6 @@ export default function AuthProvider({ children }) { useEffect( _ => { async function tryRefresh(csrf_refresh_token){ - console.log("CSRF Token", csrf_refresh_token) if (csrf_refresh_token === undefined){ return false; } From 6c7b28e49f0313fdb11cf1c249caf186426ad883 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 25 Nov 2020 17:48:04 -0500 Subject: [PATCH 094/105] Add jwt-decode to npm dependencies --- package-lock.json | 5 +++++ package.json | 1 + 2 files changed, 6 insertions(+) diff --git a/package-lock.json b/package-lock.json index 214b506..b918c04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9054,6 +9054,11 @@ "object.assign": "^4.1.0" } }, + "jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", diff --git a/package.json b/package.json index 71b539c..8b496df 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "@testing-library/user-event": "^7.2.1", "clsx": "^1.1.1", "history": "^5.0.0", + "jwt-decode": "^3.1.2", "material-table": "^1.63.1", "react": "^16.13.1", "react-cookie": "^4.0.3", From 2d60fefc0e973f064e6416dfdf33a523b9b1d940 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 25 Nov 2020 18:06:57 -0500 Subject: [PATCH 095/105] Add auto refresh for access tokens --- src/components/AuthProvider/AuthProvider.js | 54 +++++++++++++++------ 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/src/components/AuthProvider/AuthProvider.js b/src/components/AuthProvider/AuthProvider.js index cd11258..6643208 100644 --- a/src/components/AuthProvider/AuthProvider.js +++ b/src/components/AuthProvider/AuthProvider.js @@ -1,6 +1,7 @@ import React, { useState, createContext, useContext, useEffect } from "react"; import { useCookies } from "react-cookie"; import { refresh } from "../../auth/"; +import decodeJWT from "jwt-decode"; @@ -22,23 +23,46 @@ export default function AuthProvider({ children }) { const [cookies] = useCookies(); + async function tryRefresh(csrf_refresh_token){ + if (csrf_refresh_token === undefined){ + return false; + } + + const new_access_token = await refresh(csrf_refresh_token); + if (!new_access_token){ + console.error("Failed to refresh access token.") + return false; + } + + setToken(new_access_token); + setLoggedIn(true); + } + + // Attempt to refresh token on page load useEffect( _ => { - async function tryRefresh(csrf_refresh_token){ - if (csrf_refresh_token === undefined){ - return false; - } - - let new_access_token = await refresh(csrf_refresh_token); - if (!new_access_token){ - console.error("Failed to refresh access token.") - return false; - } - - setToken(new_access_token); - setLoggedIn(true); + (async () => { + await tryRefresh(cookies.csrf_refresh_token); + })(); + }, [cookies]); + + // Auto update token + useEffect( () => { + if (token === null) { + return undefined; } - tryRefresh(cookies.csrf_refresh_token); - }, []); + + // 5 second buffer for access token refresh + const refersh_buffer_time = 5000; + const access_token_expiration_claim = decodeJWT(token).exp + const access_token_expiration_time = new Date(0).setUTCSeconds(access_token_expiration_claim); + const miliseconds_to_access_token_expiration = (access_token_expiration_time - Date.now()) + + const timer = setTimeout( async () => { + await tryRefresh(cookies.csrf_refresh_token); + }, miliseconds_to_access_token_expiration - refersh_buffer_time); + + return () => clearTimeout(timer); + }, [token, cookies]); return ( From ce280ca23d41dbfaccfc52b64d1a5b72b6164cdc Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 25 Nov 2020 21:51:43 -0500 Subject: [PATCH 096/105] Add csrf ass cookie dependency to reduce renders --- src/components/AuthProvider/AuthProvider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AuthProvider/AuthProvider.js b/src/components/AuthProvider/AuthProvider.js index 6643208..ae0effe 100644 --- a/src/components/AuthProvider/AuthProvider.js +++ b/src/components/AuthProvider/AuthProvider.js @@ -21,7 +21,7 @@ export default function AuthProvider({ children }) { const [loggedIn, setLoggedIn] = useState( false ); const [token, setToken] = useState( null ); - const [cookies] = useCookies(); + const [cookies] = useCookies(["csrf_refresh_token"]); async function tryRefresh(csrf_refresh_token){ if (csrf_refresh_token === undefined){ From 1e06378320adbc0f41d8e5b2649434cb2de63749 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Fri, 27 Nov 2020 17:55:56 -0500 Subject: [PATCH 097/105] Add clarifying comments --- src/components/QueueSelector/QueueSelector.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/QueueSelector/QueueSelector.js b/src/components/QueueSelector/QueueSelector.js index 4395d02..b836b2c 100644 --- a/src/components/QueueSelector/QueueSelector.js +++ b/src/components/QueueSelector/QueueSelector.js @@ -14,6 +14,7 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, const access_token = useToken(); const loading = open && queueCounts.length === 0; + // Get queue counts if QueueSelector is open useEffect( _ => { const getQueueCounts = async _ => { if (access_token === null){ @@ -35,6 +36,7 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, }, [loading, access_token]); + // Delete queue counts if QueueSelector is closed useEffect(() => { if (!open) { setQueueCounts([]); @@ -47,6 +49,8 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, setSelectedQueues(newValue) }; + // Function to render checkboxes in dropdown + // See `renderOptions` prop at https://material-ui.com/api/autocomplete/#props const optionRenderer = (option, { selected }) => ( <> ( From 77c40a4e62a20e17d3538031ff6f5f149e68ca70 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Mon, 30 Nov 2020 20:56:46 -0500 Subject: [PATCH 098/105] Add support for storing active queues across page reloads --- src/components/QueueSelector/QueueSelector.js | 105 +++++++++++++----- 1 file changed, 76 insertions(+), 29 deletions(-) diff --git a/src/components/QueueSelector/QueueSelector.js b/src/components/QueueSelector/QueueSelector.js index b836b2c..aa1a816 100644 --- a/src/components/QueueSelector/QueueSelector.js +++ b/src/components/QueueSelector/QueueSelector.js @@ -5,35 +5,73 @@ import { Autocomplete } from "@material-ui/lab"; import CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'; import CheckBoxIcon from '@material-ui/icons/CheckBox'; import CircularProgress from '@material-ui/core/CircularProgress'; +import { useCookies } from "react-cookie"; import { useToken } from "../AuthProvider/"; -export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, selectedQueues, setSelectedQueues }) { - const open = queueSelectorOpen; - const setOpen = setQueueSelectorOpen; +/** + * Get queue names and number of items. + * @param {String} access_token A valid API access token. + * @returns Array of objects containing queue names and item counts. + */ +const getQueueCounts = async (access_token) => { + if (access_token === null){ + return undefined + } + + let myHeaders = new Headers(); + myHeaders.append("Authorization", `Bearer ${access_token}`); + let requestOptions = { headers: myHeaders }; + + const apiResponse = await fetch(`/api/get_queues`, requestOptions); + const queueCountJson = await apiResponse.json(); + + return queueCountJson; +}; + +export default function QueueSelector({ open, setOpen, value, setValue }) { const [queueCounts, setQueueCounts] = useState([]); + const [isFirstRender, setIsFirstRender] = useState(true); const access_token = useToken(); const loading = open && queueCounts.length === 0; - // Get queue counts if QueueSelector is open + const [cookies, setCookie] = useCookies(["active-queues"]); + const activeQueues = cookies['active-queues'] !== undefined ? cookies['active-queues'].split(',') : []; + + const theme = useTheme(); + + // Prepopulate Active Queues from Cookies useEffect( _ => { - const getQueueCounts = async _ => { - if (access_token === null){ - return undefined - } - - let myHeaders = new Headers(); - myHeaders.append("Authorization", `Bearer ${access_token}`); - let requestOptions = { headers: myHeaders }; - - const apiResponse = await fetch(`/api/get_queues`, requestOptions); - const queueCountJson = await apiResponse.json(); - setQueueCounts(queueCountJson); - }; + if (access_token === null){ + return undefined; + } - if (loading) { - getQueueCounts(); + if (isFirstRender) { + ( async _ => { + // Get queue counts + let queueCountsJson = await getQueueCounts(access_token); + + // Find queue count info for queue names in active queues + let activeQueuesInfo = activeQueues.map((queueName) => ( + queueCountsJson.find( ({ name }) => queueName === name ) + )); + + // Filter undefined values + activeQueuesInfo = activeQueuesInfo.filter( (entry) => entry !== undefined); + + setValue(activeQueuesInfo); + setIsFirstRender(false); + })(); } + }, []); + // Get queue counts if QueueSelector is open + useEffect( _ => { + (async _ => { + if (loading) { + let queueCountsJson = await getQueueCounts(access_token); + setQueueCounts(queueCountsJson); + } + })() }, [loading, access_token]); // Delete queue counts if QueueSelector is closed @@ -43,10 +81,20 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, } }, [open]); - const theme = useTheme(); - const handleChange = (event, newValue) => { - setSelectedQueues(newValue) + setValue(newValue) + + // Set active-queues cookie to csv of selected queue names + const activeQueueOptions = { + path: "/", + expires: (_ => { + let expiration_date = new Date(); + expiration_date.setDate(expiration_date.getDate() + 365); + return expiration_date; + })() + }; + const activeQueues = newValue.map( (value) => value.name).join(','); + setCookie("active-queues", activeQueues, activeQueueOptions); }; // Function to render checkboxes in dropdown @@ -71,7 +119,7 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, )} - options={queueCounts} - value={selectedQueues} + value={value} onChange={handleChange} getOptionLabel={(option) => `${option.name} (${option.number_of_items})`} renderOption={optionRenderer} @@ -119,11 +166,11 @@ export default function QueueSelector({ queueSelectorOpen, setQueueSelectorOpen, QueueSelector.propTypes = { /** State variable to manage open status. */ - "queueSelectorOpen": PropTypes.bool.isRequired, + "open": PropTypes.bool.isRequired, /** Function to update state variable that manages open status. */ - "setQueueSelectorOpen": PropTypes.func.isRequired, + "setOpen": PropTypes.func.isRequired, /** State variable to manage selected queues. */ - "selectedQueues": PropTypes.array.isRequired, + "value": PropTypes.array.isRequired, /** Function to update state variable that manages selected queues. */ - "setSelectedQueues": PropTypes.func.isRequired, + "setValue": PropTypes.func.isRequired, }; \ No newline at end of file From 1c8dedcd1ad422b0fbccd5f9d4fa907b8d4f156f Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Mon, 30 Nov 2020 20:56:59 -0500 Subject: [PATCH 099/105] Update QueueSelector props --- src/components/AppView/AppView.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/AppView/AppView.js b/src/components/AppView/AppView.js index 9ba85ef..75c7c60 100644 --- a/src/components/AppView/AppView.js +++ b/src/components/AppView/AppView.js @@ -98,10 +98,10 @@ export default function AppView({ setDarkMode }){ From f3ff8b5013b450d6b9861130671a83c5afa9c5a4 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 2 Dec 2020 16:21:11 -0500 Subject: [PATCH 100/105] Create ItemHeaderView component w/o docs --- .../ItemHeaderView/ItemHeaderView.js | 93 +++++++++++++++++++ .../ItemHeaderView/ItemHeaderView.md | 0 src/components/ItemHeaderView/index.js | 1 + 3 files changed, 94 insertions(+) create mode 100644 src/components/ItemHeaderView/ItemHeaderView.js create mode 100644 src/components/ItemHeaderView/ItemHeaderView.md create mode 100644 src/components/ItemHeaderView/index.js diff --git a/src/components/ItemHeaderView/ItemHeaderView.js b/src/components/ItemHeaderView/ItemHeaderView.js new file mode 100644 index 0000000..798a3fb --- /dev/null +++ b/src/components/ItemHeaderView/ItemHeaderView.js @@ -0,0 +1,93 @@ +import React, { useMemo } from "react"; +import PropTypes from "prop-types"; +import { useTable, useFlexLayout, useFilters } from "react-table"; +import { TableContainer, Table, TableHead, TableRow, TableCell, TableBody, TextField, useTheme, makeStyles } from "@material-ui/core"; + +export default function ItemHeaderView({ data }) { + + const theme = useTheme(); + const useStyles = makeStyles({ + HeaderCell_root: { + paddingBottom: theme.spacing(2), + borderBottomWidth: 0 + }, + ContentCell_root: { + wordBreak: "break-word" + }, + bandedRows: { + '&:nth-of-type(even)': { + backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[700], + } + } + }); + const classes = useStyles(); + + const columns = useMemo(() => [ + { Header: 'Type', accessor: 'type', Cell: ({ value }) => {value} , width: 1 }, + { Header: 'Content', accessor: 'content', width: 2 } + ], []); + + const defaultColumn = { + Filter: ({ column: { Header, setFilter } }) => ( + setFilter(event.target.value) } + type="search" + size="small" + variant="outlined" + color="secondary" + fullWidth + /> + ) + } + + const tableInstance = useTable({ columns, data, defaultColumn }, useFlexLayout, useFilters); + const { + getTableProps, + getTableBodyProps, + headerGroups, + rows, + prepareRow + } = tableInstance; + + return ( + + + + {headerGroups.map(headerGroup => ( + + {headerGroup.headers.map(column => ( + + {column.render('Filter')} + + ))} + + ))} + + + {rows.map( (row) => { + prepareRow(row); + return ( + + {row.cells.map( (cell) => ( + + {cell.render("Cell")} + + ))} + + ); + })} + +
+
+ ); +}; + +ItemHeaderView.propTypes = { + /** An array of object containing header type and content. */ + "data": PropTypes.array +}; + +ItemHeaderView.defaultProps = { + "data": [] +} \ No newline at end of file diff --git a/src/components/ItemHeaderView/ItemHeaderView.md b/src/components/ItemHeaderView/ItemHeaderView.md new file mode 100644 index 0000000..e69de29 diff --git a/src/components/ItemHeaderView/index.js b/src/components/ItemHeaderView/index.js new file mode 100644 index 0000000..f47b29b --- /dev/null +++ b/src/components/ItemHeaderView/index.js @@ -0,0 +1 @@ +export { default } from "./ItemHeaderView"; \ No newline at end of file From f4dac2f5bf40adc7de015834b36765f559e42c75 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 2 Dec 2020 16:21:30 -0500 Subject: [PATCH 101/105] Add tabbed conversation and header view --- src/components/ItemView/ItemView.js | 35 ++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/components/ItemView/ItemView.js b/src/components/ItemView/ItemView.js index 5ec157a..8bd7eda 100644 --- a/src/components/ItemView/ItemView.js +++ b/src/components/ItemView/ItemView.js @@ -1,10 +1,15 @@ -import React from 'react'; +import React, { useState } from 'react'; import PropTypes from "prop-types"; -import { Paper, makeStyles, useTheme } from '@material-ui/core'; +import { Paper, AppBar, Tab, makeStyles, useTheme } from '@material-ui/core'; +// Import these tab components from @material-ui/lab instead of @material-ui/core for automatic a11y props +// See: https://material-ui.com/components/tabs/#experimental-api +import { TabContext, TabList, TabPanel } from '@material-ui/lab'; import ItemMetadataView from "../ItemMetadataView/" import ItemBodyView from "../ItemBodyView"; +import ItemHeaderView from "../ItemHeaderView"; export default function ItemView({ activeItem }){ + const [activeTab, setActiveTab] = useState('Conversation'); const theme = useTheme(); const useStyles = makeStyles({ @@ -12,15 +17,35 @@ export default function ItemView({ activeItem }){ paddingTop: theme.spacing(1), paddingLeft: theme.spacing(2), paddingRight: theme.spacing(2), - border: "none" + border: "none", + }, + "tabPanelPadding": { + padding: `${theme.spacing(2)}px ${theme.spacing(2)}px` } }); const classes = useStyles(); -return( + const handleTabChange = (event, newValue) => { + setActiveTab(newValue); + }; + + return( - + + + + + + + + + + + + + + ); }; From a6d820f8316fa349f265d1b12c8d709222150d5c Mon Sep 17 00:00:00 2001 From: Jacob Daniel Bennett Date: Wed, 2 Dec 2020 19:10:47 -0500 Subject: [PATCH 102/105] Header date format implementation --- api/ECNQueue.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 6d73768..28a3058 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -228,8 +228,24 @@ def __parseHeaders(self) -> list: message = email.message_from_string(headerString) headers = [] + dateHeaders=[ + "QStatus-Updated-Time", + "Status-Updated-Time", + "Edited-Time", + "QTime-Updated-Time", + "Merged-Time", + "Time-Updated-Time", + "Replied-Time", + "Assigned-To-Updated-Time", + "QAssigned-To-Updated-Time", + "Date", + "Sent" + ] + + + for key in message.keys(): - headers.append({"type": key, "content": message[key]}) + headers.append({"type": key, "content": self.__getFormattedDate(message[key]) if key in dateHeaders else message[key]}) return headers From 78b1ebf9f2dca3eb6bbb8828253d5979deff80a4 Mon Sep 17 00:00:00 2001 From: "Bennett, Jacob Daniel" Date: Wed, 2 Dec 2020 20:17:51 -0500 Subject: [PATCH 103/105] Update ECNQueue.py --- api/ECNQueue.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/ECNQueue.py b/api/ECNQueue.py index 28a3058..2cfcf98 100644 --- a/api/ECNQueue.py +++ b/api/ECNQueue.py @@ -242,8 +242,6 @@ def __parseHeaders(self) -> list: "Sent" ] - - for key in message.keys(): headers.append({"type": key, "content": self.__getFormattedDate(message[key]) if key in dateHeaders else message[key]}) @@ -1347,4 +1345,4 @@ def loadQueues() -> list: for queue in getValidQueues(): queues.append(Queue(queue)) - return queues \ No newline at end of file + return queues From e8bc3c58e11d8e8763be0855fc0f87e8d6a8baf5 Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Wed, 2 Dec 2020 21:45:49 -0500 Subject: [PATCH 104/105] Remove extra padding for use inside tabs --- src/components/ItemBodyView/ItemBodyView.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/ItemBodyView/ItemBodyView.js b/src/components/ItemBodyView/ItemBodyView.js index 4e5edce..08a57f9 100644 --- a/src/components/ItemBodyView/ItemBodyView.js +++ b/src/components/ItemBodyView/ItemBodyView.js @@ -13,8 +13,9 @@ export default function ItemBodyView({ item }) { const useStyles = makeStyles(() => ({ "Timeline-root": { - paddingLeft: "0", - paddingRight: "0", + padding: "0", + marginTop: "0", + marginBottom: "0", }, "TimelineContent-root": { paddingRight: "0", From 0fd6f0a8ce4b99ca6fd135e5b2dd36e613783bbf Mon Sep 17 00:00:00 2001 From: Justin Campbell Date: Thu, 3 Dec 2020 20:13:58 -0500 Subject: [PATCH 105/105] Update UI Snapshot --- README.md | 2 +- .../UI-Snapshot 2020-12-03 at 8.10.32 PM.png | Bin 0 -> 255424 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/UI Snapshots/UI-Snapshot 2020-12-03 at 8.10.32 PM.png diff --git a/README.md b/README.md index 36e6329..0b31b4f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # webqueue2 A re-write of Purdue ECN's webqueue -![UI Snapshot](./docs/UI%20Snapshots/UI-Snapshot%202020-09-22%20at%201.48.58%20PM.png) +![UI Snapshot](./docs/UI%20Snapshots/UI-Snapshot%202020-12-03%20at%208.10.32%20PM.png) ## Stay Up To Date See what's being worked on with [the webqueue2 Project](https://github.itap.purdue.edu/ECN/webqueue2/projects/). diff --git a/docs/UI Snapshots/UI-Snapshot 2020-12-03 at 8.10.32 PM.png b/docs/UI Snapshots/UI-Snapshot 2020-12-03 at 8.10.32 PM.png new file mode 100644 index 0000000000000000000000000000000000000000..aa66e5d0abe752b9a3fd1326e322c91320e572e7 GIT binary patch literal 255424 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�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

qkG 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Ð%bt^(+Sbp^yU5K-9EaMKsB35g6`wXx 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