PRE2022 3 Group12/Logbook: Difference between revisions
(→Week 4) |
m (→Week 8) |
||
(49 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
==Approach== | |||
During the project, the prototype will be developed by means of a design process. This process consists of multiple phases. Firstly, the problem will be defined as well as the design goal to solve the problem. Secondly, the functional and technical requirements of the prototype will be specified taking into account time, money and resources. From these requirements, it is possible to create concepts for the design. Next, details will be added to the design and the design will be realized. Lastly, tests will be performed to see if the prototype satisfies the requirements. This process can be summarized in the following steps: | |||
#[[File:Design process new.png|thumb|Graphical representation of the steps of the design process.]]Define problem | |||
#Specify requirements | |||
#Preliminary design | |||
#Detailed design | |||
#Prototyping | |||
#Testing | |||
Given that the final presentations will be planned in week 8 of the course, this process will have a time period of seven weeks. Therefore, every step is expected to be completed within one week, with the exception of the detailed design since this is the most important and difficult step which will therefore require more time. So the time will be managed as follows, step 1 will be completed in week 1, step 2 in week 2, step 3 in week 3, step 4 in weeks 4 and 5, step 5 in week 6 and step 6 in week 7. In this way, all deliverables are finished in week 8. | |||
Another important aspect of the design process is communication. Therefore, a weekly meeting is scheduled to discuss the progress and task division as well as a weekly work session. The meetings and work sessions will be scheduled on Wednesday from 10:30-11:30 and Monday 11:30-12:30 respectively. | |||
<br /> | |||
<br /> | |||
==Week 1== | ==Week 1== | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 163: | Line 182: | ||
==Week 4== | ==Week 4== | ||
{| class="wikitable" | {| class="wikitable" | ||
!Week | !Week 4 | ||
!Tasks | !Tasks | ||
|- | |- | ||
Line 170: | Line 189: | ||
|- | |- | ||
|Linda Geraets | |Linda Geraets | ||
| | |Work on user fun (decide measurement) | ||
|- | |- | ||
|Luke van Dongen | |Luke van Dongen | ||
| | |Fine-tuning the score function | ||
|- | |- | ||
|Sander van der Leek | |Sander van der Leek | ||
| | |Generalise as much game-specific logic as possible | ||
|- | |- | ||
|Tom van Eemeren | |Tom van Eemeren | ||
| | |Finishing affinity diagram and researching data hooking | ||
|- | |- | ||
|Tom van Liempd | |Tom van Liempd | ||
| | |Research & optimize dataset for better small object detection | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!Week | !Week 4 | ||
!Description of work done | !Description of work done | ||
!Total time | !Total time | ||
|- | |- | ||
|Abel Brasse | |Abel Brasse | ||
| | |Meeting Wednesday (1h), rewriting game ruleset + other (1.5h), card labeling (6.5h) | ||
| | |9h | ||
|- | |- | ||
|Linda Geraets | |Linda Geraets | ||
| | |Meeting preparation (1h), Wednesday meeting (1h), User fun (8h) | ||
| | |10h | ||
|- | |- | ||
|Sander van der Leek | |Sander van der Leek | ||
| | |Monday & Wednesday meetings (4h), Moving game-specific logic to the gamestate class (6h), adjusting gamerules (3h) | ||
| | |13h | ||
|- | |- | ||
|Tom van Liempd | |Tom van Liempd | ||
| | |Monday meeting (2h), wednesday meetings (1h), research (2h), adjusting dataset (5h) | ||
| | |10h | ||
|- | |- | ||
|Luke van Dongen | |Luke van Dongen | ||
| | |Monday & Wednesday meetings (2h), Checking code made by Sander (1h), Testing and adjusting move_score() function (10h), editing wiki (1h) | ||
| | |14h | ||
|- | |- | ||
|Tom van Eemeren | |Tom van Eemeren | ||
| | |Monday & Wendnesday meetings (4h), Wednesday meeting agenda (30min), affinity diagram (4h), finishing user study (5h), editing wiki layout (30min) | ||
| | |14h | ||
|} | |} | ||
==Week 5== | ==Week 5== | ||
{| class="wikitable" | |||
!Week 5 | |||
!Tasks | |||
|- | |||
|Abel Brasse | |||
| | |||
|- | |||
|Linda Geraets | |||
|Do literature study on UI, write text on UI | |||
|- | |||
|Sander van der Leek | |||
|Rewrite code to accept camera-input | |||
|- | |||
|Tom van Liempd | |||
|Clean-up dataset, clean-up code and implement camera-input in code | |||
|- | |||
|Luke van Dongen | |||
|Work on the GUI code | |||
|- | |||
|Tom van Eemeren | |||
|Implementing MCTS | |||
|} | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!Week | !Week 5 | ||
!Description of work done | !Description of work done | ||
!Total time | !Total time | ||
|- | |- | ||
|Abel Brasse | |Abel Brasse | ||
|Monday & Wednesday meeting (3h), Getting software setup working and analyzing code (5h) | |||
|8h | |||
|- | |||
|Linda Geraets | |||
|Monday & Wednesday meetings (4h), Research and writing UI (6h), Updating Win/Loss ratio (0.5h) | |||
|10.5h | |||
|- | |||
|Sander van der Leek | |||
|Monday & Wednesday meetings (4h), rewrite of entire codebase (6h) | |||
|10h | |||
|- | |||
|Tom van Liempd | |||
|Meetings (3h), cleaning dataset (3h), cleaning up code (4h), implementing camera input (2h) | |||
|12h | |||
|- | |||
|Luke van Dongen | |||
|Monday & Wednesday meetings (2h), Research for suiting GUI extension (1h), Searching for a set of playing card images (1.5h), Implementing GUI (8h), Updating GUI to work in rewritten code (1h) | |||
|13.5h | |||
|- | |||
|Tom van Eemeren | |||
|Meeting Monday (2h), literature search on MCTS (3h), debugging code (1h), implementing determinization (4h), implementing mcts (6h) | |||
|16h | |||
|} | |||
==Week 6== | |||
{| class="wikitable" | |||
!Week 6 | |||
!Tasks | |||
|- | |||
|Abel Brasse | |||
|write about object recognition software and concepting for physical design | |||
|- | |||
|Linda Geraets | |||
| | | | ||
| | |- | ||
|Sander van der Leek | |||
|Implement changing difficulty, tune decision-making priorities | |||
|- | |||
|Tom van Liempd | |||
|Improve camera detection and AI model | |||
|- | |||
|Luke van Dongen | |||
|Work on the GUI code | |||
|- | |||
|Tom van Eemeren | |||
|Implementing MCTS | |||
|} | |||
{| class="wikitable" | |||
!Week 6 | |||
!Description of work done | |||
!Total time | |||
|- | |||
|Abel Brasse | |||
|Meetings(2h), writing about object recognition (2h), work on wiki & filter for design requirements (2h), making sketches for design and modeling software(3h) | |||
|9h | |||
|- | |||
|Linda Geraets | |||
|Meetings (3h), Finishing text UI (30 min), User guide (1.5h), Testing Difficulty (4.5h) | |||
|9.5h | |||
|- | |||
|Sander van der Leek | |||
|Monday & Wednesday meetings (3h), Implementation difficulty-changing after each game (5h), Difficulty tuning (1h) | |||
|9h | |||
|- | |||
|Tom van Liempd | |||
|Meetings (2h), collecting more data (2h), labelling and correcting current AI model (4h), improving code (2h) | |||
|10h | |||
|- | |||
|Luke van Dongen | |||
|Monday & Wednesday meetings (2h), Expanding the GUI code (7.5) | |||
|9.5h | |||
|- | |||
|Tom van Eemeren | |||
|Meeting Monday (2h), finishing mcts implementation (5h), meeting Wednesday (1h), Testing mcts(1h), begin on hybrid player (2h) | |||
|11h | |||
|} | |||
==Week 7== | |||
{| class="wikitable" | |||
!Week 7 | |||
!Tasks | |||
|- | |||
|Abel Brasse | |||
|continue mock up of design and prepare presentation | |||
|- | |- | ||
|Linda Geraets | |Linda Geraets | ||
| | | | ||
|- | |- | ||
|Sander van der Leek | |Sander van der Leek | ||
| | |Finetune difficulty-changing system | ||
|- | |- | ||
|Tom van Liempd | |Tom van Liempd | ||
| | |Testing & tweaking code | ||
|- | |- | ||
|Luke van Dongen | |Luke van Dongen | ||
| | | | ||
|- | |- | ||
|Tom van Eemeren | |Tom van Eemeren | ||
| | |Preparation final presentation | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!Week | !Week 7 | ||
!Description of work done | !Description of work done | ||
!Total time | !Total time | ||
|- | |- | ||
|Abel Brasse | |Abel Brasse | ||
| | |Meetings (2.5h), working with modeling software and concept design (5h), preparing presentation (2.5h) | ||
| | |10h | ||
|- | |- | ||
|Linda Geraets | |Linda Geraets | ||
| | |Meetings (3h), Testing the game with a camera (8h), Presentation preparation + getting tripod (3h) | ||
| | |14h | ||
|- | |- | ||
|Sander van der Leek | |Sander van der Leek | ||
| | |Monday & Wednesday meetings (2h), Finetune difficulty including gametime (3h), presentation prep (1h) | ||
| | |6h | ||
|- | |- | ||
|Tom van Liempd | |Tom van Liempd | ||
| | |Meetings (3h), testing & tweaking code and camera detection (8h), presentation preparation (1h) | ||
| | |12h | ||
|- | |- | ||
|Luke van Dongen | |Luke van Dongen | ||
| | |Monday & Wednesday meetings (2h), Expanding the GUI code (4h), Creating presentation script for UI part (1h), Creating the presentation Powerpoint (0.5h) | ||
| | |7.5h | ||
|- | |- | ||
|Tom van Eemeren | |Tom van Eemeren | ||
| | |Meetings( 3h), presentation preperation (1.5h), implementing hybrid player (1.5h) | ||
| | |6h | ||
|} | |} | ||
==Week | ==Week 8== | ||
{| class="wikitable" | |||
!Week 8 | |||
!Tasks | |||
|- | |||
|Abel Brasse | |||
|Present project and finish wikipage | |||
|- | |||
|Linda Geraets | |||
|Present project, testing game, wiki: UI guide, User fun, test plan | |||
|- | |||
|Sander van der Leek | |||
|Edit diagram, write about the difficulty system in wiki | |||
|- | |||
|Tom van Liempd | |||
|Demo for presentation, update wiki for object recognition | |||
|- | |||
|Luke van Dongen | |||
|Finish wikipage, edit flow diagram w.r.t. user interface | |||
|- | |||
|Tom van Eemeren | |||
|User fun, mcts and flow diagram | |||
|} | |||
{| class="wikitable" | {| class="wikitable" | ||
!Week 8 | |||
!Week | |||
!Description of work done | !Description of work done | ||
!Total time | !Total time | ||
|- | |- | ||
|Abel Brasse | |Abel Brasse | ||
| | |Presentations (3h), Meetings (2h), reading and writing the wiki (6h) | ||
| | |11h | ||
|- | |- | ||
|Linda Geraets | |Linda Geraets | ||
| | |Presentations (3h), Meetings (2h), Wiki (6h), testing game (5h) | ||
| | |16h | ||
|- | |- | ||
|Sander van der Leek | |Sander van der Leek | ||
| | |Presentations (3h), Meetings (2h), edit diagram (2h), write about difficulty (2h) | ||
| | |9h | ||
|- | |- | ||
|Tom van Liempd | |Tom van Liempd | ||
| | |Presentations (3h), Meetings (2h), Diagram (2h), Wiki (2h) | ||
| | |9h | ||
|- | |- | ||
|Luke van Dongen | |Luke van Dongen | ||
| | |Presentations (3h), Meetings (2h), reading and writing the wiki (5h), editing the flow diagram (2h) | ||
| | |12h | ||
|- | |- | ||
|Tom van Eemeren | |Tom van Eemeren | ||
| | |final presentation (3h), meetings (2h), editing problem statement (3h), editing user fun (2h), finishing mcts on wiki (2h), rewritten conclusion (2h) | ||
| | |14h | ||
|} | |} |
Latest revision as of 23:35, 10 April 2023
Approach
During the project, the prototype will be developed by means of a design process. This process consists of multiple phases. Firstly, the problem will be defined as well as the design goal to solve the problem. Secondly, the functional and technical requirements of the prototype will be specified taking into account time, money and resources. From these requirements, it is possible to create concepts for the design. Next, details will be added to the design and the design will be realized. Lastly, tests will be performed to see if the prototype satisfies the requirements. This process can be summarized in the following steps:
- Define problem
- Specify requirements
- Preliminary design
- Detailed design
- Prototyping
- Testing
Given that the final presentations will be planned in week 8 of the course, this process will have a time period of seven weeks. Therefore, every step is expected to be completed within one week, with the exception of the detailed design since this is the most important and difficult step which will therefore require more time. So the time will be managed as follows, step 1 will be completed in week 1, step 2 in week 2, step 3 in week 3, step 4 in weeks 4 and 5, step 5 in week 6 and step 6 in week 7. In this way, all deliverables are finished in week 8.
Another important aspect of the design process is communication. Therefore, a weekly meeting is scheduled to discuss the progress and task division as well as a weekly work session. The meetings and work sessions will be scheduled on Wednesday from 10:30-11:30 and Monday 11:30-12:30 respectively.
Week 1
Week 1 | Tasks |
---|---|
Abel Brasse | User study, study 5 scientific papers |
Linda Geraets | User study, study 5 scientific papers |
Luke van Dongen | Card recognition software, study 5 scientific papers |
Sander van der Leek | Robot design sketch/model, study 5 scientific papers |
Tom van Eemeren | Approach, milestones, deliverables, study 5 scientific papers |
Tom van Liempd | Problem statement, study 5 scientific papers |
Week 1 | Description of work done | Total time |
---|---|---|
Abel Brasse | Meeting time (3h). Literature search, searching, reading, summarizing papers (5h), User Study (2h) | 10 |
Linda Geraets | Meeting monday (2h), Meeting wednesday (1h), Researching and reading papers (3h 30min), Summarizing papers (3h 30min), User Study (2h) | 12h |
Sander van der Leek | Monday & Wednesday meetings (3h), Literature search (2h), Reading papers (6h), Summarizing papers and drawing conclusions (2h) | 13h |
Tom van Liempd | Course Introduction (1h), Meetings (2h), Problem statement (1h 30m), Researching (4h), Reading and summarizing papers (3h) | 11.5h |
Luke van Dongen | Course Introduction (1h), Meetings (2h), Literature search (1h 30m), Reading Literature (6h), Summarizing literature (3h) | 13.5h |
Tom van Eemeren | Course introduction(1h), Brainstorming (1h), Prepared agenda (30min), group meeting (1h), literature search (1h), reading literature (6h), summarising literature(1h), added deliverables, approach, milestones and task division to the wiki (2h). | 13.5h |
Week 2 & Carnival break
Week 2 & Carnival break | Tasks |
---|---|
Abel Brasse | Define three research questions, write two interview questions, suggest card games, user interviews |
Linda Geraets | Define three research questions, write two interview questions, suggest card games, problem definition |
Luke van Dongen | Define three research questions, write two interview questions, suggest card games, user interviews |
Sander van der Leek | Define three research questions, write two interview questions, suggest card games, MoSCoW specifications |
Tom van Eemeren | Define three research questions, write two interview questions, suggest card games, user interviews |
Tom van Liempd | Define three research questions, write two interview questions, suggest card games, object recognition |
Week 2 & Carnival break |
Description of work done | Total time |
---|---|---|
Abel Brasse | Meeting time (1.5h). Preparations before the meeting (2h). Constructing interview questions (2h). Formatting the wikipage (2h) | 7.5h |
Linda Geraets | Meeting and meeting preparations (6h), Problem definition (2.5h) | 8.5h |
Sander van der Leek | Meetings (3h), defining functional and more concrete technical MoSCoW tables (4h), editing the wiki (1h) | 8h |
Tom van Liempd | Meetings (3h), define research questions (0.5h), research computer vision AI (2h), gather and label training data (10h) | 15.5h |
Luke van Dongen | Meetings (3h), reviewing interview questions (30min), performing user interviews (3h), process user interviews (2h), summarize user interviews (30min) | 9h |
Tom van Eemeren | Meeting monday (2h), defining research questions, exploring card games (1h), making agenda for meetings (1h), meeting wednesday (1h), constructing interview questions (1h) meeting second wednesday (1h), finalizing interview questions (30 min), updating wiki (1h) | 8.5h |
Week 3
Week 3 | Tasks |
---|---|
Abel Brasse | Improve card-recognition model |
Linda Geraets | Literature study how to measure/affect fun in a game |
Luke van Dongen | Work on implementing the game of 'pesten' and the computer's strategy & variable difficulty |
Sander van der Leek | Work on implementing the game of 'pesten' and the computer's strategy & variable difficulty |
Tom van Eemeren | Literature study how to measure/affect fun in a game |
Tom van Liempd | Improve card-recognition model |
Week 3 | Description of work done | Total time |
---|---|---|
Abel Brasse | Meeting Monday (2h), Meeting Wednesday (1h), Creating and labeling card samples (3.5h), taking interviews and processing them (4) | 10.5h |
Linda Geraets | Meeting monday (3h), Meeting wednesday (1h), card videos and labeling (4h), User fun (3h) | 11h |
Sander van der Leek | Monday & Wednesday meetings (4h), working on implementing 'pesten' (10h), researching & implementing difficulty (3h) | 17h |
Tom van Liempd | Meeting monday (3h), Meeting wednesday (1h), research AI model optimization (1h), training AI model (1h), labelling dataset (5h) | 11h |
Luke van Dongen | Meeting Monday (1h), Meeting Wednesday (30min), Research "pesten" game strategies (2h), Creating a game of "Pesten" in Python (10h) | 13.5h |
Tom van Eemeren | Meeting Monday (3h), User interviews (1h), user interview analysis (1h), meeting Wednesday (30min), literature study on measuring user fun (4h), adding affinity diagram and user fun section to the wiki (30 min) | 10h |
Week 4
Week 4 | Tasks |
---|---|
Abel Brasse | |
Linda Geraets | Work on user fun (decide measurement) |
Luke van Dongen | Fine-tuning the score function |
Sander van der Leek | Generalise as much game-specific logic as possible |
Tom van Eemeren | Finishing affinity diagram and researching data hooking |
Tom van Liempd | Research & optimize dataset for better small object detection |
Week 4 | Description of work done | Total time |
---|---|---|
Abel Brasse | Meeting Wednesday (1h), rewriting game ruleset + other (1.5h), card labeling (6.5h) | 9h |
Linda Geraets | Meeting preparation (1h), Wednesday meeting (1h), User fun (8h) | 10h |
Sander van der Leek | Monday & Wednesday meetings (4h), Moving game-specific logic to the gamestate class (6h), adjusting gamerules (3h) | 13h |
Tom van Liempd | Monday meeting (2h), wednesday meetings (1h), research (2h), adjusting dataset (5h) | 10h |
Luke van Dongen | Monday & Wednesday meetings (2h), Checking code made by Sander (1h), Testing and adjusting move_score() function (10h), editing wiki (1h) | 14h |
Tom van Eemeren | Monday & Wendnesday meetings (4h), Wednesday meeting agenda (30min), affinity diagram (4h), finishing user study (5h), editing wiki layout (30min) | 14h |
Week 5
Week 5 | Tasks |
---|---|
Abel Brasse | |
Linda Geraets | Do literature study on UI, write text on UI |
Sander van der Leek | Rewrite code to accept camera-input |
Tom van Liempd | Clean-up dataset, clean-up code and implement camera-input in code |
Luke van Dongen | Work on the GUI code |
Tom van Eemeren | Implementing MCTS |
Week 5 | Description of work done | Total time |
---|---|---|
Abel Brasse | Monday & Wednesday meeting (3h), Getting software setup working and analyzing code (5h) | 8h |
Linda Geraets | Monday & Wednesday meetings (4h), Research and writing UI (6h), Updating Win/Loss ratio (0.5h) | 10.5h |
Sander van der Leek | Monday & Wednesday meetings (4h), rewrite of entire codebase (6h) | 10h |
Tom van Liempd | Meetings (3h), cleaning dataset (3h), cleaning up code (4h), implementing camera input (2h) | 12h |
Luke van Dongen | Monday & Wednesday meetings (2h), Research for suiting GUI extension (1h), Searching for a set of playing card images (1.5h), Implementing GUI (8h), Updating GUI to work in rewritten code (1h) | 13.5h |
Tom van Eemeren | Meeting Monday (2h), literature search on MCTS (3h), debugging code (1h), implementing determinization (4h), implementing mcts (6h) | 16h |
Week 6
Week 6 | Tasks |
---|---|
Abel Brasse | write about object recognition software and concepting for physical design |
Linda Geraets | |
Sander van der Leek | Implement changing difficulty, tune decision-making priorities |
Tom van Liempd | Improve camera detection and AI model |
Luke van Dongen | Work on the GUI code |
Tom van Eemeren | Implementing MCTS |
Week 6 | Description of work done | Total time |
---|---|---|
Abel Brasse | Meetings(2h), writing about object recognition (2h), work on wiki & filter for design requirements (2h), making sketches for design and modeling software(3h) | 9h |
Linda Geraets | Meetings (3h), Finishing text UI (30 min), User guide (1.5h), Testing Difficulty (4.5h) | 9.5h |
Sander van der Leek | Monday & Wednesday meetings (3h), Implementation difficulty-changing after each game (5h), Difficulty tuning (1h) | 9h |
Tom van Liempd | Meetings (2h), collecting more data (2h), labelling and correcting current AI model (4h), improving code (2h) | 10h |
Luke van Dongen | Monday & Wednesday meetings (2h), Expanding the GUI code (7.5) | 9.5h |
Tom van Eemeren | Meeting Monday (2h), finishing mcts implementation (5h), meeting Wednesday (1h), Testing mcts(1h), begin on hybrid player (2h) | 11h |
Week 7
Week 7 | Tasks |
---|---|
Abel Brasse | continue mock up of design and prepare presentation |
Linda Geraets | |
Sander van der Leek | Finetune difficulty-changing system |
Tom van Liempd | Testing & tweaking code |
Luke van Dongen | |
Tom van Eemeren | Preparation final presentation |
Week 7 | Description of work done | Total time |
---|---|---|
Abel Brasse | Meetings (2.5h), working with modeling software and concept design (5h), preparing presentation (2.5h) | 10h |
Linda Geraets | Meetings (3h), Testing the game with a camera (8h), Presentation preparation + getting tripod (3h) | 14h |
Sander van der Leek | Monday & Wednesday meetings (2h), Finetune difficulty including gametime (3h), presentation prep (1h) | 6h |
Tom van Liempd | Meetings (3h), testing & tweaking code and camera detection (8h), presentation preparation (1h) | 12h |
Luke van Dongen | Monday & Wednesday meetings (2h), Expanding the GUI code (4h), Creating presentation script for UI part (1h), Creating the presentation Powerpoint (0.5h) | 7.5h |
Tom van Eemeren | Meetings( 3h), presentation preperation (1.5h), implementing hybrid player (1.5h) | 6h |
Week 8
Week 8 | Tasks |
---|---|
Abel Brasse | Present project and finish wikipage |
Linda Geraets | Present project, testing game, wiki: UI guide, User fun, test plan |
Sander van der Leek | Edit diagram, write about the difficulty system in wiki |
Tom van Liempd | Demo for presentation, update wiki for object recognition |
Luke van Dongen | Finish wikipage, edit flow diagram w.r.t. user interface |
Tom van Eemeren | User fun, mcts and flow diagram |
Week 8 | Description of work done | Total time |
---|---|---|
Abel Brasse | Presentations (3h), Meetings (2h), reading and writing the wiki (6h) | 11h |
Linda Geraets | Presentations (3h), Meetings (2h), Wiki (6h), testing game (5h) | 16h |
Sander van der Leek | Presentations (3h), Meetings (2h), edit diagram (2h), write about difficulty (2h) | 9h |
Tom van Liempd | Presentations (3h), Meetings (2h), Diagram (2h), Wiki (2h) | 9h |
Luke van Dongen | Presentations (3h), Meetings (2h), reading and writing the wiki (5h), editing the flow diagram (2h) | 12h |
Tom van Eemeren | final presentation (3h), meetings (2h), editing problem statement (3h), editing user fun (2h), finishing mcts on wiki (2h), rewritten conclusion (2h) | 14h |