diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b028f949581689d368b7a18a5b7c7264343ea6fa..e492bf2aee1a7d9ea2ad525cd3cd71213ec2620b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,8 +25,8 @@ deploy_production:
         - bundle exec jekyll build -d public
         - /www/utils/deploycourseweb.sh
     variables:
-        quarter: 21wi
-        course: cse340
+        quarter: eg21wi
+        course: egcse340
         source_path: public
     only:
         refs:
diff --git a/_config.yml b/_config.yml
index ab0a495e7245416c5a95088a4a621bb167d55f91..72a17db444af80b8ff5b36e57b18333f9e72a065 100644
--- a/_config.yml
+++ b/_config.yml
@@ -4,8 +4,8 @@
 # You can create any custom variable you would like, and they will be accessible
 # in the templates via {{ site.myvariable }}.
 
-title: Interaction Programming (CSE 340)
-description: Interactive Tech is changing society. Help invent the future!
+title: Name and number of your class
+description: Description of your class
 
 baseurl: "/courses/cse340/21wi"
 url: https://courses.cs.washington.edu # the base hostname & protocol for your site, e.g. http://example.com
diff --git a/_config_production.yml b/_config_production.yml
index 0801788b10f4c947aaf4a0d89f5dcdf5fe5b7662..7ffd221d92cce14bdd95cbe00a2a1103304462ec 100644
--- a/_config_production.yml
+++ b/_config_production.yml
@@ -4,8 +4,8 @@
 # You can create any custom variable you would like, and they will be accessible
 # in the templates via {{ site.myvariable }}.
 
-title: Interaction Programming (CSE 340)
-description: Interactive Tech is changing society. Help invent the future!
+title: Name and number of your class
+description: Description of your class
 
 baseurl: "/courses/cse340/21wi"
 url: https://courses.cs.washington.edu # the base hostname & protocol for your site, e.g. http://example.com
diff --git a/_includes/footer.html b/_includes/footer.html
index 4e1f63e633db88a3191fcb193b179c07751b210d..ed43141f4e75c8c742e3820aa2e15ea48363520d 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -5,11 +5,6 @@
 
     <h2 class="footer-heading">{{ site.title | escape }}</h2>
 
-    The material taught in this class was inspired by many others, who
-    have generously shared slides and syllabi with me. Some of the
-    most frequently used of these include Scott Hudson's SSUI class
-    (at CMU's HCII) and James Landay's CS 160 class and Eric Paulos'
-    class of the same title (at UC Berkeley).
 
     <span class="site-footer-owner"><a href="{{ site.url }}">{{ site.title }}</a> is maintained by
       <a href="{{ site.author.url }}">{{ site.author.name }}</a> &nbsp;
diff --git a/_includes/navigation.html b/_includes/navigation.html
index ad05a41adc6f00ba36abacad23e5de86753c6c6d..15c9aa2b1f9a5a063f46c740de523fbb540aae1c 100644
--- a/_includes/navigation.html
+++ b/_includes/navigation.html
@@ -17,7 +17,7 @@
 {% endfor %}
 
 <nav aria-label="{{site.data.navigation.nav_list_title}}" id="mainNav"
-     class="navbar navbar-expand-lg navbar-dark fixed-top" style="background-color: #050505;">
+     class="navbar navbar-expand-lg navbar-dark fixed-top">
   <div class="container">
     <a class="navbar-brand js-scroll-trigg"
        href="https://www.cs.washington.edu" aria-label="{{site.data.navigation.nav_list_title}}">
diff --git a/_layouts/presentation_production.html b/_layouts/presentation_production.html
index 1cc1d4fe2f738500a6a80bda86c7d1f44a22df86..2434f00d4b17243f1ff1e1544bc4874270bf3189 100644
--- a/_layouts/presentation_production.html
+++ b/_layouts/presentation_production.html
@@ -57,7 +57,7 @@
           slideNumberFormat: 'Slide %current% of %total%'
       });
     </script>
-    <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
+  <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
   </body>
 
 <!--
diff --git a/assets/img/favicon.png b/assets/img/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..88dfa211eefa5809335386ac67d8ccf80bb9f132
Binary files /dev/null and b/assets/img/favicon.png differ
diff --git a/assets/img/staff/bricker.jpg b/assets/img/staff/bricker.jpg
deleted file mode 100644
index abe76467726d570ebe746fda39cc2f8f1b13cac9..0000000000000000000000000000000000000000
Binary files a/assets/img/staff/bricker.jpg and /dev/null differ
diff --git a/assets/img/staff/cheung.jpg b/assets/img/staff/cheung.jpg
deleted file mode 100644
index 4648b38f0ca813ddf9af8be7942c660f919049ac..0000000000000000000000000000000000000000
Binary files a/assets/img/staff/cheung.jpg and /dev/null differ
diff --git a/assets/img/staff/tian.jpg b/assets/img/staff/tian.jpg
deleted file mode 100644
index a531ec3bb4af788679e53de05212e40e93a7de43..0000000000000000000000000000000000000000
Binary files a/assets/img/staff/tian.jpg and /dev/null differ
diff --git a/assignments/accessibility-img/1.png b/assignments/accessibility-img/1.png
deleted file mode 100644
index 3fe614231cd6230ba6a3b991586b395deb8c716f..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/1.png and /dev/null differ
diff --git a/assignments/accessibility-img/androidview.png b/assignments/accessibility-img/androidview.png
deleted file mode 100644
index 5c2a96411489346986a080ee71da78784200b448..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/androidview.png and /dev/null differ
diff --git a/assignments/accessibility-img/avd.png b/assignments/accessibility-img/avd.png
deleted file mode 100644
index e05be3735ec7e19965d73551c612437f1a51b4bc..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/avd.png and /dev/null differ
diff --git a/assignments/accessibility-img/mdnavigator1.png b/assignments/accessibility-img/mdnavigator1.png
deleted file mode 100644
index 950525e2567ba10111a4f26a564fd0efeb6ad358..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/mdnavigator1.png and /dev/null differ
diff --git a/assignments/accessibility-img/mdnavigator2.png b/assignments/accessibility-img/mdnavigator2.png
deleted file mode 100644
index 4ab68f1b37bd4822de70d661c760c7953029fd0d..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/mdnavigator2.png and /dev/null differ
diff --git a/assignments/accessibility-img/mdnavigator3.png b/assignments/accessibility-img/mdnavigator3.png
deleted file mode 100644
index 8e2d0cac78c497137515a7c6b54c94f8f70c2e06..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/mdnavigator3.png and /dev/null differ
diff --git a/assignments/accessibility-img/mdnavigator4.png b/assignments/accessibility-img/mdnavigator4.png
deleted file mode 100644
index 1d4bbb09575e89bf589c6aed75c7ace4413d92ec..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/mdnavigator4.png and /dev/null differ
diff --git a/assignments/accessibility-img/playstoreemulator.png b/assignments/accessibility-img/playstoreemulator.png
deleted file mode 100644
index d94e82b70f54006c3dbef22db91a64d19c2e111b..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/playstoreemulator.png and /dev/null differ
diff --git a/assignments/accessibility-img/projectview.png b/assignments/accessibility-img/projectview.png
deleted file mode 100644
index 79c64e5fa0e56b3b431e5f1e41e352c0ea8d4b73..0000000000000000000000000000000000000000
Binary files a/assignments/accessibility-img/projectview.png and /dev/null differ
diff --git a/assignments/accessibility.md b/assignments/accessibility.md
deleted file mode 100644
index 69630ce781f9f84a5a04346db6367370e91e3144..0000000000000000000000000000000000000000
--- a/assignments/accessibility.md
+++ /dev/null
@@ -1,232 +0,0 @@
----
-layout: assignment
-published: true
-
-title: Accessibility
-code: as3
-
-assigned: April 22, 2020
-due:
- - <strong>Due</strong> April 30, 2020, 10:00pm
- - <strong>Lock</strong> May 2, 2020, 10:00pm
-
-revised: 10:00 PM Tuesday, April 21st, 2020
-
-objective: Identify and repair app accessibility issues.
-
-android_goals:
-  - Basics of Android assistive tools
-hci_goals:
-  - Explore App accessibility
-  - Understanding the impact of different accessibility issues
-  - Simple repairs to accessibility issues
-  - Write up a report on accessiblity issues
----
-
-* TOC
-{:toc}
-
-This assignment has two parts that are inter-related. Part 1 of this assignment involves finding
-all the accessibility problems in the code base for our toy camera app, a  and documenting them,
-while in Part 2 of the assignment you will fix these problems. It will be important to iterate on this find/fix cycles as
-fixing one problem may uncover new ones. You will use a number of tools to find these issues,
-including but not limited to the Google Accessibility Scanner and TalkBack. It will be important
-for you to experience the app through the use of a screen reader to find all of the problems
-a user might encounter.
-
-# GitGrade links
-
-**Classroom** [Summary](https://gitgrade.cs.washington.edu/student/summary/8723)
-
-**Links:** [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/122) / [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/122/turnin)
-
-# Part 1
-
-Tasks:
-- Learn different categories of app accessibility issues
-- Identify accessibility issues in our example app
-- Write a detailed report as a communication tool to developers who need to make the app accessible
-
-Accessibility is an important part of any app. Whether you are developing a new app or adding features
-to an existing one, it is important to consider the accessibility of your app's components.
-
-For some background you will want to do the following:
-
-- Start by watching this [quick video](https://youtu.be/1by5J7c5Vz4) to learn how visually-impaired
-users interact with Android applications. The video also offers some tips on ensuring your app is
-compatible with assistive tools.
-- Next read the list of errors that are found by Google's accessibility Scanner which is
-show in Table 2 on the 8th page of the PDF (which is numbered page 9) of
-[Epidemiology as a Framework for Large-Scale Mobile Application Accessibility Assessment](https://xiaoyizhang.me/assets/Paper/ASSETS_2017_Epidemiology.pdf).
-- Finally, because it is important to write succinct and yet descriptive alt text (content descriptions), you
-should read about [proper alt text writing](https://webaim.org/techniques/alttext/).
-
-For example, consider this view of the Layout Inspector of the layout app that we recently completed.
-(You will not be using your layout code for this assignment, we are using it for illustrative
-purposes here.) The selected image in the upper left of the screen does not have
-`contentDescription` property. **Google's Accessibility Scanner** will classify this as
-"Item Label" error (defined in the paper above), which will also mean a screen reader cannot
-read the alternative text of the image to people with visual impairments.
-
-![Screenshot of an image without contentDescription property in layout editor](accessibility-img/1.png){:width="500px"}
-
-The goal of Part 1 of the assignment is to identify **at least 10** accessibility issues in the app
-you will be given, **at least one** can't be found with the Accessibility Scanner. All of
-the issues listed in the ASSETS/Epidemiology paper may NOT be represented in the app, but you should be aware
-that they could be found in other apps. For your reference, we identified at least 12 errors in the app.
-
-## Setup
-In order to proceed you will need to setup your device and your Android Studio IDE.
-
-### Adding Markdown Viewing in Android Studio
-You will be writing your report in "Markdown." Markdown is a a text markup language that
-allows for simple formatting using plain text files. We have provided you with a `Part1.md` starter
-file that is in the root directory of your the repository you received when you accessed the
-assignment.
-
-You can edit your markdown file in any text editor, including Android Studio. We recommend you install
-the [Markdown Navigator](https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced) to help
-you preview your edits. (Click on the pictures to see a larger version)
-
-[![Screenshot of the first step of installing the markdown navigator](accessibility-img/mdnavigator1.png){:width="250px"}](accessibility-img/mdnavigator1.png)
-[![Screenshot of the second step of installing the markdown navigator](accessibility-img/mdnavigator2.png){:width="250px"}](accessibility-img/mdnavigator2.png)
-[![Screenshot of the third step of installing the markdown navigator](accessibility-img/mdnavigator3.png){:width="250px"}](accessibility-img/mdnavigator3.png)
-
-Once you have the Markdown Navigator installed, open up `Part1.md` and click the button pointed to
-by the arrow in the following image to bring up the Markdown Preview pane.
-
-![Screenshot preview pane of the Markdown navigator](accessibility-img/mdnavigator4.png){:width="500px"}
-
-### Installing Accessibility Scanner
-
-You must first install the Accessibility scanner on your Android Device or in your Emulator using the
-Google Play store. IMPORTANT: The Pixel 2 XL Emulator does NOT have the Google Play store on it,
-so you have to start by installing the Pixel 2 or other Emulator where you can also install the Play Store
-using the *Tools-&gt;AVD Manager*. The best way to determine if the Emulator has the Play Store
-is to look for the icon under the Play Store column in the AVD Manager.
-
-![Screenshot of the AVD Manager with an emulator that has the play store and one that does not](accessibility-img/avd.png){:width="300px"}
-
-To create another emulator, press the *Create Virtual Device* button, then find an emulator that has
-the Play Store icon in the Play Store column. Click Next and follow the instructions for the rest of the installation.
-
-![Creating a new device with the play store using the AVD Manager ](accessibility-img/playstoreemulator.png){:width="500px"}
-
-Note that you will have to specifically choose this new emulator (as opposed to the one you were
-using before) when you are running your application on the emulator through Android Studio.
-
-To install the Accessibility Scanner, search for it in the Play Store and install it on your device or emulator.
-The installation process will be the same for a physical phone or the emulator equipt with the Play Store.
-Follow the instructions on the
-[Getting started with Google Accessibility Scanner](https://support.google.com/accessibility/android/answer/6376570?hl=en&ref_topic=6376582)
-page to get the scanner working on your device.
-
-Another option is to install the Android Accessibility Suite which contains both the Accessibility
-Scanner and TalkBack if it has not been installed before.
-
-### Installing TalkBack
-
-You will need to have a good understanding of how to set up and use
-[Talkback](https://support.google.com/accessibility/android/answer/6283677?hl=en) one
-of the assistive tools built-in to you Android.  You may want to try using
-talk back on another application before you use it on the app you are given for this assignment.
-
-
-### Other Tools
-
-Another built-in assistive tool is [Switch Access](https://support.google.com/accessibility/android/answer/6122836?hl=en),
-which you may choose to set up and use.
-
-## Writing the report.
-
-Use the Accessibility Scanner, Talkback, and perhaps other tools to detect defects in our toy camera app.
-The Accessibility Scanner is decent with suggested fixes to problems it finds, however, some solutions
-are not obvious for each screen element type, so you will have to do some research to
-find all of the attributes that help to make an application more accessible. It may also help
-to use other tools (such as the Layout Inspector in Android) to help you track down the location
-of the issue the Accessibility tools find.
-
-As you find issues in the app, write them up in your report. Your report structure will contain
-two sections, an Overview in which you will describe your experience using assistive tools while testing the
-accessibility of the app before and after fixing issues, and a "table" of issues you found
-and how you fixed them. The outline of this report is given to you in `Part1.md` which remember is
-in the root directory of your the repository you received when you accessed the
-assignment. To open this file you can either use the _File-&gt;Open_ menu item, or change the _Android_
-drop down above the `app` folder to say _Project_ and double click on `Part1.md` from there.
-
-
-![Viewing the project as an android project you can't see Part1.md](accessibility-img/androidview.png){:width="200px"} &nbsp; &nbsp; 
-![Viewing the project as just a project you can see Part1.md](accessibility-img/projectview.png){:width="200px"}
-
-
-For each issue you identify within the app, document the following details:
-- The XML id of the item that needs to be fixed. If there is no id you can describe it briefly (~3 words)
-- The issue type as drawn from the list in ASSETS/Epidemiology paper.
-- The fix should provide a brief description (1 sentence or so) of what you did. If the fix involves
-changing or adding alt text, you should include the alt text you added for each inaccessible UI element in your
-fix description.
-- The file or files in which you fixed this issue
-- The line number(s) where you fixed this issue
-
-An example issue is shown in the `Part1.md` file. *Please* retain the two spaces at the end
-of every line so the line breaks will be maintained
-([examples](https://gist.github.com/shaunlebron/746476e6e7a4d698b373)). This will help the staff
-in grading your assignment.
-
------- Sample Issue ------  
-*Id*: @+id/edit  
-*Issue*: Item Type Label contains unnecessary text  
-*Fix*: Remove the word "button" from the text description  
-*File*: string.xml  
-*Line number*: 11
-
-**Resources**
-
-- [Android Accessibility Overview](https://developer.android.com/guide/topics/ui/accessibility/)
-- [Android Accessibility Guides](https://developer.android.com/guide/topics/ui/accessibility/apps)
-- [Material Design: Assistive Technology](https://material.io/design/usability/accessibility.html#assistive-technology)
-
-
-# Part 2
-
-Tasks:
-
-- Repair accessibility issues you identified in part 1, including the sample issue
-
-For each issue that you identified in the app, please repair it by modifying code or XML layout file.
-You must also repair the sample issue that we have identified but not yet fixed in the code.
-For reference, in the sample solution we ran the app through the Accessibility Scanner and
-identified and fixed at least 12 issues (including the one we identified).
-
-For any repairs involving strings, please add a new entry for the fix into the strings.xml file,
-and then reference it (thereby retaining the old entry in the file). Recall that you can reference
-a string by changing the `contentDescription` property in the
-layout editor, or calling the equivalent method (`imageView.setContentDescription(...)`)
-
-All of these changes only require modifying existing XML attributes or adding new ones;
-or changing a line or two of code.
-
-# Turn-in
-
-## Submission Instructions
-
-You will turn in both Part 1 and Part 2 via GitGrade. The files you will need to include are:
-
-```
-- Part1.md
-- MainActivity.java
-- app_bar_main.xml
-- content_main.xml
-- nav_header_main.xml
-- strings.xml
-- colors.xml
-```
-
-## Grading (25pts)
-
-- Part 1
-  - Description of the experience using assistive tools to test the app (Accessibility Scanner, TalkBack etc.): 3 pts
-  - Correctly documents all 10 or more accessibility issues including location of the fix: 10 pts
-- Part 2
-  - Fixes the issues identified in part 1 by modifying / adding new attributes to the xml tags: 10 pts
-  - Updated content descriptions are correct per Webaim's guidelines: 2 pts
diff --git a/assignments/colorpicker-img/1.png b/assignments/colorpicker-img/1.png
deleted file mode 100644
index b34a0f5c049fd18795bbb93ab224100f1945d277..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/1.png and /dev/null differ
diff --git a/assignments/colorpicker-img/2.png b/assignments/colorpicker-img/2.png
deleted file mode 100644
index b5b03dcd14635f68272108dc4f05252c752a2946..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/2.png and /dev/null differ
diff --git a/assignments/colorpicker-img/Destroy_Activities.png b/assignments/colorpicker-img/Destroy_Activities.png
deleted file mode 100644
index d871eafc70fecd331b9554cfd7eab7dd6f6a8fed..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/Destroy_Activities.png and /dev/null differ
diff --git a/assignments/colorpicker-img/FSM.key b/assignments/colorpicker-img/FSM.key
deleted file mode 100755
index 381251d8e1e958bf5d29e5b7175be232ce7969a5..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/FSM.key and /dev/null differ
diff --git a/assignments/colorpicker-img/doorlocked.jpg b/assignments/colorpicker-img/doorlocked.jpg
deleted file mode 100644
index ef3df3e3168002966bde98ecce44e43ea12b7138..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/doorlocked.jpg and /dev/null differ
diff --git a/assignments/colorpicker-img/doorunlocked.jpg b/assignments/colorpicker-img/doorunlocked.jpg
deleted file mode 100644
index 26ef94f9ee783c460bcc1534003363465542af02..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/doorunlocked.jpg and /dev/null differ
diff --git a/assignments/colorpicker-img/fsm.png b/assignments/colorpicker-img/fsm.png
deleted file mode 100644
index e848395aea631596b14fbe7f51726da13aee70d4..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/fsm.png and /dev/null differ
diff --git a/assignments/colorpicker-img/logcat_diagram.png b/assignments/colorpicker-img/logcat_diagram.png
deleted file mode 100644
index e48b6b6f18bfac73a59b13a34f834aea1e689ec6..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/logcat_diagram.png and /dev/null differ
diff --git a/assignments/colorpicker-img/oven.mp4 b/assignments/colorpicker-img/oven.mp4
deleted file mode 100644
index 5eb6c0f8a58e9f9b9ec31158405d20d9be8eae97..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/oven.mp4 and /dev/null differ
diff --git a/assignments/colorpicker-img/thumb_diagrams.jpg b/assignments/colorpicker-img/thumb_diagrams.jpg
deleted file mode 100644
index d4ff332324ad8475585b2649b8916f7c47153056..0000000000000000000000000000000000000000
Binary files a/assignments/colorpicker-img/thumb_diagrams.jpg and /dev/null differ
diff --git a/assignments/colorpicker.md b/assignments/colorpicker.md
deleted file mode 100644
index 2dee3c91f2b25d3b9bdb9b77228686e8d0ad6198..0000000000000000000000000000000000000000
--- a/assignments/colorpicker.md
+++ /dev/null
@@ -1,530 +0,0 @@
----
-layout: assignment
-published: true
-
-title: Color Picker
-code: as4
-
-assigned: May 1st, 2020
-due:
- - <strong>Due</strong> May 11th, 2020, 10:00pm (including reflection)
- - <strong>Lock</strong> May 13th, 2020, 10:00pm
-revised: 11:00pm Thursday,  April 30th, 2020
-
-objective: Create an RGB color picker which lets you choose a color on a rainbow circle (color wheel).
-
-android_goals:
-  - Understand Android event handling APIs
-  - Handle touch input properly
-  - Understand app lifecycle
-  - Save app state in Bundle
-hci_goals:
-  - Create non-rectangle interactor
-  - Propositional Production System
-  - Event handlers and event bubbling
-  - Callbacks
----
-
-* TOC
-{:toc}
-
-# GitGrade links
-
-**Classroom** [Summary](https://gitgrade.cs.washington.edu/student/summary/8723)
-
-**ColorPicker:** [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/124) / [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/124/turnin)
-
-
-# Goal
-
-There are two parts to this assignment, creating an RGB color picker interactor which lets you choose a color on a rainbow circle (color wheel), then using it in an application.
-
-__Important definition__: The term `wheel` used throughout the spec refers to the dial **and** inner circle; it is the larger circle that contains all interface you will be drawing.
-
-The RGB color picker works as follows: There is a small white "thumb" that marks the color currently indicated on the dial (the outer rim of the color picker), and that indicated color is displayed in the inner circle of the color wheel. The user interacts with this thumb by pressing down on it, then rotating it around the wheel. While the thumb is moving it is 50% opaque, and it will return to 100% opaque as soon as the user lifts their pointer from the screen and a new color is selected.
-
-When the user has completed the selection of a new color using the RGB color picker interactor, the application will change the color displayed on the screen behind the wheel.
-
-A video of how this interactor works in the application can be found
-[here](https://courses.cs.washington.edu/courses/cse340/videos/colorpicker_su19.webm).
-
-
-You will play two developer roles in this assignment
-- You will be a __Component Developer__ as you implement the RBG Color Picker interactor.
-- You will be an __Interface Programmer__ as you use this new interactor in your App.
-
-## Component Developer Role
-Your primary goal in this assignment is to create
-`ColorPickerView.java`. This is your _custom interactor_ and it must
-be implemented so it can be used by any application. `ColorPickerView.java` inherits from
-`AbstractColorPickerView.java` which must remain **untouched**.
-
-Tasks for `ColorPickerView`
-
-- Handle different input events in `onTouchEvent`
-- Initialize properties during `onLayout`
-- Draw the rainbow colored wheel and thumb in `onDraw`
-- Save/restore view state locally
-
-## Interface Programmer Role
-
-You will also edit `MainActivity.java`. This is your
-_application_ which will _use_ your custom color picker interactor. `MainActivity`
-inherits from `AbstractMainActivity` which must remain **untouched**.
-
-Tasks for `MainActivity`
-
-- Register callbacks
-- Save application state in bundle
-- Restore activity state from bundle
-
-You will be turning in  `ColorPickerView.java` and `MainActivity.java` so make sure that any variables/fields you create/modify are in these files. **Do NOT modify any other files in this project.**
-
-<span style="color:red">Note: We will be asking you to re-use your color picker (`ColorPickerView`
-which inherits from `AbstractColorPickerView`) in a later assignment so it is important that you understand
-how the custom interactor communicates with an application.</span>
-
-# Getting Started
-
-You will be editing `ColorPickerView.java` and `MainActivity.java`. As such it is important to understand the inheritance chains of these two files, as you will be using **a lot** of variables and functions defined in parent classes.
-
-**Read the abstract base classes, including all of the comments in `AbstractColorPicker.java` and `AbstractMainActivity.java` before you begin**. Where applicable, you **must** use the inherited variables and functions (do not overload the inherited functions).
-
-The structure of the code is represented by the
-[Unified Modeling Language](https://en.wikipedia.org/wiki/Unified_Modeling_Language) (UML)
-diagram shown below. The symbols can be read as follows: + is a public field or method, #
-is protected, and - is private. Any method that is in _italics_ is an abstract method, meaning
-is must be overridden in the child class.
-
-<div class="mermaid">
-classDiagram
-  AppCompatActivity <|-- AbstractMainActivity
-  AbstractMainActivity <|-- MainActivity
-  AppCompatImageView <|-- AbstractColorPickerView
-  AbstractColorPickerView <|-- ColorPickerView
-  class AbstractMainActivity{
-    #ColorPicker mColorPicker
-    +colorToString()
-    #setStartingColor()*
-  }
-  class MainActivity{
-    -mColorView
-    -mLabelView
-    +onColorSelected()
-    #setStartingColor()
-    +onSaveInstanceState()
-    +onRestoreInstanceState()
-  }
-  class AbstractColorPickerView{
-    +DEFAULT_COLOR
-    +RADIUS_TO_THUMB_RATIO
-    #mCenterX
-    #mCenterY
-    #mRadius
-    #mState
-    -mColorChangeListeners
-    +setColor()*
-    +addColorChangeListener()
-    +removeColorChangeListener()
-    #invokeColorChangeListeners()
-    #essentialGeometry()*
-    #getTouchAngle()
-    +getColorFromAngle()
-  }
-  class ColorPickerView{
-    #mCurrentColor
-    +setColor()
-    -updateModel()
-    +onDraw()
-    +onLayout()
-    #essentialGeometry()
-    +onTouchEvent()
-    +getAngleFromColor()
-  }
-
-</div>
-
-
-_Related Readings_:
-It will be helpful to read
-[Android/Custom-Drawing](https://developer.android.com/training/custom-views/custom-drawing)
-and
-[Android/UI-Events](https://developer.android.com/guide/topics/ui/ui-events)
-to understand parts of the assignment that seem tricky.
-
-# Part 1: Creating your interactor
-
-Implementing your color picker interactor will require you to support input handling, maintaining and mutating state, and drawing to the screen in `ColorPickerView.java`.
-
-## Drawing
-
-Drawing is implemented in `ColorPickerView#onDraw(Canvas)`. You will need to draw the thumb and the color in the center of the circle. We provide a color
-dial in the drawable folder and it is already being drawn by `AbstractColorPickerView#onDraw(Canvas)`
-which is called because `ColorPickerView` inherits from `AbstractColorPickerView`.
-
-The height and width of the of the dial determined by the bounding box of the `ColorPickerView`. The
-the radius of the actual ColorPicker interactor is the half the smaller of the width or the height of that
-that bounding box.
-
-![Screenshot of color picker, original](colorpicker-img/1.png){:width="49%"}
-![Screenshot of color picker, after moving to a new color](colorpicker-img/2.png){:width="49%"}
-
-### Important Variables
-
-- Some parts of your drawing code will require you to know the size of the view you are drawing in.
-The protected variables `mRadius` (the radius of both dial and inner circle), `mCenterX`, and `mCenterY`
-in  `AbstractColorPickerView.java` must be calculated in your `onLayout` method.
-- The ColorPicker displays the last selected color on the wheel when it is made visible on the screen.
-The ColorPicker saves its internal state in the ColorPicker model which, for the purposes
-of this assignment, is stored in the protected `mCurrentColor` variable accessible through the
-public `setColor` method. The ColorPicker interactor will need to be redrawn when the model changes.
-
-_Related APIs_:
-[View#onLayout](<https://developer.android.com/reference/android/view/View.html#onLayout(boolean,%20int,%20int,%20int,%20int)>)
-
-### Thumb
-
-In the screenshots above there is a visible thumb (the white circle) that marks the selected color
-on the dial. The thumb is drawn in `ColorPickerView#onDraw(Canvas)`. It must move around as a user
-interacts with the color picker.
-
-The thumb must be constrained to move along a circular track that places it within the dial. It must move along that track even when the user is dragging their finger inside the inner circle.
-
-Visually, the thumb's radius is `0.085` times the outer-radius of the dial (center of circle to outside edge of color). This value is provided to you as a constant in `AbstractColorPickerView`. Positioning the thumb is similar to `AbstractColorPickerView#getTouchAngle(float, float)` but instead of finding the angle based on the thumb location, you're finding the thumb location based on the angle, additionally constraining the thumb to stay within the color band.
-
-The PPS specification (found below) uses a float [0,1] to represent alpha, but Paint expects an int
-[0, 255]. Be sure to make the correct conversion (multiply by 255, then cast the result to `int`).
-
-### Center Circle
-
-Inside the multi-color dial is a circle whose color is the same as the live selected color.
-It must be centered on the center of the wheel, and use up all available space up to the dial.
-The color of the inner circle, which represents the RGB Color Picker model, must update while you
-drag the thumb. In contrast, the colored box and text, which represent the application’s model
-(remember the Model View Controller (MVC)), must update only when the mouse is released.
-
-## Touch Input Events
-
-<div class="mermaid">
-graph LR
-S((.)) --> A((Start))
-A -- "Press:insideWheel? A" --> I((Inside))
-I -- "Release:B" --> E[End]
-I -- "Drag:insideWheel? C" --> I
-I -- "Drag:outsideWheel? D" --> I
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF
-
-class S invisible
-class A start
-class E finish
-class I normal
-
-</div>
-
-Where
-- A is updateModel();invalidate()
-- B is invokeColorChangeListeners();invalidate()
-- C is updateModel();invalidate()
-- D is doNothing()
-
-Note that the End state only exists to show the lifetime of a _single_ interaction. Because the user can interact with the color picker any number of times, we would actually return to the Start state when the thumb is released. For some examples of single interactions, see the images below.
-
-We'll handle touch input by implementing `ColorPickerView#onTouchEvent(MotionEvent)`. This is the event handler that will be called when a touch occurs in this view. Feedback is needed when the user is interacting with the color picker, so you will have to ensure that the view is _redrawn_. Recall that we want to use `invalidate()` to do this and even though `invalidate()` does not directly trigger redraws and may have no impact, you still do not want to call it more than needed. In other words, it is considered good code quality to only call `invalidate()` when necessary.
-In fact we **will be taking off points** for unnecessary `invalidate()` calls. Follow the PPS spec and don't call aything it doesn't specify. You should never need to call `onDraw()`.
-
-As you write the PPS, make sure to utilize proper coding style to ensure that the code is readable to someone not familiar with the project. For an example of how to translate PPS into code, see the [PPS page]({{site.baseurl}}/docs/pps).
-
-_Related APIs_:
-[View](https://developer.android.com/reference/android/view/View) (see documentation on Drawing)
-
-![Diagrams of single interactions](colorpicker-img/thumb_diagrams.jpg)
-
-### Transitioning out of the Start State
-
-As shown in the state diagram, when in the Start state (before interaction begins), we ignore any touches that are outside of the wheel. These events must be _rejected_ by your `ColorPickerView` so that other interactors can use them if they want. Specifically, views that may lie underneath our `ColorPickerView` must be able to react to events outside the wheel, but within the square of the `ColorPickerView`. Only transition out of the start state when the user presses on or inside the wheel. When you transition out of the start state, color is updated, thumb transparency is changed (alpha becomes `0.5f`), and thumb position is updated.
-
-The starter code already has some built-in functionality to help you test whether or not you are
-correctly rejecting input. When you click outside the wheel, there will be a Toast (a pop up message)
-that says "You have clicked outside the wheel!". If this message does not appear when you
-click outside the wheel, then you are not correctly rejecting input.
-
-### Transitions within the Inside State
-
-Once interaction with the wheel begins, you must only update the ColorPickerView's local model
-when the user is dragging their finger inside the wheel.
-
-- When a finger drags on screen inside the wheel, the thumb will follow the angle the finger is at,
-and the color of the center circle will update to reflect the change in the local model for the Color Picker.
-- When a finger drags on screen outside the wheel, the thumb will stay at the most recent angle
-within the wheel. If the finger re-enters the wheel at a different angle, the thumb must jump to
-that angle and the color within the wheel must display the corresponding color.
-
-Use the `x` and `y` coordinates of the touch event to calculate the angle (in radians) of the touch
-on the wheel with `AbstractColorPickerView#getTouchAngle(float, float)`. It is difficult to do this
-mapping in traditional RGB color space. The HSV color space discussed during class fits this task well.
-You can read more about the HSV color space [here](https://en.wikipedia.org/wiki/HSL_and_HSV). Since
-we're just adjusting color, we only want to modify hue while leaving saturation and value constant.
-You may see detailed instruction in code comments under `AbstractColorPickerView#getColorFromAngle(double)`,
- which we provide you. Use this implementation to guide your work on `ColorPickerView#getAngleFromColor(int)`, which does the opposite operation.
-
-Notice that our color dial is rotated `90°` from just the hue value converted to radians - our
-red color is at the top, but in the HSV model, the red color is to the right. This adjustment is
-applied in `AbstractColorPickerView#getColorFromAngle(double)`. You will also have to apply this
- when implementing `ColorPickerView#getAngleFromColor(int)`. For information about why colors are
- being stored as `int` values, see the [Misc.](#misc) section below.
-
-Here are some test values to help test your implementation of `ColorPickerView#getAngleFromColor(int)`:
-- angle: 2.5769272, color: -16774401 (blue)
-- angle: -1.5461564, color: -64000 (red)
-- angle: 0.42093232, color: -15073536 (green)
-
-### Transition to the end state.
-
-When the user finishes interacting with the wheel, you must update the UI to reflect the new selected color, by calling the `onColorSelected` method in the `ColorChangeListener` with our newly selected color. In addition, the thumb transparency must be reset to an alpha of `1f` (fully opaque).
-
-### Essential Geometry
-
-When a motion event occurs, we must change the coordinates into the form consumed by the state
-machine queries. The `essentialGeometry` method translates these coordinates into an ENUM which
-represents whether or not the motion event was inside of the dial. This is important because the
-state machine only relies on whether or not the motion event is within the color wheel and
-must not be interpreting "raw" coordinates.
-
-_Related APIs_:
-[MotionEvent](https://developer.android.com/reference/android/view/MotionEvent) / [Color](https://developer.android.com/reference/android/graphics/Color) / [ColorUtils](https://developer.android.com/reference/android/support/v4/graphics/ColorUtils) / [View#onTouchEvent](<https://developer.android.com/reference/android/view/View.html#onTouchEvent(android.view.MotionEvent)>) / [EssentialGeometry](https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)
-
-# Part 2: Implementing the application layer
-
-Your application is to make use of your color picker. The application needs to be notified from the `ColorPickerView` when the color changes. In our case, it will use the information to display the newly chosen color in a rectangle at the bottom of the screen and update the application model, though other applications might do something different. Examples of other applications that use their own implementation of a color picker include Photoshop, MS Paint, etc.
-
-## Setting up the Application
-
-The code you will write for the application is in `MainActivity` which inherits from `AbstractMainActivity`. An important variable stored in `AbstractMainActivity` is the `ColorPickerView` named `colorPicker`.
-
-The application layer must set the default color of `colorPicker` using
-`MainActivity#setStartingColor(int)`. We provide this default as `AbstractColorPickerView.DEFAULT_VALUE`
-(it's red). `MainActivity#setStartingColor(int)` must also trigger `onColorSelected` to
-ensure that the default color value is shown on the screen.
-
-## Managing Application State with Listeners
-
-To find out about color changes, the application needs to register a callback by calling
-`AbstractColorPickerView.addColorListener(ColorChangeListener)`. This callback
-must update the application's `colorView` and `colorTextView` whenever `onColorSelected`
-is called to demonstrate that the application correctly retrieved a color from `colorPickerView`.
-This means you are **prohibited** from leveraging publicly accessible
-fields/functions on the color picker to observe the `ColorPickerView` state.
-
-As good practice, you should always unregister listeners when they are no longer relevant. This must
-done in `MainActivity.java#onDestroy()` which is called when the application is killed.
-
-You may notice that `AbstractColorPickerView.java` keeps a `List` of `ColorChangeListeners`. This allows for our interactor to be more flexible because it can register many listeners that will all be notified when a new color is selected. For more on custom listeners, see [CodePath's guide to creating custom listeners](https://guides.codepath.com/android/Creating-Custom-Listeners). For more information about Fragments, see the [Android Fragment API](https://developer.android.com/guide/components/fragments).
-
-# Part 3: Save and Restore Application Model using Bundle
-
-You are to also save application model (i.e. the current color as known by the application) in the
-`onSaveInstanceState` bundle object. When user switches focus to some other app, Android kills our Activity.
-We will use the bundle to get the saved state back.
-
-We want to manage the state at the application level (`MainActivity.java`) versus at the interactor level. Thus you will need to set the state of the color picker in the application layer when the bundle is loaded.
-
-Notice from the documentation that `onRestoreInstanceState` is called after `onCreate` if a bundle
-exists. This is where you will access the information we saved in `onSaveInstanceState` to restore
-the current color with the color we had before our Activity was killed.
-
-<span style="color:red">We will kill your application during our testing process to ensure the state
-is properly saved. To simulate our tests, you can use the adb to test killing it, or in your phone's Developer options set Apps -> Don't keep activity.</span>
-
-![Clicking 'Don't Keep Activites' Android Developer Settings, 50%](colorpicker-img/Destroy_Activities.png){:width="30%"}
-
-If you do not already have developer options enabled follow the guide [here.]({{site.baseurl}}/docs/dev_mode)
-
-
-
-## Wheel default state and bundle interaction
-
-The best way to test this functionality is to enable the setting referenced above, and then press
-home, then return to the app. The color that was selected when you killed the app should still be
-restored when the app is restarted. **Quitting the app from multitasking (i.e. when the app is open,
-click on the square) will destroy the bundle.** Steps to test this is working correctly are as follows:
-
-Using the bundle:
-
-1. User opens app for first time. The wheel is invisible and color in the box is red (the default).
-2. User clicks on box to show wheel and changes color to blue.
-3. User leaves app (via home button) while wheel is still visible.
-4. User returns to app. The color in the box is blue and the wheel is invisible.
-5. User clicks in the color box and the wheel becomes visible with blue as the selected color.
-
-No bundle exists when app is unloaded:
-
-1. User opens app for first time. The wheel is invisible and color in the box is red (the default).
-2. User clicks on box to show wheel and changes color to blue.
-3. User leaves app (via home button).
-4. User unloads the app completely from memory.  
-5. User returns to app. The color in the box is red and the wheel is not visible. Clicking
-on the color box brings up the Color Picker with red as the selected color.
-
-Note that you do not have to do anything to handle the logic for displaying the wheel.
-The wheel is invisible by default when the activity is created,
-and its visible/invisible state is NOT stored in the bundle.
-
-
-
-_Related APIs_:
-[Saving and Restoring State](https://developer.android.com/guide/components/activities/activity-lifecycle.html#saras)
-| [Android Developer Options](https://developer.android.com/studio/debug/dev-options) | [Explanations for how to use Bundle](https://stackoverflow.com/questions/6525698/how-to-use-onsavedinstancestate-example-please)
-
-# Part 4: Reflection
-
-For this part, you will submit your reflection on this assignment to Gradescope. Create a MS Word, Google or other type of document and copy the following questions (in italics below) into that document. Add your responses below each question. You can have more than one answer per page, but if you can, please try to avoid page breaks in the middle of a question. Insert page breaks between questions as needed.
-
-- _The ColorPicker app as it is written is not accessible._
-  - _Without actually running the
-Accessibility Scanner, describe at least two issues that you think you would find with that tool.
-Why would these issues be an impediment to some users? How would you fix them?_
-  - _After you responded to the above, run accessibility scanner. Were you surprised by any of
-  the results?_
-
-- _The GE Oven/Microwave combo has a REALLY annoying knob for changing the time on a timer. You can see
-a [video](colorpicker-img/oven.mp4) of how this works in action but the gist is this:_  
-  _1. Start: Timer mode has been selected and your cursor is on the Minutes/Seconds menu item_
-  _2. Press the rotating dial button (hopefully not rotating at the same time, which will switch you back to Hours/Minutes mode) to
-  switch to "change minutes" mode._  
-  _3. Rotate the dial clockwise to add a minute._  
-  _4. Rotate the dial counter clockwise to subtract a minute._  
-  _5. Press the button to switch to "change seconds" mode._  
-  _6. Rotate the dial clockwise to add a second._  
-  _7. Rotate the dial counter clockwise to subtract a second._  
-  _8. Press the button to "end" the setting and start the timer._  
-
-  _Draw the PPS for this interactor. To help you with this problem you can use the following:_
-
-  - _EssentialGeometry: Clockwise, Counterclockwise_
-  - _The following events: Press, Rotate_
-  - _And the following methods or actions: `initTimer()`, `subMinute()`, `addMinute()`
-   `switchToSeconds()`, `addSecond()`, `subSecond()`, `startTimer()`_
-
-- _On our side, we've learned a lot about ourselves by quickly trying to transition this course
-online and at a distance. What do you think you are learning about yourself and your study habits so far this quarter?"_
-
-
-
-
-# Debugging tips and tricks
-
-Logging output is especially useful for testing the functionality of sections of code such as `getAngleFromColor` and other methods. Much like `System.out.print` in Java, Android provides its own class for producing output: `Log`. We suggest that you use `Log.i` and create your own custom tag so that you can filter the output for the information you want. Below is an example of how to use the `Log.i` function.
-
-```java
-private static final String TAG = "ColorPicker MainActivity";
-
-Log.i(TAG, "Hello world!");
-```
-
-To make full use of Logcat, make sure to configure the priority level (in this case, the "i" in `Log.i` stands for "Info") and use the correct tag (in this case, "ColorPicker MainActivity"). It's also good to check that you have the correct device/emulator selected.
-
-__Note__: Remember to take your `Log.i` debugging calls out of your code before turning it in.
-
-![Logcat diagram](colorpicker-img/logcat_diagram.png)
-
-_Related APIs_:
-[Android Log.\*](https://developer.android.com/reference/android/util/Log.html) | [Using Logcat](https://developer.android.com/studio/debug/am-logcat)
-
-# Misc.
-
-
-This assignment does require doing some math, and you are welcome to use the Java Math functions.
-**Hint:** Remember that the `y` direction is positive pointing down the canvas, not pointing up
-like a traditional cartesian coordinate system. This may impact the
-values returned from trigonometric functions.
-
-_Related APIs_:
-[Java Math.\*](https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html)
-
-## Integer representations of RGB colors
-
-Colors on computer screens are often thought of as R, G, B, (and alpha) values ranging from 0 to 255, using
-hexidecimal representations (`#00` to `#FF`) of those numbers for each value. For example the
-hexidecimal representation of the color #FF0410 would be
-
-FF <- red value = 255 in decimal  
-04 <- green value = 4 in decimal  
-10 <- blue value  =  16 in decimal  
-
-But the real `int` representation of this RGB  value is
-
-`255 * 256 ^ 2 + 04 * 256 + 16 * 1` = 16712720.
-
-
-
-# Turn-in
-
-## Submission Instructions
-
-### Part 1-3:
-
-Remember to continually commit your changes to Gitlab (`git add`/`git commit`/`git push`), and then turn in your code using the GitGrade link at the top of this page.
-
-Note: we will ONLY be using your code in the following files:
-
-```
- - ColorPickerView.java
- - MainActivity.java
-```
-
-### Part 4:
-
-You are to turn in Part 4 to Gradescope.
-
-## Grading (40pts)
-
-### Code (31 pts)
-
-This code portion of this homework will be out of 31 points and will roughly (subject to small adjustments) be distributed as:
-
-- Code quality(4 pts)
-  - Code compiles and runs
-  - Does not re-write helper methods in stub code
-  - Does not duplicate inherited instance variables
-  - Utilizes callback and MVC correctly
-- Event Handling (`onTouchEvent`, etc) : (9 pts)
-  - Correctly determines essential geometry
-  - Implement PPS properly
-  - Implements circular interaction properly
-- Feedback (onDraw)  (6pts)
-- Responds to callback in Application (3 pts)
-- Layout Management (2 pts)
-- View Model Management (2 pts)
-- Correctly calls `invalidate` when `setColor` is called (1pt)
-- Correctly update model in the view whenever internal state changes (1 pt)
-- Application model management (2 pts)
-- Application/View Resilience (3 pts)
-
-### Reflection (9pts)
-
-For this part, you will submit your reflection on this assignment to Gradescope. Create a MS Word,
-Google or other type of document and copy the following questions (in italics below) into that document.
-Add your responses below each question. You can have more than one answer per page, but if you can,
-please try to avoid page breaks in the middle of a question. Insert page breaks between questions as needed.
-
-Each of the 3 reflection questions is worth 3 points. Remember that the grading for these reflection
-questions is based on the following rubric:
-
-- Student gives at least a minimum answer to all parts of the guiding question.
-- Clear/concise but descriptive examples are given throughout the response. An uninformed reader
-can create a mental picture of the situation being described. Abstract concepts are explained accurately.
-- Student elaborates on the significance and meaning of the examples; why they are important.
-- Occasionally a student will be given extra credit for an particularly insightful reflection.
-
-## IDE Errors/Warnings you can ignore
-
-<span style="color:red;">**NOTE:**</span> An error/warning that can be ignored for this assignment **cannot** be ignored for every assignment. Check IDE notices against specs on per assignment basis.
-
-- `onTouchEvent`
-  - Custom view ColorPickerView overrides `onTouchEvent` but not `performClick`
-- Anonymous Class Replaced with Lambda
-  - "anonymous new `AbstractColorPickerView.ColorListener()` can be replaced with lambda"
diff --git a/assignments/consent.md b/assignments/consent.md
deleted file mode 100644
index 0d0ed84f2eb04c86327323c99608f8790b9fb91b..0000000000000000000000000000000000000000
--- a/assignments/consent.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: default
----
-
-# Consent Form for CSE340
-
-Contact information for person running study: _[Fill in]_
-
-# Introduction and Purpose of study (Beneficience)
-
-_[Fill in: Write 1-2 sentences about what this study is about]_
-
-# Requirements for participation (Respect for Persons)
-
-To participate in this study you must be _[Fill in: Requirements (only age:
-must be 18 or older)]_
-
-# Study procedures (Respect for Persons)
-You will complete a series of menu selections during this study. You
-will need to click on 108 menus to complete the session as
-mentioned above. You should expect this to take approximately _[Fill
-in: X Minutes]_
-
-_[Fill in: Tell the participant if they will be compensated or not]_
-
-# Voluntary nature of Study (Respect for Persons)
-Your participation is voluntary and you can stop at any time without
-penalty. Your decision not to participate will not have an impact on _[Fill
-in: What might be coercive to the participant]_
-
-# Benefits of Study (Beneficience)
-This study will not directly benefit you. However, it will help us to
-understand _[Fill in]_  
-
-# Contact (of IRB typically; Me in this case)
-If you have any concerns about this study, you can reach out to the
-Professor in charge, {{site.author.name}}, bricker [at] uw.edu
-
-# Written Consent
-
-To affirm your consent to participate in this study, please fill out the following form
-[https://bit.ly/20sp-Menus-Consent](https://bit.ly/20sp-Menus-Consent).
diff --git a/assignments/contextaware.md b/assignments/contextaware.md
deleted file mode 100644
index 49ff953a608a897aa9601c6154c890a3a723d427..0000000000000000000000000000000000000000
--- a/assignments/contextaware.md
+++ /dev/null
@@ -1,161 +0,0 @@
----
-layout: assignment
-title: Context Awareness
-code: A3
-published: draft
-assigned: <!-- Tuesday, May 28, 2019 -->
-due: <!-- 11:59 PM Friday, June 7, 2019 -->
-revised: <!-- 9 pm Friday, June 8, 2019 -->
-
-objective: Build a context aware application.
-
-hci_goals:
-  - Create an app that uses implicit data
-  - Make a usable app as defined by the <a href="https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html">SUS
-    </a> when evaluated by a TA 
-  - Make an accessible app
----
-
-- TOC
-{:toc}
-
-# Task for Assignment
-
-You have learned many things this quarter. Now is your chance to use
-  them to create something larger than any one assignment we did. In
-  this assignment, that could include an existing interface but must
-  *also* use context somehow.
-
-## Kinds of Context
-
-There are 3 kinds of context aware applications, which function in the
-following ways:
-- Attach context information for retrieval later (e.g., Leave a note
-  while at CSE; when come back to CSE the day after, user can see the
-  note again) 
-- Automatically execute things (e.g., Automatically suggest a new
-  navigation route when a driver exits from a wrong ramp.) 
-- Present info based on context (e.g., Send a notification of bus
-  schedule when user is at bus station) 
-
-You may build an utility app or game, and you should use at least two
-fences (**one of them must be location**). 
-
-If you want to start with an existing app, you could think about how
-  to extend the drawing app to be context aware. For example, you
-  could support loading of drawings based on location (you could store
-  them in the bundle and only provide access to drawings that were
-  created in the current location).  Or, you could
-  automatically undo the last action whenever the user runs, and redo
-  it when they walk and do nothing when they hold still. Finally, the
-  colors available could change depending upon what location you are
-  in (maybe purple is only available on the UW campus!). 
-
-# Important Assessment goals 
-We will be looking for whether you app is accessible and
-    usable. Although there isn't a simple scale available for
-    assessing context-aware applications, we have modified the
-     system usability scale (
-    [SUS](https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html))
-    as follows and will use it to assess your app (each rated from
-    Strongly Agree to Strongly Disagree on a 5 point scale)
-	
-1) I think that I would like to keep using this app.
-
-2) I found the system unnecessarily complex.
-
-3) I thought the system was easy to use.
-
-4) I found the use of implicit and explicit data in this app to be well integrated.
-
-5) I thought there was too much inconsistency in this system.
-
-6) I would imagine that most people would learn to use this system very quickly.
-
-7) I found the system very cumbersome to use.
-
-8) I felt very confident using the system.
-
-# Group Project
-This is a **group project**. We will assign you to groups to make sure
-every group has an android phone. 
-
-We will also assess the group experience as part of the grade.  This
-will be based on a survey at the end asking you to describe your
-contributions, your group members' contributions and mention any
-issues. We expect everyone to get full credit for this point, but will
-be using this to check for any problems.
-
-# Video
-The video for this project should be about 2 minutes long (+/- 30
-secs). It can be made with slides/photos + video clips for the
-visuals, and you can either use text (shown in the video) or spoken
-audio to provide the information listed below. It should
-have the following structure:
-
-## Opening slide
-Should use text, not voiceover for this.
-
-Title for the project 
-Names of team members
-
-## Story
-Brief (30 second) introduction to what you created. Should cover the
-following
-- What is the need (e.g. "Remembering not to be late for class")
-- Why is this hard (e.g. "I tend to sleep late")
-- What is the solution (e.g. "Calculate distance to class an hour
-  before class starts and set an alarm to go off with enough time to
-  walk there")
-  
-## Demonstration
-Pick 1-3 use scenarios and show clips of someone using the application
-with explanations
-
-## Credits
-End with credits saying who did what in the project
-
-# Turn-in
-Turn in your code, an apk file and a video.
-
-This video will serve as the demonstration
-for the modified SUS assessment. You can use captions or voice-over to
-explain your application. 
-
-## Submission Instructions
-
-You submit this assignment <a href="https://canvas.uw.edu/courses/1317447/assignments/4723261">on canvas</a>:
-
-- Files to turn in:
-  - `src.zip`: a ZIP file containing your source
-  - `video.mp4`: your video (other filetypes also work) unless using a
-    video hosting website such as YouTube
-  - `context.apk`: Your apk 
-- Then, make a comment on your submission with:
-  - A link to your repository. Make sure that we have access to it by
-    giving access to the `cse340` if visible to you, otherwise `rfrowe`
-  - Brief notes on anything you wish to tell us about your assignment
-    - These will be visible to all group members
-  - Link to your hosted video (unless you turned in a video file)
-
-- **In Addition**: *every* member of your group should fill
-out [this group participation survey](https://forms.gle/79xCgpa99nBXbq7W6)
-
-## Grading (5pts)
-
-- Part 1: App (3 pts)
-  - Use location and another sensor: 1pt
-  - App is context-aware: 1pt
-  - App is accessible: 1 pt
-  - You score well on the modified
-    [SUS](https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html)
-    when evaluated by a TA 
-- Group participation: 1pt 
-
-In peer grading survey,
-- We will ask what type of context is used
-- Ask if the app is enjoyable, in a Likert scale
-- Prompt to write a paragraph feedback
-
-Late policy: Since context uses half days, all group members must have
-at least 1/2 day left to get a free late day 
diff --git a/assignments/doodle.md b/assignments/doodle.md
index 3adc0cd6d98f7d89136f9b25d8a61ad749b584de..5f3a011708c7259b4eaf7a1c6c0f33547151827d 100644
--- a/assignments/doodle.md
+++ b/assignments/doodle.md
@@ -2,57 +2,38 @@
 layout: assignment
 published: true
 
-title: Doodle
+title: Sample Assignment
 code: AS1
 
-assigned: Wednesday, April 1, 2020
+assigned: Date Assigned
 due:
 - <strong>Code</strong><br>
-  Due 10:00pm, Thursday, April 9, 2020<br>
-  Lock 10:00pm Saturday, April 11, 2020
+  Due 10:00pm, Date<br>
+  Lock 10:00pm Date
 - <strong>Peer evaluation</strong><br>
   Out late Saturday night or Sunday morning<br>
-  Due 10:00pm, Tuesday April 14, 2020
+  Due 10:00PM Date
 - <strong>Reflection</strong><br>
-  Due 10:00PM Wednesday April 15, 2020<br>
+  Due 10:00PM Date<br>
 revised: 10:30 PM Tuesday, March 31, 2020
 
-objective: Create an Android app that draws a doodle consisting of a text, a line, and a set of images on the main canvas.
+objective: Objective
 
 hci_goals:
-  - Use abstractions to draw on screen
-  - Create animations
-  - Use coordinate transformation
-  - Try to create something appealing
+  - Goal 1...
 android_goals:
-  - Get familiar with Android Studio
-  - Understand XML and View
-  - Load image and drawable resources
-  - Learn Activity Lifecycle
+  - Goal 2...
 ---
 
 ## GitGrade Turn-in links
 
-- [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/116)
-- [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/116/turnin)
-- [Review your Submissions](https://gitgrade.cs.washington.edu/student/summary/8723)
+- [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/xxx)
+- [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/xxx/turnin)
+- [Review your Submissions](https://gitgrade.cs.washington.edu/student/summary/xxx)
 
 # Assignment Description
 
-For this assignment, you will be creating an activity class which will allow you to create
-"Doodles" consisting of images, lines, and text.
-
-This assignment will take about 6 - 8 hours to complete. You should expect this amount of workload
-on most assignments this quarter, so make sure to build good habits when completing it.
-
-If you find yourself taking additional time on this submission, we strongly suggest that you
-get in touch with the course staff on Ed or in person.
-
-The assignment is broken into four parts
-- Part 1: Demonstrate that you can build an app in Android studio that includes images, text, lines and an animation.
-- Part 2: Create an interesting and creative Doodle of your own.
-- Part 3: Review three of your peers Doodles.
-- Part 4: Reflect on what you learned in the assignment and from the peer reviews you receive.
+For this assignment, you will be creating an activity class which will allow ....
 
 * TOC
 {:toc}
@@ -62,21 +43,11 @@ The assignment is broken into four parts
 
 **Tasks**:
 
-* Get your development environment ready
-  * Download and install Android development environment and git if you do not already have it
-  * Accept the Doodle assignment from [Gitgrade](https://gitgrade.cs.washington.edu/student/assignment/116)
-  * Successfully clone our starter code to your computer
-* Open our skeleton code in Android Studio, read through and understand it
-* Implement three methods: `addImage`, `addText`, `addLine`
-* Call the methods you implemented and compare your app screen with our screenshot
-* Animate `UW` so it slides from left to right when the app opens.
+* task1...
+* task2...
 
 ## Prepping your development environment
 
-Instructions for downloading and installing the Android development environment are on our
-[schedule](../schedule) page and have been sent out through our Ed discussion platform.
-Please come to our first section or office hours if you are having any trouble with your machine set up.
-
 Use GitGrade to accept the assignment and receive the starter code. See the
 [instructions](../docs/gitgrade) for more details.  
 
@@ -86,177 +57,35 @@ We have provided you with the shell of an application which has the following cl
 
 <div class="mermaid">
 classDiagram
-  AppCompatActivity --> TabActivity
-  TabActivity --> Doodler
-  Doodler --> Part1
-  Part1 --> Part1Activity
-  Part1 --> Part2Activity
+  Aclass --> Bclass
+  Bclass --> Cclass
 
-  View --> ImageView
-  View --> TextView
-  View --> LineView
+  Dclass --> Eclass
 
-  class Doodler {
+  class Dclass {
     &lt;&lt;abstract&gt;&gt;
     +addImage()
     +addText()
     +addLine()
     +doodle()
   }
-  class Part1 {
-    +addImage()
-    +addText()
-    +addLine()
-  }
-  class LineView {
-    - endPoint
-    - brush
-  }
-
-  class Part1Activity {
-    +doodle()
-  }
 
-  class Part2Activity {
+class Cclass {
     +doodle()
   }
 
 </div>
 
 
-`AppCompatActivity` is an Android class that we subclassed in `TabActivity` so we can switch back and
-forth between your Part 1 and Part 2 code using the blue navigation bar at the bottom of the screen.
-You should not edit this part of the code but if you are curious, this tabbing functionality is
-controlled by the code in the `Part1Activity#onCreate(Bundle)` and `Part2Activity#onCreate(Bundle)` methods.
-We are using a View called BottomNavigationView that gives the functionality of a navigation bar -
-the switch statement in each of the `onCreate` methods tells the program when to show which activity.
-
-**Note:** The notation such as `Part1Activity#onCreate(Bundle)` is a common shortcut to demonstrate a specific
-method in a specific class (here the `onCreate` method which takes a `Bundle` as parameter
-in the `Part1Activity` class).
-
+`Aclass` is an Android class that we subclassed in `Bclass` so we can...
 
 ## Your Tasks...
 
-This task involves implementing three methods in `Part1.java`. Each method is named here but
-detailed doc comments can be found in `Part1`'s superclass, `Doodler`, which also defines some
-nice helper methods. It also defines the `onCreate` behavior of the Activity which calls the
-method `Doodler#doodle(FrameLayout)`.
-
-In `Part1`, you'll find missing implementations for three methods: `addImage`, `addText`, and `addLine`.
-
-Subclasses of `Part1` will have access to these methods once they are implemented. Take a look at
-an example of this in `Part1Activity`. It extends `Part1` and uses the three methods to
-draw the following image on the screen:
-
 ![A screenshot with a heart on it made up of smaller pictures. There's an "I" in the upper left and a "UW" in the middle left](doodle-img/screenshot_no_animation.png){:width="25%"}
 
-You'll notice in `doodle` in `Part1` that we use `scaleX` and `scaleY` around our coordinates
-(and size for images). These allow us to ensure the doodle still looks good on smaller screen sizes.
-**If you use _any_ pixel coordinates in your solutions, remember to wrap them in these scaling methods**.
-These will scale coordinates from the Pixel 2 XL to the dimensions of your device's screen.
-We'd recommend that you use a Pixel 2 XL emulator to compare the finished doodle against our
-screenshot to be sure you're implementing everything right.
-
-### Specification for addImage
-
-```java
-ImageView addImage(FrameLayout doodleView, String imageName, float x, float y, int size);
-```
-
-Most of this method is implemented for you. Please read through it to understand how it works,
-then try to set the size and location of ImageView added in this method. Critically, the images are
-going to be squished into a square, so only one `size` parameter is given.
-
-In order to implement this correctly you need to properly position the bounding box of the view:
-the `x` and `y` location relative to the parents are passed in as parameters and the `size` parameter
-is used for both the width and height. Setting the width and height will be done using the  
-`getLayoutParams()` and `setLayoutParams()`.
-
-If you implement it correctly, you'll see the image below if you run:
-
-```java
-addImage(doodleView, "food_3", scaleX(300), scaleY(300), scaleX(300));
-```
-
-![An image of a sushi bowl in the middle of the screen.](doodle-img/add_image_sample.png){:width="25%"}
-
-
-Remember that this is covered in section (😉).
-
-*Related APIs*:
-[ImageView](https://developer.android.com/reference/android/widget/ImageView.html)
-
-### Specification for addText
-
-```java
-TextView addText(FrameLayout doodleView, String text, float x, float y, int fontSize, int color);
-```
-This does not need to have it's bounding box adjusted.
-
-You may find the comments and the implementation of `addImage` useful. Make sure you are not
-editing the `xml`, `addText` is an abstracted function for adding text to a canvas, not
-specific to the contents in Part1. The font-family is the default one, no need to do anything
-special here.
-
-If you implement it correctly, you'll see the image below if you run:
-
-```java
-addText(doodleView, "CSE340", scaleX(550), scaleY(200), 60, Color.rgb(51,0,111));
-```
-
-![A purple text "CSE340" shows at the top right of the screenshot.](doodle-img/add_text_sample.png){:width="25%"}
-
-*Related APIs*: [TextView](https://developer.android.com/reference/android/widget/TextView.html)
-
-### Specification for addLine
-
-```java
-LineView addLine(FrameLayout doodleView, float startX, float startY, float endX, float endY,
-                int lineWidth, int color);
-```
-
-There are several ways to draw a line. The Android Code snippets blog has
-[a good example](https://android--code.blogspot.com/2015/11/android-how-to-draw-line-on-canvas.html).
-
-For this method, you will be using a class called `LineView` whose job is to draw a line onto the
-canvas. Parameters passed into `addLine` should also be passed into the `LineView` constructor to create a line
-of the appropriate color. You will be implementing both the constructor and `onDraw` methods in `LineView`.
-To this end, we have provided some blank stub code for you to
-fill in. Each `LineView` should draw a single line onto the canvas.
-
-By default, the size of the `LineView` will start out as the size of it's parent, i.e. the Canvas.
-In order to implement `addLine` correctly you need to adjust the size of this view (the bounding box)
-to be _ONLY_ from the from `startx`, `starty`, to `endx` and `endy`, and ensure that it is correctly
-located at `startx` `starty`. To do this you will use the method we discussed in
-class (`getLayoutParams()` and `setLayoutParams()` and `setX()` `setY()`).
-
-If you implement it correctly, you'll see the image below if you run:
-
-```java
-addLine(doodleView, scaleX(100), scaleY(250), scaleX(700), scaleY(1200), 15, Color.rgb(200,0,0));
-addLine(doodleView, scaleX(400), scaleY(1500), scaleX(250), scaleY(100), 20, Color.rgb(0,0,255));
-```
 
 ![A red line starts from top left to the center of the screenshot. A blue line also is present](doodle-img/add_line_sample.png){:width="25%"}
 
-**Updated Note for 2020:** You only have to handle lines that have a negative, 0, or infinite slope. In other words,
-you do not need to handle a line that draws from the lower left to upper right OR the upper right to the
-lower left.
-
-### Animating Text
-
-Once you've implemented the three methods defined above, your doodle should match. For the last part,
- you will need to figure out how to animate text. In `Part1Activity#doodle(FrameLayout)`,
- use animations to move the `TextView` variable `uw` from `(50f, 1650f)` to `(1050f, 1650f)`. Remember to apply
- `scaleX` and `scaleY` to these animations. The animation should last `1000ms` (milliseconds not seconds).
-
-Once you've finished your animation, your doodle should match this screenshot:
-
-![A screenshot with a heart on it made up of smaller pictures. There's an "I" in the upper left and a "UW" in the middle right](doodle-img/screenshot.png){:width="25%"}
-
-A gif  of this animation is shown below but you can also see a higher resolution
-[.webm version](doodle-img/part1playback.webm) of this file as well.
 
 ![An animation with a heart on it made up of smaller pictures. There's an "I" in the upper left and a "UW" in the middle left](doodle-img/part1playback.gif){:width="25%"}
 
@@ -268,165 +97,11 @@ A gif  of this animation is shown below but you can also see a higher resolution
 
 
 
-### Important note for Windows Users
-
-In the past we have had issues with the app crashing because of the
-line endings in the `.csv` file on Windows machines. When you
-clone the repository onto your Windows machine, all the line endings are automatically converted to
-carriage returns (`“\r\n”`) instead of the usual new line character (`“\n”`). This will prevent the
-`.csv` from being parsed correctly due to the regular expression (regex) we use. There are 2 ways to fix this:
-
-- Changing the line endings to “LF” in the bottom right hand corner of Android Studio
-(should initially say “CRLF”). See this animated [.gif](doodle-img/csverror.gif) for more details.
-- Replacing the `scan.useDelimiter(“[\n]”)` line in `Doodler.java` with
-`scan.useDelimiter("[,]|\\r\\n|[\\n\\r\\u2028\\u2029\\u0085]")`
-
-
-# Part 2: Custom Doodle
-
-***
-
-**Tasks**:
-
-* Design a beautiful doodle of your own.
-* Implement your design in Android.
-* Create a video of your Animation
-
-This is where your creativity comes into play. We've created a blank slate for you in `Part2Activity`.
-In here you must use all three methods implemented in [Part 1](#part-1-learning-by-doing) to draw your own doodle,
-and your doodle should have an animation incorporated into it. You are also
-welcome to implement new methods in `Part2Activity` to make a more creative and beautiful doodle.
-
-To start you must spend 5-15 minutes sketching out your idea. Here you should you think about how
-to incorporate lines, text, and images, and how these will be moved around the screen. Storyboarding
-is a good way to sketch out how this animation will progress. For more information about
-[storyboarding](https://en.wikipedia.org/wiki/Storyboard)
-watch at least the first 1:30 of this [video](https://www.youtube.com/watch?v=m2JJxRlxV2s). This storyboard
-does not have to be very complex - even 2-3 frames will give you an idea of how to progress. **This
-storyboard will be turned in as part of your reflection.**
-
-To ensure your peer reviewers see your Custom Doodle once you've completed it, take a video of the
-running doodle to submit through
-[this web form](https://docs.google.com/forms/d/e/1FAIpQLSd8sN1aB7JZIS_POZWVdtTsL7e0ZVGkjS_WBINo_cKLv6OH_w/viewform).
-
-* To see how to capture a your running animation on the emulator,  
-watch this [video](doodle-img/recordingvideo.mp4).
-* To capture your doodle on your phone
-(tethered to Android Studio), do [this](https://developer.android.com/studio/debug/am-video), but you
-have to put your phone into [Developer mode](https://developer.android.com/studio/debug/dev-options) first.
-
-
-**Tips**:
-
-* Aim for complexity similar to [Part 1](#part-1-learning-by-doing) (images, text, and shapes) though you don't need
-to use as many images. Try to be creative - your work will be evaluated by your peers.
-* You may use the attractive home-cooked food images ([photo credit](https://www.XiaoyiZhang.me))
-we include in `res/drawable` or use your own images.
-* If your animation is  slow, laggy, or not visibly showing (particularly ) on the emulator), try the following
-  * Reduce the number of images you put on canvas or reduce the file size of images
-  (e.g., convert png to jpg, reduce resolution of image file).
-  * Check the duration of the animation. Recall that the parameter to the method if in milliseconds, not
-  seconds. It may be worth inflating the number you pass in during testing.
-  * Ensure that your animation `propertyName` is set correctly for your intended animation
-  * Ensure that your animation starts and ends in different locations if necessary (translating in place is not visibly discernible)
-  * Recall that `Path` and `onFloat` take absolute coordinates unless otherwise specified
-  * Ensure that animations have not been turned off in the settings app of the phone/emulator
-* Recall that "Child views are drawn in a stack, with the most recently added child on top."
-(from the [FrameLayout](https://developer.android.com/reference/android/widget/FrameLayout) documentation).
-You can add a child at a specific index in the child list,
-see the documentation of the [ViewGroup](https://developer.android.com/reference/android/view/ViewGroup)
-documentation for more about how to add and remove children.
-* You can switch between the activities by using the navigation bar at the bottom of the screen.
-* **Make sure that your doodle depends on _nothing_ outside of the files described in [Turn-in](#turn-in).**
-
-
-*Related APIs*:
-[Android Animation](https://developer.android.com/training/animation/reposition-view) /
-[View Animation](https://developer.android.com/guide/topics/graphics/view-animation.html) /
-[Property Animation](https://developer.android.com/guide/topics/graphics/prop-animation.html) /
-[Vogella Tutorials - Android Animation](http://www.vogella.com/tutorials/AndroidAnimation/article.html)
-
-## Commenting your code
-
-Most of the starter code has been fairly well commented for you. However there are some places you
-should add comments as you are completing your solution:
-1.  If you have any significantly complicated code for your custom doodle, add comments that might
-help your TA effectively grade your awesome work!
-2.  If you received significant help from a source on any part of your code, be sure to
-add a comment referencing their help.  See the
-[Collaboration Policies](../academic-conduct#collaboration-policies)
-portion of our syllabus for more details.
-3.  If you add and use an image that requires copyright, you may add the attribution in your
-source code where you add the image to the screen. See the
-[Application Content](../academic-conduct#application-content)
-portion of our syllabus for more details.
-
-# Part 3: Peer Review
-
-The Custom Doodle will be peer reviewed as part of the grading process. We will use these
-peer reviews to ensure that you have implemented all of the parts required for [Part 2](#part-2-custom-doodle)
-
-Peer grading will take place once everyone has turned in their assignments. You will receive an
-email with links to three other students' `.apk` files (and associated videos) and a link to a form to fill
-out for each student you have been assigned to peer grade. You will load these files into the
-emulator via Android Studio or onto a physical phone, view and review their
-custom doodles for Part 2, then fill out the survey to give them your feedback. **Note:** you *must*
-evaluate the a given doodle based on the `.apk`, using the video only as a backup, for instance, if
-the animation does not run on your emulator or phone when you load it.
-
-Additionally, you will have a chance to nominate the most creative doodles! The winners will be
-shown off in class later this term.
-
-# Part 4: Reflection
-
-Each assignment this quarter will have a reflection component as it is a vital part of your
-work as a Programmer, Computer Scientist, and/or Engineer.  Your reflections do not have to be long
-(please no more than a paragraph or two in length). Details on what a well
-written reflection includes can be found [here](reflection). You will be graded on your answers to
-these reflection questions based on the following
-
-* Student gives at least a minimum answer to all parts of the guiding question.
-* Clear/concise but descriptive examples are given throughout the response. An uninformed
-reader can create a mental picture of the situation being described. Abstract concepts are explained accurately.
-* Student elaborates on the significance and meaning of the examples; why they are important.
-* Occasionally a student will be given extra credit for an particularly insightful reflection.  
-
-Create a MS Word, Google or other type of document and copy the following questions (in italics below) into
-that document. Add your your responses below each question. You can have
-more than one answer per page, but if you can, please try to avoid page breaks in the middle of
-a question. Insert page breaks between questions as needed.
-
-You will need to submit your write up as a PDF file. If you are new to Gradescope, see this
-[document](https://gradescope-static-assets.s3-us-west-2.amazonaws.com/help/submitting_hw_guide.pdf)
-for instructions on how to scan and submit hand-written solutions.
-
-Gradescope accounts will be created on the first (or second) day of the quarter for all
-registered students. You will receive an email message from Gradescope with a link that you can
-use to create an account and submit your solution. Your Gradescope username will be your UW
-email address. If you are not registered for the course before the assignment is due, please
-email the instructor with your name, your UW ID number, and your
-UW email address (uwnetid@uw.edu) so we can set up a Gradescope account for you.
-
-For this assignment, your reflection should cover the following:
-
-* _Include the sketches and storyboard you made as part of your design work for [Part 2](#part-2-custom-doodle) and
-a screen capture of your beautiful Doodle._
-
-* _In looking at your design sketches from [Part 2](#part-2-custom-doodle), what changed when you did your
-actual implementation? Why did you make those changes from your original design vision?_
-
-* _Why is be better to animate a `View`, rather than invalidate/redraw its contents?_
-
-* _At the moment, other than the bottomNavigationBar, our application does not respond to the user at all.
-Think of at least two ways that you would go about adding interactivity to this application._
-
-* _What did you learn from reading the peer evaluation about the user experience of your doodle?_
-
 # Turn-in
 
 ## Part 1 and Part 2: Code
 
-You will turn in the following files on GitGrade [here](https://gitgrade.cs.washington.edu/student/assignment/116/turnin).
+You will turn in the following files on GitGrade [here](https://gitgrade.cs.washington.edu/student/assignment/XXX/turnin).
 
 Make sure you only edited the following files for turn in:
 
@@ -438,20 +113,7 @@ Make sure you only edited the following files for turn in:
 - part2.csv (optional)
 ```
 
-Do not edit any of the other files with one exception: if you are on a Windows machine and need
-to modify the `scan.useDelimiter(“[\n]”)` call in `Doodler#addAllImagesFromData(FrameLayout)`.
-
-If you use your own images in [Part 2](#part-2-custom-doodle), please make sure to add and commit them to
-your repository in the `res/drawable` directory. If your images are not there, your custom doodle
-will not work for others and you will NOT get credit for the work you did.
-
-If you're positioning a large number of images for [Part 2](#part-2-custom-doodle), it is best to use a
-CSV similar to `data.csv` which is used for the heart in [Part 1](#part-1-learning-by-doing). Include this as
-`part2.csv` if necessary. Remember, the CSV coordinates are on a Pixel 2 XL and scaled to the
-current screen in `Doodler#addAllImagesFromData(FrameLayout)`.
-
-Remember to submit a video of your custom doodle animation through [this web form](https://docs.google.com/forms/d/e/1FAIpQLSd8sN1aB7JZIS_POZWVdtTsL7e0ZVGkjS_WBINo_cKLv6OH_w/viewform) at the same time you submit your code.
-
+Remember to submit a video of your custom doodle animation through [this web form]({{site.baseurl}}/404.html) at the same time you submit your code.
 
 **Follow these instructions to submit to GitGrade**
 
@@ -461,33 +123,11 @@ Remember to submit a video of your custom doodle animation through [this web for
 - Go to the turn in link
 - Check the box and click "Turn in"
 
-## Part 3: Peer Evaluation
-
-You will receive more details about this step of the assignment in our second lab. We will
-send out the emails to your uw.edu email account. Make sure to reach out on our discussion board
-if you do not receive the emails when it is announced that they were sent out (but check your
-  spam folder first!)
-
 ## Part 4: Reflection
 
 The reflection will be turned in to Gradescope.
 
-### Grading (40pts)
-
-This HW will be out of 40 points and will roughly (subject to small adjustments) be distributed as:
-
-* Part 1
-  * `addImage`: 2 pts
-  * `addText`: 3 pts
-  * `addLine`: 8 pts
-  * `UW` Animation: 4 pts
-* Part 2
-  * Static verification of custom Doodle (1pt)
-  * Active custom Doodle as verified through Peer Evaluation
-    * Using each of the three methods at least once: 3 pts
-    * Using an animation: 1 pt
-* Part 1 & 2 Code quality (2 pts)
-* Part 3: Complete assigned peer evaluations: 3 pt
-* Part 4: Reflection
-  * Sketch for part 2 is turned in with reflection (1pt)
-  * Each of the 4 question is worth 3 points (12 pts total)
+### Grading (XX pts)
+
+This HW will be out of XX points and will roughly (subject to small adjustments) be distributed as:
+
diff --git a/assignments/index.md b/assignments/index.md
index 2850793df46e3fef711978b204f4a067df6799fd..1296d2770e692bfd6ad62bdf5a3e36d8d2c32b0c 100644
--- a/assignments/index.md
+++ b/assignments/index.md
@@ -19,11 +19,4 @@ on public repositories such as Github.
 
 | Assignment                                                  | out    | due    | lock    | Peer Eval        | Reflection |
 |-------------------------------------------------------------|--------|--------|---------|------------------|------------|
-| [Doodle]({{site.baseurl}}/assignments/doodle)               | 1-Apr  | 9-Apr  | 11-Apr  | 12 Apr -- 14 Apr | 15-Apr     |
-| [Layout]({{site.baseurl}}/assignments/layout)  parts 1-2    | 10-Apr | 17-Apr | N/A     | N/A              | N/A        |
-| [Layout]({{site.baseurl}}/assignments/layout)  parts 3-4    |        | 24-Apr | 25-Apr  | N/A              | 24-Apr     |
-| [Accessibility]({{site.baseurl}}/assignments/accessibility) | 22-Apr | 30-Apr | 2-May   | N/A              | N/A        |
-| [Color Picker]({{site.baseurl}}/assignments/colorpicker)    | 1-May  | 11-May | 13-May  | N/A              | 11-May     |
-| [Menus]({{site.baseurl}}/assignments/menus) parts 1-4       | 12-May | 21-May | 22-May  | N/A              | N/A        |
-| [Menus]({{site.baseurl}}/assignments/menus) parts 5-6       | 20-May | 25-May | 27-May  | N/A              | 25-May     |
-| [Undo]({{site.baseurl}}/assignments/undo)                   | 22-May | 1-Jun  | 3-Jun   | 3-Jun -- 5-Jun   | 8-Jun      |
+| [Doodle]({{site.baseurl}}/assignments/doodle)               |   |  |  | |     |
diff --git a/assignments/layout-img/1_landscape.png b/assignments/layout-img/1_landscape.png
deleted file mode 100644
index 81910a74050cea8f28e3bec26cc10fa97d08d473..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/1_landscape.png and /dev/null differ
diff --git a/assignments/layout-img/1_portrait.png b/assignments/layout-img/1_portrait.png
deleted file mode 100644
index 9bd05c02c72702aa248ba15346a46bf1e9ae0036..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/1_portrait.png and /dev/null differ
diff --git a/assignments/layout-img/3_landscape.png b/assignments/layout-img/3_landscape.png
deleted file mode 100644
index 2b35654bbbaf23c88394da72f780ac675447e613..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_landscape.png and /dev/null differ
diff --git a/assignments/layout-img/3_landscape_scrolled.png b/assignments/layout-img/3_landscape_scrolled.png
deleted file mode 100644
index ed704982bc17697e0f2cc8f9674659dfe4a42214..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_landscape_scrolled.png and /dev/null differ
diff --git a/assignments/layout-img/3_portrait.png b/assignments/layout-img/3_portrait.png
deleted file mode 100644
index 5c0b44bfdbd1e87ec6765a0fa67022f85285c41e..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_portrait.png and /dev/null differ
diff --git a/assignments/layout-img/3_portrait_measured.png b/assignments/layout-img/3_portrait_measured.png
deleted file mode 100644
index 1a6d04655cb7a7c78c82a637839b436c0d4ea2ac..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_portrait_measured.png and /dev/null differ
diff --git a/assignments/layout-img/3_portrait_measured_bottom.png b/assignments/layout-img/3_portrait_measured_bottom.png
deleted file mode 100644
index c27b5bd3f31446224bf9546815c57d62da83929a..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_portrait_measured_bottom.png and /dev/null differ
diff --git a/assignments/layout-img/3_portrait_scrolled.png b/assignments/layout-img/3_portrait_scrolled.png
deleted file mode 100644
index 75dea3cc77afe1a7de03d4b62e7bf48eff82c9f4..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/3_portrait_scrolled.png and /dev/null differ
diff --git a/assignments/layout-img/LayoutSpec.pdf b/assignments/layout-img/LayoutSpec.pdf
deleted file mode 100644
index b1a9bf3628f70c46e6aec4bae7413274d9319097..0000000000000000000000000000000000000000
--- a/assignments/layout-img/LayoutSpec.pdf
+++ /dev/null
@@ -1,966 +0,0 @@
-%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</OFF[9 0 R]/ON[10 0 R 11 0 R 12 0 R]/Order 13 0 R/RBGroups[]>>/OCGs[9 0 R 10 0 R 11 0 R 12 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 54424/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        ">
-   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-      <rdf:Description rdf:about=""
-            xmlns:dc="http://purl.org/dc/elements/1.1/"
-            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
-            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"
-            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
-            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
-            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
-            xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"
-            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
-            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
-            xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"
-            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"
-            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
-         <dc:format>application/pdf</dc:format>
-         <dc:title>
-            <rdf:Alt>
-               <rdf:li xml:lang="x-default">LayoutSpec</rdf:li>
-            </rdf:Alt>
-         </dc:title>
-         <xmp:MetadataDate>2019-09-09T01:26:12-07:00</xmp:MetadataDate>
-         <xmp:ModifyDate>2019-09-09T01:26:12-07:00</xmp:ModifyDate>
-         <xmp:CreateDate>2019-09-09T01:26:12-07:00</xmp:CreateDate>
-         <xmp:CreatorTool>Adobe Illustrator CC 23.0 (Windows)</xmp:CreatorTool>
-         <xmp:Thumbnails>
-            <rdf:Alt>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpGImg:width>256</xmpGImg:width>
-                  <xmpGImg:height>160</xmpGImg:height>
-                  <xmpGImg:format>JPEG</xmpGImg:format>
-                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAoAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7&#xA;FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUv8w6hLp2hX99CAZbaCSSMHpyVSVr9OKvm6&#xA;7vLq8uHubqV555DV5JCWYn5nJIUsVdirsVdirsVZ7+UWt6hD5hXSxKzWN0khaFiSquilg6jsdqHA&#xA;Ve04EuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVJfOv/ACiWr/8A&#xA;MLL/AMRxVfJpWl/odm+pwcvq5NfTSteHyxVif1Gy/wCWeL/gF/phQvvDoUUMcci26uu7SOsadR9n&#xA;enT3xVSluvLTRRQxvaSSDq/7oHf9gdzTFURJBpUlvEsUEUhG5lCJ/wACKDcDFUZoGnae+oqGtYmH&#xA;Ftiint8sVRepWdpb+bfLxt4I4S31zl6aqtaQjrQDFLXkPzTfa/pOo3t9HHG9nqV/ZItur0MVpO0a&#xA;EqWclyq7079BgVLrv82tJsYbiXUdI1Sw9C3S+9K5igSRrN51t2ueHrFkWNnUyLIFkUb8MVRV3+Zm&#xA;jRapcaVa2d7qOoRXS2EEFqkRFxObf6zIsUkssUdIYiDIzsoFabnFW9M/M3y9qN1b2tvFciea2vbp&#xA;43RAYTp0qw3EMo5njKrvsBUHx6Yql3lz8zLzX/N1pYWekXA0K+0a21aC8k+rrIn1l3+KQC5Y+n8I&#xA;j4qhbnX9ijYql+sfmV5gtvMmrabC2mWk+nTxx6domocoLrVIikbPJbXcs8FulTIQo4PuN6Yqncv5&#xA;paRDe3UMum6gllY6imk32qmOH6rDcy+mI+RE3qlWaZV5KhoT8VBTFVVPzO0Br1I2guo9MluLiyg1&#xA;t0j+pSXNosjTRKRIZtvRejNGFYqeJOKo3yx5yi8wFWh0rUbK2mgW7sry8hRYbiB2oro8by8SwowS&#xA;Xg/E140xVjWlfmdqr3mtT6rpksGn2mpDRtIsYYoXurm82/d+qLtk5EVYho0RV39Q7gKpk35qaT6l&#xA;raRaXqE+rXN5PpzaTGtubiG5t4fXdJS06wgGMhg4kK074q35m8x+Z4/OWg+XNGks7MaraXl1cXF9&#xA;bSXbIbUxcUVIbm1G/qmvxHFUu0z83AfK8Ot6no160MaTyalfWUaGyhjt7qS2MokmkjZw3pF+EfNw&#xA;u5FKEqorW/zOMVh5rbRdIu7258swzGa6YWwtPWS3WdN2uIpHTi/JuArQHuV5KusfzSWRbW2m0HU5&#xA;dUNjDqGo2tqltK1vDOxRJeCXDvIrlSyrD6jhftAHbFUX+aXmfzJ5Y8pXetaFZ2t1JZxvNcveSOqR&#xA;ogrURxjlIWO1Oa/PFUf5t8yXOieSr7X4YUmntLUXAjavCpAqxA+Iha8qDc0oMVa8h+YL7X9AGo3Y&#xA;jes80dteQRyQQ3UEchWO5iilaR0SRRUVc+IJBGKpRp/mvzbF5r0jStcgs4RriXksWmwBjdWSWtCj&#xA;TzCaWKYOpAJVEAY03xVnGKuxV2KuxV2KpL51/wCUS1f/AJhZf+I4qgz5fvF8vJCdd1FliiSTkTbc&#xA;39OknB3EAYq3Hi2+67Yq8l1545/NN/ba/e3iaQYeFrb2bcODlVKuRVVfv9qvXJISVvIfkW4eJofM&#xA;01opB9Zbi0eV+XYgpwXfwrgVSg/LzypxRrjzWinn+8VLOY/B7Enr/sT/AFVTWy0f8uNJjmeG6v76&#xA;5cj0XUvBwAHYoYatU9TX5DFWaflpb6rqOmwpdapdJJFO7w3kZjErxR0IRzIsgZSahqjfEpZReabP&#xA;b+dtBuJdRubv1EuoxDP6IjThETyVYo4vibnQk+AxVDeX/I3mfRIr+xttdtf0VqF5eXkiiwlW8j+u&#xA;yNIwjuRecAyFvhb0T8sCpLpf5Sp5e+t6iYYNaeTR5dHuNN0+zhsZr0Tyxs0889xcsskzBDzZ236i&#xA;n2SqiPLX5Xanpnlby0sWorZ+adHklvLi8njN7FLPeIUuY5l9SBnHFgqsrrTiMVVIfyluLOS2u9O1&#xA;kQ6nw1KPU7qa19VZzq0yzzvHGJo/RdXUcN3AHUHFUf5Z/Lu78vX2i3NrqkcqadpEOiX0cts1biK3&#xA;ZnjkiYTD0W5ua1D7be+KrfMn5e6xrVtrOltr5/QOuSepdWd3bG6ngBVQyWc5mRYUPCoDRPxJJWmK&#xA;pPY/lr5hvJ9dsr++Fl5dvdeTURYiJZZ7iG3W3eIrcrN+7V5IAHV4y3w7UrhVEWX5LaVa6rJMGsTp&#xA;0k13OVGmW51FvrnOsbajIZH4RmU8OKK9KDlTbArJPKPlvzDokMFnfa4uo6bY2qWdjbJaLbsFjICS&#xA;TyepKZJAi8fg4KevGuKpdcflw72t36Gpelfvrh8w6fctBzSGcqE9OSL1F9VOHJTR0O+1KYqs0v8A&#xA;LM2mv2Wv3GoifU49QutT1BkgMcc8lzZ/U1jiQyyGJIkoRVnJ7nfFUd5l/L3SPMfmjSdZ1aO3vbTS&#xA;7e6gOmXVslxHI1yYyJKyEqpT0/5D17YqkPnn8m7fzNcXRjvLa1tLiwTT4La4sVuhZGMsVlsf3sKQ&#xA;M3IB/gJIGxXFU7svy+ig07zVYTXplh80NIZCsfAwrJZpaED4m5bR8q7daYqkWt/lNrGtabZ2Ooa1&#xA;YS/VrWO0Fz+iU9eH0Wqs9lMbgzW8xXYsXda7qq9MVZd5y8s/4k8o6l5e+tG1/SFubf62U9UpWnxF&#xA;OScun8wxVT81eUhr2g2+mC5EEtpNbXNvLJEJ4WltXDoJoCyepGSu68h89sVSvyL+XcnlfVtS1F76&#xA;G6OpJGn1eG2e3it/Tkkk9O2DTz+nCWmZvT3+I15U2CrflbyV5k0rzFe61qes2erT6gSLiY6fLDcr&#xA;CAfSt4JTeSxxQxtvxEXxftGu+KszxV2KuxV2KuxVJfOv/KJav/zCy/8AEcVRsn/HFb/mGP8AybxV&#xA;5T5z8uSahEt5aLyuoRxeMdXTrt7jJIeesrKxVgQwNCDsQRirWKo7R9GvNVuhBbr8I/vZSPhRfEn9&#xA;QxV7R5Qs4bKeC1gFIoYyq+PTcn3J3wFUw1r/AJSzy5/0e/8AJkYpTbUtV07TLf6xf3MdtDWgeRgK&#xA;nwHcn5YFST/lZHkn/q6J/wABL/zRhpXf8rI8k/8AV0T/AICX/mjGld/ysjyT/wBXRP8AgJf+aMaV&#xA;3/KyPJP/AFdE/wCAl/5oxpXf8rI8k/8AV0T/AICX/mjGld/ysjyT/wBXRP8AgJf+aMaVE6f538qa&#xA;hcrbWupRPO5oiNyQsT0C8wtT7YKVPMVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqS+df+US&#xA;1f8A5hZf+I4qj+DSaRwQVdrfio8SUoMVY3+htT/3wfvX+uFCXaj5Fi1Budzp/KX/AH6pCN9JUiv0&#xA;4qlGnfl/ot1NdLBbSzNYzG2uUdnULKEWSm/Dl8Mi7rUY2rI7by3dWsQht7MRRjoicQPwOKppoum3&#xA;sF8JJoiiBWFSR3+RxS7Wv+Us8uf9Hv8AyZGKvL/zdvrmfzY9tI5MFpFGsKdhzUOx+ZJxCGE4Vdir&#xA;sVaxVvFXYq4Eggg0I6HFX0d5Ovbi+8r6ZdXLc55IF9Rz1Yr8NT7mm+RSnGKuxV2KuxV2KuxV2Kux&#xA;V2KuxV2KuxV2KuxV2KpL51/5RLV/+YWX/iOKplDKsWnJK1SscIYgdaBa4qgf8TWH++5fuX/mrDSu&#xA;/wATWH++5fuX/mrGlS/S9dWK61SS5gKLcXYktvTYOWiFvDGGevDi3KNvhFfniqYf4msP99y/cv8A&#xA;zVjSq9nrVrdziGNHDEE1YADb5E4FS7Wv+Us8uf8AR7/yZGFVLQ/+U28z/wCpp/8AyakxVkuBXYq7&#xA;FUg8oHS+Os/o/hxGq3f1rhX/AHo5D1a178uuKp/irsVUrz/eSf8A4xt/xE4qkvkD/lDdK/4wD/iR&#xA;xKp/irsVdiqje31lYWkt5fXEdraQKXnuJ3WONFHVndiFUfPFWJ3mgaf50079I2usSXGi6n6c9qi8&#xA;zDwERSqDkmztxbp2P8xxdro+0/AoxgOIdevO+73j+wIh/KmuLZFRrM1xeRiQ25aSeCPlKy15+nI5&#xA;ZVRSFBrStRQ74EjX4uL+7AiavaJO18rA68+/qut/KOqK8EsmsS+pGtoJSnq85PqqcWV5DLVw5Zju&#xA;OpqQcUT7QxkEDGKPF3bcXcOHatvkm+g+YtC8wWC6hot9DqFmxK+tA4cBh1VgN1Yd1bcYXVJjirsV&#xA;dirsVdirsVdiqS+df+US1f8A5hZf+I4qjZP+OK3/ADDH/k3irEMKETPFGkETIOQfdpa96fZp2pir&#xA;p4o0giKDlz3aWvem607UxV08UaQRFBy57tLXvT7FO1MVRXl7/jpL/qt+rEpROtf8pZ5c/wCj3/ky&#xA;MVUtD/5TbzP/AKmn/wDJqTFVXzR/eW/yb9YxCpHihfJFJHxDjiWHIA9ae+KuMLpGrleKuTx7V7k/&#xA;jirhFJ6Rlp8ANOR7k+GKrMVZvef7yT/8Y2/4icCUl8gf8obpX/GAf8SOJVP8VdirsVYf+Z/5XeX/&#xA;AMxNCXStYluIPQZpbSe2lZPTlIoGaP8Au5B7MvyIrirDtD/5xb/LG00i0tdTtpb+/hjVLi9WeeES&#xA;uu3P01kIWvgMVR3/AELL+UH/AFapv+ku4/5rxW3f9Cy/lB/1apv+ku4/5rxW0R+U35FeXvy7ludQ&#xA;gvLm/wBavQRdXTu0UPEsW4Jbo3Cm43csa9CMVel4q7FXYq7FXYq7FXYqkvnX/lEtX/5hZf8AiOKo&#xA;Y+bvKr6EsiazZMksKxRMLiIhnkAjRV+Lcs7BRTqcVYfrHm3y9pDtHf3iRzKOTQqGkkAPQlUDFa17&#xA;4UJFdfnR5W4rGkd1JGmwEUSAVpu3xupxVTk/O3y1IiR/VbxY06KI4qV7k/veuKpha/mv5WvgsQea&#xA;BI6bNC5Wv8zGP1OvicVZXoHmHQkkgv31C3SymJiiuHlRY2kbYIGJA5bdMUo291rR77zpoFvZX1vd&#xA;TxLdySxQypIyo8VFYhSaAlTiqvof/KbeZ/8AU0//AJNSYqq+aP7y3+TfrGIVJYywkUru1RxHvXbF&#xA;CtfBfWqPtkVlAPIBu4BxVdebpEz7TkUZQa/CAOJPgfbFXSb2UZkorLtDQ7lSTWq/PviqFxVm95/v&#xA;JP8A8Y2/4icCUl8gf8obpX/GAf8AEjiVT/FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUl86/8&#xA;olq//MLL/wARxVFyRx/oNl4jiLeoWgpUJUH798VeI61NceX/ADdd6lBBFK+oQem/1hPUR4mCh0IP&#xA;ulPlkkIObX9DuJY5LnyxphaMEKIYzEtD24gsPl4dsVU01LylEqiHyrZjg3qJ6jyS/FWvxc6ll/yS&#xA;aYqjx5/vIIJ7fTdNsNOhuDWZLaHhzNKVahHL/ZVxVmX5SaWlnYRKYwq3DSXCx02FacTT/Y8hgKsr&#xA;1lV/xf5dag5EXgLdyBCKD8cUpZZ6hqFt+YOvRW+lzX0EsVmZ7iGSBREUibgpWaSNm58j9npTftir&#xA;XmTWrtfrE99pk9la2URkilkeCQzrx5OESKSQqykU+KlaineiFedjzn541TSm1Xy/oKy2SzNASxea&#xA;UMgBLGNPT+H4tyK074oY7e+dfzRiuJIJLN7eaNfUeNbQkhCKhviDfD74qhYfP/5kTJFNErzRSvwi&#xA;dbUMrv8AyKQu59hillei6n+b9zK6zaREsUIq8t3G8CnelEYN8RB68Qad8UJ5oPmq4v8AU73SL2xa&#xA;11KwXlIEbnE42+yzBOvIEV+/FWeXeva8dDknPlq8F4YiXs/Xsfhrsw9T1+Jou+BK/wAgf8obpX/G&#xA;Af8AEjiVT/FXYq7FWE6n+aljpd9c2t9oWsxx27yJ9eW05Wr8JlhUpLzH94XBWoFfuqqtl/Na0WBp&#xA;U8u68/BRIyfUHDcP3RagLblVmrx6niwxVq4/NSOOVUj8ta5KjOiFxZstAW4uaE/s7H3xVMrnzyIt&#xA;KtdSi0PVZorlVdoRbUmiVmZaSRluQYcK08KYhztHohn/AI4Q/rGlSTzrCtz9Wj0u/lnUr6kawgso&#xA;ZZGUkBv2vS2r4jBbYOzDw8RnAD3+7y82R4XWuxV2KuxV2KuxV2KpL51/5RLV/wDmFl/4jiqNk/44&#xA;rf8AMMf+TeKvPte0O31ez9GQ8Jkq0E1KlW/oe+FDzfUtA1XTnIuIG9MdJkBaM/7IfxwqgY45JGCR&#xA;qXc9FUEn7hirKfL3km6nlS41NDDbLuIW2d/Yj9kePfFXqPlxQuoIqgBQjAAdAKYClFa1/wApZ5c/&#xA;6Pf+TIxVS0P/AJTbzP8A6mn/APJqTFXedLZLqBbZ/sTRSRt8mAGIV4cLzWtIuJLaK6mtZIno6RyM&#xA;g5Kag0BHzGFCMi87eaYiCt+7FSWBdY5DyPUnmrVO/fFVR/P3m114tfk7ca+lDWn+twr7fLbFUJP5&#xA;q8yTsWk1O5LGlSJGXoKD7JGKsk8gWEzfWdUnLM0v7qNmJJYA1c1PuAMVe0Xn+8k//GNv+InIpSXy&#xA;B/yhulf8YB/xI4lU/wAVdirF/wAx9NivPLvqPNqcL2UyTw/oZ3S7Z2BhCjhuV/e1Pyrirzl9SM9q&#xA;Ldk87vE13FeC5IZZUaISELQKP3bAhjGduQUUpU4VUdQmuZYkgh1PzrbNHMITfXEIAjYpFGrCvpq3&#xA;qgmh5bMxqO2KEZ5pk006sbjVbrzjavpkxihkt6pbN6LRW4kV14owndUk+Lqa7b7qXfWg+j2U8Vx5&#xA;4DXtxzlk9Phcxrpq8SZY6UC3JkUdKtTsARiqisbyT3wivvPDJbxwzAvUOHeUWZMIdCWYJMXZa9Fr&#xA;Su+KvUvJgr5fgnE2oSrdM86jVhxu0DsfgdSBxAP2R2GBU8xV2KuxV2KuxV2KpL51/wCUS1f/AJhZ&#xA;f+I4qqWuv+XzZxK2pWhBjUMpmj/l6H4sVb/S3lT/AJbLH/kZD/XFXfpbyp/y2WP/ACMh/riqT6Dq&#xA;vlH65rhS8tuJ1D/dso6i1gDcPUP2OVacfh8MVTj9LeVP+Wyx/wCRkP8AXFW01nywjckvrJW8VliB&#xA;/A4qld/qWnXnm3y8LS6huCn1zmIpFelYRSvEmmFV+h/8pt5n/wBTT/8Ak1Jiqr5o/vLf5N+sYhWC&#xA;eZvKsWrD14CIr5RQMfsuB0DU/XhQwC/0jUrByt1bvGB+3SqH5MNsVQscckjBI1LseiqCT9wxVkmh&#xA;+Sb+7kSW+U21r1KttIw8Av7P04q9BgghghSGFAkUYCog6ADArOrz/eSf/jG3/ETgSkvkD/lDdK/4&#xA;wD/iRxKp/irsVdiqRaz5UTU72K8/Sd/ZyRGqpbTlI9wFPwUI3Axc/Ta84oGPBCQPfHf5rYPKky3p&#xA;uJtXvZY1YNFD6rCgUR7MamtTGeXGleRFMFMp68GHCIQHnXv/AF7c+SSW35Vta2/oW3mzX4o1DCIf&#xA;XeXAMgTbkjdKVHgdxvhdciYPy8uYr03b+adamf0bmBI3uE9NRdV+IKIx8UWxjPagxVdo35eS6XqZ&#xA;vh5l1m7DTC4ktbm6EkLOAwIKlfssrAcRt8IpirL8VdirsVdirsVdirsVSXzr/wAolq//ADCy/wDE&#xA;cVfG/lNhYeY7C9vYK2kEnOZZYPWRlAPwlGR68ulaVHUUIrhVKfqd5/viT/gG/pirJLuy0yPyLaCO&#xA;KGbW5rotJ6aTi4hhUOKSFl4NzPH7P2aDqWNFUp0K14axZSXkfp2qTI8rTQvLHRTWjoFcsppQ/Cfk&#xA;emKq/mpLe58wXs2lWrJp7OBbhIiilVULy4hI6ciK/YX/AFV6BVHeX18v2/l3Xl1C2nfXbiFYtK5W&#xA;vqwqPUQuVYuCkpFfiK/CoNDU0xVmX/OOcM0fnsepGyVienIEV/dv44q9+0P/AJTbzP8A6mn/APJq&#xA;TFU01XSmvmjIkEfpgjcVrWnvgVAf4Xk/5aB/wJ/rhtXf4Xk/5aB/wJ/rjaoDR9Iu70XnrKLQ213N&#xA;boKh/USMjjL8J25g/ZO4xVH/AOF5P+Wgf8Cf642rv8Lyf8tA/wCBP9cbVO7z/eSf/jG3/ETgVJfI&#xA;H/KG6V/xgH/EjiVT/FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUv8w6fLqOhX9jCQJbmCSOOv&#xA;TkykLX6cVfN13aXVncPbXUTQTxmjxOCrA/I5JClirsVdirsVdirPfyi0W/m8wrqgjZbK1SQNMwIV&#xA;ndSgVT3O9TgKvRND/wCU28z/AOpp/wDyakxSmuqat9QaMel6nqAn7XGlKexwKgf8U/8ALr/w/wDz&#xA;bhpXf4p/5df+H/5txpUv0fW720F59bjjmNxdzTw+lyjCRORwRuXPk4A+JhQHwGKph/in/l1/4f8A&#xA;5txpXf4p/wCXX/h/+bcaVObz/eSf/jG3/ETgVJfIH/KG6V/xgH/EjiVT/FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYq7FXYqskhhkp6kavTpyAP68VW/U7T/AHxH/wACv9MVd9TtP98R/wDAr/TFXfU7&#xA;T/fEf/Ar/TFXfU7T/fEf/Ar/AExV31O0/wB8R/8AAr/TFVUAAAAUA2AGKsa0P/lNvM/+pp//ACak&#xA;wqq+aP7y3+TfrGIVJFALAE0BIBJ7YoVruNY5fTVCoUUqerf5W22Kt3MSRJGFUnkORl7NXsKeGKua&#xA;JFtFcKWaQ7v2WhPw/M4qh8VZvef7yT/8Y2/4icCWG6brx0H8r7PU1jEskUCrFGdgXd+Ir7CtThVK&#xA;vI/mzzb5ovbqB76G0ECCQFbdXryalN2GKE11TU/MunyzibWYVhg3eZ7ZEUClSSS9BirC9Q/OoWhI&#xA;i1g3hG1YLJeNf9aR0H3Yqks//OQHmAV9Aep4c440/VzxSoH/AJyC829oYvuX/mjFXD/nIPzZ3hi+&#xA;gL/zRiqNtvz+1Rj/AKS7xDxjt4pP1vHirJNF/NGTWJUgtdfiS5fZbea0Ebk+Aq3Fj7A4oZlpS+ar&#xA;6ORjrEcfAgUFohrUf64xSw6f8z/MGkeZp7C/aK8sbadoZmEfpuUVqF14k796Y0h61gS7FXYq7FXY&#xA;q7FXYq7FXYq7FXYq7FXYqxrQ/wDlNvM/+pp//JqTCqr5o/vLf5N+sYhWO3F/YWlGvLiOBO5kdU2+&#xA;bEYoS+889+UuYrqlqqJ8KKkgcAdeq8sVWSfmD5OkVIo9TgRF6VY7saAkkjFUZb+avLtzEsFpqNrI&#xA;7GrhZkLsQTT4a1p9GKo0EEVG4OKs3vP95J/+Mbf8ROBLzXWP/JMWn+pB/wAnsKEB+SX/AB1tS/4w&#xA;J/xPEqmP5pWZu9M1OHcpVGkUd1UqT93XEKwPyxrOhaX5em0DUdKGoWNxMZ5Wkep5bAUUcaEBdmVl&#xA;PvTbFUXexflHqkEccmlXWmPG4IktCinhQVDE+py38Vr/AJWKqE3lr8nriWGWOa+tEjY+rbjkRIoN&#xA;RUsJivzB+gdcVVotI/Ju31BLsQXkyIpH1VyxgL/ssUJ5n5erT27YqmOmeafIuivJdaTofoajKnFp&#xA;YwV4n/IkMrMAe4VV964qkfmLU183eZdNvDa+hdQenBEwkaRmCvVS5PEfCSTsB13wq9w8sf3E/wDr&#xA;D9WApeGedP8AlLdX/wCYuX/iZwofRuRS7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqwuz0Szv/zA166n&#xA;e4WW2is1jEFzPApEsTcuaxOgb7AoW6dupwqoeb9FTTrW+udPmufrd3buay3E8/FokIUxLK7hDv26&#xA;7V6DEK8f0vSfJdxphi8wG+l1RpzK2oQMvIxkAcCX9TwrupNT18VCtJ5D/LuaZ5IPMk9tCy1jt5bZ&#xA;5HRvAyARq/y4r/rYqpRfl75J9CNpvNLeqG/eqlpJTj4Dc0/1t/8AVxVNLPRPyk06SWRkvdUBUBI5&#xA;W2G+5UiODf8A1gf44qj/ACPHAPMGqLphnh0OWPlBYyPyETEqNiO5+Lp28aVwq9Uu/JmkDQ5NPE+o&#xA;CBIqKf0he86J8Q+Mzcu3XrkUsT1j/wAkxaf6kH/J7ChKPybso7jWr13eVfSgFFjleNTyYD4ghXlS&#xA;m1cSll+p2MMVzdWpLyxOzlvWdpWIlqzLycs3EcqAV2Gw2xQ8h13R59Kv3t3BMRJaCTsydvpHfCqX&#xA;Yq7FXYq7FWY+Q9DdpTqs60jQFbYHux2Zvo6Yq9R8vadDNJLctJOGUCP00mlSOleXIorBeX+V1wFL&#xA;xHzVbrbeZNSt1d3WK4kQPK7SSEK1Ks7Esx8ScKH0lkUuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvDv&#xA;zK/NPV/InnnUF0+0t7r9IR25l+sc/h9GMU48GXr6hwqxjUfz68532lrq0mlacLOOYWtVkYv6jqXA&#xA;MfqFwKIdyKYqwCbz5evK7raQxqzEhByotT0FT0GNqi9Q17zDp9vb3F1ZQJDdVELLIr7qiSMrBHYo&#xA;wWZCVah3xVBx+ddSkdY0tomdyFVRy3J2HfG1RWqeYte0udIL20t0eRPUjMcizIyFitVeJ3Q/EpHX&#xA;FUy8tfmtr1iwstP0y3uLm7kVVFJC7sfhRAFYdztirLNW/wCckPPFld3emXujafFdW7vb3MYaR+Lq&#xA;SjryWRlND4HFXoOsf+SYtP8AUg/5PYoQH5Jf8dbUv+MCf8TxKsv1n/jpz/Mf8RGKpNqmlWep2pt7&#xA;par1Rxsyt4qcVYDqvkrV7N2a3T63B+y0Y+OnunX7q4VSKWCaI8ZY2jbwYEH8cVVrXTdQumAtraSW&#xA;vdVJH0npirKtD8hSFln1UgINxaoak/67Dp9H34qzZESNFRFCooAVQKAAdABgVkflj+4n/wBYfqxK&#xA;XhnnT/lLdX/5i5f+JnCh9G5FLsVdirsVdirsVdirsVdirsVdirsVdir5v/PXQH1XzzMyzCL0o4xu&#xA;vKvKNPceGFDBD5WvTpa6aLqP0BObkt6bcy5QJQnlSgA227nFUJ/gWf8A5a1/4A/1xpKZax5fudSW&#xA;2SttZxWkfpQw26TBAvUmkksnxE7k9SeuKEDa+S54LmKczwzCJ1cxSRsyPxNeLgMKqeh3xpKN17Qt&#xA;U1u/+vXl2nrCOOEUEr/DEgRavLJJIxoOrMfuxQ1oWg6roepR6jY3cBuIwy0nt0nQq44upSXkPiUk&#xA;HvTGlUtU8q3up6ldajc3cYuLuV55RHCETnIxY8VU0AqcaV75rH/kmLT/AFIP+T2Ksb/LLzT5e8vX&#xA;97PrV9FYxTxKkTykgMwapAoD2xKvQ7v8xvy0i9KW71O0j+soJoZJY2HqRklQ6lk+JaqRUeGKVD/l&#xA;Z/5S/wDV40//AIH/AJtxVefzJ/KpYllOq2IiclUkKHiStKgHhTauKpbrn5lflPLYBF1W2kPr2xKW&#xA;zNFJRbiMk819M8QBVvi3WoNRtiqZL+ZP5VNG8q6rYmKMgO4QlVLV41PHatNsVWf8rP8Ayl/6vGn/&#xA;APA/824qq235i/lddTCG21OznmIZhHHGXYhFLMaKhOygk+2KtRfmx+VsQIi12yjB6harX7lwK8e8&#xA;y39nqHmDUb6zlWe0ubiSWCZfsujMSGHzySH0pkUuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvOvzI/L&#xA;y/1m9XVdJ4vclBHcWzMEL8fssrNRa02NThBVgX/KufOv/Vrk/wCDj/5qwod/yrnzr/1a5P8Ag4/+&#xA;asVd/wAq586/9WuT/g4/+asVd/yrnzr/ANWuT/g4/wDmrFXf8q586/8AVrk/4OP/AJqxV3/KufOv&#xA;/Vrk/wCDj/5qxVFad+VnnC7uVjmtRZwk/HPM6EKPZVLMT9GC1eqa55QS78mHy9ZSemYo41t3foWi&#xA;Ib46fzEb0wJeIeZvyW/MLUooorewjrE5JZ7iEAilNviJwqlN9+RX5r3kVnFLY2wWxg+rQ8bmOpT1&#xA;Hl+IljvylP0bYqhP+hePzP8A+WKD/pJi/riqaXn5Lfmvc6FYaP8Ao63SCxeWTkLtWLtKa1IZiF47&#xA;0C0G5PUmqqV/9C8fmf8A8sUH/STF/XFU0tvyX/Nm38v3eix6baiG9lSWaY3KepSOhCD4+IHJQem/&#xA;foKKpX/0Lx+Z/wDyxQf9JMX9cVTXQPyc/OPQprmXT7O0DXdvLaT+pLBJWOZSpoW3UivIUPUCtRti&#xA;qVf9C8fmf/yxQf8ASTF/XFWdeWfye83gWVnqUCWlvEqLcT+rG/wr9rgEZiT4VAxtD3rAl2KuxV2K&#xA;uxV2KuxV2KuxV2KuxV2KuxV//9k=</xmpGImg:image>
-               </rdf:li>
-            </rdf:Alt>
-         </xmp:Thumbnails>
-         <xmpMM:InstanceID>uuid:559e743a-28e7-4925-88aa-a149edfbb1ef</xmpMM:InstanceID>
-         <xmpMM:DocumentID>xmp.did:578294d2-d6b0-344f-b159-7628ac6a8f47</xmpMM:DocumentID>
-         <xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID>
-         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
-         <xmpMM:DerivedFrom rdf:parseType="Resource">
-            <stRef:instanceID>uuid:fee9adc9-99ff-4f50-b2e9-7f830b63b763</stRef:instanceID>
-            <stRef:documentID>xmp.did:cc21c36f-daca-5d4d-86ed-0422dbc64d3a</stRef:documentID>
-            <stRef:originalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</stRef:originalDocumentID>
-            <stRef:renditionClass>proof:pdf</stRef:renditionClass>
-         </xmpMM:DerivedFrom>
-         <xmpMM:History>
-            <rdf:Seq>
-               <rdf:li rdf:parseType="Resource">
-                  <stEvt:action>saved</stEvt:action>
-                  <stEvt:instanceID>xmp.iid:cc21c36f-daca-5d4d-86ed-0422dbc64d3a</stEvt:instanceID>
-                  <stEvt:when>2019-08-04T17:05:28-07:00</stEvt:when>
-                  <stEvt:softwareAgent>Adobe Illustrator CC 23.0 (Windows)</stEvt:softwareAgent>
-                  <stEvt:changed>/</stEvt:changed>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <stEvt:action>saved</stEvt:action>
-                  <stEvt:instanceID>xmp.iid:578294d2-d6b0-344f-b159-7628ac6a8f47</stEvt:instanceID>
-                  <stEvt:when>2019-09-09T01:25:58-07:00</stEvt:when>
-                  <stEvt:softwareAgent>Adobe Illustrator CC 23.0 (Windows)</stEvt:softwareAgent>
-                  <stEvt:changed>/</stEvt:changed>
-               </rdf:li>
-            </rdf:Seq>
-         </xmpMM:History>
-         <illustrator:StartupProfile>Print</illustrator:StartupProfile>
-         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
-         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
-         <xmpTPg:NPages>1</xmpTPg:NPages>
-         <xmpTPg:MaxPageSize rdf:parseType="Resource">
-            <stDim:w>8.500000</stDim:w>
-            <stDim:h>8.017512</stDim:h>
-            <stDim:unit>Inches</stDim:unit>
-         </xmpTPg:MaxPageSize>
-         <xmpTPg:Fonts>
-            <rdf:Bag>
-               <rdf:li rdf:parseType="Resource">
-                  <stFnt:fontName>AcuminVariableConcept</stFnt:fontName>
-                  <stFnt:fontFamily>Acumin Variable Concept</stFnt:fontFamily>
-                  <stFnt:fontFace>Default</stFnt:fontFace>
-                  <stFnt:fontType>Open Type</stFnt:fontType>
-                  <stFnt:versionString>Version 1.020;hotconv 1.0.108;makeotfexe 2.5.65593</stFnt:versionString>
-                  <stFnt:composite>False</stFnt:composite>
-                  <stFnt:fontFileName>AcuminVariableConcept.otf</stFnt:fontFileName>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <stFnt:fontName>AktivGrotesk-Medium</stFnt:fontName>
-                  <stFnt:fontFamily>Aktiv Grotesk</stFnt:fontFamily>
-                  <stFnt:fontFace>Medium</stFnt:fontFace>
-                  <stFnt:fontType>Open Type</stFnt:fontType>
-                  <stFnt:versionString>Version 3.002</stFnt:versionString>
-                  <stFnt:composite>False</stFnt:composite>
-                  <stFnt:fontFileName>14038</stFnt:fontFileName>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <stFnt:fontName>RobotoMono-BoldItalic</stFnt:fontName>
-                  <stFnt:fontFamily>Roboto Mono</stFnt:fontFamily>
-                  <stFnt:fontFace>Bold Italic</stFnt:fontFace>
-                  <stFnt:fontType>TrueType</stFnt:fontType>
-                  <stFnt:versionString>Version 2.000985; 2015; ttfautohint (v1.3)</stFnt:versionString>
-                  <stFnt:composite>False</stFnt:composite>
-                  <stFnt:fontFileName>RobotoMono-BoldItalic.ttf</stFnt:fontFileName>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <stFnt:fontName>RobotoMono-Italic</stFnt:fontName>
-                  <stFnt:fontFamily>Roboto Mono</stFnt:fontFamily>
-                  <stFnt:fontFace>Italic</stFnt:fontFace>
-                  <stFnt:fontType>TrueType</stFnt:fontType>
-                  <stFnt:versionString>Version 2.000985; 2015; ttfautohint (v1.3)</stFnt:versionString>
-                  <stFnt:composite>False</stFnt:composite>
-                  <stFnt:fontFileName>RobotoMono-Italic.ttf</stFnt:fontFileName>
-               </rdf:li>
-            </rdf:Bag>
-         </xmpTPg:Fonts>
-         <xmpTPg:PlateNames>
-            <rdf:Seq>
-               <rdf:li>Cyan</rdf:li>
-               <rdf:li>Magenta</rdf:li>
-               <rdf:li>Yellow</rdf:li>
-               <rdf:li>Black</rdf:li>
-            </rdf:Seq>
-         </xmpTPg:PlateNames>
-         <xmpTPg:SwatchGroups>
-            <rdf:Seq>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
-                  <xmpG:groupType>0</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>White</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Black</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>100.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Red</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Yellow</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Green</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Cyan</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Blue</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>CMYK Magenta</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>15.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>10.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>85.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>80.000000</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>35.000000</xmpG:magenta>
-                           <xmpG:yellow>85.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>5.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>20.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>10.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>90.000000</xmpG:cyan>
-                           <xmpG:magenta>30.000000</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>30.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>75.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>80.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000000</xmpG:magenta>
-                           <xmpG:yellow>45.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>70.000000</xmpG:cyan>
-                           <xmpG:magenta>15.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>95.000000</xmpG:magenta>
-                           <xmpG:yellow>5.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>25.000000</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>35.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>35.000000</xmpG:yellow>
-                           <xmpG:black>10.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>10.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>50.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>95.000000</xmpG:magenta>
-                           <xmpG:yellow>20.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>25.000000</xmpG:cyan>
-                           <xmpG:magenta>25.000000</xmpG:magenta>
-                           <xmpG:yellow>40.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>40.000000</xmpG:cyan>
-                           <xmpG:magenta>45.000000</xmpG:magenta>
-                           <xmpG:yellow>50.000000</xmpG:yellow>
-                           <xmpG:black>5.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>60.000000</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>55.000000</xmpG:cyan>
-                           <xmpG:magenta>60.000000</xmpG:magenta>
-                           <xmpG:yellow>65.000000</xmpG:yellow>
-                           <xmpG:black>40.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>25.000000</xmpG:cyan>
-                           <xmpG:magenta>40.000000</xmpG:magenta>
-                           <xmpG:yellow>65.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>30.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>75.000000</xmpG:yellow>
-                           <xmpG:black>10.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>35.000000</xmpG:cyan>
-                           <xmpG:magenta>60.000000</xmpG:magenta>
-                           <xmpG:yellow>80.000000</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>40.000000</xmpG:cyan>
-                           <xmpG:magenta>65.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>35.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>40.000000</xmpG:cyan>
-                           <xmpG:magenta>70.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>50.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>70.000000</xmpG:magenta>
-                           <xmpG:yellow>80.000000</xmpG:yellow>
-                           <xmpG:black>70.000000</xmpG:black>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Grays</xmpG:groupName>
-                  <xmpG:groupType>1</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>100.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>89.999400</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>79.998800</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>69.999700</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>59.999100</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>50.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>39.999400</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>29.998800</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>19.999700</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>9.999100</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>4.998800</xmpG:black>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Brights</xmpG:groupName>
-                  <xmpG:groupType>1</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>75.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000000</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>60.000000</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>0.003100</xmpG:yellow>
-                           <xmpG:black>0.003100</xmpG:black>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-            </rdf:Seq>
-         </xmpTPg:SwatchGroups>
-         <pdf:Producer>Adobe PDF library 15.00</pdf:Producer>
-      </rdf:Description>
-   </rdf:RDF>
-</x:xmpmeta>
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                           
-<?xpacket end="w"?>
-endstream
endobj
3 0 obj
<</Count 1/Kids[14 0 R]/Type/Pages>>
endobj
14 0 obj
<</ArtBox[23.5835 0.0 592.654 555.137]/BleedBox[0.0 0.0 612.0 577.261]/Contents 15 0 R/CropBox[0.0 0.0 612.0 577.261]/MediaBox[0.0 0.0 612.0 577.261]/Parent 3 0 R/Resources<</ExtGState<</GS0 16 0 R>>/Font<</T1_0 6 0 R/TT0 5 0 R/TT1 7 0 R/TT2 8 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 9 0 R/MC1 10 0 R/MC2 11 0 R/MC3 12 0 R>>>>/Thumb 17 0 R/TrimBox[0.0 0.0 612.0 577.261]/Type/Page>>
endobj
15 0 obj
<</Filter/FlateDecode/Length 20803>>stream
-H‰\WInl¹Üëu½ÏäÌ­Û†W
£á… x�\ß@Û÷%Õ#zñ›¡zIæùã/¿<~üúKzü᏿<ÞÒCÿ]©=þýöãÏMþï­Î«Æ�^¢^+꣖¸FôÇÿþö·?ýŠï~ØJÜ­dÉ¥ÀZ~ä:®Õûã=z½æ¨Ïeäw|ÓƸrGüxÿ<à¯{üçËb‡Åß¡S<æºJžñ(¥_)Çãã§~øóí½_-Uüï{ÄU*níWøg]kÁz”k´õøx{/W�ð¸RÆ#·k®õxþá!Wžãóôñ¶h¤|ž#÷+hz%_­×ã×WÌÏË#¯+
Æ12~
-K	?ú¼ÿíË¿yó/çÓ­ÂÁtÕTÊ·‡pm\£à­ÈEŽ†k땯ëëˆÅç>FšWÎãû'QÖUkþ2ñyNúõ>àotf«Oë—õ}d�}ý’?K2EÇ~Cjcµ«-¦)_áÿ	$óg÷ã+y	±~>HíµÒ` äùHýˆ÷-XÀ9!ãIY¨Ì˜ásEõÁƁÐF»-ÈúZ¸w"]Ÿ?(8:I¼"UY¸4(í. ÓÀXˆÅÐ3â£_™~ãœ+èD`c”«ô*
HŒÀcš^‚ÁEÑCL¨%Ú¸#°¤ÌÂ{™|Óžr‡`teòŽ¬ò‡¡
´¶¬"3Ý‰`Û(îùê}ß1Ž¡
ÔB›B$Úº«—Îg´åÔq l0q`¡•«§.¤1¢-“Šh°L8Ö×ô(2-ܘ¨k›@¶*’�öÒ+ãšH;:öê¹í³rr 4Qý,,}<ʱj¥*ž¾1+!w€ßÇ…
-׳+『êÅ~vö
-èª×f¿ËyŠ;z+Žh3Ð*+;Ú‹&Ðò²^A^x;˜�ßdU<Ι—&_3çÍ^YLMn
 ³«»ðªI/2JËáìFRU- CºŠ™wâ0²û…µðzwC¸¶Ȧa¤³A賸	g¥MŒ™i"ˆew6Àas÷T'y%Æp§£WpFÔëþ{U>„6Êáªþ]k,w2
-ç$߯Ò<Ú`4šx® Ëm‹AA$g­®iA–szÞ¼OI<Š•ö�­†X4+œ‹ó4dnj\ÝÎOž[Ÿ:sXâëÄܐtã8ÅeK#Ÿß|ˆ·&�UôX ¹f²« 8S79æÙøý ûHLrPË`Èðé/É!íËÝ^×g_§¡„[ŒŽoPŒÅ%ºÂç¹ÜŒ#œÊ;âràùMÞ§e…µls1ÜÖ$>,ÊÁáç#;EœêrÔ±Ëú¡	¼aØæX4æ±E¿Ð*«l‚îêïÙ͵LS˜â´'6¹„å“)çäȁЮíx:;“Ï@1ôá_°Ú©i&ÝѪzü@ÌTEl‡îÇ¿Qê×yÎ.¶«
-'KÙl÷ŠÐŠH,ÅƒdÌÒíÛªä\[õ­©6‘î1ëNeÞõ,Ú®eahË'óOŸsùbþoÄÃcð^!œ?±RvÄ4Žúò³’¹ÿ@<Âf÷8a4Ü=Žº,v$ÜÑ¥í!øŠÐnLJ‰st&G‡Ì9›¦/•…Ûù©ÉÜ”£$¾ål/i:ËíN5—têxJb´ìP–º,J†/¢-±;hªÀï�- ?kQ=OÖ3Ϋx:up…ÐÊזF¯m@íe÷UMòji8°£©ñ í‡¹ /â@žÒlsù"}âÛÝE“£�ªpÊ3,.ŠyJ}îižiÚ5†ikð«h,tF„&ªœÒ\CÅó<’É•Ä\-¤!!›¡
.³LÂfe-Jqó1†INáùÚ•\=€'�ø,þ’™ÌÈæǹ •3Æ"—)ò»Ây�´€!\l“t‘Áœ~|RCÍëïœ1ECðDl#/O-0±ney9ÀΓ 	ýç,Í|�´€
-ÏͼµHÑkÐU¾
-ƒ7Ñ»LÜÚ@N§W’FyÅYœuÔú€X—ùuüx;�fcH
~|ùT÷±ð|èçEšÒ‘ú©’¨|¦átY!æ>]cÒœUKËÇÛ‰ðPÛÕ̲8v¸$%+ø¤œÚ6S».„íQüI_íÀû³1Ë•ˆªY6Õ¥wÀ
–gßìÅ%ŠÚÆ{CãTt܃-…w ;b²À²ÁpÅ`ÓZ³BЏ´—øIé8S–
-
ÌM’àÄîä9–Io0:1 Ÿóf½W„¼	}.žÄ_(&À›­Úé„;Q¦öÄ­›þÄ;ÐæÒY¹{ar˜Š'¿u­B¢fKÿÙDâ	å30c2¹&K„¶ •<ØÜe'²Å\©†ó¢T„¡òÒà+>öõ5
-¿‘½‘¢ô‰· ÆñJ‹C[PÉûʺöôŠ<5£—“T¸†r¨í‰2 ïóÖjbq!›éah
")¼L3Õiöièb‘ÓÓ÷Ã=Hé¢4*¡Tå;uáÜB額"ªRÒZU¾ò>Ϫ['H|ŸM¤½_¡o%ñ¬=÷«+Ú^\árQ…ˆ•g'ÒV6Ç·ÔJ,þµ…‚Äï
 öâ;>¢ƒðäZµ²…jŒj¹„ÕËp‰ÈSª<Ç–#Z… ’ª÷L¯F Ë‹bnÖñwä©å xØ7®>hÒáy	Žã^“½j­>¼Š¼ZeòðR˜‘'gÙ;á@$×#¯™I£ð�ð=ÉJÔË}•Ü«5:“†³zx‹å¶¥EêÐÕ\\Ñ8NÍItÔ÷¤â˜K2ßÏøšåè€6¬
EËuËvSAe5s݁xœ›æ£M“ö(ÌÃaÚÖEBè÷åžHØ(
-'iå¡Â*ÉMT‡Êà@žZ‹FÛNYÔ~y··–¢5Ì|´2qGh	^?(y^á¾ãFò¨oŠŽ½½"n+ÎÐÔäÆ"‰JÇÐÂjí”|âÊçÖ~EL™£Ï£¸á¤jc÷uSNå UäÇxj'ZُÊLHk5ÏzVKݦj2Ͻ"^€Bcý9Š¸’£On1¸ Rè=Ê=q"^€:ãË8Ï*ÆÖ(ìµ\#Èñ¥ùìeî@<7æ¬ñÔf±M¢Ù—:!ÂñéO-çËD»ÒöŒìÛšÇÁéÝðŽÐ
-›
F†¦'¢¹{š1ǝ	N@Y{zEžšÌI9@©†0ËÕ2¡ŠŽŽ€×,{r O©m {­Kº/­Ý’Èñ̳‰î@hÜ»³X8¯Ý»”=<úÅS/*+÷•–0p8—¼Ñš‡3hrnX{”¢Ï„6‹îÛû5@ïqÿÐû&õ%…ŽÊ‡6îÈSʳnõQ½îŒ><‘³7™éÍñ’R½#´€M)Yñ¡b)•kì…*‰íšM§Ãýq Öëµì]pm;=mN®C;€P4qöòrG¼7Œa„Aàb1ç4o¯¡mfÕØ;ª·—ÿs]Yv1p¯Sø~ÃyfKÝë
-à˜Ý+‰5Ÿ` Â‰ hpéyƒJ&5[ÆøUUÊexSò¸WhÓbÔ”^@ëÚÉ*1
‹Y[ûÍPäQ$R$z³w@vÓ5Òv"Rº¡ÓIïi|§ÁݽŽ¹–Nt.§C°ì?<ñÚ~þ\�¯u«1Ð¥M§^zò;òüè…:íx&óW)—––Z¨~D§¤jÈf³íùú,õç…<BR	OgŠ~-Í„“ÚR.Êam»ê…pN¦}Ô‡æd•àÍÚnúÉ{¹GÑhö—Ô‡æu2èb’šÍ„bÛ¹mÛ/ÄlÑöÓæŠOªWJÕesԲϼ³–­?b_Af«@¢gü(ù^Þû�¤NêZÒõgn¨	’TšÊx?À
-À
-´©!©¼ÖÁldl	hP|«HM5¸·KyH†™â2¥KEdÈ5©Â<ÊDI2^i©lª—½)HŸ\™žGˆáq-' QWT¬Ž@Ÿs‰ôAÞ´cÝÛ(¯ØÖ–7ÈiÅÆwxƒ/b{±ö{z[†$
k2OïÖlJŒ3бÉÉ\YoÊ@I¦’Þ‘Œ–¢ª̉°ÆVÒ€NbgÑjmùKÓ‰á[ßÞË…<òo-;U¦f׬GóŽÎ×Þ¹·.ľÓ3²°I8×ðÏô
-ƒ	fj5ò
-Õ	æDì~[˜Æ>ùNGú±eÉJA5üY»„ƒþ"2ÍÚ^šS©'­pÔC¶>ìrq9ž¦‚½Ìt
ÆD8xc8ã„•€Óº$=–#ÌP„¡¯¡x1A{ÁÌ'3/Še¨x$§À‚ÁÅS'ÏŸIðKDW}ü”¿¤¾¼MÜÁ&:^tIÝv®N¶Áù¬­çeRk89†¿.~µ¦{†÷ª“û>úÞ<�<Læ!,E¸q
-¨ÕÏ39€žk`¼†éa×¢¶Í£;óR[•éÁ­]u!2Ñ”»j®ÎÜÙ–¼nwsZÞYÊ9ºù‹°2¨ò
-ÓÇÐDä°ä-
-'¯6­“V˜5NÄCÕMm£y.ÁDxf2Úšíž°,l`éDo„³áV€´VÅ)SÝœtõäœ"ƒuNA_Ä<åiG—‘²ƒh·²;»Š¤€nZbÜqJÛ¤SG]&©,û{DªZÖ¿)èpšôùØÈÄ\‘´58‰½ÙÌû#žMbé(ôz§Jlä9Þš>Vº€:Ú^ˆõË!‘+ïJA½¯ØY–ΐ§fÒ¾Ç ?OP*”Ø¡Yz$_€:ôBœ‚–º×Èóƒ”ON*¯™Ý63“¯}YG/ä‘ÃhÅ5d×'­¤Uq”¦DSÔõEþççύ°ÆøPšÍ<ÑåÓÜ)isÛr’o/„þ*£5í*o…igyrÈÌ:)&©l{´yäÚÆ´ïàÌ=J‹Æd¿j]#EÜÈ£xSº—^€0mTöªJ7#ŒaQ¸Ö�Ù8cÕ=åœë°§­2ÞÚæÖpØx�[÷^³ø¸W¹ý©Œáb(–š¹BN€ þœ~°e<­]ôXؤÕArW™ÿaŽð/¢täžP³•‡×Òs™]Ï;/Õ8‘GUw².1_•—@!j©g=§fUœÕ5NäQ:ÚKÈ?Ü×äâ¯59á•ìÀ1â(NäÑáä¹CYY£‰š%¬¸56…"žþÜk`”Nßwp1ÓÉ23Åœ¹çG/dZª“Tp9L¥'°Rßj«¢$Ô#]`ú"Mˆ[sš eQ)ta“€!ó³›±Ùv,q":GÙ‚=É­i£À1‰NצGìD<bÙœEGÏT”»McÁp®ÍqOf	kpN1KÎAîu‹yô1´ëHfš1[ÍÜ-¦Áy½l
EjåÔsW[ÞYsŠ/ˆ/láÐ#igöø‚Á…˜we·±.Ñ,µÒ§ú’ÿÞVèì˼g‚%öÜ
-@$B~d2À@”:â­7¶#}‘2v*ºžsÅT´UNÅp“™ôœC¿ˆCД€©NAl;ÖLÃ)¨ÏøjSЉ”ßµWÉzž%öVe
WÎÝ[P/ÄîÂ>?É~åŠlAFâw–Ä‘Kö A_Ä&gLßëbˆ,°ÿÍKb¦-*Ñ+=½Fé‹8%77l¶è¤ù0(­Ø"1•lÝÊ…<2p}†Y`›g²q‰¶ÇÍ’I·Ÿ§]ãØxÖå4WpÓÈ‹ÿVËXç ãjÆ°Xô±ÿelÑdƒ¶pvµá#%ÓSmçÕ/ä¡1o1ûò¤BázHo*Š 'ð0´f93B¤dú[[Ss¸Zm;Á|¼‚*K’…ë�m­!×Ak®¶3GôVñ¯Ó؉lQµgîá=ØÒ ôµÃ Ü®#^GÅ	‘†—)°d½~xžA‹/0¯ávª[;£cq-ÛGw<ëÜ3Í�ª8w¸ÕÉ¡f0¥©ÁsÛ¯'ÂÛçÂÝùƒIýÑx>üÅT?e®_ˆ:‘GqhtgˆAïDŨÁ`e¨‹ÓòßíNO€]Œ›/Þ‡£Pó2;ó.SûÆ?Ësp�ž$<–_9Ið"‚ímœL†þ.qhÃÆ%bR¨J>
Æ·‰Hª¾ÒÙ¤™EêÆã®â„15É«rÊèD|ZzõÃÉg/<Ga
�í­©IˆÕµ5nêÃé¨]#ú|gŸÁ>ã昘}Tj„MçF¢ñ¬Î¸KFãQÁ¤:d•,Ž>3MÔŠq!V®½ß¥oEŸ½cg.ä×êÞËÍâw"ÔϤ¤ä‰B@ûŠÞTäjË;èZÆ…<Rå>†/’´
-—n5÷'d_ÎÏÿ/òÈ^4ÚöIêÖÂÚ}ðo‰ŽÜºØa
üOŠÊxÉ+Ôq+2æE¯S¡œ�•m£'+ËRíøIŽ«Í³é'Â>Z
8[’ü'J˜>PÚh%À©åD嘔ü]º\¦˜V<ñ
-`Ûs+ë:a¨L§\‚I¸€Þº™h—˜÷èµá‹RWwf•ÔƒúqÍ;+´æŠs+3\kl%%ñ7|S…Q¥.…¿äNQ3e°av!‡ëöVÀ^i,)
-•E—çCۻĸ‚ø/Û¯ñ•´AIkU	ªé›¶+NP_äQR¦bQ}5áŽ,„d1¦#ß¾‘•ä.Äi°.këÆœ‘†ÖQ01<qYèxþùs#¬Xõ󺧇<ëžÏÀó£7F¶a˜è³¿Ê¹5†.ºg÷PºôÛJv‘;9ˆ{tΰg]©iW쪎Dc„™µ6^È£PT·y•á(CüÁ“úE¦ÿG$êÛϳ8ÈãX4mÅ+¿»è�l9y¡á‚íC£/„ı~Éf'“MA´LVLGÝRV=nbÛ"‚*ïÀç$ë@§È4c#Ö,
-¬q"äQ–l–ùQ:’È¢㐏‰Ÿ ‰&žˆ©87ër¬æQ$7ÜJb¸íÎüû*#$á‹PU0-’»&ïDÝéœ7|…šO¥Ê’2Fq:‹Û”ú3)Må¡)¶NJ”Ã*™¡—Ù!_„"Ë5ï@¦DV]Êš\ҏø‰_Moú"jù…*Ï8T¶u»³;~¬Tt¥‘†þì8Ü-4¤[.…$ÍŠaX5ôŸ¯�Ú)ãs"6>­Æ²¨HCeVmd)Ù0¸hýlž¾kP——Êž„ó$àê™"~ê´¹*v>b—²
WC6°›:RJAìf7U‡zôBlF{Èîf�úù*É‘#9‚÷~E} ˆØ—/H'A= ¡Á�S`tÑ÷e‹Wwf@:k@€dXezFx¸››q2فfn‹­œÜ ÝRò@,‰s´[‚ŽÍ8·5R‘¬î+hÀ­r /
-õ2fèÀAT—7ÅÛ#>˜‹-HË„—@ž¤&;´¡´)÷¶ørÔ0%WÀžfØ0`¥²Ã¢ì°LšyÙ®ò¾ÆÛœþøcóm6 ÷clª{ª’6í¨®À‹­‰&1ì(rÓYZ¤fÊ×xÑ$ÕùE!u»æ7.
-¹,}ƒtûÉ+ð"•G«†«X©˜°+ÈŽ¹z¨ZÌðþÑŒî†J1ƒkïÅô’»*ªøñ黿®_òG+œGe31mÅTÌÙÎ’
!ÉQë¾�lðÚôŽ7ª"¿õ…v«-–|J‘
-dˆ;âV*Ág{µß†Ú+T]UÝ)Â@º£¯ˆYôEI±	;”1êùÄ$݁i¦&ŠßÊû@ÌNE<‘UôC–¼`v4ÝÏÖò‹Þ¾×|¥©ìfS}eI
K¾&…,g’sx¡+bŠÝÕ'KÕ^ˆ2±H2˜êêWëL8,²üŠ�Œî^ɏë]¥®¢8­1ãB”æcñvú––TZ’ÜNÎnÇéœmiÅæ¢éÙͳh˜^ä¥iܱ]n{•­ñ=¨´Ù!’˜EK?¼;@..ù
-‘dA€>xÐáÌÖ‡'b1³£«Äv“íµ2w±8«Ý½(BQ…ôúj:šœ4º[ZÀŽ7à%¶¤ìh>°	PVZÛÌûíñû´¹#/YšÔb~ñ l­´5&–ßm¬²dÿ TÆõíÜ©ÎÎ"ÎÂÄ“2”¤hå·Ü¾ ŒÖd¥fz[’ùjüœ$¹hpÖˆ7fUŒ;bë 1»åé-öò¶äè ¸o©o»;†ÉŸíhx®'Ó%?¥e•¹C$‡qÖg–œØ ±?¬vU-~ö&nÀKžh€†ÆE[ạiˆv|`e9ÊyEn¦>ÊYÂlÎTcr”…ÐKÊà됥Šç1ÆålÈÜô`w§óùñÇïéá?¿}üñÈúÞ,r@8
õÇîçO=È¿ŸtNûñ¬ Ulû‰yAÙô[Dý^~<³ªa~?Bmøò;Ä{ôt,ð[{|½«WÛWôXâñø|�ɯ%…úåãoøóöÚA�*s âŸïÅ¿þy=8òñ׏þø7Îý—Ç%	RwšÍ\î¾$—!Ïáºnÿçíou¬—n­ôýŸÒ$'>ƒ¹Ý+^¼/ 79ðï<Ç÷Ž0ºhàO³#’c¦Zøÿî¨`²'˜LΫ'ÞšMæl ôqå¿|]ø¸Õ:ôceqtÃtîï<ñ…Äšzæ¬y
-`‚Ÿ[Â詆ïªÅ9xâz'7;{N¶]Cí¡Iç×Rr›³ø
ÐïÀÌ}½NÕÒG»Ä§n¡ÞˆïS
-%pv_ð(B±èUٿϸþ{?çŠ9’)üîýëtígxŽ[?s}ô³¹ö3Cü¯~æñ/
S¾64—·†&â½{GÃD…3E!G~!™ÙªRPýSÓà eq,ò¾™ÀÔ<H¯kŽbnƒR2íÁeJ[K>Àѝ¤üh±b–_��ɶ!€â7¯*Oèš:¤ÓM""KŠ+ÂY>‹È¢¢˜žÀ¬t;uý—š@UÂ]Æ0¥ÓÞÞT¡>›¨ˆQ-¢{Qˆ;B}†áRÎ…F	ïb¨»9l±Â<¤¸¡,÷&„ ˆ¢ ¡¤äōw2xœ¥/`|*ƱÎ,}»ÆqÁT¢]…‹¦—VÌ;–F¼.)sÑîç\Ïj©zgø^ÈpL6Ô›6p Ôë;B Â˜ü¶ð/7Ôi됨ÖæåЄ!Ðd´nzeJòe֍Ÿ$Át^ºuêØ6d:·^m=mO¦|°šO^TÙòmŒ^\šÉÕ±‹³“–ñžª³ßwX¨+BÆRÜÞYŽêX¾cß-È«FXªc`F;DcƒÃë•ö}é$±’|‰¥(ÂìtíY†R·‚#É
B
Ú[:¾Þ”^šÒ
-5定<>X}wo–’UYÙ«Eî�€ÁT×4š<;ä×d±Ë8A ·fuëO±anb*háÆ!º÷ð6q_Z§QÄPÅŒs Œ‘eëDæH,
•®™Št=0^vörË”À‹@ZÜnrœÊø;ªNc,B¥oÅëwàE@.�Ê’/lRg0.¢Ñßr™
-‹ê�ðþ Âèâó¨pfQ¥oÚ�'}óîkž>¹3¨Ø3ÌÆpg´äŽéJí»F¯ˆo¡ðÎY‚¼âĽ¹ÛRÎZ/â(Ù•ÔÂçvÏ&F‡xß.ûÅt ºzv•Ó±žî+—_‚„yÈÐÉ\âòÅ}0jTõaŒebDÔÍ­c½¦ÆÍNqÓO=Çw$º‹LÂRô"·ÉÆíÚÊ8k™{VƒÞ�FÀW»{›¹À݈éðÀ*¾[é?¼7ºr f«ºÌ’M#*pE~“˳•ÓåÍxW„1ŠÅìDÿGÖ¬ªáÛèMæÙÝu fÞU¶ÇÎ{71^Qý›ï§×fÞñ™škDpþšk$lk._mÊǁx–­áÓ%ήæ#ñhdOL¾É:ãáû{^†À­d“ô¦âÀ0]É)®M¶iûÞGaÈK#š*˜[ŸÑ1äköE³‰H½<LñJÆxIite§ýhœ\Ô&ËEµ8z)ƒ³ïh/ÝɁ0Fsƒ¼ûkOÐ
-i×jf…Dº"Œ±|@z²ÈÚÛëTð$DXŽÙ¬Nä%éæA6I¸Õݲ÷ÉŠ6\Q±CÔy"/éO=‹˜´”¯yyŸ›²qön='9Æ@n«»J2kv#H¡è/ô®Èíz A*ìn2¶Ð¦`òAW–Dõ±µì"ñy)È}-Íwh¹ªvÕ@ü¸ŠCöäw„1V(û¶’v¨ë†áÍË"£Fzí�¡&ÎS~£j8Y••4$츮º“a|­8èÀ/Ó¡IŽS¿­Oš’ßh©+ÆaÜëòe‡q&ó:1b‹ù¶@÷úóãDx'Ô —WBWrlsyw>Ÿz¾Æ	K÷S…ѲG#'½JgYLWò;‹}ÏÙP]w„»È’_´‹‚íÙ¬’ùï"Å3„uҁ°M–œÊ¾è?ÊŒ‚Ìæˆ[¹¸î³ò¦2º€•4ýÕGT>“·ìNÄÖÕïwÄœQc:ʾ‰ÞMæÂ䀇¦ø i1Æ1w

5Î>¦G’)Âþ¸cÝL–°á/„§ÆùÊ'= q“ThUð‰¬V;›¢)"Bw²]ÌP6Éš×I@Ëí£HŒ“æ™>øÎû+RåpB;yˆµÚÃ]‘kÒåP2<¼ÑÔð„™ÔxeÉæXϯÑø„9Ò5$Ó#¡DL¦V¨ÛÖz˜£+òÒÐÞËùh$SŽùé|Œhíú„„c©pE,7²õ‡è#‡Ø@†wÐqñÅcIòÜkž¾Wä'Ì[‹îåúEJ̲éŠ0…hTC÷/-ÇÝwg¥ÖSÙ8Æ€ ®n¯ÊÒƒaÑ&Ï–ÉÖ{¥Z‰Þ+Ñž|†Éwá}ú›Ç5hvGÌÚt–± VawkðlÕG°-:G°l	Å·rHêð’N׌aÈdeßB¨©r*þ³ÓªüŽ¼äŠïM’ÍâTL/ì‰NGNÍ9mM.k9›Ò=XI ÏÊÖÀÛZK‰JÄ<�Þ/á0AW¨ñíR‘3iôI©‡"™ÃÆê
-È—ý‡ëêH’]ǁû:ÌzsžÚj4¨~WÌjQ"¤É²ÛK£°‡§J¤‡ç§½ýñÖóo�Ïã¹°ñ¼<ÖbÛȶåræé&©}?7âh¹²Ù“T<•$@¦U*£B˜Îáù٣ɇZggnòZK®[2F²ßÈ£¨4«é+Ã[°=IpZ¥Ýý{1I\÷€€iA|Ì$X{•˜0$J­äiÓî…Ä`©AAUú>|Us¤jÃ:!‰5 ‡ó˜$ŠN°¬hÌiÈ4\î­¾üã
<JJñòvk÷¬uØÉM–;7Ó€3Qž~@Z²Ìõ$_.­=hŠ‡êB‰äºx,ñ<£ZUIC–'i]~¼ ÖŽµ~HU$êËÅLÍz$Ì·Ö‘èD¨aÍÅ㧓;È;j1h8:Ä¿mÞús!ÜcûBÈÒÔThi™fmʤv¸ø¥F ú·~$ÎiT}ö`ù“ˆ9wàŠÍÓðT±Áyd3jlQÙ^0&2Îl3ÒÍl§Únîá=*‘§±Þ4JŒede„”b€ÌùB“…º†j6êØ"xȈI•ü¨²º‘á-ü#˜ÂøåiÙÚr~8b±DŽ¥¹G´éµÕl¿«ƒ&•™¼maHseè3.„{@s²©²É~} tA&µN­×þÙﱃ§½[oE Q
Ù9BAŽà6‹2ÀpŒ˜šTŒ<´œAC„Gþž[áfÔœÚá`á
-õÂUAóþ‹ÿM¿vS]×÷s#Þ¡ÑU’ErÓ;•¯¬`ŠO3~Þå¨äQ>Ú›CMJê–üŠ¢BìmM¹E%NÄÙp;™løÖr’ÓX+¦¶¿õ÷s#¼R\Cÿ÷Œ.Œ­…uæ”\éç«'ìá › ¼ÿ)÷:0È)BYp›MÖŽï–Ùr¤z#T=h‰í€n-º3éñˆ0».Æ<ŠG)›C2­ðŠL#‚_JGu™±³®õF$y*Òµu1KXc;Gx®È)Ô®ã~"¦Œž½G㍓Tš­y⼑†Š…±‹Ã߀‰KSF%åeM¶ëÐ:‹;—ÓYæô ¿!Ò¬P
-A8ªÛJR’é4Õ¯pz#܇f!)©ì~0ø RR§U ñº±îÖı’T2¥œ¡5á
-2{âTÆŠÏRs]È£x”x„Ì&ÃÚŽ5òå¸È0ZçÅq䜿g`ÄXYía(D3¾ãB"íøöÈB¹Æɦ³†Ï>Â!œˆ-ÆZaJ¦g*u«šÜ5þ±ù’¶Sî…ØçDkùÇé¦â=ó@Ì]¾öµZ8¥à¸ÝÑTÓÿŒ^a32â“öT5/„ŽGöœ%o´VK­Qëd»ß7`×Ù¶gfP=Hž)Íβs`Lù~.ÀÞ·†c”ýw–°0YüÇ&lÙþùDeš³^ØšXÛÇ’ø&]½“ãà]ÀÃ\ ñE‰8iU8 3‰h”ÔœaŽµ"L·fUôÈÎSQêæ²Æ2)Ã]ÀC ém8øê|àp‘‡ ô‘\•!ßků>}¸°umöãA.oA_r# sgwJcZ[:¯]ÖbÙ
º¥+¹\€ßM+œDC8£…Jr‹O_Ýà`Øê¦ÞÌháQå¡›.±¿?׏RÐŒ`B—ó1’M„Ù"·ð¶g´ï‰p‡á/§Ý~qÎægLžŒ'áÐÕ™çD<C]e#Åôd2ÞVº¹éóê/^Gï“å­áì¶U{ôäÌS¨oxG-3Bω˜’F7»&ù“J—%>áß
-EO&ÊnJºŸ´¼…Ì`AÉ4‹9’‰a¥ÉçâäcÉ«‘tКŠ£}eS<]?×L0žl¶wÜ¥â~ã#.ÄbÕ÷ø÷áˆ=lY¬Hð¦$ò¯âسÓQ@ˆ¦¼§ê‹#CT«z·Ë2}?7âì³z‰{¬ï¹ú¿{°Ê$u‚õÿ<2òÝì§a'E¿±GáR\®¡˜øýÜ÷Àä‡%àë'Ú|õÈ`´%Û‚ÌÁ¨ÞâÐP4zŒ=º’‡ŸZŠX“bbjwôy#\ڐî¢Ö´užrξì)‰P?Å…x”b
-«Æùo2§£öH»KFCŒd„ù~n„[`3åB•'çÙ£…f–Ïnü6¬÷já³OÄV½w³ðW¯Ö|~Ý•{­jlnñF¸ÅÒGä¬ÐQ’C
?`§ÎwîªÜòF˜[ê½Ð½p­v Žà¬\W^L¹”çFíºëÑ2>íjiÛ´NN±Ã¹~ÇØÔ2ªO@·Í¥8Wde†LÒ÷s#j“9©RS†FtM±ª°„ÂyýýÜ÷€æÆgûÈÒ²$VùŠ9_=ñËÿù?¥ÛŸïX,ë¦Íò�”åf›ËížÌ:âþôt¥1MóÁ&?íOtª¸;ü�8!4˜æ‹MEª"qtU‡IhØï,ιONL†g‘„2]æ¨Ò1c´5o™—žcØOÄ|1‚/åÂÀ(Y¹¥ÙbN+YŠnœ{¼óÖ̦þÁeRèÈbi2]oSëÞ~Üw"äÏ¡#œ²Ï’]aDQHÑ…;û€ØÕ¨tºƒDPuŽF#ÖßÛç*ù|NÄZ"]§{`ý|¶*ŽYÕùï«W)‘|N$$MY(yÀ|
-©ëBno#öLšËâ‰DòÙ;áä#÷•œ-™szÔ7ÿ%Ÿ‰ä“ãÓ³ô=KÒp´<åVµbÌÂ#œˆmFÏnÑÊBÕdËVc¢vx,Ni‰äs"v;ä2~V3]ôâK-<2‰Ô?÷òK>À
ÀSÑJ3â„"Aþiœª|K•ÿ~näùØÅúZç´ðÇÔ„{cŸCr!¶ŸµÛîJ\ÓŠ‰ó°ìiXŸ8šE
~!6Àøz8k-ÙÑ ›¾ŠÔÖýM-÷x#myótIà±.e!WAïz	’êlŠx
-t I¨*8lOgÂ]”_fr¶\;òË	ày˜ðÈZ˜HØJA¬¸[òYrVۍ¯¿€‡@a;1ïÁc9I»l.ï%‹¯ò”¾dúQ{wlûwÔ„|¬9¤êðá×ÏÂ.—²à,¨DWW!]-Å¡ºÌhòDïµê.ˆuG1-»VÑCiuÛ7iøðöiÜùcwuLÊlÄÑQiÛ.f5áx‰†®_&‡•<ѹùcSwßOÌa÷ ٝ€òdO­°ŠI߀¯lÛAêxš¦z3ÑìÉT,|°úYÖ§iݶ&òBL•‚$˧lÙhž‘[ƒh¤ÈXnä
˜šÊ6gŠ)‘€ªRˆe;îuv»îþϦ–D–E$ÚŒB<U¬û⥭D:� R=ÏU–ó&žŠq>‡®–Ëe–~#V¥=bÅ)QL%äIåá+k °fYÅðÕhV柕Hœ€·cY…pk‡@ÝÄ7,k­3•³/ï8)ƒ]ïWnyªy$Ɲ)–È*C½û4Qf„qϾðîT{!|Eë~f“àD’ Ù)Ù,‹Cöo„{Ì8š®aÒUEÃsdý¢Ig—7BW…±ÞÂL¸èí<ý]¸®¶GL¦üB¸Ç÷‚ñf-AvÕ"Æv“™ƒä_À£8c™ƒõçׁË[±`‘û{
Ó9.„{l‡ŠV/òÊêkpöÛ¢lêá·O„~N¤Z2z[J<k.“vYÊMëÂ+Úã8:”fj
-ML<åÐE¹kÃ$Ù¸�F—rŒNÆœsâ)‹;ÀWëéîû¹ïQ9ªÔ²2ôÖ*CRT-¦Fäï}E„:‘G‘¨ê½Øu32ýŸù*Éq%7¢{¢. ‡àt{exáºaÀÙÚ_ßo TJ^ |CÊH2ñ†mFi9Ñs…3ÛüÄèCµ¸Gì#û½ò“Ý¢K9;”[Ây¯¿g„)Ш”/ïgØ;ΑÑê§áùÖ}kþN¤NFEV¨›–î„Ò¯«Û¦Ùk[{Àý)ògGS_WߤDÙ#vÞšÖ”xD.Y¢(Æç€.Æ98¢¾ñxX)‘KžHóÀ»!ÚÍ°RÇNÕ#B ~Dˆ`ÚaB[Å8£M0ÝŽh˜¾ªz㌻$SÓ0‘aªi¾q?ƒXÚµ.š“3B–Ù‰µü¢!*<,S]:.Kºq£Æ1ç
¡I0\\ÊÄaZ"6"¿Ÿ‘7|FH(ͼŽHg¡À8W«Ö¢(q6LÑ>Žˆim¨„]ÌDG3Oy¢¡IÖÚ¢ýˆ[þu?CR¹®Ø)ÅÎ@xö_šb{ Ïˆù9o¾å„Ò	My4™" YxÍínô±Ò$+!EÂ5ç»Ê:ˆ¿­3ŽˆÅNd_äö@…wC(8ÐL}=mGÄ.¨Ñz!R©ƒ�}mø`eëyߘÄ︤␡¶>Ò_¤Uö`o	0¬ûîëÏØNlY±ÔeNË»kûF€6l_î‹`ˆ‘T(ç è»U“êÁ/Ó˜·ºG.JóR¼ó—·Æ�’–
-o‡Ê¼ËÃÜ2‰ˆ¨K�•š0‡êpÑ„”d_×£Ù„|lb$#»Ä⤘2¶bîÀúK_b0¥âÀÅ�ß#xóñäeÂñ|;RÒ—,ÔÇú¢#‹að¹È�ì�68Kìêځ‹®¨ï©Ûè›| fâµ,ÉPò6Ÿ‹UŒr}Ê€
-ŒÝ
-‹†nkÙ®âÝl�È™í~ªÆ¬Y®ñ¢‚a‹ˆÏÑlƒî‘KÆh殺×aÊY£æýõ˜»•?#¨špÒ5}=mµ=³¾ÍY=nزrÜ#¶A™ýž^ršØ†‹¢S=–jØÆ:Í—
úŒ2)|Éåæ †½‰74ÙÒ#°m ¶–¡
"ÞJ¦…mj…þ³‡9"ÌÁÛ­à"ŒLT<Ù¦Ç,•J<#ÆY9'žŒ
¬ž2JPÃN(dŒ(IòÆûÏ)ª*ïÈ2Í̹sr‚[˜áùV刘ºú.Ð"
6(ž´F’k8[1VMßë!…ðL3œ2hš( å…–®T^^è3r‰–Ûð5Nj¹»­èy¼ÐUÑ#B=ÙÎÑÃ’¤ø ‰½›C$ñ¶B÷ˆeÍ*{:ñĿː±	arô)ûesP\ð£mC6d|zµ7åÍÐã,3Ýr-ŽÈ%ÅæÎÀ&ä[òîxà%qˆÔ_Ýt#rÉÙ¤¹·N° ¯	“ÙÄ[¨fûv¼öcg„¢]UeMif"íí�Uv³Ýš[3ß#Lħ®x´f¹_ú͍:�m59{ߏ3b1ö{£WِT½¯…·ð´Ä­ç°
¹G˜Ã¢Sû(Ì1U‚XÔ¡uˆòÐ	É9îç °“Ć_›D$T¯U‹¥ï§MÙ=rÉÍ9¶ßdŽ²™­Jw)Ò‰¥Y9î;ÕìP‰9,é¨Û±Ö&wYÓÏÚîò3âk1¿žÁˆìu–+»™ŸïÇ?¾þýH_þ÷¯Ç_Y¡ ©€ ‰Âfûwýÿ?1]8þ³f
è“·&}vêÚü^?žÒ\@¶÷O¨ñ¥x­“~½üŽÏì‡õl~§ßKü~¿Ò~.)Ùo¿áßØmˆ›â|¾ÿùõóè°_}´¯ÿâäùú(ƒZQÚ½Q›„Ê€«¬£ns¬†éZKôó½>
-*Ç’¾À`]
-œ¿»/úöç)~ö¦h"ñÿd?„ÉLíýgNÜx¢)À-ù-qÙ¿½¯ºßúØA6‰ÌñÑæO�?„@R§Ô&;—LM¢Ù'¨2öÑ1¡xž‹|MÉ"-)|öñŽ Þïçó€0ÊùãyPÏÔ×rŸ"cl¿C{Ôª~ÿ§:þuÈy;dƒ”êƒD3pþB?ò1Ì(3§Žü‚(fëgÉᄬ魿À«o,È~þµö$ïÅë»ýì=÷;õ~µ×i?tã ú¦×CuÈ/¿#‚:ÑM\2¤Z@ÿKnáŒr>`VIµÛÞ~?ÎÈõ€–Õ
-‰’Œ©
-t§Ðè]$&>¹oÜQdöäa²öÑCÌ8z¢'Ó/°DH+azUŠ{) N
-•6¶‘€çŸTlØhÂc0¥µSäèl䬬dÀg¥ŠÇ¶ ¦‚ôV²›||F˜õ)•W ïCjÆ' 'EºnI/ž¤hæF:ôr@ƒN	GêH®c’†rÜ#ÌQlÄ°
-²Š†UßcÐÐ oÐBÕZÆî C CY
-@I Á
-ÝI§³À.*'©jW¡ZÜÈPqËç¨à¨´Eš9¸¬–¨Zª·ŽS¤_Ú~›ÆjGȉµ/Pü¦Æ:"HP¨2,º*
-•ý>ë�ŠÎÕuiÉ9îä ÈÉ~f@%Ðku×
dj.¾”Þa
-‚Ì.
v•BüãI= 8BߦL°º¯ñ8í[ñ󼓠»ÓŽ
--D$b­Dïªä¹w¨!Œ”u
Ëh´ø\5
-S<ÅmPæ@iŠÁ³ÀüTˆs@¢~Q@•j¾9gpG�&m\Ó.”�û󄹫 ŸAÕˆõ9#H1¨ì/ìð
-#“Ø4ØD€3êàHn„ôŸæÀ
-Ñ^€¬
-·´Ö+q@°ˆò-í㈠q¦ó”	w)Cw›z(Ĺ½� 9#—"D¼©Gd*K J,Jpðù|
-E
-ËÇA›ò²ŽÕÔ&`K‰…3ÂR`3c©ÀLÅÒôjH‰¥Aái5;ýDUŽ{„9ÍíÞôZބшޭ™ûîÞU}#÷è"C­ÄcŽ"g«•p3”ãˆ0ÇB{ºç;—ë9fm±¥é[òûûahæe0¬Iêo,¯°…¶QP­9"{Î^FÚ¡MäèÔ;Ù0‘–¼Î2 g„ã¾0­ÿBBœTR.~°ð² V߯Hš³3BÀARJnl,‘wè]c0H§µM1Ƭ{„ÐIG[,PÈ(¨Ç/iBc\‘¶5_„zD¿«x됸BðĆ¥5¸"~IÅë›>#¦‘ŠxE‚§gåL¸¿€.Êaõ\MGÄdÖ9¬Ü{"™‡Â�ÜØ/–×ÍzD˜í»†Ø)5t³¸-ò(7û¥Ë¤ü¹&%“6†¯‘·[UÎ"Ŧw¹’dù¹¤7¢9GH‘ G÷ųFPšÍw6šºëˆ0Çr…9Zì…A)å®Ï”ƒ5¬iZÞBé3B±(¿%p'@�¿¥Šñ(Æz³
-êYÕ8"—$\ß²O	˜Ç./°!搲ã×]q ÁÚ×LܯczS¸õ é÷ˆKŽS c·ì¨jŠ>-BЉ÷\¯Íçˆ\†ùŠ°Šøl¤æ1ôÖ¬%mF-qp˜S.¸DnŒ7ú5¬ÚÓ‚Ú÷ã;FŠ#‚�€Zš"DÆõ,&¸Y¼®œnàÿ”r=#—²N–·
i€ÞLh51¸cùûU•âàI0ÝÓn"CZ‚rh¦Õh<ùm?àZÜ—ŠSÃ4[‡Š9	(Ã6¯%²C¼×ÌpðJQxBòŽèÊúfnt÷ၾõ@“á”u¹"0\²?™ÿãºL²åÖq :÷*j	lÀn=žjÿãŠé/qä#<'ER@D\*ú¦–ªî>5-3~O*úVÜœcZO©îä¦A»Â¤*òíåPBÉVÞº+œìNH§#²º×(d…ow×’_Nêù§t“ï…9K18EX+xÓÇcwBªsU¬J¯hñ%Ñɸ«½¥A¥¥J…nôªX·&£ûJ¡¢¤ÂÿHMMçÐËñBï¶ö½+ÔÏ­ïÃJ9ÖÏ)·A¯ó$ø÷4;ÇÚ-±è]±—º¤¹›Éy0€Û±*ƒ9T²¨Ñ
- w%½Dî²B�£Ñ½f×l$€ã}í‘dô®ØÓ˜(*ö³øeFGwŠ†‡B™„V>ÿ|ñ]1…ü•ò֪ѥ§±}é¥l+ÓÑ»òÈ°wZäÇ_}ØExE(hóðsfLxWœ4¦>%¢‡ƒâ´¦ÖÔ°@%ú´}ï\ã[qà™Ä}0ì½`­ðǯ{*4¡-õ<L¼W…k`³¥Ôæ¡ë`.Ç•–ä:F‘mHúVÅ9	ÎÂÖb�œÃ£h—Ž1ŸÍ|YûQ�üV˜B±Æ6½m|Z!˜Ž#âÆÿ åt•&´øœ…kuXi‡+`t«nµ©|½‰]4ý©]\•G!½¶ßªMTT«wU!CŒý{:Ú’Ðþþ¹+`!(çLÐø
-¤]§ì³fâ1†‰ñ[ ŸDÒöGèÄ؇"7Ú6=×’+š¯
-×Àw­cŠ!ÿG×É(ÊøFŒDËádMÊU1«UíŒÈr’ïœ<xÔ·²,pÇK|+¼&E+kE›ñrfõ PÏÉM»¸í©tÿÜ•G :•q8"#>Òl‘ƒ ’]²]	Ç]ao@”gx­vOŠUä¦Uý
-Cç·ðˆ›Æq„ä�M%åBéð­]¬nö¶»Â1	ñETh5Š(³˜´‹-ÛÓ‰Zߊ'M®ñ¢s'yepŽ8ñP‚ÎËC]žò-X3ªî¦hò¨*ÌvX ˜ä Cƒé/I8ߊ¥«é¥hKÈJGiÚfC~¡Ø1ÍÊqþÉß»bJ0Ý´“‹ßr0$Ñ"S?n±[†¿SÒ’Ï“5HVÛÿ#ˆÕ”ÄáåóX?JzUì(ÁUeŠ’&s×Ä ‘‰B^XÕ•¦¤wÅÎväSØAàä–èdÚ¼ðLßOqª¿*¦$S"Æ“²‹Õ‹¤¼k¢HEkù!	½+|{žªõ…÷²U}”BÅØv¹ŽÖ9ß
-ÇHSÆëÍE£¦¿29Í_×SÚÌZß
-“SIÖâh‘“`(=çy0I±K¦ÉìzU¸îGÃûñ5HA<‘Ìq1ÁA_"Á!ðS`lâî¢Ã¤bÓ¼}㊀GúÎ?7§«Â(
-Mí~)U—qV°?éFžíØyªV¸*\£ìrRfê.lj…pZ-¥¹ž_,U˜ì1}ÛÀOcò¯NÔ”’cÕ¿9×
-f‹&Å+qpÒI)αBY¹h	Mþ{"Ù,­¢·u’
’[x3ì<ý]èiûûç®p
̨ÿbòÑMÐS›÷%žŠ¡¿ór“°^•GÀ´ô¤½F²ƒt-›]oÄÄžæwy
ߊiqŸ|oYºÈž¦;¿Ew§çóß?w…k€RÆû7Uƒ%ã¦þ\DôW¿°E2Òö
¡I(·è™QÜúWK„ªÕ¾t”Å¿wåžÎ|3"ÔN!m8 ©(á9ns‰oå2µã)§p˜ÖtHÓÀ´gäš²‘«ò™Öð>*„‹ÀTç‡)Iæ?ïҐ¿Ÿ-g9vOî›Bҏe•{⥆¤)äÈWÁZuàå°{ßd‚•’W‰?S½µîU Zâg<Rp]«åÊŸC8‚ÎQäêú˜wÅXt˜ôè¥4Bì}¤�˹4G
-ÏMáæ®Pø»×àih/´H¾…²NCj̨Ü×’ä^›˜’Dib=lL×S åcü|ð]1M†gýdˆŠZ^W¢"mŠ—3Š^…d"Ž-÷f¢#¤*°®“ÇÎPð®d°÷@° V{ØÁZaÐ�hÛD6‡“o%óMñwlü‚.ß
ú\	il×–é]áè•È^àY Ë+ÏV“.g¦o*Ü•Gٍ"¡›Çi/
Ýigœ9çd`|Wœ9ÛvÐ¥AB°0+¿ …}lÎk†„¶[¿'_‡ç&!îœS=ÕhÊÎÍ©Ëéæ*<ŠãÑz†½.ê¹Kö}¶÷Ú›–øVaÁ,–Ù7=Í]ÚA6±ÀWy°yæ]1Ï0
-ÈK'©ŠÙ¥™aó£˜Ê5Ußʣʘvð…µ¸†òã®ò=#~Ï%¾•G¬VUè(¸¯r26„Ž6t8À֍^®ÔUšiÂbJ_Å`óŠkqD/»'d¾+*�¶äœKu(=q_²ÇƒQª`âªp
xP¶y!›13‘ÿ£©Ýúöó–'Þ¶=8#8¹
-_ÖÙ*×á<3Ùch>N	L¶Xý*ØU4J;L¿
-3¡t«ì0ˆûP˜hšö¦?ãzúoÚßN;˜j«½
-ˆêZCOþ©’:˜äYIDï
-…+DÜÅ¢)W
-°·ÉLE©«©¦Ý
-|ULDe¨P·õ³S?x°•@´–^Z­[W%èø(;šDœN…ILJ5
‚	Ÿ#}àU°“œ’¿ “¾ËoEææ ‹†ßY"qè]±£MŽw>«phïê“møíd58zOS|è«è¦á»@B’¯Zq>&G‰¿àyW¹õªùiÍÛŒÁ¯\8{დ̷€ÚhÛ½Dœ[ô¡ƒñzaÆÊf4^Æ|Õ–3E;Çœª5É[1éôõo€”Þ®±•Lè¤ã~	‹Ð•¨S­Ë<õ-0«¡ç‡±—!80´'|átÏ€ó4bÿ>Í2ßÊ£ ʐ«Ñgìd~Û›Éfö*‘Sáªpü2‘Œþ@ØÙéíÁ·´¶$Ì|
-ñ7V6Ö&ílŠà`ªÌÀûÔÄaÿB˜Àåt£boG�"!%®v>T¾£VCÍ·‚5Z±Ibº¹
<n^ø t=÷îŒ?—¶qU-ª@=‹ô{Ô­èM{£i’¤Ø&‡H´zqÒ궷E°"òyALÁÿMÌázAh®Šápq2é”»¤–-vñ:áq¢I?ÿýsW¸ÄPôýï7=—Dýïæ®Ü­L±	¦î~vÔGì7¥á¹Õf‘ãÓ-YW…}5}.vs,1T™·L~$¤ji8Ç­ù)p>°'
-%ùh1“ãyï0-‡ãq4èWå!ÍâœÙ5c%-aÃ29øЮbiH.»*%b¬zÊ‘ÀD´ÔÖ&ZB¼«›j¾•G˜Ôö–‚÷ÆßLÐwŠ·À+ÓV(ûé:ËUá©0¨LLÅsQ’‚™gÓ4ùmš¾ê/Tí¬jvË躱`萞 Rà®iߊÄß!4ôšP„T“ø@B³ï<[K6zWÒÑȶt2ñº‚g#E…=q²õÜpô®$1è7]¾joæšÛt$Ÿý·«b>Zò°Ü;ü=¦Ïf:ªuæÙÛ/ ¼*²{^àuJ›.xŽZZ¹ä[pЉ~ò32¡Íæøï3c6‹²È–Þ£Q	Ÿ‹	š¾ŽOÕI$˜_;
ï0”ؾ•GnDæÜ"3ßFOßJ5Ýñ]aìÄd:¹"= vþÄa”(hV€)žøœ}Kq†;ÂÊŠGÄ37åDÇña~þVÎÞøbxÕ¸†vÁÑg®/Ìù*D±À·ò˜¦ÍæB¾Ð¨Á6á'B”XF>¤J­ñ­kšã* È†§¥cªuŸWåQ¥µÿ“^-;rGð>_±GíaVõ~\Eûbƒ0/àƒmÆÚôkH@„aÿ¾#"³{º‹K‰!@œÊíʪÌÊŒŒ0I§í™Ñ9G“¸ŠÙ`¹i°®–›$[Ú"Ÿ‰hZ#­4EVºÓ@Í÷ÕB(
«Œ£éÄál$%8eãîªz”³Å%f+ûYM¯FÇCŠ.éYò¶…U×b¡<`2¼#Ñcõô7šLdÀ\çõM*i¸Äèà‹ÔHÅydfqN)XcéJÄba$	NÅÅ=ÒI†|©sMe­;5XW‹õY§W V)U½9ɧ€ˆ•£šìškò1¶ûÙb¡GÍìÙ$ix*~1ª0ˆM
|m<­
²Ê4°%Õ+±zb9õ¤`=£Û )šîga3BPNR7YÙs™)“*Dw¸i¢ûÚ³’ÊKéïUy%Öwâ×i:ú-Dÿ¡Ia{¦4Q#	¢O
-F¼‰œß¹&:[8É€òe»65Pu¨`XSÓ0oag†ç)@;O]Ó<í5zjáÍÞhL}ÍY,7Miâ½�昪?.Z…D SðùÄ/–›GÊf©Ó4P®Ã‹Œkè-”a4Mt¶æPuN+æJ
„‹v§
-± ýj·É6LÑ,Ò-Šk)ÀvT¡ÖA£
aªŽ”ÌÊ[Á«ÉDÆ0ÁÅn'ËšÙÈ:¯—Œ0ž-7±Ð@ã©mªQÊLòÍ)I‘Á‘6÷ž-dÎhñbøÈÖ&sÎÕ–T¦st““pq	*”?ë²w.”hFÖД8[LDLAÕTPeðƒ2õÊ5!EÝ\r²PÉœ-C„Þª[°Ø¹žq>*nÆ•òrY-ò¡i•AC+:¾5“#˜ºéãßú«å&q¤¦¥ÇÎÐ1£‹MÑ®TàNÃÎH©+g‹	CÒpZ�aRKö÷LZ&Eik“–G߃T3ö�÷ÉØ8—åêQû¼èû6ŒÖpN¼—âÍÓeE°:ªNšÑ­TKAk4ÿT‹…¥I²n$/)(êZqUâØVkÞ°¢ÝgD$ÓЫGöŽ G²_¶+ú%ž¢x‹á&u4‚µ|‡˜eÿ…nl¸Ã^:(£ü´[,‰"À×½9:�#Éo%ä&Ù†ÂÃpæd0¨šä5ݐ—q‰ÒvÖ:ê9V= 3#Ca/uQT¤kUº(ù¬(bV«Å07Ì®k•BÜø� ú­4‘H]5ËM:ÍgÖÄQnpJC¶8‘²v !l’/›bp“óQ‰—g´i„F-“T7œ„g}°'6‹é -?÷£ê™ò‰S³Ë ƒAóØ„£#Q³&‹ª&Ó@>ZÀf6
t°¡ ™¤¥ÿ°i×èIˆ>ÞÅ1W‹Qš˜ýN¼F  œ
-¢±¼ÑƒU­8%ÚVܜϫ¦äO¢>âsÊNÅ©ût1»³á&š6RqjÐEì\†ÔÅ
ã´ªï397<ZŒ^v×–U™5û¢¾¨ƒw
-ôÄ‚êb1†Û“õt˜ÜÃ*5®P‹±äЊ+ލ%-7q¾'á'w³{aˆ½—bL¼UùX,7I€ÁžãGŠ)"f1¡†ÜA‡`®–Mù‰ç.Ó.9˜D- Ü‘Ž¬*ÒÄucS•ŽÅr“…DŸó›ˆ-Dr]+I¥lücÖéêh¹I—¥d2`PÈ¥§l0<0ë5")=ìb¡̍hH#÷àVÓ ¢É�9uçkC>Ζ›f«Vpô•Ô‹5K€r(O³b«Þõdà³";äZ¬q‰.$<Uë ®j딟<@$qµ°BIÓ‰)&1ò4Ñ@åš1/¤‡H í‹…}•+06íDAԝƒ£
-ó$ï3|ÁôÏÙbú'†.´byN2jž¤QØÙA×æ`ìÞëGûmÂîO¤wUøR¢ùà„'þT¬.€W@[Ј
T@Cg ïI!xfŠZ5üj1
$ô'l’cÒc¡†JUãŠG¦ªK,–›p8q!Ž9Š€»²UrB
-Œ¤%f[ëîà´Ø�!­¤¥H`Ae","#Ö¸ˆú—Cèlá «‚9ݽQ:5Ö”"…EhJÌ­>
-ŽSì” %³‹§“mÇüN®‘_›jÁåÙ@œIY·
-x*õÆ|j˜q]Ÿ’Ç•ªfÈb!1@­P]tŽ¡©CZ§Bý'gjÔÕB~SEU5
ùŒh»Ú½•;}â‰\¬…)eºXȳPmÒ€äxTAðžm:†JDÅ``³žu±ÜDÞŠ÷?}‘ý¥a<I÷àÀÊÖþÍ2ºXn"¡$âšr€\J›¤ŠÅDÈQÒ¦OãƒÕÉóÙBU<³!`@’<SIa%ñïMð^-Æ๕–Y«X?Ù^¥²õ¤Ù°a‰€³….@¦IÑÚMŒˆuâV³PÜ æ`;j®#gÅ`ϵé5¯‰<®iÜà¾üó$`>E“e‹Å\ˆË–!ÄCb´uÆ
-Åÿ^\S-ôAÅå5LfcŠq]ŠI=#èÍÅÕr³5sŠ[D#“ºEª˜U#ÏÖ&0z�àôØöàÕªRNÏÒ8k —Ëï>\ƒý÷¯ËQ¿¨'çÞ#­%ñË{}Èÿ_§R}E9
‹+ž`{e-ß—/—+ÇqCÛ‘˾[}ì‹ío¾÷ì{wíGÛ:ø¦ Oï.ß_~ùöÍÃåÛß¼yøöí›ôðÝ/°úþò®Ž&ÒƇ©uÝÿzÌÃSC&€Æ¨|פ©®	5€Fš×à=Ø’HWbvDT/e£ØDqÀçÜ
ðˆDÊæK
-Ö.’b`hš¢þH
^1Þý,_½ì·qÃí‚t=õýóDîÂ9b¾¶¥…íÛßý2·»Åoëþ¶XÖè™÷Œrcr"X4Ûú½˜ñ˜ðJ*Š¬m߈�u&m&c$‡uD¦çP_lÀ)Y`^`ólO`ûûiÑx„Ê$OØ
	ûˆûÛ×~"²á»Óm_“*b¿»ËQs`;ΗèK¿€_Ø
[<æí?Óx,Þ¼/ˆeemâ	‚cj{–XWä2…@µµìé‡s\»1¾¼në¿«gîŽ2»
-cüSGËƳ[sÜɯ/é`…hE%¯£ß½ö‰·ËoO÷P¯¾:¢HÍøy!ý�Î'å—„æ0C€2ëæà‹ÒSY’Ä××ÝðÉÃLH!Ê'¾Ö­‹kó4–Á‚–ë殧ƒ»¿ŒøJ8[‘‘õÒ¯¯-²O}Á‹|¦´ä‹ðÅ•õÕaì•õ³âx¥²¾8†X˜äÒÐDzSxwœój=ùî|bÆz8Yû¸(v=/_uC^Ǫ*¡Ž#c@dXŸ
!ŒRûjñÃgO—'Ötóµ(ÎAüX	<és1|÷L;U'TŠ¸Ó·ÏÏtñüî’ñOœ£ @Æ͸x~ùæ?oÿüñoÿøðøüÏ,¹=þÉ÷ÇdV ÚpP~f°ZˆÌÈý¿ÿæèÙÇ+4'µÇ+¦4UØìWÁ/¨ßùñ
-¸ã¯„_]¿â#FÏnú°§˜5õÍSj´êWݾLô¾û‘…gÄûyà¤ö×?>ÿê•4E“ýOÎöü—ŸN	#Hà
^ð=SöpRT¸ËÕ™˜ý"nBè×xx¿òv}IiËf;Ì_[ê^ÙÅÓA¸ì¬´ßd9ÿÓÓ³þ»¼Ï-&è»xÞÛýþ{¤Q�ÕwÑ=Cìþpø.åýæ}?GÆw×rz5è…SºcÞ¶ßÓqÿ¥Còáùtôù²ý|ÁCeUM/ãø÷ãµæc†ï.Uø÷Rú‡:”~[^8ݳýÿâIåŸ^­Šm�(Æy¯éŸìÜOZÇd?}éƒ{O;@¼VÝéþu«-·ÝkóP×öÕÿX¯¶Õ†aú+~ä!&¾Hµ?`o{¬?PÊú4ØØ:Jÿ~G²§cƒB$ùXŠtÎw\ãÎÕ$ÀÔ×£m†ÅK)ˆšea¡4´¤×{äÿª©ý<›§7}ñ|4§ÁÉ»wó8HRFš»ó"ܯï÷³†ËMÃ1&3:ZgÑpÈÊŠbäTû¸þÖ©a³?Jn°^Œ:ŸJ[¯Ï”mJÙ›]�ÑbÖÎî<êùëB Me1™0wÆYÉmÀÅö$Ajñu½@™�„VE}8H’‘1³€²ÿ³^�±÷
-—)/i)l³ŸTuÛ~h67Ý’’ª]3×ÛâÅu<N]!WŒÏ	Jq9~„)æ{O!ú-¹ª‹<9^j„«Ä}iÛ±í7„´(Sºá©³\ûÝøâÄՏŸT®b¸!xg½ÿÙGñ¯((fòoP¨\ý`�|zi2
-endstream
endobj
17 0 obj
<</BitsPerComponent 8/ColorSpace 18 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 72/Length 938/Width 76>>stream
-8;Z\7bE7E2%+U>,Eq@jL:+:o5[LT3fU^jf=P5IV/NVVY>1HR+J!#oE4`3Z%$r3qk*
-3_^dQ<;!]IcB$gKOS7B.!<SDd;Fu"FPJTKDMV8Y`S$Z\qEm,Peb@;CkcNYQ;"t29+
-4f!P;0)%[QWm8Oa=KiZJLb"LE['X<kmkG/R-]J(kCgJ1+QCf45<6gK2h!'qqs$^0>
-6Js'=HfFuU`uZj3"%2#gY4$Qd/M9u.Hsc5.#o10]1a$sr3f>M4OFb4)jR1?M0mS<B
-\q_g"aT1+0gc]h_K8Z>()2*ne9=j_YNAL=_GF[0j^Su2:U&)9B/E,Ro8\sK6KWE;"
-D-M!CQ!_Rs?O_p'Y4q^6%$uh(AR(*kEQkUR\E72B-!V*th@s\BH2a7rF7U3R(>`n8
-d7839er,jgb@V-u[58d[?fotX7u$:\^M^]ZnD<)\D+;4aY;XjRp_E(S!`\5!>g_U.
-KO7In2u(@!NcJlp'M$C&0"gqWY3-*t3,>l*q.jYi4g(/9c!T<la^8ia_gHq:=1*I)
-gr$OgQ%RERf:G1oj#X9&#B66\a.p0@qDd9&j^N1/IH3q5I2qWdRsgaS7nd6/V-0c5
-]HTngd[-*`ki5r,RLs2-#ZVTbQ/BbsF=1AufA->*@D-]k]Ik[_4Yj2>?Ct-k'6>7T
-bGh8Sjh@,)F:)+#7i_p+XH/Ul!%*L@qu7K\"MU2,BQ$D_TgU,ieNHE+RNT+bs4:2L
-UfMTh`![[3_OD:TKPt.&8Q;to3@TA5Z1.[+PcEg&L0pGH=SNUiqA=[8O_J'+%CN^%
-!gndoktK!m1\o0HiLYm,iM5BKc!IWJ3i8+[V,^Km\K7mg:I-H->$QLa@-WQ5?\dWP
-XSiU.hf50QaF0chi*.\GL)H3<*$Q3"\2IAkEotXc_l\")'-gb,'NYb"0T2!d=l"Re
-5AECb!:p^i])~>
-endstream
endobj
18 0 obj
[/Indexed/DeviceRGB 255 19 0 R]
endobj
19 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
-b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
-E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
-6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
-VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
-PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
-l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
-endstream
endobj
9 0 obj
<</Intent 20 0 R/Name(Layer 3)/Type/OCG/Usage 21 0 R>>
endobj
10 0 obj
<</Intent 22 0 R/Name(Layer 2)/Type/OCG/Usage 23 0 R>>
endobj
11 0 obj
<</Intent 24 0 R/Name(Layer 1)/Type/OCG/Usage 25 0 R>>
endobj
12 0 obj
<</Intent 26 0 R/Name(Layer 4)/Type/OCG/Usage 27 0 R>>
endobj
26 0 obj
[/View/Design]
endobj
27 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 23.0)/Subtype/Artwork>>>>
endobj
24 0 obj
[/View/Design]
endobj
25 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 23.0)/Subtype/Artwork>>>>
endobj
22 0 obj
[/View/Design]
endobj
23 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 23.0)/Subtype/Artwork>>>>
endobj
20 0 obj
[/View/Design]
endobj
21 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 23.0)/Subtype/Artwork>>>>
endobj
6 0 obj
<</BaseFont/GDVRAG+AcuminVariableConcept/Encoding 28 0 R/FirstChar 9/FontDescriptor 29 0 R/LastChar 31/Subtype/Type1/Type/Font/Widths[168 455 641 170 548 484 214 289 324 251 550 550 214 538 529 548 260 444 502 546 508 829 250]>>
endobj
5 0 obj
<</BaseFont/MMXBGU+RobotoMono-BoldItalic/Encoding/WinAnsiEncoding/FirstChar 77/FontDescriptor 30 0 R/LastChar 118/Subtype/TrueType/Type/Font/Widths[587 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 587 0 0 0 0 0 587 0 587 0 0 0 0 587 0 0 0 587 0 0 0 587]>>
endobj
7 0 obj
<</BaseFont/YRUVSW+RobotoMono-Italic/Encoding/WinAnsiEncoding/FirstChar 49/FontDescriptor 31 0 R/LastChar 118/Subtype/TrueType/Type/Font/Widths[587 587 587 587 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 587 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 587 0 0 0 0 0 587 0 587 0 0 0 0 587 0 0 0 587 0 0 0 587]>>
endobj
8 0 obj
<</BaseFont/QATZKM+AktivGrotesk-Medium/Encoding/WinAnsiEncoding/FirstChar 32/FontDescriptor 32 0 R/LastChar 121/Subtype/TrueType/Type/Font/Widths[223 0 0 0 0 0 653 0 0 0 0 0 0 0 0 0 0 592 592 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 573 0 0 0 633 0 0 644 0 0 0 0 0 0 0 0 0 0 0 0 0 549 0 564 0 580 356 0 0 0 0 0 0 0 0 609 610 0 393 530 363 574 0 0 0 545]>>
endobj
32 0 obj
<</Ascent 1160/CapHeight 714/Descent -831/Flags 32/FontBBox[-454 -831 2384 1160]/FontFamily(Aktiv Grotesk Medium)/FontFile2 33 0 R/FontName/QATZKM+AktivGrotesk-Medium/FontStretch/Normal/FontWeight 500/ItalicAngle 0/StemV 116/Type/FontDescriptor/XHeight 520>>
endobj
33 0 obj
<</Filter/FlateDecode/Length 13710/Length1 41868>>stream
-H‰|ÖyTGðouÏ´4ˆ€Š’(}Íô¨hÐàDAÐõƒw¢Ü¨„‘QQñŠ¼¬îF¢nÄãÓ¼‘¸QŒTŒD#k<׃M¦™gg³y/š5šUGè­	›vû½š©_uuUwÕçõ¯A�„¢,RǧõŒkë‹‹¡-ßÑ’‘mÏtœ½û÷(€$�á]³I/ØV9€Ù”ç˜eîy§?Ða6ÀÝ™U°$/ößËÑC€ ë³s3sB·…Þlát¼~³iCÈæ°4Ncël{Qq‡šÌjçñ»
-³3±ÒZ
-d¶¡q…=³ØQô5°õí/ÍÍ´çšÃ†çÒ˜ŽiJs.(2ÊÀònþóŽù¹ŽyãÎ×Óx$À&ÃÄ"`FSÍÐQQüâŸlÅ›xdfBÌ&Ƙ\¨4®ÁðÑ>]iAJÒØ$Ô�F#S×ä&Q¦Jò¡bÀ1uþÙè¸4€ý€ötýhÀ1Áþ‚æ3ÿ=íÍjþÿñâJ&:‡V`„ 5Ý©6C8"Ðí謑耎ˆÂKxÐÑ Ò{“¡À+TØÐ…>S7Ä ;zàÄ¢'záUÄ¡7ú /ú¡?` â1	x
ƒ1‰HÂP$#Ã0¿ÃŒÄ(ŒÆŒÅ8ŒG*&àu¤a"&a2¦`*¦a:Þ «:3‘ŽdÒû߁Ø½øŸãÎà4Îâ]Õ/Q‹ø
-ñ5êp	Áe\Á5\ÅuÜÄ
ÜÁmÜE=faVàm¬Â|lD5Þð°šT`Ž’=XOö“Jj·Œl#ŸíäÙ‹?b3)ÇyÜÂ6,Dz9dùïâ#äa>F9ÃŽ%X€"80sQˆ¿’O©ù¥Ä, ˜ü™Äl|€lä"Ÿ`¶£{P‰Oq�ûqUô	âÇ1†9Xˆµ$›ä\l"³HÉ„©
•ÀÄÑÍ¢«
º‡¡tÞÆÒ“¼JF‘4’N2Éb²’l eÄ`:1"ÓŸ™Æ,gʘÓÌEæs›q2
Ì}–°,˳ÖÆ.d—²o³¥ìZöv[ÁbO±5ì%ö
-{ƒ½Ãê¦tS¶i¡é©Y5_4ÿ`~ı\$׉¹xn7‰›ÉÍáìÜ-î÷”3ZÙy–oÏGóqü@>™˧òSøt>‹ÏåùÅüJBQP…$aŠ-Ø…ÕÂFa«°]ø—ð³ðTŒ£ÅaâXqŠ8M|Cœ!®ˆµâMñ[ñøHl’ …H‘’ )’MŠ•zI½¥¾R¼4XJ‘FIi‰´RZ#­—vKû¤ÒAéˆtRª–!3²Yn%‡ÈmåvrYÙ*ÛäX¹¯<UN—7ÉÉ{å
-ù¨\-×È·(¼¢„)í”H¥£ò²¢(ªÒ]‰Uú)	Ê%Y¦ŒTF+Ó”,%W)P(+”5Êe›²G9¯èÊ}c	¶DXdKŒ%É2ÝjU¬C­µ*TFm­†«íÕ(µ³jU{¨}ÔÕ¡–¨«ÔwÕµêFu‡z@ý\ýB=©žVÏ©µêõ²zU­W½6³-ÌÖÖ–`K´
µeزmy¶·ºŒŠQcbbòö¾÷8äqÄ/çŸDû_W_7_?_‚o°/É—âï«òýÓg4i|Øø¬ñyÓs£Ñÿ¦_ŽßŒDÍî%½HM&’’EŠI	5³‘‰b„3§˜3wfÐb¦(`f5³žÝÄîb÷³Ul5{Ž­c¯³·Ø¿™`Ê2Í7•š­æCækæŸ8p!ÔŒÀÉ\"7š›Ìepùœƒ»ÏýÄ=k•ÊÞÌGòß›ÄãÇó“ù©ÔLŸÇ;ø%#‚`…ÉB†/”e3åÂCá‘1J”Äbj³™t±D<&^o‹Nñ¡ø5C¤ÖRGI¢fb¨™8jf ”Ðl¦HZ*•H¥Ò.j¦RúŒš9þ3Árj&Rîø3©òtù}ys‹™3ò5j†	˜‰˜yI‰¦fºP3}ZÌŒ˜ÉPr”|e®²H)Q6Ì|©¸šÍ„[$K·3‰ÿÓLj‹™÷ÕrµR=¬£fªÕš€™:jænÀLj&¾ÅL®-¿ÅLéãVC©øˆ/šš‰ñ
 f}ɾá¾TßMßóÆÁÍfJfˆñÔxlxŒ{Æ·†ÓÐŒšÃ4Züù|yÓ
,3’1ÃèJ3cüèÖ´Å8AÏW»Œ2cƒ±ÝXmüž& È?èïW´¬#kéï*ZÞ¡åCZ6ÒŒb£9Çdèô}}u”Ö¡9uù¯¹Û\óׄÆJ¬ükÙÇš™íL3Éy*<;=ežõž"O†gªçu÷÷žXOê±º—{ïBïï<o¡×î-ð¾åÍ÷ÎñÎòæys½ÙÞ,o†7ý^ñ½N/Fu%z'ºâÝÏÜO÷Ïz÷÷:q5¹O¸ž¸º·º·æCË8w²{¨;Ñ=Äýš{«öÐ0ÑÝÛµÔ5Émñ÷Ò¿Ñ/ëgõZý¸~X¯Òwêy´­¨áO@Ã:=¿~?è4»é3ô©zš>A§¥ÑH~!5ÓcõWôîz7]Ð;ëí]O\ßÑq«]G]‡\;][]«]ö†S
ûJxíŠöV«ÓÎh§´ãZ•V©íÒ¶ik´¥Úb­H›§ÍÕ²´éÚ$-M› ¥jã´1Úh@KÑ´^Z[-XrêNÍétÖ8Ï8O;Oº~¬O©O¬7Ï\Ѻ´õدòð¨Š$ÞýÞ¼ùU¿~|V]•	!!	„ÓÈÉ@¸“˜@BÂ}¬Ü‡‚@ ¢ ‡+÷A¹pE„¹D`¹‚ nf{&€DØoñóÛÿ¬ï«~UÕUõªÞÑýë(Ö1&WɃr¥\!—Ëer©\Rò¤Ì"ó	Ó(3B!¨û0Šïý8W/áû檕Xµ°ßØý¨IRá—"Ç*n¡8þyšhqjL×2µ)êúŽâUÚ}¤úRFêãõmú.ÿWsB¿ ÿb³~³ÙlåîÏö{I?¢_Ò¹G¿ñ@¯ÓúY5ž½?º”¶_?ù€ØÃ%nkÊC?_jþ̽óÿ?ÒÇÿ.o÷}–DÛ£¶è;š-Ê7òPÆÃyu…b"xM?’êÁ)ì”Ä“y{žÂSyO×&s·z·ÝÂñ£"Þ•
à¹F£‹á6:­Œ®Fk£ÑÖH4’Œt£¢á0ùZ¾Úˆ7ÚÉF{#ÅH5:ò÷h£±Ñ„¯1ÒŒL#Ãè`t2ºݍžr„-ÇÈñr(EÈQ2_–½eÙWö“ýé9€j¡xO⯨Š(4ÀÛ¨‡šCZ¡bÑyȁhQŽAèOeÐoàuLÅDŒÃr,„óè)™MOËÙUæÑÙ]ö pªN5¨UÀjC£d/IÓéUš‚õ4–Ð|šƒM4›¶ÒFZGïÑJúÛhvÒ:J‡é /èÁn:E'¨ˆ®Òeº€O„%„°‘—~QA<Ny¢¬¨ƒÏE
QMTqøJaµ(…Ø2E
-‹D…Û¨·‡Ú³Ä1F¼ˆ£b¨˜%¦á¤˜‚ïpqEÌoŠ•b™X,ˆ¹bŠÄz±VxÄN±7ñ3ÕE±8,‰bŸØ+ÊAâšÙS\2sÅ9qÚhöÇM»ÉE±øYÜ4+šOš™¦4#ÍÚfu3Ĭl¶5[˜.3Úl`¦˜I–féòˆ<!¿•'å)ùü^ž“çå¿äyQ^’—e‘¼"¯ZÉV{+ÅJµÒ­+Óª-oÈ£V€UÖª$oÉŸ¤×â–iÙ-i…Zu¬+LþhՐ‡å!yL—×åòš<#ÏZ9VW+×Ê“ßXݬîö¡öaöáözU=Xña|›W¯æÇø]ôP?ÞÏQ'‹<u¦P8ß¾YoÌ:\obhl­·±ó©|†žÁÇð±¼€Oä“Ôø
-Çóùx>AÏäoéCžÆßÖ‡ë#ô‘êÜ1WIÍê/+Œ•«ÕóÕ
-6A/à‹øb}_¢ÏÐgòå¶rö!¾SÞC!-¦´ˆb#>À|H[hm¦h<¥|G³èušI3°kð>ÖbþÏð©A"XT¥´”–Ó2*¤Uä¡w±a6ÓnÚIÓ.ú’öÓAúŠ>§}؁íØ‹=ø»p�_àKìÇ×8ˆâÂù=EoÑK´ÍEKÑGð"ŠÁbNãÎáÎâ{|‹c8ãø7ðn‰…ùÒEšX*–ˆb¹X$ÒTñ¡ø@¼!f‹ùbžØ!¶ŠíbVa%®ã\ÃU¢"žÁS¨€'Pã1Á‰*¨ŒFhˆúxÏ!oáMÔE-ÔAmD 5P¡F5„ ­ÑmÐqhæh
-bÐÑx¹èŠld¡:£2ѐŽ¤!ÉHDÚá%ŒÀ‹‰aŒ¡‚øàôCoôEôD7ô@wÌÆÌÂLLÇ«˜†×ð
-&a
-&£�ù˜€ñ‹Ñƒ—±‹±K°�óñ.V`.æàüt²‘AvqÒ´½Œ—ÓV³¿hÄÞº¤øŠïêòi>„6揬óAI,]­ÔürÞmþ•úß¾¦³x–Éþ;e³6ŠDnu‡¾*^‘–­¥ùmêoã¯ù¥�ï•Û~q,šµ+™Ãj±dæÒØïR´ÖÐodÕXM¯òõ¾ðP2>‚Åë…Å·xxñ¿õ•ZÕc-V‹ÂŽ±`Ì“Ù:-Us³ŽÊsÿÚ÷ôµ½wb5ÎÖðx.øë­T¼©øˆ·¾²*4éÝXªæ‹÷G¬f%XÄ¡êŒ`X*ßÍ,ïuÖZõ˜ûpÿ1ÒÚªÁò^ÖŽy£î»³fj?NQ¨¾&ë睧-U7gÙDöˆzGÒŸô?I›®x"sj}øMoßâËų¼õ½	ÞYÅ‘Þ
ŽÁÞáÊÉî½Q|ëÁI,_­!½XK6˜MÓ—¨sbÛÎÚD7uwêØ!3#=59©]bB|Û6­[µlÑ<®YSWlL“ÆÑÏG5jØ þs‘ÏÖ«[£zxXpP•ÊÎJË?Z6à‘2Ò»aÓÕOær6u;<An-ÈîӝYʐuÁíq(SÓÒ>‡Ûïæ(í­<»þÆ3ºÄ3ú®'p4d
ÃÃ.§Ãói¬Ó±ž§'¤*yr¬3Íá¹è—[ûe[_)£”À@áp•Ï‹ux¸Ûáò4˜WàrǪ|…ÒŒqÆä˜áa¬Ð”J”Jò;ûòà(î´`WýBQßm=zWV¶'>!Õ[!00Íoc1þ\{Œþ\Žn¾šÙDGaØ–‚IëXgw¨•íÌÎÊLõèY*¨@wä{ʆzBœ±ž¡§Ë«–s<aÎX—'Ô©’µL¼{î1ª8ELï¼x¡´%ë¶Å^% ˆùD_‹w“š¿#3U›ªPõè«eâúhÖY)žÿð]­¿‰\WüÎ`0€=f<3×€1æ5cÀÆ`l¼¶µÆ¼ñ?XÛU÷áí*U£$u¢(ÝRU»ê‡¶êCé_Ðâô‘Dm¥¨Rû!RÔ¨Š*µê‡|m%G‘"%ŸÖî¹€Ýõj[k<sï=çžó;¿sÎeæ¨\í̴ͽÔH°Ö¢ëDòþ¹„]'’£sÉÅö:IªŠõîõâ¾»u´-„Ɓýöå…äBKã«oïì“çV£‰gf:¼­U[êÔ­n¬Åãhô·êÄ¡¡\mEð½–ç;
-° ¬VÛ[ºÛZŽBÕwº»Z‘âÁ%›õ™@b—«ï!åì“ã	û•‚&Pàh9_±YݽÕ®s»PŸ·„*'¶ÔÐWÃÕFd	[[OÀØöØÞ±=£}®L"×yõB•æ45’-Xfá†óX!]í)Éh>#T)«—®]²·P""
ÙZ(qbMìüýH\S¯·¥Ê–.0uüüOhm( 3O¼d´·°kíù8iÂE×1ìГt–ÎE/t.¬Ñ`¦½D²èZhY¨â®a¨!u¹Jb#\·ó»°ŠÊÕv¶»U²viÖ‘O^Ⱥ£]€œ
rç9mÏçÚó‹iéñü¹XhêñÂj“XÆ]ƒHh甬
-Í9i›èöï,oxvVa¶¹õîÙÑvóXU›÷Šõý)bÏï6ñj5õá­T_á^"îlhZXˇÆáðÉcêaùX¥®nT߳»Îõê1Måk¤úÝû vEa—órm¿Y¯‘ÒFN .ªEá,jÑ8{LÑZSË€ù–çÉzŽ¬ç:ëZ²®ƒ´PNê<œÕê»gï_ŠçùQ>_¹mC}V™¬
--¡\¼õÁ…l¬VpFÖl‚´	kÄÞS2"^1õGúS¤A:Ôÿk-¥C”û0òa4¦0"㇙z,Ÿ~LúÄ&ÓÍ'/‚¦xöý=ú#x%ãÐ,’UnÖ`¶2š˜ªÁ7Ãõu…sWf††(§('²œ;Ù´¥"6WÊ–ÊEcTVŸða‰uð´K§Õ’§"'’.­Ka:>‘¥“>y(²Óåt°fÎ•H$­VçÂoõ8Í£Òb¿Õzœ
-ŽM9ÒÒÙ…í´k0˜ôpáÁpÞ¿p¾^ÜÞØÀÌFj’<·ß ~ßç’XßèŠ]ò¸ûn³WƇ¢’cÀQàý#SW}£¹˜áW¢8˜Oë­zabL²ãYö^ä[ˆBUàëûðò¬E¶wzLH«¥4=$FF¸ìþ¤Â`¦)ÿm÷õ÷µ7Ÿ,Ñ2ì‰Á‰‹þ3ò jF!“ÑÈ™ô{L/ʝä€Åz"GcÉ.-Z?«ÈY‡™†ïN1>¹øÚf<­d³–Û}bº’½û xín‘JšO#µÂÁf-¿ÏYFç“âáÍôæÆV®1nÁ­¾zQÿo¨R²Ë�Jl2¢¶-§ôOÞ:�º­]†‘’êR–’É„úõƒ%²«‘ìTdž&¨0f°]ÎB¦Â0f¿,dÜî+û×^ÿÆá´ÔoÆéЫô#™kÁðZÎ{úu×&†=|ˆ·~	ÈDøv¹AÿÅQDu÷Ëâ˜[sUöðˆxÄ»å>ñª[Óq›ŠD6 ‡I1¶Pät*]¿~XÓ)RD>àÍØœ.—³M–|þŸè×ד’Ù08.ÝH¬¥<ÒÎÔÕݬ ½o..SØ¢¨;‡_g…ïüTÿYÕÆ\Œ8Äj›S”Ee@J–ü¶Ì”…ÃöH*®ñ•ÐRJüú7áìsê_´™PÅÕááÈD™®céwÄщâ$N²W|º~}Å
-p¢äN:AH'›P0^³ CéÇãO×~ò¼‰6ã¦bJN2ÇJ´g-ãU#\t©]J…ãŠ~ß|§ž-Gí·?×XD»ä[œæßÆa»/=š(ø,t3‘Œ‹³ÂäRøôw@rØÀ1òª›=ŠULc;¶kœ•~PѬçP`þÛe¶;mK
‡¹Í,/MßÌ$å!í¡>÷É|¿™—G&ºßnøKlvo~ÔS13>%(yÉ?ó$à‘Àq7Fªøh˜¾nCn«ûžû#wÏcÛÏm´Ûæ¶i†*F{ݦõd³‹ÏweER%‰d²Ã"m1ßÙ{ù5oas2S:ý.=SL$ú´™|.ßûãríÑë…ý9/ˆSò\uÌÿ3õêBH‚ßê6ýWÄ"^µ:öu«Ö`ªôé(´®Ñp®ÁºÇ•ød
-x,«°Ð[åòÆr<Äð¼wôÕWïS¿ØàW6Ìë}£~qãt¥u¢6¹`}G[qèPÅÔ‰
"‚’h£'ýThPØT´T(”J…éù—ÞÄùú•l}Zôo.î\_ßÞY[ß}áñÙ[¥Ñ@©‘™Ù›OêìOäGœj¶›+6‹q¤B÷êàËA ä"íÍv®Û?,¶·SÜmt@£ÞVÉ•$'¤×âcËøþ¡Óㆢ#‡®\£õ¥`ˆä:·7ï‚O¨?(…Q«c|VVŠAÛòuàux}@[‘9UcÐ_ÑQ=ÇDzŒŒ6
-çE•Á‰úKn1ȸŒýÆA³™CZ¿§é}
ÍJAçé_h=–Î>£þ
a&Ђäzl‚à(G%8ö¡éG&ºf:0ѦÿíÀt-p lo%fä+¬®M<“‚Ö´‘[
-níÚOò¥Œç70vñÐÃíþð?Ò8Åñ”<ÍÞT!u-’Y–u·L±”86ЧgG¸é‰bÀúµ;¡Õ|@óÖ èÐIâàˆÞèÀÉÈH:àt%x³ßg²9ŒÓlè5öý‡ò2®ê*ãøwÏ}	$l¬	”¬„	I ,²“Ob!«•—¶£ÅZÒB‹¤,µÚÃÌÔ:í h+vhµEqtPé‚L­U»0¥¥RlD@Á²<ßyçÅç#)ôÎüçî¹çžåÛÏȱSòšÛ3‚3*8bjøœ×Áw(™$-m@{zfJÿù	‰Cç<x"b•ˆ‹¬°vh£‰Uý##µíëkÖäåfä¤e”W.hÄ&7n\tùT°00?}áB/‘%ª‘âeä9õ¤¤Ú3R&''Z;!{Thú‰ÁäºÉÏËxº¸dø„¢áwÜ^xCùg±‚ËÏ×—g族ò¦\:*/ùübo!s÷ó˜{0f801‰ŒÔ>8#59±¿ãÔå†Eœ×¯4¨ÂOõÕ›³rGå§
z«ëáµ÷ÊÌ
N
f—dÝ”t]p¢wîòoù¥3¥3˳ú©ÊÚ«¸ïæ´ªKŠœyíÎuË,ßÓøÔåiÔXÏkΡ€@r8™ŽÖËÓÎw'µÚÞ˜'u§wVK%žw.Jƒ×)£M«ùþnÉ3Ižì•Ñ^–”‚þÞ£’Å·jù@
-½uROõ¾(ýè+7‚	 ä‚é`*(qß‹u¼þK{˜ê¼’æ¿&åæiI1÷IȐIæÏp;¨¯òþ²„¼tÚ·ÈH³®–?þàû]p¼–¾.öÝÁvK½Ù…¼žcÞÍ’dî–¦EFx“¤E÷'³~)rÓ$OšÑ칃&I™Y¥y¤ÛvN~Nêä\øSdÛ
~'cé·ß;¤”yxÏ”|ï6IeïÕ&ÙœY+5ß—\oŠd!ëYpë«,2äˆrø¨×%…þ÷é’¡`þ;fqÎäUʘÀx®«G¤0¶x«X—3¨]0þ6ÿÉ´{¨”,?{ãÜN¿õ*oP&꺠	äè~L:j’‡ü~2ÞÛ)ù&YÆèwÕ³wÙ4ÉVïäþ½íÈm»L¶rk`Þ’©ºå}ýSù0gÎò·Ë0‡ÉÞiúTǽ [½·;½;xéáÃè}2ü&8eþ†ÎãÁ¾"¶ z…êû0si«Ž{/<)¢óX ï—Ðõøp,j–ã¡ö¬¬zz7K¤Á²žW׌g=»®ß«?èÜzþ¯À*ŸÆk`õÅÃø•=χÌ;G|d|sî‡ÏÀ§ˆF ‡L…ú¡Ú¿úƒ7:ú6…_ZßPßÄ?,ª­ŸLV_åÛ¿"Œ`ï~8$ÉÞ81ªO»‡x~L<ÛvïV·ì9žÕç­ßYŸsïclÀ®`bƒõÏxV[Q}]#Û¸¢¾­ö¥ºÕØ‚dz|ÄYãÖ¶²j’7Õ¿Õ¯ÀwA7x¼
-æGççèzÒákÙ`,¨å Âùf©û65ê« ¨×q¯Ë(ÿa™èü´4ꯠÄôk_н×ôÒ¯}å1ýÁ˜9J5§˜ïs†¤ÅÌ”ló¾¨Ïè9lìè”ñ¼÷j8_$.Îuy¢Î\Ol:@,^ôÿð÷E`çúš´ó7Ø8WäýUF™2ŽµFÓ§í)6•ÑÖ|Ôbå–#•Qñ5ÊrPoãÐÛL°|	ü¨ž¿6‚
à¸{ÜAû_�‡5vÆà¨Í­Ñ¼«1˜œ¥y26i.Ñ<¢¹!6hì·ñ^c8qØÆÞ[Å7籟6–h\L1á‹æ÷RäÅ—îˆÄ.c–!ÏÅœg¹üF¹Ît#·è§&¼ÏÄ؝äÕ¥žü¢J&¿†L1õC%ÿ°ÏÃêÇá_!{ë·äæÉæR( ÝÄ:§mL´>ÆâAÎ<Â[IÌQ_Ü £¾iŽ1n%~÷.öóíg°¥ÎßÞÃÏÚ%©#²½ãœiº­—!f€3YÌ1Ÿ¼­ùöxQ’µÎIH–PàyÐÌžž$o”sŽô—Òþ%¨b›5÷à¯{â͵Ɖ™®¦‰‰ó´pØæš·˜ëö˜8‰›…WÄ6Îƹ|	)nÏ1qy†ÌŽÿÅÈøuzæ‰ÄùѺ'ïÛè9yß~æâOÛÀÒ8,ÎnßpP»¾< îrháýe°Ì�
 Ññë›îß®8V¬R0×ÏÁ‹`»­	µ.‹æÀ(SÚúÌå0­mMv—_wÕ¸Ÿýb™ÝgnŽ°w•ïWç«çì8«¯ïä]êO©rù·®¯|è8§ÏïίÆWØsÔ¯ÆÑ|Ç6.EãÓ§©G?;¨Y[ánp�l‰ÜNl¼[gk*[ŸË{®æÝ,p>~Þ`†Hš~óÞ•TbïD‡iž±bÛ½ô“òÌ<©O¸•<4OÔ¶ø|ž9$•ÔËùÈh¬>é’4ÓLli!Ö£Ãvts’xúœ´iìûœu“´S+ýœñ(ûýïÐW'ÿ,eÌv¬t×Ðn!϶È?c¸ÐñƒË­½œ$~wÛ»SµËƒsù¶Ïý¼
1ó(þÃÙÊö^ÓLì~!gÚƼ‘»˜bš­ã7Ùû\	ëµéš`ˆi“{éíЦð^á<ó¤Ò¢•:¥Õ¾çÁã4——òoUÏ~—Ê,íõ=yœÔڱ̊ƒîk¬ãq1ï¥î>ÙçõŠ“ä‚'ˆAŠèœ]Ò앐§#g›î”½À÷asZWDæk�æ«2ž…ê{ÚEÓêIÑv,ÇCvG¾)+ÂÜ·Ÿ¼¿gޏiÇ=yAõ¹Lwø©ƒ¶Ë¦Ç ¬è}°Ü!:ß.ó6~.ÔÀlEv[ñÅÛö.;Ï| Íp™Í]V'Ap½ùõÜqlÉÝÿüî¨Ciÿ‘ØÅX}öÈ}#0AR™ŒÉ­?ÈÛæ&	P_†¬i£¹Cÿ?*ýu¾@?I¢¿ÀŽUèÇd€æÍ#6Fþ‚¶æ½{iýÁœ~ÙÌ¿¿¥ÿüìÆž¥ýºô'φ̽6äÀãCEÄûNüw¼Ôz{°÷vb	1Ü/"ŽÄ'«éS³ÙKøFmÍk3-×꽏º-ÃÆп#»tê¬&úG!×)Rë7Ðnãß³pL“bÿSðxl8z‡]B|Üc¿•iÔ¼¡÷X­'üvtô9¾1ÆîC÷£kéú³±ó¬Ý!~OÞèL¿,‰Ô.!ö\ke?ó¨#¾cóq-ó‡ìZ%Ô¥¿aÜ&úÇJm ]’ü1¶î,°g‚þlÆ=sócêöIäã3¬×Â|Gè¿™ó×ó²^Æûö±šs¨^ÍãÝüÉ/‰=¼=!+¿9¬äû™Hmän0‘½Ñ_¤^XÅyvIB”Õ¶Ô>¬Žcº3ÿá›ÊXkÕz7*3lÀêáÞÿ$uú¯µ¹"—ï‹bj½h×xÞ,¢Ü³VT.Zë]âüj—ªÇ}Þ{±7Õ¹µyÕ[<»=Z½ü„yÔF±•ÀläyÜúi–½“µŠÆƒ\d²šº2d>ÃØìþG裆x~ß)d?¸ç-¥~ßÆÚ9ä3íÿ!gÕÚ}±³m¯¶”K»‘e	vÝ"UpÿVq—ÿ’_®ÁUUW�^çœ{áÒH" �žAB(Â,´¬Vb§*´°m-EA:¶ˆcku T ŽŠµáUKÐ†"Êé·÷Ù79	'á"üèL|³ö^g?×Y{ïµ´*EϦ²±Xôüi[ªx˜±õ¹T±m¶öŸMr}6ùçѳé(¿ÝMù>â5ÿH|¸­dYgä!è»ZÄ¥(+û¨6ÚOf?Eò
»5wXgîK|¦;ozÞ–t÷ªÓDúâ‹*îìAžÐÓyž|ïÀ=äl¦¾Xzêu,Bªù™Sͧæ²2Ür8bO¢?cFÑã
‘7M¼\‡à(9_{èkÏfm*Ïù»6—°n›Íº÷`Ûľ?ÇžwK¢€ï¬Ã9jþºxŸ�çÖý",…UÐ×C¯=�§
ßÛIO|¶§sŽC)í•]ëÀyšv?¡ßC0	FÂýè>óðlD\–áþÙp	N£kþJ›˜ç�lu°
z”]p~æí/ố¡0–ö¾„3œ~ŸÓöNä!à?ÕÉJÚ¬¥ý|
©ÐݏJ»GmiìÂÞj_Œ®ÙçÚ7nõ?Þâ¹á¾wÐæÉö„:ûà´¥gJׇÈûÚHX›×=‘ñÕ|×;‡&÷›K`¾óOãCGÿf\‹³Z®°›xg—¶Å°@õ¹ÎÔ] ˆÖÕ»¢Î÷<ï¬;CtÿBہö9I;u7¼ê^(åŽ÷ÎûûÎ5þ„Îc3þ_h+삆×�oþOø;ð0´ðÆ?K�Ÿ
‡$Îæ×UlŠcÎyÒ‚<à<S`‚OÂ8h,â~3a.L1õm†xÎè¢í”<­r4ýý^ùýSɍ–­íR`úv….Ё¸h™½ˆx†<Ìz™w?‡xé))°’³Í¥\¢c³|«ßR©"FLGî@B:èvÛ‰;ŸÁ_&£L"G*&—kɽ==/§¬úUðý-îÄ•”2Öi$—É'×J¦“Íý©ÆPßÓݵšToZ²&=Z󪵰öÇÕÌÑÝ™!ÖÒÔY"Ngië4¤Lä„‘»SÍíGí7JÍ} F{÷Xíù.¤Ïj¿Ñ½F÷°GµV×ª~ªÍPìáMð^Dˆ=#ÄBîñA’Ú!):¯Œ°†ï„|-B,!ÏŠ0vDr¡›!MKŽÖ&Þ‡|*÷Þ‘6ÖÞǦ’k}Ì”Ⱦ"’n¥_^’–
-Þt'hзB—ª ü5dœÂ*‘d…ó¤YEîE+ݽÈ=Ÿ¦Y ÍíÔ{ÁÊàÌçÿ™vÄ™OwÝÙºjíôÚÊ<¬%Ø|€6K±“þrÀüA:Þ–4‡ºÓÀ½J–4Mn=ºbtCÑ=@ý`mÎ>l<“¹úÒf
û�ûQ읃n”PVèœ,Iq²¼5à—)š�9n•í»bwÅsè§SÅ”‹µ=ªÚåÒ”õú²ªìlÿž¶fÍÄe)šáèÓ<ˆCÕ8çç\å¿öù
-y@¦nÏÜNcTïWÍGø§ÊâuøF5]àõýw¿ýoô/œ|ûßI}g°NÙŽxÅ£
q[toj¯Ñýš}Z—%Ñšè–è}út•åsă×ÛòL¥-÷Òö÷€Â_öÍ~O:×/"w˜ÈžŸ‚šrjõzx¯d†ÞfîîEÙȺʐân€uF*öù4¼hÊ;§ê-Ùäë³Á×Ç/Â°=ª³;Jg9MŒ|^25eÄ÷W¹SÆò΍•õqu²6Ûô‘×a?̂֐)¦ohieIkºŒ²>áÍŸ)}¸G;óN··;Iª}$k
-u®Us¼!f¼<ÿxRŽõçŽ9 ½É¥:“‹öÂŽ™ü÷<îåfš‰z<Õ_½[9Ö‡ä7Aþ5?øLEõøÉEcχá�<{Œ|Ç°ÂÙi­µ¾ÇšŠ$O“î^–Kî
-Êç‘ÿRž!åc‡Ñ­òÝÍþóê+ÇzNùíÉ›>«· œã+Üùµ¾1”k»_bj¿Â½b
†|÷?Ö2âÚAbk|mnåí¹]ïQÐ;´® ·"ðĪóÞ£sܽç*ý*à>u@ö@÷ºRÊ¥Áï–é»ÜÎv—×u¿½ƒF·ÝNŸ?_÷†¾«Þk˜wÍuóf¼5ÙÕßšÊñ¢o΍tu¬¥–3۵ܷ«lÞ¿R,¡tA÷TPü¤òçXÏT­ç¹ö»HÇA7}/ā뙌mÚ»§7çÆzÞbEuA1f€®ŽË;[ÕuÞÙ7ºjÿ#êŸýk4ÿyt確î”ö3£»áÿî§†4÷Ây'Wqƒ7òè¶Æô–V÷‰ä|þxî¸çýoÊÆ7ÝoªÞoc{‰©o†W}²v½×ï ´/ÃA‰ #ÈVÈVÈ4d2ot+ìËpÐ=Ž<îë•õ‘õ‘-MÿîÈîÈD[Åð^¿Xû·èëü­j™?°(Ní?Îç» ¿ZýÄ-öÿ¿­£¯ñåOOÖ@éŸ51ý“©Üh!,Ð}OKtµÓÉ6r‡ÏÀ·—Äð=Œ€·a1ó1³B$'Rï§"‘®ÜSÍEê“54Cl·o=ùö1d¼ôåS?Ê÷é´½DÛuòü�F@*´7²-Üah}Œ>² Gå:_áŽRw•¾£÷ªºã{÷œ~¢w•9§ìo½Ù;+rß…Õ†™zžÉC÷™Üg7|ÇÈ{T¿3öò¬1ò]˜ß„
-Ó FB!9_oë0ë¾ÊšËÉÑ&KòÁ¾vcl¿%÷ڍˆ%šI.m'úÁ(;A²í2†7e ÝTî"ço·³òí«V~è‰c_«¬.ŒsŸ°ÚÉ$G$NJä[3ΣÁrÝ
-¥·?ô$ï{…ý7˜\Õ¯&ÑñØïoß¹v
-9’a<ô1|‹oŸ#ÇÂpx~ìqí×ðŸ,—àUÒ=l%°ÞÛC+áÚ_ Oå“ dŽ¡©÷2¨q2”½œ"l4–Âc°®@ßâá‡2Ì~zXY0.Á�Ø,Cìä³´›eÆBïä#»Á1ô+³™s—‡ý'ø�®Ãà$3†}eUsë±gÝœßÕœƒáûøŃÈ?Â(0$ûÈ«Áë^xÁ³‡õ+c°*à‚'í8$ìrêåö‰ ïVƒ=ž­,Õ{WRèQi¿Y¾oGh»ùKØ	üë¼YËR³ž3p·a¯GàþÞ†é|¿™´·K|ä™yÂï˜wº†f­[$N×)•$õÝiG]­m
|VÁjc«åÆfݝ(7wÙ£Üñü³Õü¯
-Ù]ã?/5>Xfþ³ò=eß\XTÃßæ!çÕîoÚÏ”o=‚/¨µœ…„ëý*êO¡mÀüN¢$ÙëÑAhõeÆwFWù‘ƒ_8¯Á) ³¶zõÐ\$¾zz@#·¢ÞxoÞ0÷Qß
-=œ†œŠ,…— 7uµê¡%^ûP1zìCûášÑ³ïðEÖò²$9$)Ô:RþT’ƒø–ÊœM€¶õøבöèþN¿}ÞÞÿË~ùÇVu–qüýu퀖¹èÜ°;‡%ÄqnR	cŽØŸ”e]×z”–°zÆ9´wmïiî½mW6èÀÒ°éɲÉÜ A£[âZÊ4$»D£F¦Œˆ8'q‰&ŸábŒõûþ0mpf“?–˜¼7ùœçy¿ïó<ïsΕíBîõ›Ð7{ÇÄgAtø‘¿Ž¶%(¿­mÅ¿ä¾®èsðoëz|ÌqßD…ö¡²ËymÃœ_Xð'÷Sti¿ó¿jª‘±ä ‰O[Á¶Î}ÐQ/p.!m±Ü¡})V‚�ŸÏa¾¿kĵإcJ VÄ48½ û²:ôÿuUÞbtÜqqÈ3lœGžAÉÏCVëØE0 QåÏ�Ü!q¸MÛUÈ÷Ó6p«Ž5gÖÈã&–žÕ¶Rvy
œ5ö}SÇ¥ƒ¾bôg ß4>’wê2ˆQ'mç£_àÐo&›ùoÌÚ¯cZÔ›Ø~Ô¬7>çâHÌ­róYÅU¿]ßA±,‹‘~yñ†9øOôžø˜ŽG€ÐÏAn…Džá/ë;äÀöŽ«ï2Cß'¸àÈcü‡hcðÞØûåyígù¾àO¡îgúÞ¨\�{ˆæ^NB_ù°¶…ºK2^¿kbvv°ñ[}ÿʸRÆÍW
¿@y¹Î/Òæï.þ{Ž<ç ñëJm±	v¸Kaé·cü^“'kßÜy._€<
-Y£c—Ô÷Güö|ý#è;Í<SÞs‚›Ø‘÷�óŠ�¶t®ƒD®ØGÈóÃæn'¤ÌØ‹ø5֐÷è—fN™Ó^¼QŸ‰Ë|ø+•s—
-Ø€¿òROå~ÅÔý:|ÎŽC¾¨û‹µ_¤¯ÔûÜèâsXç)“¿ù*$rÖœ÷ˆÉ™À-‡”ç—¶û9¸ˆ±›Ì¹d¼¼¢ý sº´…sƒö“À{ÏÙmì#óðí¶YßK^¡óˆúÙmú®«¸HužU9z\çÊ«ó¤Óir‹ÌGßC¹F÷U1$çBž'áwä&¶*‘9ß
-޵ΘFžI~ÿ|gyÿçN³Îmâ]¿ß2>~ÇøVî¥à[Cô—yùšËº;ç®ý[ÿáЪÿœÿx`¥W18ßt¼§cßöΏÀðï.o8ƒvø¾/¹ô_ÅY‹Åb±X,‹Åb±X,‹Åb±X,‹Åb±X,‹Åb±X,‹Åb±X,‹Åb±X,–ÿ{(!e/Ñu¤–<IJ#ËÈZÂêÜsÄ•­d	yFIù{h“›QÒº€~Üè.ôÓF_D¶’sèIE)†}‚®2:%ëٝFg¤Œ¥Fç¨ßktý„Ñ]è—Œ¾ˆ|ƒßԐŒä³Ý=E¿ºjÝ¿1ê+¦9¿%Šºý{Šñ¿®¯ÏWí?Ÿ’üP‚ÊöžlÁߝæŠ~4âçÒ¢ÿ@âcd’Ob?›ó£Üˆ?Œ–ál±',úùlš÷’|¶PÈbþt÷¬ÔV×ÞÙÜ’©ë-f‡¶äÓbRè]Ý’ÄÙÁþkiQU¾©«\¸X%v£¢%ò£|‚CugzãÅ|'ýQ¾·ðAû#
$%d„äI–t“R$>©&UdÙ�­®îC]Jr(µ ¡—OîA]LÖ@«C{äüø‚*%	䞺g;Z³ªu·šO®ÔùF s¨‘åÐÛ7k&j–å¬Z=ÂSö6c†Q_Äœ)TcÔR<¥.G÷«õ
-ªVΐbå?SÎÔN:I3Ú2Ð{QŸÅ9¶`ÆTí«€ºÕh•»Ëbõ~„q‚91o„^×2ÃÇ5f¾—U¿Êÿj›JcýØôõ¾:ib|Ý­,½ÐgEh´Dù8ùÙ\ç’¹Ðó~'JkO±=S·¬h:ÍbCâ±ýlhÊ÷f^c£Hµlôä-·6ÕÔÝΆQ\Æúe½$`$dBn'!j{ˆª�dz›¼ß¶¤¶KMöe<ØN<ã9dÛNŒ‘ZÛARÀhãɆUÞÑÐ;¥é¹/zûTÍÞ)ºa
-Mߧëiµª­žª_îÕ-¦
$ •$¤k!WC®‘åÚ¹ðý¿­òþx)öþ2ë{—Á%Œ~û­Ø{î?
ßÞ
ÿü)|zÍ…Ö£¦/ï]º÷‘À{xOàó±—ǘ\ìå0æÐxàMÏŒ³ƒc±7†Šî$ötØÅ^„ò—ÂØ›ø"
|o[[ìµÕûÞÝwÅÞ](75ÆÞf”Am}ÉõMÞ«tä¡ÀûJðhx 
÷ûš}ti°$tz‚^³bNðiAG•*›ÓbFðQqX°VÑ%z•eáâàºpQà†4 á‘2Z[F/—Ñcµû¡º+V5º´Ë¥5.JŸº©iÆ¥.=ìÒÔ¥­.-wiI9¡3ä"™%ü(™ ¬ÅÖ:Kæ›&±ÐJ(:•%!XXÎè»Èf?Ê&ëb)ckesŒM3:Êh+£èÄOSù†ràÈ#¤=Ó|Š¿³µy²ä¾“ôÐäÊmòYÛÖ9éš$açŽí'(}²ãàOŠúæÉŠmÛ§ø±cõÍ“±Ô	ª;
-òWÄo0“™×ïWj!=#«2™ùVÙQ•©|’L†ÊgAõœ×Q¯úê²þ½ ',êed/ÙïÓ÷ÿK€�^£*±
-endstream
endobj
31 0 obj
<</Ascent 1056/CapHeight 711/Descent -271/Flags 34/FontBBox[-416 -271 987 1056]/FontFamily(Roboto Mono)/FontFile2 34 0 R/FontName/YRUVSW+RobotoMono-Italic/FontStretch/Normal/FontWeight 400/ItalicAngle 0/StemV 88/Type/FontDescriptor/XHeight 528>>
endobj
34 0 obj
<</Filter/FlateDecode/Length 6503/Length1 13987>>stream
-H‰”Up”Õ>CH	вÌzw—Jv! <ÝMx”¤Ý…Vv³IH"©R:¶øjJ­ÂX§L-Pìt:"ÞPµêtZ”§’�ò°Ù’ðR*åµÙž“"tt¦½3ßýï9÷ÜsÏwþ{Ï€4x|³æŽÈûèH{¾hN	‚áªPuÃ
-w+�N�Hò…Ÿ^ªnï›ÐcÌÿ®¢zQU´_Àä¡�©¯/Z¼¢bP¤÷p€Ìí¢Ë­,•ÝÌÎÈ�°^û‚JQôºÆ§e‰<¸²jéò¿_ñ†È3�Òÿ°xI8ô[\? §Cöh®
--¯¶¼›¦�FÕ‰½z"TU^Ò¸zŸÈâ[ª—<µ4^•ô@þs¾úÉòê1?/{ç%òV`c¾�ËzË(Yñ@×—BÁÝ­(žjéÅ”«W<ùHfâ±äÒ˜øN.¥¸a–èŒB‹NØ™™CÉ›ùíFRQÂѳAô”¼Úa%l„-ð6l‡]P-p:1û`Á\œ‹q®ÄU¸7¡Æ+'+¡�ývÓ^:MW™¹'§³“kx
¯åM¬ùCÞËø5²ŒF±1Ë(5–ËŒŒÆ1#j|eAK†%Ó†¶É¶çm_Ø®Ún<ð°JUý•M9T¶ÊU£T¡š ŠÔRµJ½©þ¤¶Ø-öLû�»ÃžmnÌAŽ$Gº£¯c ÃæÈqLwåYû®íìŒÇcñx"i]8„á&a¸vÀn¨‡V¸qÌÀ¾˜Cq$>ŠA¬L0܈ïÛt7Ã]Âð¸0„;Ÿ†/ó:Þ̵üïãƒÂŒl#טjøŒ°Qm,7^2êŒãF“qÍB–>6°M²=kÛhûÒöOa*Sݧ”ʆyj܆›…á[÷0\ÐÍ°Ï]˺ކȸ%.ç(Þ„Ùñ80.ç
-ÓÉC@øõpMp#Þ?Ν×:Ûp¬©êwz *v4öÇØ®X­ôoÆ6ÄÖÇ^oÓâSM‹X¹}ëöu€Ûï¶
-66ÈꞐñ4€s®æÍo4ïoÙ¼÷l4êˆÎŠ>õ6]ŽoêˆæE¹ñ†¼Ã‚e7V6þ0òjãœÆìÈê3Ž,‹<YY	FŠ"îÈ°†])h¾Þx¢¿ëÔNv³³Ý…àÝwKq1|KÃùÝ+¥ÿM·N˜¡äˆÄMÌ´nþ·ºôM~éLþÆ|?ÃX‡õxÁ*Ü‹§ñF°£Ø$÷ôgx›ñ¶`+üVãylÃvìÀxžƒçñ:ÞÀ›xoc^€±Sî&ÁK¸‡wÂ/pÔÀ/a
¤<E£áW”Or¶ÇÒ8*¤ñ4^†_ÓDšD“i
-=HòÂ+ð*Q1M¥i4fÀZXG~¹
? Çh!q?~Š‡ñ-§ôSz†¾Gߧù´�Þ‚-ToS=¤Cr×Þ¡t’@Ó):
µt†"°á/…w©‰ÎÂ{ÔïÃ_éµP+§6j§º�§KtþAa'|ŸH]Ú
{`/]}°ŸGÐ5¨£A=]§t“nÁA8‡)ƹÔ	ŸSŽÈ}E8ÊÇäôœ`¦Ûp’
¶p÷àd¹É)ÐÀ©Ü‹Ó¤ÞµÂyhãÞÐpÓá"\’x…3àîÃ}áK΄«ÜGrèäçûø~þD@Db+çñ d4ÐÂ'yÆLì‡ýq�çsT˜!áF>ÁÇ¥Ö|‡a7ð)t¡›óç<†Çò'¼‡ã>Íg¤âŽäݼópŽÆ|,À1<Ž¥šîãñ<[ù<ïçOq,ŽãÏø�âxœÀÇp"Nâ#|”'ò$žŒ“q
-Ÿã|=å&®ãz>ËÍèå‡x—ðL~˜áYX„ÅRÁq—ãTœÆ¼ˆÛ¸§s%wðøq,Ãr¾ÈpŒÏüÏgû5xÍ|ƒŒB©Aó…²ìŠ·¾xGçô®÷êk‹6
-ãíw¬Ú-»Å®[¾Ç®éoí"›v3vy§Á¥4Ìó”*ù�zÏ.ÑIsçûõh«V¨šy~MY¡“!Âag©Õn×Ðàum“jã
zÜ]Z+Üš\ªLé>mdÏß6S¼Åáâ9üv§ÝZãWÚçóÛõ”€Ué±æhl  j»ŒBez¨¨º%¥sÍù\Ór‡Ï¯$ˆšÒ)>P4ÊœK1Gæ¨ h
«Æœ@À©Áç/Üš]JüY!	ÈâõùµÅéÑIN„ÐtkÃ唸TY­¥Ô£Ì™®ÍÍ^Áâ°æavÑ{Uªßµ¹–,¡5ÛôYCs~g@f§ÌõË”Õ$Õ½³[[\º‡7g›<¢‰Ô$‰èô8%ÅNOHSi…Æ°ì¯-Ãܺ‡K™A¦zÃPªLzJ0`š‹A&»¶õHo±g˜ýN²{ºîM~J—Ì‘$ô¬ *®q†Ì‘ÈXÍlje• ÿ¥æ,g¨¨k‹ÔoY®Ë*°~MíîE½\	BÛRS¸Øo·:íav·NsÕë²P‘[÷v‰¡Rº—÷!s¹œž€N3¥9"¥‰äÖéâ&#‘%˾º·7¨j‚J÷–¤¹u†«äQ­QV¬ÓʝËݺ«d¶¿dn—Òj}fBß×UéÞyþÚôt¯ÆG§ç˜‡TŽ®§¶—Ùý›õj‹i#;Ã眹Ø&ØØ2Î`˜±16Ø\¾a;`BŒ;ÎÅH–\!—ÒÕfwu·»¥iµ©V©Ô¨RÚJ›>TÛqúPUÚ>4í[Ui¥>µo•ªmÕ§>Tmôÿǘ°	ٍVEÈÿwÎ|sþû?3µð£Q+d‚sfóex_ô¢ÚN‡·U±½roÚǝx’ûÓ°ûùT½ exY–!Z	?€§çʬ’2aÉ©¼¶[ŽKImeõ—J ~µ¾ž’:¯”Ê{DE»®Ø@˜,à›Yñhj™¢´BœQÚÔ2‡²I-ó(÷ªee³ZQÚÕ²å>µlDÙ¢–M(;TÉ«Ñ­SKMÑÁÖª­Vù
-6î[ál	lDé�Q�QÊ`#Ê6°¥lDéQºÁF”í`#JU•Âz©yTP[_’ŸRBO´ŠõæU5¢y “º ˆÓÒ2!ÏôÉ8ƾ¥äÑ|[é¡V­«³,ÐÆdÆ:ؽ=2Ï_ö«R¯no�x4ù¼è°•ã>±>ÒGöÈ°ÜWöÓFð¨üƒw¶
-{¦Ï£õª^[Ø£¿Œ
-E8ô¤„X’WJcóB(GWVÒrº=cÆ"ttÒFèïƒ)c…¢™ÊüŠW–¤ð
-œÕÿô²ä­œ¡ñp&°$­„ýÌ?d'Ù2×\ˆã4Â4•u¶œ‚îK<ÛJ%œC•aÏ¥9Yã3sp™%fì€K8ƒž½gL‚Á,§ ‡2hH_ t-pÞJäÊ´ã¡Á!ö”ðÜ©p"zäԍ€ßleÊ=Õ)ÀÀ'‰&¸6c ‡!4ƒú¶f„摤”œFe˜­°2t`3¢d*ï•ÂðlD‹77%´¥rÑ	«ÑíOßJ¢vªàÍÌÈXÆC›$ª©)áãùY«©VeÉ‹QKÁ`¼e/µ@F¶¶³Û·£Ÿgïȉ©ZŸ²ã¡qUëWV@1Xû<ÒâÕ¼@MlUX5ºX\2”ºš¤rÜ
˜á_¡Óÿ¯êCóq¾„e!Ûòí(lÚ˜Ä`TýO¡ÿy3�›~l¹œ—+Í	OwèC³Wë^<ø‚ýQ˜¹ÔbÖz©ZD£–„¸J)x”Uã4®b9j€‡Ô0g�L� «¨¾“ ïL"'	 ‡¯"ÁrL#'àrE‚<r“�p9ŠÈAp9N 'à$rœB‚rÌ 'à4rÌ"ÁrÌ«ÚÀV˜ÏàBtVG@¯éõ‹(,Tmp‹}:û¼Ž}AGH½¨já-ê%\èÔË:Bꢎº¤jC[Ô+¸Ð©Wu„Ôk:Bêuõ¡‰gÕ—§¸¢ç5®-ûõê3Åyn†oÝ·á^$æh½À1Ž„gį§ÆF¨"³rØû«Ÿn\“˜ßÌòAùÞ
-wÃD³ð[ÒFÚ£Nø®å)ãá<®H8n$Cxž*5·Y”zÁ¸Wq8Bð
-z™ÛUÇ†aÎÖÊê8up¯ÍXYsÇÉÜ Q´s½éK“~Ó£š#ï—ç|ïlALœZê݈³O¾ÃvuÏ,Š#Œ)‡/ÇéÜýåcý¯ÝκõÖ¢#öu=ù¿ì‹’d4.Q¡c`%¡Œ,Á qÌ3Ä0»ÍjQä‹`z’{|]JG›¥]2›jó³l×Ý^.d[™ÍºÉqÓ{ËCKÇÀ™=ÉþÁ¹Cþš‡5Ó߸_<v{¶Ë(ø2'{£J=oš~O›=vg¡OxÄÛûóý±‹¹ƒ¡5Z
-ßâºÙØL,XŒ;m‹Ÿè§'€GÙà‡Åð|.j³&ŽÌç|e±…Ó¾ãqeîÑ…èðÉèð¾쐥�d·^¦ÜѶZJx:&PÂQ=
®†3„±!6Þ°§¡¡¡^46+4`9ÙÉ
-P‡ÙÀ]zÜüxpupýF#·ÿwkÿ ¿xÇM?ûþÆÇ4·Ìýu­Ÿ}:€ñvƒ¦_ƒ¦:â*5Ê1=âp…ÑEg„„3 •Ñqˆ{©3›öˆX3
€:3•w1ÙLŸœ¥_ûËšvæÚÆ狳ں ­w²?þ'Ë&XjrüúOÖz™yòw~7Ÿ%^(²htÈPÉ1Ê8
-¥HDŠ³àžÒtÆ@Ay’Œûºz]C¾¡6‹³ÓiÄÚtõ„Dó8,lÏæ™E›Ái
†Bî°™fkF.}fäõB7ÏwOœ¹úFø÷µ¢½o²[y5é¯Y5åoþ`,÷ÝùÓ”‰Ö²¦ÒG}7/M«o¤u 52Ψš½r0ua²OÞM&‚û(µtÆ<4÷zÖM™ïÄ7n˜B—‚
·XqüO´NÍ%”¸§	óêÙÈñ9~’($B¿ÑlÙ|Ô\CE¢‚è ¼ÐdcϏÙõ]úÌn!£½7HPí¤H¡NÒ"•ÂÏ@°"-ÆÆí­þKy£:oÏKžg}Éól/yžxmп‘ŒN&_tfËKqñÜ—;²Pù‹Ö8=n·Óì2íŠyX°Y­¶P€Ó‡‚;œ	zm	¡€hiålPGf—K¯¯·MÎðä¹›Ó·}òGê¦ßýùBð\)·ÿl×Í©äÒt­%r§˜¾x8`
„WZü£=ÇÞõOï;?1ucÚ_Ãö'¾õÖ…¬ÊX"½üß?Ïÿt9ÆÑf_Òs9‘e¬cüBìT$ÎX÷äùå7ÛóS‡Û+¤é?ÓYƼ~û ÖÒqx|&<&&b#žh'x-Áá§3<¢7.+T…KnÀIÞÂÜv!‡ÙAƒÁP°•5ZDƒè¢M¬ù=Ú²öA{gã.½Kþ&wËî°¯kˆX;sïû7ý¥/Âhý¾ö&°~h×(LVþ0̬ñUÔGÇ*ù5ƒ^RÔGHº:BìQ›@y>’ѯ‘mW
-ÑZXÚ‰½ÑÙèÔçKµ‡esµ«ÒÚùÓÁâÑ½¦««WÅ]ÊD¸kz,foõWüàÚG|{)Yº“[Ÿd?LuPº×i[û?�¶þý2­ªˆâø™÷æ½¾.´Öbm´±„E V± õQ‹´b¡”­
ÝØ+¡à—ŠKÆÄ%Ñ€"‚‘T U‹DT¬Æ%¢Aq'"òAѸQ®ÿ3sn{½RZýÖ7ùõ̝;wæÌ9gÎL[ k%rOͶÁšˆé)E|°ëø)(Oå¶ÃÙ)š´«°–ìMG8a
üF«öåÑEÉ=’#8•UZ(ÒsB ÅqЄYû¡XSp}NEvvNÅ%w¾4ò–m»Îï7¥b.Q‰©/%&+µìÆÖ"=¢apáÐ^Ðw3ô}Dçá~ß+šC!7óaæ†ÑRSÓ‚‘sqÆqÎÏRÃI¡>jãžÖM+Oþ¹Y%Œ^üW³Ïˆ#fT胵ÎLù+%FÌ¿”{¦f³üpù‹ÓN4´~w(²ýâÿðU¤ªõc¢øš
¿¿wÈŒãù¿ÖM¶ÆÒ¢ÖBžnËÁÕº)Ðí×¢þ4؃×õ‹ôÚWËó]¨ów)àbÐ<–‚WA=x}PWù¨¯w‚Yx>òÝ䄼
-Ô€lP&€
-	¢VÓ§ô‚ÙÒo:&ýšh.x<Š±Aîi˜/Ü‚úŸà{ÐkÌ‚¬£Dçe käï‡ÈÜ7�î—oëÎÏÒýœßä›±Ý^°
-l÷‚0ú|y%æ¾ÄPo½QgÝoñà,0mXŸÓ"ö…m¯k·€9Ö¦šíÜj<X�ÛyTp¬]ÕW 폁çÀ`¾Ãáùï†äqF€<±Ó�“>¼®>²vØÉ9y=*ml¯ë�ÖDl×RÈ�˜)þ˜+vP`%Þïê5ð2l¿"¨sìµkV):¯uøô�GuÞ‰] }WZ{r­Ÿ=Ö÷Îې}·kPbmîü9ò$ä0MÞq\Á¼ò~°õŸDwŽ!ØŽnSåy˜Øå5‰½g´‰}g'd:Ø):�g;Ø*qÌÏïˆ
®�©Â&‰)¶ÿ8ˆ¾j³/h8(Â3üæ¬G}¼´Aç#;æ™á}[F‚§À9 ,’ñ/—µ‡ðí—òŒ8wöJß«¥õný ¿³¶ß²}q46åXp¾C[¶ûq¦ÔŶÈt¾õ‘ÙÃçIÜäÉ+ÀO	*,¡„@)ØB	'¿Àí™÷Ù‰ÁBa¬Ä[Tü±A|–¸c#¦Ì^'º,›?êÀ±e9¸VÆ
Šm¼»*™—ýÂû{¶€ûƒ= ±þ5~
j»w—Û÷œçL¾céá\Àûî8â6
-d`¾L›[Õƒà¼\ìËûûyHŽoÎ3؏
-9H
Ö&®ö„*ý÷è&m÷Á+ Éö¡{À›àfm÷êËb;äU‡sEƒø+L3´ÍUl?ÞœÇ_°º;Gõû&ÿÀ¼°³bŸ�‰}¥Cä
ç-²6±m|Às»9¾èÁ~©’¶I¢;û)KtàyyÏb\zãþ¨m>Ÿês{^)ÎÝ?€O¬¿ç±ã6ÿø\µ‚YÃtYkµYŸoûp&Ìœ|¦ìµçTG˜uúˆúpÏ,?s}ì[uŸSµ>nð!çÓ¿XõOøl2´cû¥Y×ÒÓÈìP¡9ÿ
-EÎ$ë0ä4Ò=ïÝs÷t’sï{¾pÎ(“wmºY¹ÚÈ=~ðÊst{®òK>[DÎð<ó¹p{¤ÄŽ‘ëÚêŒtÏÈÎä<‘¸Ï˜;Å~¹SȽ†ï~Ég<ŸéæŒç¼ò©…uà½Øf–û˜ïÃÝ—~î÷ÑtŠ±]ŠN1Sã!ûsûó„—I¼zey˜áÃÍ'§âa»7¿¸8CétXªt3Ý9’χ#žûl¡øÍinóß]_“>ìS>‹87
³ã™»ß½8ù¼Û,Ò}W!r˜ÌéÞ…Ý}Äû$OæWýÆHÿ\Ñ+SôÊÝjD¿яóïááºýî»Tb1,ïد÷nʲz™>nüú¥Ä³ùcm|ª·zòÈzñ}»-…<:»ºÜ+ëuï7ãu{Žb›®±¶0g÷z©ûsžì™¶\Å÷‚•–¶ïܱsenWºù½¹rœøR‰
ü’yJ·Å§™Ÿm¹ÌÞ1ø¾×Qnþ¯d—swGÒŸ›;Ê¥I÷‡ÎdWó¦_zò¦G÷ߝxðÊŸrì¯õøÄõ•+yÿybý_²øÿ¢ÁB’¹/7ã]3çbÊ¥á”	úSoçç#ÚOkœc¦§…¦~ªžºúëMµô“ê{ÆezËgí%¨PF·•'¥·Egt—îÒ]ºKwé.Ý¥óBŠ(xŒÖP:=@!
-P	UÐÍ8Ó¿H|œ‚ü–âi±‘èH|10uz†Ôèåpo§T(u…֍RP2}"õ Ú¿•º¦ÕSêaÔÊK'O™8uPi¬*V+Ž-Œ
)ª«¬W}¦ít
ÅhÝ
-íçÑšKu¸ï\Š™/ÁÝ'“Æàmíµ4OE´ª)µQh©…,mûj‰yš9c-Ãßô,GÛdÜ”&ÒT„zŒª@(ÁŒZG•mÆææÐR<Ub”3ýúÿî´9g>ÖæzØû»Þ.-kTjuùVµ#Bª^ÔHáüm4fèš.âz4¡Xˆô‹ôŒÓiGáœpŸiHÈߝVŸ¼'~O(
-¯Ç£%97ÆŽšbZ‚TÐØW­˜P¶5º¢¬1XSÐ؏ŸvFêÑՓʸK9~<öÈÈ€HzœNºh»rîÛªW5ðy¨¦ào�Ž¢ï©
-endstream
endobj
30 0 obj
<</Ascent 1064/CapHeight 711/Descent -271/Flags 34/FontBBox[-758 -271 1016 1064]/FontFamily(Roboto Mono)/FontFile2 35 0 R/FontName/MMXBGU+RobotoMono-BoldItalic/FontStretch/Normal/FontWeight 700/ItalicAngle 0/StemV 136/Type/FontDescriptor/XHeight 528>>
endobj
35 0 obj
<</Filter/FlateDecode/Length 6069/Length1 13295>>stream
-H‰”Up”Õ>CH	PYg¹»K&»^!›ð”ÄîB«»y"©¢@Z|5¥Va¦Î8í�EÛéx“ªÕ–hQž
-ä`³!HxD¨È#›íù7C§Î´wæûÿ{Î=÷Üóÿžó@¬ïÌ9ò·bË¢9%”T«ê—¹Ïà8€8oÉ‹‹U`[j/€«eýwåU*ÃýêÛ�â‡$¾½`á²rﶺ¿¤n°x+Ê‚¥ßþ1Åð@²ØçVˆ"á…žn‘‹D\Q¹xéƒïÑz‘ŸHþÃÂE%Á“×ëw<”(g4U—VY>LuUìÕ³ÁʲAW½	0\üQߪEÏ/ŽVÆ}c7׫ž+«õÂX9;g’È[€Í´,Ë;–a1¨óÍ¡œ ûh�Š¦€šoz1åªeÏ=â3‰/Ž~Å”©�×Í”ly³33‡’7óÝŒ¸Â˜£•™ô”¼Úa9¬‡M°¶ÁN8�Íp:0û`Á,œƒOá\Ž+p
n@m%+"?m¥]´‡NÓuFfîÉÉìäj^Íkxkþ”÷ð~>ÄG4c˜QdÌ4ŠEÆãUc¿qÌßXÐ’bIµ¡m¢íÛ׶ë¶[ƒU‰ª¿²)‡JWY*Gå©qªP-V+Ô»êOj“ÝbOµ°;ìéö‡íO:ÈçHvôutØ™Ž©Ž€£,mïÑh$%­“¡‡0Ü ·ÀvØupÚ Š)ØÓq(ÇÇ1€1†ëñax›îïb¸S†p—áËÂð
^˹†ÿÆ{ù 0#ÝÈ2&^£Ä¨2–¯ŒãF£qÃB–>6°M°­´­·]³ýK‚JU÷)¥Ò„a¶s—áFaøþ=çw1ìӍaiÃvaˆ|‰›£ßÈhÄôèv•{…I‚x! ˆ}z¸!¸íåŽq´©ê(é(€ÊÈÑÈ{‘‘y¾Yy'òšx›lZDzÈ|Hûö›�í¶6
-ÖÉîŸ
-ž•ù€s®¦KM¿oÚ×4¼iÏÙpØž~,<#ìi¼ÛØÎsÃ-¹x‡Kži¨høIè­†Ù
é¡UgþZz1´(´0†Ü¡Œú	ûi-¾ÝxlïVu‚“]ìlÝè^+XŒáÎë²X.Ïßvé„JŽH<Q¾`†à¨ Ypû?=Еÿæ—ÎtâÿÌmø%îÇX‡ñ¬À=xÏ`0ŒR§?dz؄ç°ÏÃ/`^À‹Ø‚­x	/ÃËð
-ÞÄ[xï`;FàUx
;¤6^Çݼ~‰{¡~«i8eS€_ÓHÊ•»=šÆP¥qðü†ÆÓšHù4‰
-ÈoÂ[THE4™¦ÐTšk`-ù¤~LOÒSÀ}øÆ+´”–ÑÏè%z‚~Dóh>¼›è�l¦::H‡¤Ö> t’êAÓ):
5t†BPK
ð
-ÇÔHgá#j‚á¯tŽšé<] ‹ÔB­t	þAWè*ü“.Ãø>—¾´vÃjƒ½°‡Ñ
8@ßBݤ[t›îÀA8‡)ÂYÔ_QŽH½"e‚cr{N0S;œdƒ-Ç=8^*9ê9‘{q’ô»óp.rohV¸ÄÉp®Hlãøšûp_¸Æ©pûñpî<�¢|ßÏð@D$¶r6?ˆŒZø$çðLÅ~ØðHΕ3„CÜÀ'ø¸ôš‡03¹žO¡Ý|˜¿âQ<š?çø0ãÓ|F:îpÞÅ»1spŽÄ\Åc8Oºé^Ëãø<_à}üŽÆ1ü%ïÇ<‹ãøŽÇ	|„òxžÀq"æó9nÆIXÀanä\Çg¹	=üOãé<ƒåÇx&b‘t°C\Êe8§p9/à‹Ü‚S¹‚[ùi~K±Œ/ó%\ÆŸáKÿóÝAÈüyÒ'æʲ+ÚbÌŠ¶vLíü_}ocÑF^´¥Ëjg´Å²Ûð~'ßcw­›7Óîšøk阳ˆl
.¥a®¯È¯ÔôO ÷¬é:nÎ<ŸaÕCýrU=ק)-øi<ÄCI‰³Øj·kðkð8k¥Ûxn.­ånM.Uªôv¯6ÒçÕÅOQIÑìù>»Ón­ö)íõúì:ßoUz´9í÷«šN£`©*ª.Ié,s=Ë´Üîõ)	¢:¨t‚׍2×ÌY®9Ë
X~¿ßª1ÓïwjðúÊü~·f—?FZP²x¼>mqè8g„ï×pkÃ唸Ti¥¸@™+‡›OmŠJ4gØEïQÕªZ|×dYÒ„Ö,_Àk
Îöûœ~YÍŸã“%«Iªëd·¶¸tOf­üDc©‰ÑYà”;‚šŠË5–ÈùÚ’áÖ=\Ê2ÑSò‰ÅÊô ó~Ó$P2ÞUÛ#<Eö»Éîéº7ù	^0SBÐÓª¨Ú4?D,S`5³©•U‚ü.JÍiÎ`aç‰?°]–]`ýžZ÷M½\1Bµ‰	\ä³[v†Ý­“\5DEº4XèÖ½]b¨”îåyÄÜ.g_'™Òl‘’Drëdq“K‰’”ȹº·' ªJ÷–¤¹uŠkúã¾£´Ð?X'•9—ºu×ôY¾és:•V»èScú¾®HöÌõÕ$'{4tr¦yIÿÍzÕƶu•ásν×vÒæËNì|´Éunl'ñµÛ|ÔNÛqâ8nâ4MÒv‹›~$éÇÚnëÇhhYÙ&Œ`B“@HAÙŸê:¥BüAiâÇB¢ÚŸVˆ²Äåy¯í4kS&¢¼~Ÿ{ÎsÏy?Ͻ¥;œÛJ?ø1¸™<S³9
-¼^FziÛN·†ÛJ¸©0O· öi$OÒ°?ÑO§ê)	ÌáeYC´’‹¯àÀ3såÐYŽ‰ÔþY£JVSÆe¹†zVç±ý­êjÎ*Ùððò|ÎnñKþ¦V„©¾9ü£NÏqÒNÄ™´KÏI¤ëõœLºAÏ)¤õœ…t“ž³’Þ¦çl¤·ë¹2Òº4øá€Ñi‚Ão‚—F³ÎŒ
-ÿg°±66cm6’vÃFÒ­°‘´I·ÁFÒØHÚIû`#évØHZ×Õ¨YjÛVÏ«Iäg>i¦í£S½u#à7è¤(â´ú”Lh}cÿ•R
-;×ÓÝƎΜÂëR³8†ÈÁ®‘yrº[Ww™öö€ÇSOn‚ÛtsgΟ™GöH\ëËuó:xÔÿaðæö¢°úÆ.=芌Ðÿ¢¢FJ˜Ó£Õ45/B9¶¼œÖÒèöYë8ÑÑ!Îëj±N'ÿ&Å(KúO,5U.c­þGÓj°°†!cM°Tcžú=1={S¨’ÚtSx¥Æì06œ¦šÉÖFÑ}ÉÇ[ižÎ¡Âa/’óÇ5CJ.Ç´H.4ÏÓôø=0	³6ŠjØa~A™»`½M6Ñ
-§ŒGì”òĪX‘<ò˜FàwªpÊ=Ú)PðIb(Þb´(B3`64ªŽjiÚŒ²5CF#ÊöÏÕ(ždqqP%[J!·xp5¶ñé[HÔf\ÌŒFe+Z,¥fžϏ»XJe\×Ô Ems4Ìy-pp}xjãpâÓìM9CºÑçßtÑaÝè÷/cc*Xû$i	AP“ëVŠ.—†R¢I
-ˍàÐÀþJ1ýÿª>2ŸÎ—¨†#dC¾ÝÙ¢)
-FÉÿQòß­PôcÝå4\®+4'žîèCGÐèE/î~ÊøÎ\^ë0vëF*CQK!®ê(e¥8MèTŽFp¾‚s`€Ø«¯psd
-À™&N
-`†8ö‡À~â8@œ!€gˆCàYâ˜%,q’�‰C`Ž8‡ÀaâŒ!£Ä!0OÄX$cÄ!pœ8NèFd=Ì'éˆ=g¢A Sf=á"‹Óº1°Î>C&ûyûõE݈®SÏÒ…I=g"¢ž7Q/èFlú]˜ÔÏ™ˆ¨MDÔ%ýf™,J/OÃ~Ãvڦ.—ž)¼ÝÙñ!ð>^á+™?Ñ^nåø.ãã_©YEŒE3^+b|ŽJVépÔØ-¶z?w8Ü’æppm‹ÐbÞûO>»¶ºç‹ù¿~=vfluM1Öþ"Zþ=ÅßW×~ ž[;œ?Dß	‚E~$7ÉSLgì[Ã>5{Ÿƒ>Þ­@gÍÁD;“¾ßøyØhµpë1Ø$Ï1YNgʸÅÂæl
-ÌK±‰¦„þtª+J¬x3éÙ„3`¬§+0€þ6»§ÓSnkð»½Þ°ÅâJá¸Òã
-‡‚ÂçµX•¸äjƇ©Åâ²zœ¡pØ×Z)¬–f!nÛ$>xmväÊ\·$uMúü+±ïWXj:â¾Ñ#•ùû–ƒW<}à­sýe™²²:ž—Ó¯Z¯M†¬rukWcWãÀ çé‹»wŸ	cѤ/îwq‘L‰ƒ¯ðqÑ}ô›‡ó;®Dìï‰xèÜÞ1ÒÛl®¦(6æ÷ÉWE?dßÉ
˜³œ[X!tsY©ç’Œµ$e¼ÉœàONd·©ŒbÃ9céS3n©“$1‡0	Ä·
ÇÁ`†cøZ6Qî	ø|‡×jkò;âŠËét…]R¥„ˆú¸pÆEØ°v[,Í’Ñtx½>/âyÂæÎ<ÿúä䁶+Õ‹×Þ=:³ø¬ûË™ÈâDïÖÊþ¯Nï>7½k»ÅÂk$a«õöw$OvÌÔ?9žôYEóÈò«/ìõIœæŸÜ={ãRLâ.}Èÿ“ȐîÁl_"|çô™K¯F[Ò©Á®.úzøïB݂ǿЏ¨žbLº«ü•±í,è„ÇÊœgà,ËÂ÷A³D.ÇÄD»§Õä/wKn«;ìv¸yo\ô„šE]m¥Ð,AÁÛDìßÞ¾zÝÇý/æïðsõþ~·Ú×ÙPß1µYý释%þqk_‡‹×zCî@A«èÏ$2íbÍ„ÝÂþŒºZæ¥,:¨cçÌŽM—:¶)áR¸,#s4Ç6Ìd¸t1—ÃS§™íl
…Ì*w;ŠeÄoO\?}äʨ³ì\þþY¥LêIžñ-ï¶<ðÖäQ!Æ_þÞ¾µ“â»;öô©œ÷w¯æåƒÍ7`ó›°ÙÎNfÌÛR‰e2G›¢ Í+©p•-ì(16'ì/D…‹ò‚õ4#óGÙDg[·”Û,ÌÎ튭ÖÏQ^•ÙÝcKÒ{½'zÆ{O…Þ?!ÿö궶™#§å)^U‘ÿ¨¢Š‹•µ%9²¢ïÚNö^ƒ½7å¼ýlK4pSù8~˜¹9âUSãl.?w…¹›k’G4ˆm<˵µßæÿÎ+øÐØ´¸ÿÉoäîcԝCK¶o¿}´*ú¶Åf¾rÿú^Mô¾|sîÁ½µ;6Õö&¡Î„9»l‹kw+;þà^ÞaSÍu6üIÈ+Dº |/´rò2¤cÿ‚D€¹™…üc
-dxr	r"Az!Èä�äÈ äMðAlÀW!‹äcH‡¼òðt-dRñBÚ‹ëWuºÈŸÙ‹ãcEÍ9!ý7 GŠö¾†µý4|a÷a×
-šýÂå¡BGŠ{Î…lÒ¡ùS­ƒ‡Çƒ‡††oìFÑ~ºï"ää<æïcÛyä$偺C/AÊÁ{½cÃÀ‚¾Œk`ƒþ!„üHákówwÿ‡ýª­²
-ãϹ÷Üy7ÝÄ’©¥9¥fmhS)æGcÎá’±©7]w6ÝÆüX»CW"Aɬa¥!iHF$^k0†å},(ÂĬˆ!R¢/ÍN¿çœç½÷åõΙTÝ{øí9ï{Î{Îsžç÷<ç™c¿©“øæWÈ�Ÿq<pÀÚ$g6`)æòþëÅî·:¿™_ ‡ÍÀw.ó•ø|”œyP
-ð¦ˆíïv¾WSÄÆ
î{j;ÎŽü„9Û€=°9ì¦~ÿŸGsÔ}ðJpNüë\yò
�vê	ÈiÎî¦WÎÁ¶Î„…Sí¢8ƒÚÀr€*e¬B8´8…qÏ.໐ñ{µ@#0`:€ˆ|_™£Àô_p\bòšæ9á
-t2Ç€Ë2þ9úß;Ðːg…·3ˆ!³Nø[Ðd<ïÞ=øŒcÝžVïÜÌ÷IÒã?�ß9?šßd-æt7§e¿%ΆV÷"ùvœpþ3߬ãàœ€Ïò…¬õ©vqÈöªq|¤½�|LwȾŸ‹„ÿlɲŸsKyW^vRÞ_{G(ïÒ.Êûã‚㖍­RáY‘Èq²ÇÇ|ÌùÌùÙœt6䘴߬“ý‘¯ˆc~¸v1~Ÿè\*kNvëÐb±+s¼@Æçj—ºMÀ7ŽæMà¸Ø<¢d¿ýŽV?ú‡˜íô☁;!øZM ‹B+Ž¡×€íÀmx朼Gü‰¸Q.î™×
-|P%èkíòd›ã=¥m®!¶ïãÀ'Úå⇁·µË³ð©á=žw|³9}ðò!±/ûúEírt7çõGvŸ÷E×
è÷:©á,ÐÇìÓ.°íˤÏg®þòúœ7§ÊØñï5O|× üB^µ1×í¸jó#ÖUÇ]ÎS½â+äQBÞR|fpDÁ§!F5úˆU-öäýJd²÷Û€ùÑÁê×ãöà|9lî/ €wg±"€~±Í`ðî(?âÈýtºþÙ3̾ZÚs-¿†¹ßÊbÑ#“lð=³n¹†)ºÇä™äj®	ØwœÓ9ßÞ%sRº9¹ÃJoí€4ïˆê3HŽ¯ý"ô=Ï%™;¯‹Ü–êiå
-ñÁõJ¾Ë:…¤ÓuÍèò]w§[?ò}þ’ëÀ±8l|Î`y�^\ÑÀ+ÖöP–aF…“2ìÌ~ÌðÁ¯—?&ðòI&t»3xùŃÙ)4#…””ëæžOè6gòÕ³Å⯆åwÁÚµGüØ'súEÖÊ|¾_åLõ®Îã¼këJo¬^ä9#s{–N玓áÅeŸ~E2?Ð+_tóø[+úq>X&ã^íËþ чÇ&Ëw£qñóX7'Åß >Ûÿ7嶨&çO¾í}ôµ//}àÓÙÓ…ï\®Ó¼úƒsÁÎQý²WÌÕf¶¦ŠeÈy3©\ÅuÁF‡ÔwÞÚa®;óu:_xµ'¹î«’®–\Úºí¬«×ØÎÖ–Ë¥Þ::xnþ·ä5s÷õÈ`n,—%½ÿ†’Á¼èý¯1”ôåMŸ€­lmÊ1Âœ©ÓµuÏ'â«””ú1Å
¯¾ä÷\ÿ:ð·¦ù¡`ž†)ŸF7QÄ3G©Ÿž4}æ"՚è‰ñSMô_ÿʯ³N7Õƒ6àµP‰´niû²-Û²-Û²-Û²mèFŠ(|‘öP!m¡…h15ÑFÜÍg†ïB€QÊ¥õVb"çÂÀö5ú㥟ƒ^9ÏÖ¹xZAK¥¯ðö ôCT@ç¥Æûߥ¯©\•I?ýÕuuñªše¥±ÄªDW¢.Ñ‘˜Z•hoYص²}MóŽÑ|JP'mÂIÖP­¦.*¢TFÓéôj0šÀûvjÅÓBê fš†Þ<¼i‡Œ¥¾Ú`ŸZ![±ÖcøÛ‚™uhqªÂ:˨ã	Ztu@0£	¬Õ‚Õ»h%zk°¯ÔFâi%V»ÑUþïï®x3kñÞcƒÿWÛG'cñ¤R;¨CQŠRsg’rªz©fæDM%ܯ̫S³£ÅÑÑÃtT^ÔSuNY΄ˆ}‘WuøæÍGrD*Á\¼)¨:Œµ+m³oÂT¼]m]?P¹5ž·T'‹ù©?º\ªÜÚ¼4ÎSñãµçFïŒÓ#Jú”yú€ÞžáóHKõß�hŽc8
-endstream
endobj
28 0 obj
<</BaseEncoding/WinAnsiEncoding/Differences[9/gid00164/gid00052/gid00002/gid00163/gid00041/gid00030/gid00036/gid00047/gid00045/gid00033/gid00029/gid00031/gid00039/gid00048/gid00042/gid00035/gid00001/gid00046/gid00032/gid00034/gid00028/gid00040/gid00010]/Type/Encoding>>
endobj
29 0 obj
<</Ascent 1035/CapHeight 700/CharSet(/gid00164/gid00052/gid00002/gid00163/gid00041/gid00030/gid00036/gid00047/gid00045/gid00033/gid00029/gid00031/gid00039/gid00048/gid00042/gid00035/gid00001/gid00046/gid00032/gid00034/gid00028/gid00040/gid00010)/Descent -262/Flags 32/FontBBox[-162 -262 1179 1035]/FontFamily(Acumin Variable Concept)/FontFile3 36 0 R/FontName/GDVRAG+AcuminVariableConcept/FontStretch/Normal/FontWeight 275/ItalicAngle 0/StemV 48/Type/FontDescriptor/XHeight 500>>
endobj
36 0 obj
<</Filter/FlateDecode/Length 3419/Subtype/Type1C>>stream
-H‰|VkP”ç>»áWÇ]À|jmq*Ër‰ÁÖI¡²&5]±¬€ ¬BÃeÝ],Ng¬¹8Auë­ØhA4
¨­Ø¦fYcC§i%¦Õ]´–L∩ÁeB:DÛqdOŸó±ÎôWÿ|—÷ýÞóžóœçyÞOCQZÒh4ó
-Öç~3¿ª©¾¶a]¥£¶rSmEcC•ÍîR?eiBÙSõãKÇ17êõ¯Ú£Cžé¡C3‚sgÚfR2‚P<Í dšO‹)“–Q>­¤Õ´ž*©–¶Òvz‰vÓÏè( n:O½š­š[j«M¦Ì¥9êÝôTÖäݔϞ|ÏÉœ¼g›"÷¥‘ñ§#÷§"ã‘ï³–EÞ¯‹¼çäFî‘}²#ëL‘ïr"q³ÏGòÊz¼.²¦IÉ2eæ(ùՍ›lÊšíN—­Þ©¬l¨jtØ•.[µQɯ«SŠk·Ô¸œJ±ÍislSUl•Z§b«uÕØJ¥â°m©Åz‡­Zq9*«mõ•Ž•F™ùŸ×Íÿg+KYÛP+ok\t*•
ÕˆÒ¨îRÕØÔàrÔÚœÆËšl·Û”\¥Ú¶™ÐÕ×”$[M¿ÒìдYÚ‘'Þzb8jôüèK1ïÅöÇÞŽ;¿&~8~tÊâ©Ê´–„ N§Ë4¹£B-_ZµLXcî¥êÇŸyx0úa0fü™ñƒÑÝåú‡òþè@¬:>^:Þ§Ž<”Ùñ`L}è]½<«_‡Ä&pxß’\¦âkƒÌ{­z¦lgSai“â*aª	63Å*˜6MqÌÇ´™1ÌãÆæwËš™ï»íÌ]˜ç+.skY0.ùhzS<4†!½Ô≱ĖhæžCÌw
¸Ü“ Ÿv¶0ÿ‘=sÊìeþ"ÑÚʤqw1?ðéR™Ï–{b™'0@³°é
C{˜¦›Çæ0½Ø[ÃôuŸIó$œmìHu3½åÛÉÚ™
-w
-óqSr>ŸÞÇëÅåcîG)c’úe·=nfHì¬@ó�r%wióïöìgާ÷G’_ŠI`z֐Ë¢•éraêZiÁ‚\¯5š©Þ‘†0d.bí÷
-ݹq(ÆÍü¤Œ'Vº$B›WôÅ0YòÕõX”\êgz¡À„PY>/Ó‘Â8¦o¸‡˜œÿ1¦å½ƒq­X2½9¼oIcZ((·wö1}‡€‘µ x‡_½ÖÁtÜ›d`:Š¹mãVæÍ#ýh0¦· ѲfÌmZbgÎ¬CĪ…iê¥ürÓz
jzVR˜ƒ	¾j41_Æ¥pøÏØzr¡Å§‹eÚÊà^îÄS;’âv”Á7¥gs)ò„FÍ^TL‚•š}X:˜%9«½Lèa°ãÔXL+ó`°H
Ú6Îæð+ÆÁØ…5;GÐÍãΠMêLBÀ�vº%ŝˆ×?™‹À™³þÌ~pˆŠÊQèÝ¶š2ÀŠ•ELk“LÀS
-8Á7ÓC“õÑ”@[*SÅ°pä%‚†_kPp½N¸RÓdÇ[Ð
>ÛŠ_Ѹ!€RË¥üµB–£®~¦ýHv!ú¶€U,âyA
-Ÿ…Àš¢‘ù¬­kÊÕOIö J?~ݾ¤övDqX+ÍP1†\D”¡% À“è²æ7Ó°lqÃèeÅiaÇp”oœû×0€Pjï „#ÛÆI†`3ð/J·B=DŸ÷%ý!&3tÂÿîìCu>ÝO™¡dÊ(۞ʚùIˆR/ù<¿r<�¼é ÔŒ|™ë„Ý҈󧊄\ÉvJ}J„\tß©ÑËà<åƒ(”iñ?`ÒR.r©ðJ.gÊò@Iè=Ñßõ`ó°�Iü…ÒË‚®,fOäiš¯*n'¡Ir¿#Ô áÛ?T{Çïoö
-o8|Ãô/®Tì@téZË1Ð’²-m ±å$ô2SØ?·v—%õOƒÑ�ÍaÙcB@œR–‡ÄWŸ°Çî‹À†ŸJUZyuyæŒG1(œ>‡žsG†Ö_„`çDÀˆÉŠ~…WHnüņ1-¦Óâµ|ÙUâ.Þ£Þ±M¹£j�M“²Õ§dp–’,i³As�BÉ2“&Dþ'¶ kY|Ð#æµJZÿ‘ÂQ€B‡Å(ÎËëÈпaƺ{PU¬xïHYÚ¾¨p’’<ñWUåwEq¯;®!ɶ{øô6zŽ³ª–{l�8_?*$7Ðk¥.c«•Ù+q0Ø]�8¯Âù÷â	ÝnJüE¬9öjo•åé9üù=éÉIø~ ¢
-ô–“¥;=‚:D~ÝrRàxb®21WC¬d:ÇY.ÅRs–L¤¨O­I§R#lù\r0ù#§4OÆî;PAù]Sg'†QàÎpwÍfíóæ10uÞˆ‡Ãªúk€Ï“Lâ^ÐAäç~$ì퐲@ä½f¼þVôñ~)$Ð’m 3mË@sÄ
-à"´ÎçO8£÷Ôú#°/èì‹MXÇšœœ“‡¦:þ«¢ß%Þ‚Àùš›pÞŠÇ÷@ùü™~ßßÎøSX³LàúåÆe>�¨ìD~ô}"$—õH’VeLGÍ�’æIBO#Jæþ”\ŸøÇ`Éw|º½rºw¦Þ$äÀ¼ù†®Iÿ |Ù4ÓU2
ý¼Ö$q	kãÕÌm(žß”ƒ¤UÈV#íÜ"ò*a@¸_žA%tL,k­pôÇb܇ÄlÚ¥¯brµb[ÉM‹ß+÷ ?lÅç™âÇäObŸDôHVWE‚ð÷ÂoîÁX·Às%ˆÚ¾‡>R½ôCÈD&¹Êi±¾É.tEU•“t”VDÜx–¯Ĭv/<‰T—‹ÄÖK¤B9^$‚r
-þº´Gåùs¨ô¢fóN,<$tI
-F\øDçå'g@HtSžþ.²öéк´&»Ús1±3#
-;P€S*Eö<¨Âú†<N•Mò¤QaËÔR0xµ�šÃrø”HsŸS›)&‘#†½I„ºÈX4O	ìzT9*ÇdakÒlœ!b„³D@©r¸|W°~NtmÀo»ïˆ·Çˆ#Sùîù3ürò¼X%âo¶ø¡Ýf�Ljlß¼-d÷	ÛæÉÞ°Z:ìÄÄGî!hµ´	PŒˆ“%Ê’Ï„í×ÍE0¾"²»÷éq¯xÓÄeÅÅè¿<—khSgÇOÚÔK¬ØÚhä¤b½0´kééö¡³K[ð²B]gº7Š©à‡¢n[HÕ–îC{„-MµTôCTÆ0Rñ
-&µdlƒ7ÅL&„¡˜!ãÝÿwâÖ~:á¼ç}ßçyþMÞ%ê½êß(S¨x?P’Ê§6j‰7�è¥0«�ð]BÂG-#*^ÇKãJÁ£„©Fõ§v? 1µ¤µÞÃåTŠ,Ì„U°C…;ØΗܩ‹c|F­®Œ«Výà¼1ô‚Íf®tŒ|1F+:£»[yì’t¬&¾º8^ °¶æ$¸_ v–<eáOzÉ\½¶—ÔCA¤%ÀV�Û5sE	™Ÿã­/ç=ûC'tì:\ÍMïÓéP¸Uµ´ÉøÒ6™Ÿy	rÿ ¯ÙLXÏÏ9?-ÿ%âý5¬#ëÄ2kµ÷W$¥oÁ|PwðÎçÄ©n<ÂyŽÑ¨:èëi±A ß8àŸPUùyÉ$™ü4ø=ýIŠ>„ZS@œU8²–S®†¤¼þ¯*¿Þ>ûì‘
-2…?xùÚz¶ž ÝÅ"¥‚ð"u3¼ý¹»4·§›ŒçäÒrUaöÀ§Ð°"±ùšÞôˆÊ^£A¹ý*¡šš»€ó6·öˆÖäñ6el;'Ñw^Sç[XÞýÃiã	ÇÚ¡‡ï&!BùzY´us�º¹Î:MNþ†áßý1èýODkðD¯(dùÀj5§Ý_pMªø£¹OlœÉ¬ÕÕ²†¡è9¹úW7;ÏÆû…Í>^› ݃§ˆêW |o^¦rGX7ç\Cß"U“iåÁ"SÌãHâ´HÊ+ô¼È%tȝ
-ÉZ⫍õ	J"gm²\ÊŒÕ	ßíe2§I”ìŽT—ÕÿLT<47ÀwGZÅŽõ¤†fúP=–€ðŸ¶È9‹)§¦çv”a¡)à3ž9éÿƒew³rð²Ð	•ižáê÷=¿üi›%h¶Hn#‹””§è‹aÖTùeŝ˜Ø
-Ú]#k¶sˆ-4õ
-Lé&¼Éiá	ï(7ží=ÕZØO!¯
-R«^¡ß\"^@2iúT0Óèôq(oCYñçO¢F:čxñû$ƒJ+˜q-}ÈÇr¡|ð͈äçüî`´’lçÆ^_²M¨Š1"eCyF$pœ©jWÜ=YŒ»÷4ÐZ]R+Sg¥;iŠ·•A÷¹Ô×ëØíŽwø c/n*ùбWœoÙtܱWNVõû·ŠØP‰qJ{ÂçÕr'®ïëýN™k·,™_?Ïî‹ïÞ`æÚ#c‘΃óìšÆѶã…ß+ÿ`�OèÍ
-endstream
endobj
16 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
13 0 obj
[12 0 R 11 0 R 10 0 R 9 0 R]
endobj
37 0 obj
<</CreationDate(D:20190909012612-07'00')/Creator(Adobe Illustrator CC 23.0 \(Windows\))/ModDate(D:20190909012612-07'00')/Producer(Adobe PDF library 15.00)/Title(LayoutSpec)>>
endobj
xref
-0 38
-0000000000 65535 f
-0000000016 00000 n
-0000000192 00000 n
-0000054694 00000 n
-0000000000 00000 f
-0000078655 00000 n
-0000078411 00000 n
-0000078919 00000 n
-0000079243 00000 n
-0000077664 00000 n
-0000077734 00000 n
-0000077805 00000 n
-0000077876 00000 n
-0000111366 00000 n
-0000054746 00000 n
-0000055147 00000 n
-0000111253 00000 n
-0000076022 00000 n
-0000077102 00000 n
-0000077150 00000 n
-0000078295 00000 n
-0000078326 00000 n
-0000078179 00000 n
-0000078210 00000 n
-0000078063 00000 n
-0000078094 00000 n
-0000077947 00000 n
-0000077978 00000 n
-0000106966 00000 n
-0000107252 00000 n
-0000100544 00000 n
-0000093694 00000 n
-0000079623 00000 n
-0000079898 00000 n
-0000093956 00000 n
-0000100812 00000 n
-0000107748 00000 n
-0000111411 00000 n
-trailer
-<</Size 38/Root 1 0 R/Info 37 0 R/ID[<97D202C4A94B874591B5BE50E1DF05AF><C5803DC1F035234DB619BA5F88CA5DE0>]>>
-startxref
-111602
-%%EOF
diff --git a/assignments/layout-img/LayoutSpec.png b/assignments/layout-img/LayoutSpec.png
deleted file mode 100644
index d35a62e29abba453847a525fc4eba2956e1d34d2..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/LayoutSpec.png and /dev/null differ
diff --git a/assignments/layout-img/rotations.png b/assignments/layout-img/rotations.png
deleted file mode 100644
index ffb63c5918e3a30b458bc244acdc88a3c7689782..0000000000000000000000000000000000000000
Binary files a/assignments/layout-img/rotations.png and /dev/null differ
diff --git a/assignments/layout-peer-review.md b/assignments/layout-peer-review.md
deleted file mode 100644
index ca6f59b669bd85d031274b45698200baae0c2854..0000000000000000000000000000000000000000
--- a/assignments/layout-peer-review.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
----
-
-* TOC
-{:toc}
-
-# Layout Peer Review
-
-- For peer review, you will be looking at the *Part 4* submissions for the layout assignment. In particular, you will be evaluating the extent to which a student faithfully reproduces their chosen application layout.
-
-- First, you should check the wireframe to see what layout the student was attempting to create. If you have the app, or have quick access to it, it's also good to download and run that app alongside the student submission for comparison.
-
-# Layout Criteria
-
-## External Criteria
-
-- Layout wireframe is present and filled out.
-
-- Wireframe is representative of both the chosen application, and the running submission.
-
-- Layout is responsive to orientation. If using the emulator, click the device rotation buttons to check this criteria.
-
-- Layout is able to scroll in some clear way.
-
-## Additional Feedback
-
-This is your chance to evaluate the success of the submission. Feel free to offer feedback wherever you think it is relevant -- this is your chance to help out your peers!
diff --git a/assignments/layout.md b/assignments/layout.md
deleted file mode 100644
index 24e014193fdc62143a83454f625ca6126fbfc82b..0000000000000000000000000000000000000000
--- a/assignments/layout.md
+++ /dev/null
@@ -1,423 +0,0 @@
----
-layout: assignment
-published: true
-
-title: Layout
-code: as2
-
-assigned: April 10th, 2020
-due:
- - <strong>Part1-2</strong> April 17th, 2020, 10:00pm
- - <strong>Part3-5</strong> <del>April 23rd</del> April 24, 2020, 10:00pm
- - <strong>Part3-5 Lock</strong> April 25th 2020, 10:00pm
-
-revised: 10:00 AM Thursday, April 23th, 2020
-
-objective: Use XML and programmatic constraints to replicate three layouts.
-
-android_goals:
-  - Create a generalizable, reusable layout for any number of images
-  - Understand Android layout GUI and XML
-  - Familiarize with Android programmatic layout API
-  - Understand Android constraints implementation
-  - Handle portrait and landscape orientation correctly
-  - Handle fixed- and variable-size container views
-  - Learn about Inflators
-hci_goals:
-  - Make use of interactor hierarchy
-  - Use constraints to create responsive layouts
-  - Make use of complex built-in layouts
-  - Implement reusable layouts
-  - Understand how scrolling works
-  - Understand how sizes influence layout
----
-
-* TOC
-{:toc}
-
-# GitGrade links
-
-**Classroom** [Summary](https://gitgrade.cs.washington.edu/student/summary/8723)
-
-<span class="note">Note:</span> this is a 2 part assignment. You will work in the same repo for both, but you must accept part 1-2, turn in part 1-2, then accept part 3-4, then turn in part 3-4
-
-**Part 1-2:** [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/119) / [Turn in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/119/turnin)
-
-**Part 3-4:** [Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/120) / [Turn in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/120/turnin)
-
-# Assignment Description
-
-This is the assignment spec for Layout. Scroll down below [Part 5](#part-5-reflection) for some development strategies and tips curated from past students!
-
-On average, students spent about 10 - 12 hours on average on this assignment. It has been modified
-somewhat since then, but make sure you get started early, as this can quickly become one of the more
-time-consuming assignments of the quarter.  
-
-Also an important <span class="note">note</span> : Part 1-2 and Part 3-5 are NOT equivalent in difficulty. Part 1-2 should
-take significantly less time than Parts 3-5. Once you have completed part 1-2, turn it in and
-continue to work on the rest of the assignment. The checkpoint will help you at the end of your
-development cycle to ensure your code is working correctly.
-
-# Introduction to Parts 1 and 2
-
-For parts 1 and 2, you will be building the same layout twice. It must show at least five images,
-be scrollable, and look equally nice horizontally and vertically. Additionally, you must
-use constraints to achieve this, using the  `ConstraintLayout` we provide in `part1.xml`.
-`part1.xml` can be found in the `res/layout` directory in Android Studio once the `layout` project has been opened.
-
-The results should look like this:
-
-![Portrait screenshot for parts 1 and 2](layout-img/1_portrait.png){:width="25%"}
-![Landscape screenshot for parts 1 and 2](layout-img/1_landscape.png){:width="50%"}
-
-
-For part 1, you will use Android Studio's built-in layout editor to create the desired layout, using a combination of XML and the GUI.
-
-For part 2, you will create the same layout programatically, using Java code to construct view
-objects and add them to our activity. In this way you will demonstrate how to make a
-generalizable layout class that can be reused for an arbitrary number of images.
-
-The important part of the interactor hierarchy for parts 1 and 2 is shown below:
-
-<div class="mermaid greenlarge" >
-graph LR
-W(LinearLayout) --> Status[StatusBar]
-W --> R[RelativeLayout]
-R --> S[ScrollView]
-S --> C[ConstraintLayout]
-C --> I1[ImageView: borders: vMargin]
-C --> I2[ImageView: borders: vMargin]
-C --> I3[ImageView: borders: vMargin]
-C --> I4[ImageView: borders: vMargin]
-C --> I5[ImageView: borders: vMargin]
-R --> B[BottomNav]
-
-classDef greenlarge fill:#dbf0db,stroke:#333,stroke-width:2px,font-size:16px,padding:0px,height:50px,top:1px;
-classDef bluelarge fill:#99ccff,stroke:#333,stroke-width:4px,font-size:16px,padding:0px,height:50px,top:1px;
-
-class Status,W,S,R,B greenlarge
-class C,I1,I2,I3,I4,I5 bluelarge
-</div>{:font-size=14px}
-
-We can represent this same interactor hierarchy visually in an _Layout Wireframe_ shown below.
- Note that you will only be adding things inside the ConstraintLayout.
-
-![Reference image for parts 1 and 2 showing how each image is staked vertically with vMargin space on every side; below; above; and between images](layout-img/LayoutSpec.png){:width="40%"}
-
-You will only be configuring the ImageViews as they relate to ConstraintLayout (shown in blue).
- Also this is simplified from what you would see in the Layout Inspector
-
-And this video shows parts 1 and 2 in action:
-
-<iframe width="560" height="315" src="https://www.youtube.com/embed/gf5__gtVhY0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
-You may find the following link helpful when working with constraint layouts:
-["Building a Responsive UI with Constraint Layout"](https://developer.android.com/training/constraint-layout) (pay particular attention to the "Set Size as a ratio" section).
-
-## Further details on Part 1
-
-**Tasks**:
-
-* Use the tools provided by Android Studio to build a layout that vertically stacks images.
-
-When it comes to layout, working directly with XML can be a pain, especially when there are several attributes to keep track of on each element. Luckily, Android Studio provides a visual editor that you can use to build your app layout.
-
-For `part1.xml`, you will accomplish the following:
-
-* Familiarize yourself with [how to reference images in res/drawable](https://developer.android.com/guide/topics/graphics/drawables).
-* Use the Visual and XML editor to construct a single, scrollable column of images.
-* You must place a `vMargin` gap between images and their container, as well as between consecutive images. You do not have to ensure that the bottom image has `vMargin` space between it and its parent's bottom. `vMargin` is defined in `res/values/dimens.xml`
-* Your layout must have enough images that you need to scroll (use `animal_0` through `animal_4`)
-* Each image must be scaled so it fits horizontally and is centered *while maintaining its aspect ratio*. This requires you to set some attributes specific to ImageViews (not inherited) which are mentioned in the [ImageView Documentation](https://developer.android.com/reference/android/widget/ImageView)
-* You must use constraints to ensure that an image is adjacent to the previous image (`Top_toBottomOf`) and that its left and right side are constrained to the parent container.
-
-_Related APIs_:
-* [ConstraintLayout](https://developer.android.com/training/constraint-layout)
-* [Linear Layouts](https://developer.android.com/guide/topics/ui/layout/linear)
-* [ImageView](https://developer.android.com/reference/android/widget/ImageView)
-* [ViewGroup.LayoutParams#MATCH_PARENT](https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#MATCH_PARENT)
-* [ViewGroup.LayoutParams#WRAP_CONTENT](https://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#WRAP_CONTENT)
-
-## Further details on Part 2
-
-The `Part2View` starter code can be found in the `cse340.layout` directory in Android Studio.
-
-In `Part2View` we have set up the basic scaffolding necessary to complete the given layout. For this section you will be instantiating the view objects from Part 1 programmatically.
-
-**Tasks**:
-
-* Create the layout from `Part1View` without using an XML file that vertically stacks an
-arbitrary number of images.  That is, you must accomplish
-the layout requirements from Part 1 programmatically, creating Views in Java to accomplish your
-desired layout. Part 2, however, will allow for an arbitrary number of images, not just the ones specified in an XML file.
-
-It may be useful to view the interactor hierarchy using Layout Inspector when Part 1 is
-running to understand how to structure the views you are creating programatically.
-
-# Part 3
-
-<span class="note">Note:</span>  Remember to accept the as-layout-part-3-4 [assignment](https://gitgrade.cs.washington.edu/student/assignment/120) and [turn in the assignment](https://gitgrade.cs.washington.edu/student/assignment/120/turnin) when you are done.
-
-The `Part3View` starter code can be found in the `cse340.layout` directory in Android Studio. We will create a custom Layout in Part3 that can organize an arbitrary series of Views into a Pinterest-like layout. Pinterest is a great example of a high-profile app that can be built with relatively simple layout instructions. For instance, one could imagine breaking the layout into two large vertical columns, then assigning various elements to each one. You will also need to ensure the columns never differ by more than the height of one image.
-
-![Screenshot of pinterest layout](https://newsroom.pinterest.com/sites/default/files/inline-images/2014112502.jpg){:width="50%"}
-
-To determine which column a photo should go in, we will use "pinterest" ordering. You must track
-the height of the images in each column and add the next image to the shorter column (or the
-*left* column if equal). For 20sp we will accept one of two methods for determining the Pinterest order.
-
-- Using the intrinsic height of the `drawables` image to determine which column to make this determination.
-(Please see the explanation on our discussion board for why this is so.) The screen shots for the
-Pinterest order in portrait and landscape are shown below.
-
-![Screenshot of part 3](layout-img/3_portrait.png){:width="30%"} &nbsp;&nbsp; ![Screenshot of part 3 scrolled](layout-img/3_portrait_scrolled.png){:width="30%"}
-
-![Screenshot of part 3, landscape](layout-img/3_landscape.png){:width="45%"} &nbsp;
-![Screenshot of part 3, landscape, scrolled down](layout-img/3_landscape_scrolled.png){:width="45%"}
-
-- NOT using the height of the `drawables` directly, instead you will need to get the *displayed*
-(or measured) height of the image. To do this you need get the measured width of a column, then
-use that to measure the height of each image. It will help to take a look at
-[How Android Draws Views](https://developer.android.com/guide/topics/ui/how-android-draws)
-[View.Measure](https://developer.android.com/reference/android/view/View#measure(int,%20int)) and
-[MeasureSpec](https://developer.android.com/reference/android/view/View.MeasureSpec) for this version
-
-![Screenshot of part 3](layout-img/3_portrait_measured.png){:width="30%"} &nbsp;&nbsp; ![Screenshot of part 3 scrolled](layout-img/3_portrait_measured_bottom.png){:width="30%"}
-
-
-Note that two photos with different resolutions but the same aspect ratio (width to height ratio)
-will both affect the column height identically because they will be scaled to have the same size on-screen.
-
-
-Keep in mind that similar to Part 1 and Part 2, your Part 3 layout should be responsive to device orientation. When rotated your layout should maintain the proper positioning (vMargins, spacing, and aspect ratios should remain the same while images scale to fill the extra space.)
-
-
-Our Pinterest style layout will be achieved both by using Layout Inflation (using a LayoutInflater with a valid XML file).
-A [LayoutInflater](https://developer.android.com/reference/android/view/LayoutInflater.html)
-allows us to accept a valid XML file specifying part of an interactor hierarchy and convert it
-into a View object that can be added to the interactor hierarchy you are constructing.
-This can be seen in practice in the `R.id.action_part_1` case in MainActivity#onCreate(Bundle).
-The XML/visual editor makes it much easier to build our app layouts, so we can use that to create new
-layouts, then use an inflater to convert the XML into an object before programmatically
-appending it to our current app layout.
-
-The interactor hierarchy for Part 3 is shown below. The elements marked in light green must be
-created using inflation (and the `part3_grid.xml` file must do this). The elements shown in
-blue must be created programmatically. Note the switch to `LinearLayout` to hold the images.
-
-<div class="mermaid greenlarge" >
-graph LR
-C[ViewGroup:ConstraintLayout]
-C --> Column1[ViewGroup:LinearLayout]
-C --> Column2[ViewGroup:LinearLayout]
-Column1 --> V1[ImageView:Gumball]
-Column1 --> V2[ImageView:Fox]
-Column1 --> V3[...]
-Column2 --> V4[ImageView:Duckling]
-Column2 --> V5[...]
-
-classDef greenlarge fill:#dbf0db,stroke:#333,stroke-width:2px,font-size:12px,padding:0px,height:50px,top:1px;
-classDef bluelarge fill:#99ccff,stroke:#333,stroke-width:4px,font-size:12px,padding:0px,height:50px,top:1px;
-
-class C,Column1,Column2 greenlarge
-class V1,V2,V3,V4,V5 bluelarge
-</div>{:font-size=14px}
-
-
-**Tasks**:
-
-* Before getting started on this section, try constructing a [LayoutInflater](https://developer.android.com/reference/android/view/LayoutInflater.html) and passing in your `part1.xml` file.
-* Once you are comfortable with inflation, use inflation  to make use of the ConstraintLayout we have provided for you (`cse340.layout.R.layout.part3_grid`)
-* Programmatically create ImageViews based on the information passed in:
-  * Add each image to the bottom of one of the two columns.
-  * Which column an image is added to will depend on the current length of both columns (the image will be added to the bottom of the currently shorter column).
-  * Each image must be `vMargin` from the previous image vertically (or from the top of the column **if it is the first image in that column**).
-  * There must be a `vMargin` gap between the left image and the left side of the screen,
-  between the right image and the right side of the screen, and between the two columns. The
-  center of the `vMargin` gap between the two columns must be in the exact center of the screen.
-  All images must be horizontally scaled to to be wide enough to meet these margins exactly.
-  * The heights of the images must be scaled proportionally based on the constrained width.
-  * The bottom of the last image in the longer column must be flush with the bottom of that
-  column. If the other column is shorter, then of course it will show more margin.
-* Write code that evenly distributes ImageViews between a given set of columns based on the scaled height they will be on screen, not the dimensions from the drawable resource.
-* Note that all of this code must be in the contructor of the `Part3View` (or in a
-  private method called by the constructor.)
-
-*Related APIs:*
-[LayoutInflater](https://developer.android.com/reference/android/view/LayoutInflater.html)
-
-
-# Part 4
-
-The `Part4View` starter code can be found in the `cse340.layout` directory in Android Studio.
-
-For part 4, feel free to explore anything pertaining to layout that we have discussed over
-the last few weeks. You are not limited to only using the types of layout covered in class. Your task is to sketch (wireframe) and re-create an interface from another
-popular app. For instance: Twitter, Facebook, Instagram, etc. (not Pinterest!)
-
-Your layout must meet the following requirements:
-* Your layout must implement a scroll view in some fashion, allowing the user to scroll through
-content on your application.
-* Your layout must be responsive to device orientation. If the user rotates their device, then
-your application must adjust to fit the new orientation.
-* Your interface should be sufficiently similar to the one you're emulating. Don't leave out things like icons & text.
-
-**Tasks**:
-
-* Before you start, sketch the interface you've chosen to mock up as a Layout Wireframe *on a
-piece of paper or using a tablet pen*. This sketch will be turned in as part of your reflection
-in [Part 5](#part-5-reflection).
-* Also draw out the Interactor Hierarchy for the interface. Your Interactor Hierarchy may
-be done with a computer program.
-* Using XML and programatic means, create your version of this interface.
-* Make sure that you create a Part4.xml file and add/commit/push it to your GitLab repository
- (a similar process to using your own pictures.)
-
-
-# Part 5 (Reflection)
-
-For this part, you will submit your reflection on this assignment to Gradescope. Create a MS
-Word, Google or other type of document and copy the following questions (in italics below) into
-that document. Add your responses below each question. You can have
-more than one answer per page, but if you can, please try to avoid page breaks in the middle of
-a question. Insert page breaks between questions as needed.
-
-1. _Diagrams and images_
-  - _The Layout Wireframe you drew for Part 4._
-  - _The interactor hierarchy you drew for part 4. (Do not turn in a screen shot of the
-    layout inspector for this)._
-  - _A screen shot of your final interface and the the interface you are emulating, both in
-  portrait and landscape mode._
-2. _For every interface there may be multiple ways of laying it out, particularly if they are complicated.
-As you reflect on your design and implementation of part 4, think of another way you could
-wireframe the same interface using different ViewGroups/Layouts._
-3. _This class is part theory, part implementation. As such, lecture and section may not have
-provided you all of the information necessary to complete the layout program. How did you
-approach the independent learning required to complete this assignment? List at least one
-resource you used in your learning that would recommend to a friend taking this class in the
-future._
-4. _Why are responsive designs important, in user interfaces, software development and software engineering, and real life applications?_
-
-# Development Strategies
-
-* You may run into issues when rotating the device. Note, when rotating the emulated device or your personal Android device, that the layout must adjust accordingly. You do not need to readjust the layout of your images when rotating the device, as this must remain the same.
-
-![Rotation buttons on emulated android device](layout-img/rotations.png)
-<p style="text-align: center; color:#808080; font-style: italic; font-size: 10pt;">These buttons will allow you to rotate the emulated device clockwise/counter-clockwise.</p>
-
-* When dealing with the Android documentation: ask as many questions as necessary! The android documentation can be painful to read through, as there are many potential options to choose from. If you need any help parsing it, feel free to ask anyone on the course staff for advice. Additionally, we suggest that you read through the following resources as you develop your apps, to better understand the tools you are utilizing (these are referenced in their respective parts as well):
-  * [An explanation of the ImageView ScaleType attribute](https://thoughtbot.com/blog/android-imageview-scaletype-a-visual-guide) (Part 1)
-  * [Building a Responsive UI with Constraint Layout](https://developer.android.com/training/constraint-layout) (Part 3) Note the "Set Size as a ratio" section here
-  * [What's new in Constraint Layout 1.1.0](https://android.jlelse.eu/whats-new-in-constraint-layout-1-1-0-acfe30cfc7be) (Part 4)
-  * [Adjusting the view size](https://developer.android.com/training/constraint-layout#adjust-the-view-size)
-
-
-# Debugging tips and tricks
-
-* Recall that you can use the Layout Inspector to see where your views are placed in the parent.
-The Layout Inspector is can be found under the _Tools_ menu.
-* If your application stops running (the device displays an alert that says
-  "<application name> has stopped"), you likely have a serious runtime error. Make sure
-  to look at the _Run_ tab at the bottom of the screen. For more
-  information on runtime crashes, see
-  [Crashes](https://developer.android.com/topic/performance/vitals/crash).
-* Your application may crash while inflating if there is a problem with your .xml file.
-* Logging output is especially useful for testing the functionality of sections of code such as `Layout#MainActivity#OnCreate` and other methods. Much like `System.out.print` in Java, Andriod provides its own class for producing output: `Log`. We suggest that you use `Log.i` and create your own custom tag so that you can filter the output for the information you want. Below is an example of how to use the `Log.i` function.
-
-```java
-private static final String TAG = "Layout";
-
-Log.i(TAG, "Hello world!");
-```
-
-  To make full use of Logcat, make sure to configure the priority level (in this case, "Info") and use the correct tag (in this case, "Layout MainActivity"). It's also good to check that you have the correct device/emulator selected.
-
-<span class="note">Note:</span>  Remember to take your `Log.i` debugging calls out of your code before turning it in.
-
-_Related APIs_:
-[Android Log.\*](https://developer.android.com/reference/android/util/Log.html) | [Using Logcat](https://developer.android.com/studio/debug/am-logcat)
-
-
-
-# Turn in
-
-## Code Submission Instructions
-
-<span style="color:red;">We will test layout on emulators with different screen sizes. Please use constraint correctly. Don't just try to match pixels in our sample screenshots.</span>
-
-You will turn in the following files on GitGrade
-- [Part 1-2](https://gitgrade.cs.washington.edu/student/assignment/119/turnin).
-- Make sure you have accepted [Part3-4](https://gitgrade.cs.washington.edu/student/assignment/120) before turning that part in.
-- Continue to work in your same repo
-- [Part 3-4](https://gitgrade.cs.washington.edu/student/assignment/120/turnin).
-
-We are allowing you to turn in Part 1-2 early for a checkpoint to see how closely you match our
-pixel tests. You will get 1 point for turning in code that compiles and passes up to half of the
-tests. If you pass more than half the tests, we will award you 2 points.
-
-Make sure you only edited the following files for submission:
-
-```txt
-─ Part1.java
-- Part2View.java
-─ Part3View.java
-─ Part4View.java
-- res/drawable
-- res/layout/part1.xml
-- res/layout/part3_grid.xml
-- res/layout/part4.xml (optional, or other .xml files for part 4)
-- res/values/strings.xml
-```
-
-Do not edit any of the other files that we have given you, do not delete any of the images in the
- `res/drawable` folder, and do not delete any existing strings in `res/values/strings.xml`
- (you may add bitmaps and strings of course.)
-
-If you add your own images in [Part 4](#part-4), please make sure to add and commit them to
-your repository in the `res/drawable` directory before turning in your assignment.
-If your images are not there, your custom layout will not work for others and you will
-NOT get credit for the work you did.
-
-<span class="note">Note:</span>  Large images can be problematic both for running your app and for committing to your
-gitlab repository (there are size limit imposed on school resources). Please make sure to resize
-your high resolution images before using them in your creative application.
-
-## Reflection submission
-
-The reflection will be turned in to Gradescope.
-
-
-# Grading (40pts)
-
-The Layout assignment will be out of 40 points and will roughly (subject to small adjustments) be distributed as:
-
-Part 1-2 checkpoint (2pts)
-<span class="note">Note:</span>  this MUST be turned in on time to receive points. No late assignment
-for part 1-2 will be accepted.
-* Turned in and compiles: 1 pt
-* Passed >1/2 of tests: 1 pt
-
-Final checkpoint (38 pts)
-- Part 3-4 code (26 pts)
-  - Part 1 (6 pts)
-  - Part 2 (7 pts)
-  - Part 3 (9 pts)
-  - Part 4 (4 pts)
-- Reflection (12 pts)
-  - Layout Wireframe, Interactor Hierarchy, and screenshots of part 4 (3 pts total)
-  - Each of the 3 reflection questions is worth 3 points (9 pts total)
-
-
-
-
-
-## IDE Errors/Warnings you can ignore
-
-<span class="note">Note:</span>  DO NOT assume that because an error/warning can be ignored for this assignment, it can be ignored for all assignments. ALWAYS check the spec for each assignment before deciding what is OK to ignore.
-
-* `Button`
-  * Hardcoded Strings
-* `TextView`
-  * Hardcoded Strings
-* `ImageView`
-  * Missing `contentDescription`
diff --git a/assignments/menu-report.md b/assignments/menu-report.md
deleted file mode 100644
index c770fd20a687897ad37ed98e038f99827607e883..0000000000000000000000000000000000000000
--- a/assignments/menu-report.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-layout: default
----
-# Report on Menus Assignment
-
-*Comments about what should be in your report can be found in italics. **Please remove the comments
-and replace them with your own words**.*
-
-## Introduction
-*Write two sentences describing the purpose of the experiment. This
-can be the same text you use in your [consent form](consent) under
-`Introduction and Purpose of study (Beneficience)`*
-
-## Method
-
-**Menus:** *Mention that there are three types of menus, Pie, Linear
-and Custom. Then describe your custom menu and include
-an screenshots of your custom menu in both a selected and unselected
-state. Describe some of the design choices you made when you were
-conceiving your custom menu and how your final product match (or didn't)
-your original vision? Be sure to explain clearly how your custom menu
-works and how a user interacts with it?*
-
-**Tasks:** *Describe the 9 conditions of the study. Explain how many
-items were selected per menu, and how many times each item was
-repeated. Describe how many trials each participant completed. This
-should be at most one paragraph*
-
-**Setting:** *What device was used? Was it an emulator? Did they use a
-mouse or a finger? Where did the experiment take place?*
-
-**Participants:** *Describe your participants (without identifying
-them). How were they recruited? How many were there? Were
-they consented? You should also add
-some optional information such as: What was there average age? What
-genders were present? How experienced were they with android?*
-
-**Data Collected:** *What information was collected (time, errors,
-etc)*
-
-## Results
-
-*To analyze your data, you should copy the following [spreadsheet](https://docs.google.com/spreadsheets/d/1JqfKhHugIF-kebs_bVztCnkUe0CizXN8PU_Ar3kXtK4/edit?usp=sharing)
-and paste your data into the `Raw Data` subsheet, replacing the
-contents/data that we placed there. To use this spreadsheet look at
-the `Example Chart` sheet to see a chart of your data (you can click on
-the hamburger menu in the chart to download it as an image).  You can
-also create your own charts if you are
-comfortable working in a spreadsheet.*
-
-The results will be broken into two parts. The first will describe the
-overall data, including how many erroneous selections took place, and
-how fast the user was in each condition.
-
-## Speed Results
-
-*Describe your thoughts about overall speed in different
-conditions. Use at least one chart to illustrate what you say. Here is
- an example chart generated using our data, when you paste your data
-into the spreadsheet you'll see that it updates to reflect your data*
-
-![Picture of histogram chart showing relative performance of each condition](menus-img/time-chart.png)
-
-
-## Error Results
-
-*Describe what happened in terms of errors -- provide at least one chart showing
-what you learned about errors in different conditions*
-
-# Conclusions
-
-*Describe your conclusions. Do you think we should use pie menus more? normal menus more? or your custom menu?
-What can we conclude from your data?*
diff --git a/assignments/menus-img/atan2math.png b/assignments/menus-img/atan2math.png
deleted file mode 100644
index 56b796497409477f99dd0a84272a2e9998f45925..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/atan2math.png and /dev/null differ
diff --git a/assignments/menus-img/device-file-explorer.png b/assignments/menus-img/device-file-explorer.png
deleted file mode 100644
index a1910ffdebd8067dafe6aed3aa0dc74ddd16593a..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/device-file-explorer.png and /dev/null differ
diff --git a/assignments/menus-img/linear.png b/assignments/menus-img/linear.png
deleted file mode 100644
index 4b5b1fcd68a6d803cea91564521d2127a1018adf..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/linear.png and /dev/null differ
diff --git a/assignments/menus-img/math_a20.gif b/assignments/menus-img/math_a20.gif
deleted file mode 100644
index fc36674d716687db4f25e44f50affd813abe87a2..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/math_a20.gif and /dev/null differ
diff --git a/assignments/menus-img/menus-stats.png b/assignments/menus-img/menus-stats.png
deleted file mode 100644
index a150bde99badc764037bffb103e8fc281b64edff..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/menus-stats.png and /dev/null differ
diff --git a/assignments/menus-img/pie.png b/assignments/menus-img/pie.png
deleted file mode 100644
index 19bb3cea94cceca2d283eceafb0f580812c433f4..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/pie.png and /dev/null differ
diff --git a/assignments/menus-img/time-chart.png b/assignments/menus-img/time-chart.png
deleted file mode 100644
index 555aa23251015ac371dee7a373980d5e5abd7929..0000000000000000000000000000000000000000
Binary files a/assignments/menus-img/time-chart.png and /dev/null differ
diff --git a/assignments/menus.md b/assignments/menus.md
deleted file mode 100644
index e22f3fb93687af7070e681f2d15dca2a53808422..0000000000000000000000000000000000000000
--- a/assignments/menus.md
+++ /dev/null
@@ -1,682 +0,0 @@
----
-layout: assignment
-published: true
-
-title: Menus
-code: as5
-
-assigned: May 12th, 2020
-due:
-- Part 1-4 (programming part) <BR>
-  -  <strong>Due</strong> May 21th, 2020<BR>
-  -  <strong>Lock</strong> May 22th, 2020
-- Part 5-6 (analysis part)<BR>
-  -  <strong>Due</strong> May 25th, 2020<BR>
-  -  <strong>Lock</strong> May 27th, 2020
-revised: 9:00pm, Sunday, May 10th, 2020
-
-objective: Build and test custom interactors
-
-android_goals:
-  - Further practice using callbacks; `onDraw()`
-  - Further practice with translate
-  - Gain more experience working with callbacks.
-  - Further practice with state machines and event handling
-hci_goals:
-  - Record user study data
-  - Produce plausible experiment results (within expected ranges)
-  - Understand pie menus
-  - Design your own interactor
-  - Collect, parse, and interpret results collected from a study.
-
----
-
-* TOC
-{:toc}
-
-
-# GitGrade links
-
-[Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/126) /
-[Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/126/turnin) /
-[Review your Submissions](https://gitgrade.cs.washington.edu/student/summary/8723)
-
-
-# Overview of assignment
-
-This assignment has two main components.
-
-First you will be creating three menus -- a linear menu, a pie menu, and a custom menu that you
-design.  The programming re-uses many concepts from [ColorPicker](colorpicker.html), but will
-have more pieces to it. Please start early, and reach out if you find you are spending more than 10
-hours.
-
-After your application is turned in, you will test these menus in an experiment with others. The
-user study will include the following:
-- Write your consent form using our [template](consent). Print it out for participants you see in person, or
-be ready to email it to remote participants;
-- Recruit and consent at least 3 participants to test your app;
-- Send your app (APK) to your participants so they can run the tests;
-- Collect the data from participants who tested your app. If participants do the test on your device or
-emulator you will download the data yourself. If participants test your application remotely they will
-have to download and send you the data they collect for you (details for how to do this are in
-[Part 5](#part-5-conduct-and-write-up-user-study)
-- Import the data into the spreadsheet we provide;
-- Turn in a copy of this data (so we can create a very large data set);
-- Analyze the data and write the report.
-
-**Note:** If you are unable to finish parts 1-4, ~~you can borrow a phone with working code
-installed~~ we will send you an APK after the lock date to finish parts 5-6.
-
-
-## Video of completed assignment
-
-_Note the Toasts (pop up messages) are missing a space between the word "Selected" and the item
-that was selected. This has been fixed in the current version of the code, but the rest of
-the app works substantively the same._
-
-<iframe width="560" height="315" src="https://www.youtube.com/embed/4o_4TAsSe8E" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
-# Part 1: Overview
-
-**Tasks**
-
-- Read this spec thoroughly
-- Read through the code of the classes listed below. Note any variables or methods you will be
-using or overriding from parent class.
-- Read and understand the experiment design.
-
-You will be implementing a class that can display a pie menu, a class
-that can display a linear menu, and a custom menu of your design, for
-use in an experiment comparing which is faster for the user to select
-menu items from. By *menu items* we mean the individual items in a
-menu, such as the number 1 in the sample video.
-
-
-## Overview of code structure
-
-**Files that you will be changing**
-* MainActivity.java
-  * Activity that displays the option to navigate between sessions. Also adds the corresponding menu view to the view hierarchy.
-* MenuExperimentView.java
-  * View that can displays and handle input for a menu. This is where you implement the state machine that will work for
-  all of your menus. This is the parent class of `NormalMenuView` and `PieMenuView`
-* PieMenuView.java
-  * View that implements pie menus. This knows how to draw a pie menu, and figure out where input is in it. It inherits from `MenuExperimentView`
-* NormalMenuView.java
-  * View that implements normal linear menus. Similar to `PieMenuView`
-* CustomMenuView.java
-  * View that implements normal linear menus. Similar to `PieMenuView`
-
-**Classes that have functions and fields you may need (your classes inherit from them)**
-* AbstractMenuExperimentView
-  * A lot of very handy helper methods (accessors and mutators) for the menus, as well as the Listener methods.
-  Most of the other methods in this class are abstract and overridden in the child classes.
-* AbstractMainActivity
-  * Methods to handle app creation, switching modes (from test to experiment), and starting experiments.
-* TrialListener
-  * Definition of a listener (callback) interface that is called when a trial is finished.
-
-The structure of this code is represented by the
-[Unified Modeling Language](https://en.wikipedia.org/wiki/Unified_Modeling_Language) (UML)
-diagram shown below.
-
-<div class="mermaid">
-classDiagram
-
-class MenuExperimentView {
-  onTouchEvent()
-  startSelection()
-  endSelection()
-  updateModel()
-  onDraw()
-}
-
-
-AbstractMenuExperimentView <|-- MenuExperimentView
-
-AbstractMainActivity <|-- MainActivity
-AbstractMainActivity <|-- TestActivity
-MenuExperimentView <|-- PieMenuView
-MenuExperimentView <|-- NormalMenuView
-MenuExperimentView <|-- CustomMenuView
-
-class TaskType {
-  LINEAR
-  RELATIVE
-  UNCLASS
-}
-
-class State {
-  START
-  SELECTING
-}
-
-class MenuType {
-  NORMAL
-  PIE
-  CUSTOM
-}
-</div>
-
-**Other files you may want to look at**
-* ExperimentSession.java
-  * Class that sets up all the conditions for the experiment and creates an iterator with all the trials.
-* ExperimentTrial.java
-  * Class that stores all the data for a single trial.
-* TestActivity.java
-  * Activity that app starts out in. Lets you test your menus before running the experiment
-
-
-
-## Overview of Experiment
-
-In this experiment we will have 9 conditions, each of which will include
-the number of trials (where totalTrials = `NUM_REPEATS * ITEM_MAX` trials).
-You can think of this as a three dimensional array
-
-|            | Menus       |             |             |
-|------------|-------------|-------------|-------------|
-| **Tasks**  | `PIE`       | `NORMAL`    | `CUSTOM`    |
-| `LINEAR`   | totalTrials | totalTrials | totalTrials |
-| `RELATIVE` | totalTrials | totalTrials | totalTrials |
-| `UNCLASS`  | totalTrials | totalTrials | totalTrials |
-
-<br>
-The three *menu types* (specified in an `Enum` in the code) are `PIE`
-(round), `NORMAL` (linear) and `CUSTOM` (your custom menu).
-
-The three *task types* (also an `Enum`) are `LINEAR` (menu items
-that have a natural order such as 1,2,4,8,16,32,64,128); `RELATIVE`
-(menu items that have a relationship to each other, such as
-Up/UpRight/Right/Down/etc...); and `UNCLASS` (menu items that
-have no relationship or ordering, such as Print/Cast/Bookmark/etc);
-
-The *trials* are specific combinations of menu item, task type,
-and menu type. So for example, one trial might involve showing the
-user a pie menu, with the numbers 1..128 in it, and asking them to
-select number 4. The participant can select any option, no matter what
-as soon as they complete a selection, the result is recorded and the
-next trial begins.
-
-For any given *session* (one user's worth of trials), each combination
-of menu type, task type, and menu item, will be repeated `NUM_REPEATS`
-times (`NUM_REPEATS` is specified in `ExperimentSession.java`). In
-addition, for any specific combination of menu type and task type, at
-most `ITEM_MAX` items (a total of `ITEM_MAX*NUM_REPEATS` trials) will
-be shown to the user. If you set both of these to 1 for testing, you
-can test all your conditions very quickly. Make sure to set them to
-the required values for user testing:
-`ITEM_MAX` must be at least 4 and `NUM_REPEATS` must be 3.
-
-After the code for this project is submitted, you will recruit at least 3
-family, friends, or other students and have them complete one session each. Thus, you
-will have a total of 3 (participant sessions) * 9 (conditions) *
-`ITEM_MAX * NUM_REPEATS`, or at least 324, data points when you have completed
-this assignment. You will analyze the data from this experiment in
-[Part 5](#part-5-conduct-and-write-up-user-study) of this project.
-
-
-We have implemented in `ExperimentSession` the code for you to generate
-all of the trials from a setup file called `menuContents.csv` found in
-the assets directory. Make sure that you understand the `createTrials()` method
-provided in `ExperimentSession.java` which sets up conditions for the
-whole experiment.  `ExperimentSession` is an iterator, so to run the
-trials for a given session you just use `session.next()` as long as
-`session.getNext()` is true.
-
-**Note:** that we give the user feedback two ways.
-- For updates that the user can ignore, throughout the code, we use something called a `Toast` - a widget
-that appears at the bottom of the screen and shows some announcement text. Toasts are temporarily
-displayed and then disappear. See [Toast](https://developer.android.com/guide/topics/ui/notifiers/toasts)
-and for an example of how it is used look in `AbstractMainActivity.java`
-- For critical experimental information (i.e. what to select in a trial), we give the user
-instructions by changing the contents of the `TextView` at the bottom of the screen (by changing
-the contents of `R.id.instructionTextView`). This is a permanent change that will be visible
-until they finish the trial, so a Toast is not an appropriate choice.
-
-
-
-# Part 2: Implement MenuExperimentView and MainActivity
-
-**Tasks**
-- Implement `onTouchEvent()` in `MenuExperimentView` including
-  - `startSelection()`
-  - `endSelection()`
-  - `updateModel()`
-  - `reset()`
-- Implement `onDraw()` in `MenuExperimentView`
-- Implement `showMenuForTrial()` in `MainActivity` (and set up and implement a `TrialListener`)
-
-For this part, you will be working in `MenuExperimentView.java` and `MainActivity.java`.
-This section will entail defining the functions which power your menu experiment.
-The `MenuExperimentView` class includes several methods that you will need to implement. You
-will implement the state machine logic in `onTouchEvent` (similar to what you've done in ColorPicker).
-
-One tricky thing about context menus -- they can appear anywhere in
-your user interface. To support this, we set things up so that the
-menu view is going to `MATCH_PARENT` width and height (i.e. its
-bounding box is the whole screen). However, the menu itself should
-show up right where the user presses down. To make this easier for your
-menus, you will translate the canvas so that they can draw themselves in
-a logical location given where the finger pressed in `onDraw()`. Then you
-will call `drawMenu()` with this translated canvas, which is what each
-specific menu implements to draw itself properly.
-
-**Handling Touch Events**
-
-You will handle touch input by implementing the `onTouchEvent` method.
-This is the event handler that is invoked when a touch occurs in this
-view. The state machine defined in `onTouchEvent` should work, without
-changes, for every menu you implement. The only menu-specific code is
-in `essentialGeometry()` (it finds the current index). Thus
-`onTouchEvent()` is implemented in the parent class,
-`MenuExperimentView` and *is not changed* in the child classes.
-
-`MenuExperimentView`'s implementation of onTouchEvent makes
-use of your menu's `essentialGeometry()` function to determine the
-relative position of the user's finger. Essential geometry will be
-passed the finger's position relative to the menu's `(0,0)`, i.e.
-where the user pressed. You must implement your linear menu
-so this is its top left corner, and your pie menu so that the user's finger is in
-the center of the pie.
-
-You **MUST NOT** perform any assignments within `essentialGeometry()`, as it violates the utility
-of that method. Instead, `essentialGeometry()` will return the index associated with the desired
-view, allowing the calling method to act on that value.
-
-You need to keep track of two main states: `START` and
-`SELECTING`. When in the `SELECTING` state you need to distinguish
-between the event type to determine if the user has selected an option
-or if they are still in the middle of making a choice.
-
-Relevant touch events include `ACTION_DOWN`, `ACTION_MOVE`, and
-`ACTION_UP`; think about how these touch events relate to the change
-and how the UI must respond to these events.
-
-More details about `essentialGeometry()`, specific to each menu, are in descriptions for those
-menus in [Part 3](#part-3-implement-pie-and-normal-menus).
-
-<div class="mermaid">
-graph LR
-S((.)) --> A((Start))
-A -- "Press:startSelection()" --> I(Selecting)
-I -- "Release:endSelection()" --> E[End]
-I -- "Drag:updateModel()" --> I
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF
-
-class S invisible
-class A start
-class E finish
-class I normal
-</div>
-
-Details for `startSelection()`, `endSelection()` and `updateModel()` can be found in
-`MenuExperimentView`. Note that there are no guards (boolean logic regarding the essential geometry)
-on these transitions -- any click inside the `MenuExperimentView` causes a menu to appear, and once
-a menu appears, dragging causes `updateModel()` to be called no matter where the finger is.
-Similarly, the menu must be removed when selection ends, and the trial recorded, no matter
-where the finger is. You do not need to check whether the user clicked on the
-correct menu item when you call `endTrial()`. This data will be recorded automatically
-by `ExperimentSession`.
-
-**Drawing your Menu**
-
-Your menu must **ONLY BE VISIBLE** when you are in the `SELECTING` state. You can check this in
-`onDraw()`. In addition, it needs to redraw whenever something important changes (like the selected
-item). Be sure to call `invalidate()` in the appropriate methods of the state machine to make this happen.
-
-For `onDraw()`, your will do some setup that will allow your
-subclasses to draw properly. First, you will need to check if you are
-in the proper state to draw (you must only draw when in the `SELECTING`
-state).
-
-Next, you really want to draw from the `(0,0)` location of the menu,
-rather than the `(0,0)` of the parent. But remember that your width and
-height are set using `MATCH_PARENT`. To fix this, we need to translate
-the coordinate system of the canvas so that `(0,0)` is at the
-`startPoint` for this interaction.
-
-Finally, since this is an abstract class, we need to call the *real*
-drawing method, which our children will implement. This is called
-`drawMenu()` and must be overridden by `PieMenuView`,
-`NormalMenuView`, and `CustomMenuView`.  Therefore, your `onDraw()` implementation in
-`MenuExperimentView.java` will be pretty short.
-
-**Implementing MainActivity**
-
-In `MainActivity` you will implement part of the method
-`showMenuForTrial(ExperimentTrial trial)`. Your main job is to
-register a callback with it that knows what to do when a trial is
-completed.
-
-`MainActivity` also needs to implement the code to respond to
-`onTrialCompleted()`, a method of the TrialListener interface. In
-particular, this code must always remove the current menu being
-shown. Then it must check if the session is over (remember the
-session is an iterator), and if not call `showMenuForTrial()` with the
-next trial. If the session is over, it must update text of
-`InstructionTextView` to say that the session is completed, and also display a
-`Toast` to the same effect. We have provided a method that you may use to announce
-this message (`AbstractMenuExperimentView#announce(String)`), or you may use the `Toast`
-class directly.
-
-**Note:** This means that until the next session is started, the system should not display
-any menus if the user clicks.
-
-**Related APIs**
-* [Toast](https://developer.android.com/reference/android/widget/Toast)
-
-# Part 3: Implement Pie and Normal Menus
-
-**Tasks**
-
-- `NormalMenuView`: Implement `essentialGeometry()` and `drawMenu()`
-- `PieMenuView`: Implement `essentialGeometry()` and `drawMenu()`
-
-Both `PieMenuView` and `NormalMenuView` extend `MenuExperimentView`. You
-will implement `essentialGeometry()` for each and determine what menu item the
-touch event maps to. You'll have to come up with the math logic to map
-from touch event to an item index.
-
-You will also implement `drawMenu()` which at a minimum draws the menus as shown in
-the screenshots. If you want to do something different, you may, as
-long as the size and position of each menu item does not change. For
-example, you can  override the paint properties defined in
-`MenuExperimentView`, position the text differently, or draw more
-decorations on the menus.
-
-Be sure to check the `AbstractMenuExperimentView` starter code for any additional
-values that you must use when creating your menus. Also make sure you are not "shadowing"
-variables (redefining variables already defined in super class).
-
-## NormalMenuView
-
-The Normal Menu will appear where the user touches the screen (as the top/left corner of the menu)
-and extend down and to the right.
-
-For the `NormalMenuView`, `essentialGeometry()` will return -1 if the
-pointer is outside the bounds of the menu in any direction or has
-moved less than `MIN_DIST` (inherited from
-`AbstractMenuExperimentView`) since interaction started. Otherwise
-it must return the "item number" (position in the list) corresponding to
-the menu item that the pointer is currently inside of.
-
-The width of each item in the normal menu is `CELL_WIDTH` and the height is
-`CELL_HEIGHT`.
-
-**Some additional hints for the normal menu**
-- The menu should display on the screen when the user first touches the screen.
-- The indication of the selected menu item should be drawn after entire menu has been drawn. 
-
-## PieMenuView
-
-The Pie Menu will appear centered where the user touches the screen.
-
-For the `PieMenuView`, `essentialGeometry()` will return -1 if the pointer
-has moved less than `MIN_DIST` since selection started, and
-otherwise it will return the  "item number" (position in the list) corresponding to
-the menu item currently being selected. In the case of the Pie menu, the item number is the
-menu item that a ray from the center of the menu to the pointer intersects, with the first
-item being at the top of the pie and increasing as you go clockwise around the circle.
-The pie menu has no maximum diameter, so anything
-outside of the radius `MIN_DIST` around the finger will return a selection.
-
-For PieMenuView, the given `RADIUS` corresponds to the outer radius. The inner radius
-is defined by `RADIUS - TEXT_SIZE * 2`.
-
-**Some additional hints for the pie menu**
-- The menu should display on the screen when the user first touches the screen.
-- The indication of the selected menu item should be drawn after entire menu has been drawn.
-- `drawArc()` will draw a pizza-pie shaped arc, so you can do things
-  like highlight a menu item with a single method call.
-- You will need a rotational offset to ensure the top menu item is at
-  the top of the pie (both when drawing and in essential geometry)
-  because angle is traditionally measured from cardinal east. You can
-  add this in radians before converting from angle to index.
-- Just as in ColorPicker, you should look at the `atan` or `atan2` function to help you calculate
-  your pie menu's `essentialGeometry()` function.
-  - Remember that `atan`/`atan2` return a value between 0..Math.PI or 0 .. -Math.PI. 0
-  being cardinal east and Math.PI or -Math.PI at cardinal west. Also remember that the `y`
-  direction is positive pointing down the canvas, not pointing up
-  like a traditional cartesian coordinate system. This may impact the
-  values returned from trigonometric functions.
-
-  ![:img clarification of atan2](menus-img/math_a20.gif) &nbsp; ![:img clarification of atan2](menus-img/atan2math.png)
-- Your pie menu text does not need to be centered -- as long as it
-  is contained within the outer ring of the pie menu, you are fine.
-
-
-**Related APIs**
-* [Canvas](https://developer.android.com/reference/android/graphics/Canvas): See documentation on `drawArc()` and `drawText()`.
-* [Path](https://developer.android.com/reference/android/graphics/Path): For adding text along a curve
-* [atan2](https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Math.html#atan2(double,double))
-
-
-# Part 4: Implement a Custom Menu
-
-Create a new menu! Working off of the provided `MenuExperimentView` interface, build your
-own third menu. This menu must be different from the Pie/Normal menus. You are encouraged to
-explore user interactions here, and you will receive credit as long as your code shows
-significant effort. Your menu does not have to be great here -- if you choose, you can
-aim to create the "worst menu ever" for this submission. Alternatively, you can aim to
-outcompete our provided menu views!
-
-Be sure to make use of the same abstractions (`essentialGeometry()` and a state machine)
-in this implementation.
-
-# Part 5: Conduct and Write Up User Study
-
-_(not due at the same time as the code portion)_
-
-**Tasks**
-- Conduct user study
-  - Run a trial on yourself
-  - Create a final consent form from [this sample](consent)
-  - Recruit 3 participants
-  - Consent the participants, including having them sign your consent form
-  - Send your APK to any participants who are testing your app remotely
-  - Have them complete a session with `ITEM_MAX` set to at least 4 and
-   `NUM_REPEATS` set to 3.
-  - Download the recorded data
-- Analyze recorded data
-- Write a report
-
-**Conduct User Study**
-
-Start by testing your own program as a participant so you know how long it takes to run a session
-(this information is needed for your consent form). This is also a good time to double check that
-your data is not lost when you download it.
-
-Make a copy of the [consent form](consent) form template and modify it in all of the places marked as
-such (in italics). The language used in your consent form is key, so ensure that it does not come
-off as forceful or coercive.
-
-
-**Recruit participants and have them sign your consent form**
-
-Recruit your 3 participants from family and friends who can safely use your
-app on your device or your emulator in person (co-present), or from the
-random group you have been assigned from class. Please see
-[this document](https://docs.google.com/document/d/11nsEWs3TubV5Zy0zOIGguqZJohkS34uizIrDv-bgnYs/edit)
-for your group members.
-
-Consenting your participants will be very similar whether they are co-present or remote. First, set up
-a time when can speak to your participant (in person, over the phone, or over a Zoom or other
-video conferencing call).
-
-- For a co-present tester: print out two copies of the consent form for each
-participant -- one for them and one for you. Hand them a copy of the consent form before describing the
-study.
-- For remote testers: send a copy of the consent form to the participant prior to your phone call
-or video meeting.
-
-Briefly explain what your user study is about, and ensure they understand
-their participation in the study is voluntary. Do not *coerce* anyone into participating in your
-study. Make sure they know they have a choice, and have read the consent form.
-
-Your participants must acknowledge their consent by "signing" via the Google form (linked
-at the bottom of the consent form template). This form should send you an anonymized copy of their
-consent in email, which you can save and turn in with the rest of your report and reflection.
-
-**Collect data**
-
-Once your participant has been consented, allow them to test the app.
-
-Our implementation uses the ExperimentSession object to create, manage, and record experiment data
-to a `.csv` file that is stored on the phone or emulator. If you are interested, check out the
-`recordResult` function `ExperimentSession.java` to understand how this is being stored.
-
-Testing can happen on either a phone or other native Android device or on an emulator. If on an
-emulator, the participant may use a mouse, trackpad or touch display to interact with the app.
-When collecting data, you should inform users that all interactions
-will begin with tapping on the center of the screen. This should help
-avoid cases where your menu is unusable due to the screen format.
-
-
-_Co-present Testing_
-
-- Use the hamburger menu to select `Clear Result CSV`
-before starting your study so any prior sample testing data does not contaminate your results.
-**Make sure that you do not clear the results between submissions for a co-present study!**
-This will erase your trial data.
-- Ensure the app is in Experiment mode and a new session has started.
-- You will likely want to point out what they are to select is written at the bottom of the screen.
-- If you are doing 3 co-present tests in a row, the app will move to the next session automatically and
-store all of the data sequentially in the `TestResults.csv` file saved to your device. However, this
-data will be erased if you switch back to test mode, so be sure to download any data before you do that.
-
-_Remote Testing_
-- Send your APK to the participant so they can load it onto their own device or into their own
-emulator (as we did with Doodle earlier this quarter). In your
-menu project in Android Studio, select the *Build -> Build Bundle(s)/APK(s) -> Build APK(s)* menu item.
-When the *Build APK(s)* message popup appears in the lower right hand corner, click the *locate* link
-to find the `app-debug.apk`.
-- Send the APK to your participant. Unfortunately you can't email your APK through UW's servers,
-instead we recommend you upload the APK to your Google Drive or One Drive and send your participant
-a link to download it for testing.
-- Have your participant use the hamburger menu to select `Clear Result CSV` before starting
-your study so any prior sample testing data does not contaminate your results, then run one
-experiment session.
-- Once the user study is complete, your participant will need to download their study data from their device
-and send it back to you for analysis.
-- Combine the three participants' data into one common .csv file.
-
-
-Once *all* participants are done and you have one `.csv` file with all of the data,
-it should have at least `ITEM_MAX * NUM_REPARTS * NUM_PARTICIPANTS` (324) data points.
-You will be turning in this file (through Canvas) as part of your final report.
-
-
-*Downloading user testing data*
-
-You can use the Android Studio
-[Device File Explorer](https://developer.android.com/studio/debug/device-file-explorer) to access the file.
-This allows you to directly access the files on your Android device (emulated or physical) through a
-GUI window. Detailed instructions on getting the data off your device can be found on
-[this page](../docs/android_files/).
-
-The data will likely be in `/storage/emulated/0/CSE340_Menus/TestResult.csv`
-or `/sdcard/CSE340_Menus/TestResult.csv`.
-
-Note that each user is given a participant ID when the session is running. These are randomly
-generated numbers from 0-9999. You may renumber these to identify your participants by the order
-in which they tested (1, 2, 3) when you retrieve the downloaded `.csv` file(s).
-
-**Write a Report**
-
-Complete the user study by writing up brief report. We have provided a
-[template](menu-report) for you to use here. Please reference this template as
-necessary, but the information in the report must be your own descriptions.
-
-Your report will require you to attach screen captures of your menu in both an unselected and
-selected state. You can capture a screenshot of the menu in action in one of two ways:
-- On a phone: Touch the screen to display a custom menu with one hand. With your other hand
- [capture a screenshot](https://support.google.com/android/answer/9075928?hl=en). How you do this
- may depend on the device. The resulting screenshot will be stored in the File Manger on your phone.
-- On the emulator: Touch the screen to display a custom menu with one hand. With your other hand
-press the control-S (for Windows) or command-s (for Mac). The resulting screenshot should be found
-on your desktop.
-
-# Part 6: Reflection
-
-Your reflection should be done as Microsoft Word, Google or other type of document.
-Copy the following questions (in italics below) into your refelction document and add
-your responses below each question. You can have more than one answer per page, but if
-you can, please try to avoid page breaks in the middle of
-a question. Insert page breaks between questions as needed.
-
-1. _Attach two screenshots of your custom menu, one where it is in a selected state and one where
-it is in an unselected state. These images may be the same as the ones you included in this report.
-Then re-read our Properties of People Design Tips for [Vision](../slides/wk02/people-vision.html#71)
-and [Motor](../slides/wk06/people-motor.html#65). Which of these design tips did you employ/not employ
-when creating your Custom menu? List at least one Visual design tip and one Motor design tip and be
-specific in describing what part(s) of your menu's operation utilized these tips._
-
-2. _Given the structure of our Pie/Normal menus, how would you create an accessible menu when
-working with the MenuExperimentView class? What could make ensuring the menu is accessible
-difficult? (Rephrasing that last question: "If you were trying to ensure that your
-menu is accessible, what aspects would be difficult?")_
-
-3. _As written, these menus can potentially appear all or partially off the phone screen.
-When would this case happen, how might that appear, and how could you account or prevent this
-from occurring? Would your solution work for all three types of menus?_
-
-# Submission Instructions
-
-You will change ONLY the following files. These will be submitted to GitGrade.
-
-Part 1-4:
-- MainActivity.java
-- MenuExperimentView.java
-- NormalMenuView.java
-- CustomMenuView.java
-- PieMenuView.java
-
-Part 5-6:
-
-Your reflection and report will be uploaded to Gradescope. This will include:
-
-- TestResult.csv
-- Sample consent form
-- Evidence of three "signed" consent forms (either three scanned forms with the "sun signature" or
-copies of the three auto reply emails you get from the google form consent acknowledgement.)
-- Report
-- Reflection
-
-Your participants must also fill out the on line (Google)
-[consent form](CSE 340 20sp Menus User Study Consent) acknowledging that they agree to
-be a participant and identifying you as a tester.
-
-You must also turn in your combined csv file so we can create one large data set.
-This .csv will be turned in through Canvas and *NOT* be put turned in with the rest of your report.
-
-## Grading Rubric
-
-This HW will be out of 68-70 points and will roughly (subject to small adjustments) be distributed as:
-
-Code portion (33-35 points)
-- State machine implementation works: (12 pts)
-- Normal menu draws correctly (3 pts)
-- Pie menu draws correctly (3 pts)
-- Normal & Pie menus correctly implement essential geometry (5 pts)
-- Custom menu works (2 pts)
-- Trials & callbacks handled correctly (4 pts)
-- onDraw translates correctly (1 pt)
-- Code quality (3 pts)
-
-Experiment Portion (35 points)
-- Reasonable CSV output: 1pt
-- Consent form: 2pt
-- Three participants consented via form: 1pt
-- Report:
-  - Introduction: 1pt
-  - Description of study process: 6 pts
-  - Demonstrate understanding of results: 5pts
-  - Makes appropriate/good use of charts: 4pts
-  - Draw appropriate conclusions about linear vs. pie menu vs custom menu: 5pts
-- Reflection (10pts)
diff --git a/assignments/reflection.md b/assignments/reflection.md
deleted file mode 100644
index 6c1f666860944635bdd06b6e54ade5eff4121bd6..0000000000000000000000000000000000000000
--- a/assignments/reflection.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: default
----
-
-# What is a Reflection
-
-
-A running theme in this course will be reflecting on our work and our work practices.
-
-**Reflection** is a way to examine the present while critically looking at the past in order to
-inform the future. It is also a vital part of the engineering process, and will be a vital part of
-you honing your skill as a Programmer, Computer Scientist, and/or Engineer.
-
-In general, what does it mean to reflect well:
-
-- First and foremost, the reflection answers any guiding questions given.
-- Specific details of the experience(s) being reflected upon are described clearly and
-concisely and in such a way that a non-expert (in this field) reader can understand. This does not
-mean you must explain it so that a novice reader can understand the problem deeply, just a
-non-expert (someone who knows the field but is not an expert in the field.) **Note** that a
-reflection is NOT just a factual recounting of a situation or situation(s).
-- There is a “depth” to the reflection. There are a number of ways to make a reflection deep, thoughtful and thorough.
-  - The reflection elaborates what the significance and meaning are of the given examples and why they are particularly important.
-  - The reflection includes a personal reaction to the events or examples described. Reactions are
-   open and honest and indicate the writer's ability to appraise what is presented.
-  - The reflection describes connections between these details and other events,
-  examples, ideas or concepts from the past or present.
-  - The reflection may raise questions or have implications on future work.
diff --git a/assignments/sensing.md b/assignments/sensing.md
deleted file mode 100644
index 9673a2d86b42a00243dada6cf399df68bf36c9bd..0000000000000000000000000000000000000000
--- a/assignments/sensing.md
+++ /dev/null
@@ -1,300 +0,0 @@
----
-layout: assignment
-published: draft
-
-title: Sensing
-code: EX5
-
-assigned: <!-- Tuesday, May 28, 2019 -->
-due: <!-- 11:59 PM Friday, May 31, 2019 -->
-revised: <!-- 10:08 PM Thursday, May 30, 2019 -->
-
-objective: Access Android sensors as the preparation to build context aware application.
-
-android_goals:
-  - Learn Android Awareness APIs
-  - Load sensor data
-  - Understand how and when to use Snapshot or Fence
----
-
-- TOC
-{:toc}
-
-This is part 1 of a group assignment. You should get this working on
-your own, but then work as a group to make an app that uses sensed
-data. Every group will have one person with an android phone, or
-access to an android phone, and you should work together to make sure
-individual group members can all test their part 1 code using the
-group phone.
-
-Tasks:
-- Add snapshot support for the following sensors:
-  - Headphone
-  - Location
-  - User Activity
-- Use fence support to listen for changes to the following sensors:
-  - Location (detect whether in CSE)
-  - Activity (detect whether walking)
-- Create an app that responds to implicit data (i.e. reacts to a change in context)
-
-Context awareness capabilities enable mobile phones to sense their physical environment and adapt their behavior accordingly. You can practice how to load and react to data from different sensors in this exercise, as the preparation to build context aware app in the final assignment.
-
-According to Google, "[The Awareness API](https://developers.google.com/awareness/) unifies 7 location and context signals in a single API, enabling you to create powerful context-based features with minimal impact on system resources."
-
-It supports combining and working with 7 signals including time, location, places, beacons, headphones, activity and weather.
-
-There are two ways to get context from sensors: `Snapshot` and `Fence`
-- Snapshot will return the most recent (may not be realtime) information from sensor.
-- Fence will be triggered when the sensor data changes (based on the signal conditions you set). You may also combine multiple conditions to create a smarter fence.
-
-We already provide example code to get weather, using snapshot, and headphone state, using fence. Your job will be to add additional sensors
-
-# Preparing to run the app
-You will need to set some things up
-
-## 1) Get your API Key and put it in the app Manifest.xml
-
-Follow the ["Quick Guide"](https://developers.google.com/places/web-service/get-api-key)
-To use this guide, you will be asked at some point about whether you want to create a new app (the answer is yes, name it something like cse340-LaughingChipmunks, or whatever your repository name is, the names have to be unique).
-
-You'll be asked to set up a billing account. However, for the minor use in this class, it shouldn't cost you anything. If this is a problem at all (e.g. you don't have a credit card), please reach out privately on Ed.
-
-When the interface gives you your API key **copy it and don't lose it**. That is the only time you'll ever see it for security reasons, you'll have to create a new app if you lose it.
-
-When you have your API key, go to your android manifest and paste it in between the quotation marks labeled `YOUR_KEY_HERE`.
-
-```xml
-        <meta-data
-            android:name="com.google.android.awareness.API_KEY"
-            android:value="YOUR_KEY_HERE"/>
-        <meta-data
-            android:name="com.google.android.geo.API_KEY"
-            android:value="YOUR_KEY_HERE"/>
-```
-
-If you have a hard time with this, contact us on Piazza, and we will
-provide you with a key. However it should be used for this assignment
-only, not for future android programming, and not shared with anyone
-else.
-
-## 2) Prepare a virtual device that is based on Oreo (API v. 26)
-
-## 3) Run your app and update things
-
-1) Allow location permissions
-
-<!-- TODO: Why do these use px dimensions? They should use [:img alt, XX%] for better mobile support -->
-![Screenshot of enabling sensing](sensing/enable-sensing.png){:width="200px"}
-
-2) Click on 'User Activity Snapshot'. This will cause an error telling
-you that play needs to be enabled as shown here. If it goes away (it's
-a notification), just click the same button again.
-
-![Screenshot of enabling play request](sensing/enable-play.png){:width="200px"}
-
-3) When you click on the notification, it will take you to a sign in
-screen for play store. Sign in using your google account. Agree to the
-terms of service; you don't have to agree to back up to google drive
-though (just turn that off by moving the slider and then press agree)
-
-4) When it sends you back to your app, press on the square button at
-the bottom of the screen and switch back to google play services.
-
-![Screenshot of switching](sensing/switching.png){:width="200px"}
-
-Android will show a big 'Update' button or you can just wait and it will
-download and update, as shown here:
-
-![Screenshot of play updating](sensing/play-updating.png){:width="200px"}
-
-5) Switch back to your app again and press 'User Activity
-Snapshot'. Wait patiently. Rejoice when you see the following (or
-something similar)
-
-![Screenshot of activity results](sensing/activity.png){:width="200px"}
-
-## For advanced awareness things (optional)
-
-You'll need to enable one more API than the automated quick guide does for you. This is the *awareness api*. To enable it, search for it in the search bar as shown here:
-
-![Screenshot of awareness search](sensing/apisearch.png)
-
-Click on the search result, and select **Enable.** You'll then need to click on the **Create Credentials** button and create credentials. Again, you'll get an API string which you'll need to add to your manifest, in the other API KEY meta data (just below the geo one).
-
-
-## What the app looks liken
-
-Here are sample screenshots for sensor results:
-
-<span style="color: red;">Note: the weather screenshots display `&#x2103` where they should display °</span>
-
-![Screenshot of sensor list](sensing/1.png){:width="200px"}
-![Screenshot of headphone snapshot](sensing/2.png){:width="200px"}
-![Screenshot of location snapshot](sensing/3.png){:width="200px"}
-![Screenshot of weather snapshot](sensing/5.png){:width="200px"}
-![Screenshot of detected activity snapshot](sensing/6.png){:width="200px"}
-![Screenshot of headphone fence](sensing/7.png){:width="200px"}
-![Screenshot of location fence](sensing/8.png){:width="200px"}
-![Screenshot of detected activity fence](sensing/9.png){:width="200px"}
-
-Here is a [link to a video of it in
-use](https://youtu.be/oF0i2lL4EUE).
-
-<span style="color: red;">Note: the video does not exhibit the updated behavior of fences prepending text to the beginning of the existing text</span>
-
-## Simulating input if using an emulator
-Although we ask that the group member with the phone donate phone time
-for testing, you should start by testing your code with the emulator,
-and should be able to  reproduce this video.
-
-To test your app, first use the
-[simulation
-capabilities](https://developer.android.com/studio/run/emulator#extended)
-built into the emulator. You bring it up by clicking on the "..."
-shown in red in the bottom right of the below image. Note that this is
-buggy -- it doesn't always work, sometimes it is slow, and it doesn't
-always update when you want. According to the [Awareness Fence Troubleshooting
-page](https://developer.android.com/training/location/geofencing#Troubleshooting),
-
-*Alerts can be late. The geofence service doesn't continuously
-query for location, so expect some latency when receiving
-alerts. Usually the latency is less than 2 minutes, even less when the
-device has been moving. If Background Location Limits are in effect,
-the latency is about 2-3 minutes on average. If the device has been
-stationary for a significant period of time, the latency may increase
-(up to 6 minutes).*{:.quote}
-
-Location changes are generally only
-registered if you switch to maps in the emulator, and then back to
-your app. Otherwise you will get a timeout error for location, and
-weather (which depends upon location).
-
-Despite all this, the emulator is still useful because it can help you make sure your code
-doesn't crash.
-
-### Location Simulation
-![Screenshot of emulator with simulator running](sensing/simulator.png){:width="400px"}
-
-### Headphone Simulation
-![Screenshot of emulator with simulator running](sensing/headphone.png){:width="400px"}
-
-### Weather Simulation
-![Screenshot of emulator with simulator running](sensing/weather.png){:width="400px"}
-
-Using this you can in principal simulate location, either current location or a
-whole route. To simulate a route, you can upload gps traces to
-simulate motion over time. [Here](sensing/Test.gpx) is one that moves in and out of CSE. A good place to download sample traces is
-[OpenStreetMap's traces
-page](https://www.openstreetmap.org/traces/). If you want to double
-check the results of location, here are [instructions on how to find a
-place in google maps using
-lat/long](https://support.google.com/maps/answer/18539?co=GENIE.Platform%3DDesktop&hl=en)
-You can also create your own route by modifing the lat/long in a trace
-(or making your own from scratch using the [GPS exchange
-format](https://en.wikipedia.org/wiki/GPS_Exchange_Format) **HOWEVER**
-we were not able to get this working with the Sensing app and suspect
-a bug in the emulator.
-
-You can also simulate weather (find it in the 'Virtual sensors' part
-of the simulator). **HOWEVER** again this doesn't seem to be reflected
-in the sensing app, potentially due to a bug.
-
-You can simulate headphones in the 'Microphone' tab of the
-simulator. **GOOD NEWS** this should work both for testing your
-headphones snapshot and headphones fence.
-
-We have not found a way to simulate activity.
-
-# Files provided
-The files provided are
-
-```
-Snapshot:
-ActivitySnapshotListener.java
-
-Fence:
-ActivityFenceListener.java
-FenceBroadcastReceiver.java
-```
-
-The files you will implement are:
-
-```
-Snapshot:
-HeadphoneSnapshotListener.java
-LocationSnapshotListener.java
-WeatherSnapshotListener.java
-
-Fence:
-HeadphoneFenceListener.java
-LocationFenceListener.java
-
-MainActivity.java
-```
-
-### Snapshot implementation
-All SnapshotListeners should implement
-ContextActivity.SnapshotListener. They should
-respond to the input received via `onSnapshot(Response response)`,
-by drawing text on the screen in the update
-`TextView`.
-
-The `Response` object will contain the specific information to
-display.
-
-### Fence implementattion
-For fences to work, you will need to implement
-`setupFenceListeners()` in `MainActivity.java`. In addition, you will
-need to complete the implementation of the two `FenceListener`
-classes, `HeadphoneFenceListener.java` and `LocationFenceListener.java`
-
-All fences should inherit from `FenceBroadcastReceiver.java` and
-implement
-`FenceBroadcastReceiver.FenceActivityListener`. They will need to
-implement three methods that respond to fence updates:
-`during(FenceState state)`,
-`starting(FenceState state)` and `stopping(FenceState state)` by updating text on the screen in
-the update `TextView`.
-
-The information to display will depend on the fence state. You will
-have to interpret this based on your knowledge of what you did to set
-up the fence. For instance, the locations given for the location fence
-will result in `state = FenceState.TRUE` in when `duringFence()` is
-called while the user is inside of the CSE building.
-
-There are detailed comments in the code files you will implement that will direct you through the assignment.
-
-# Turn-in
-
-## Submission Instructions
-
-You will turn in the following files [here](https://gitgrade.cs.washington.edu/student/assignment/64/turnin):
-
-```
-- HeadphoneSnapshotListener.java
-- LocationSnapshotListener.java
-- WeatherSnapshotListener.java
-- HeadphoneFenceListener.java
-- LocationFenceListener.java
-- MainActivity.java
-```
-
-You may also change:
-```
-- strings.xml
-- activity_main.xml
-- Any class you create that did not previously exist
-```
-
-## Grading (5pts)
-
-- Get API Keys: 1pt
-- Snapshots all work:
- - Location: .5pt
- - Headphone: .5pt
- - Weather: .5pt
-- Fences all work:
- - Headphone .5pt
- - Location .5pt
-- MainActivity sets things up correctly: .5pt
-- Code Organization and Style: 1 pt
diff --git a/assignments/sensing/1.png b/assignments/sensing/1.png
deleted file mode 100644
index aa18e9e8127d10337b85787f4c3183c6e260749f..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/1.png and /dev/null differ
diff --git a/assignments/sensing/2.png b/assignments/sensing/2.png
deleted file mode 100644
index a856b5246a0993c1989a78ab3674615d17c9f52d..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/2.png and /dev/null differ
diff --git a/assignments/sensing/3.png b/assignments/sensing/3.png
deleted file mode 100644
index f60092155f8f517cff64f3ff0cfb0df7ff6f0504..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/3.png and /dev/null differ
diff --git a/assignments/sensing/5.png b/assignments/sensing/5.png
deleted file mode 100644
index 90cb3d48a591e2f3ea7ba579bfff1e613135efa6..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/5.png and /dev/null differ
diff --git a/assignments/sensing/6.png b/assignments/sensing/6.png
deleted file mode 100644
index 9ab549f2a54e145edc1c79e91b68afa59e543eb5..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/6.png and /dev/null differ
diff --git a/assignments/sensing/7.png b/assignments/sensing/7.png
deleted file mode 100644
index 010d628641b10befffdd380ad95f066051d32800..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/7.png and /dev/null differ
diff --git a/assignments/sensing/8.png b/assignments/sensing/8.png
deleted file mode 100644
index 86efe8c08321b408604e60b492a6f403159a5d3a..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/8.png and /dev/null differ
diff --git a/assignments/sensing/9.png b/assignments/sensing/9.png
deleted file mode 100644
index 3aaa5c17f5ab1b139f6828dafbd284e4c1c67342..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/9.png and /dev/null differ
diff --git a/assignments/sensing/Test.gpx b/assignments/sensing/Test.gpx
deleted file mode 100644
index f7b004877a0c5b8da71e0e55d7c8bb68dfeb2fc9..0000000000000000000000000000000000000000
--- a/assignments/sensing/Test.gpx
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0"?>
-<gpx version="1.1" creator="gpxgenerator.com">
-<wpt lat="47.65379706591215" lon="-122.30192147338511">
-    <ele>15.01</ele>
-    <time>2018-11-14T04:23:56Z</time>
-</wpt>
-<wpt lat="47.653464621123724" lon="-122.30413161361338">
-    <ele>32.43</ele>
-    <time>2018-11-14T04:24:24Z</time>
-</wpt>
-<wpt lat="47.653464621123724" lon="-122.30477534377695">
-    <ele>36.13</ele>
-    <time>2018-11-14T04:24:32Z</time>
-</wpt>
-<wpt lat="47.65352243776071" lon="-122.30546198928477">
-    <ele>36.91</ele>
-    <time>2018-11-14T04:24:40Z</time>
-</wpt>
-<wpt lat="47.6531610827294" lon="-122.30582676971079">
-    <ele>32.73</ele>
-    <time>2018-11-14T04:24:48Z</time>
-</wpt>
-<wpt lat="47.653377896048234" lon="-122.30627738082529">
-    <ele>36.88</ele>
-    <time>2018-11-14T04:24:54Z</time>
-</wpt>
-<wpt lat="47.65395606049759" lon="-122.30653487289072">
-    <ele>38.36</ele>
-    <time>2018-11-14T04:25:05Z</time>
-</wpt>
-<wpt lat="47.65469321088665" lon="-122.30735026443125">
-    <ele>39.41</ele>
-    <time>2018-11-14T04:25:22Z</time>
-</wpt>
-<wpt lat="47.654620941700756" lon="-122.30784379088999">
-    <ele>40.08</ele>
-    <time>2018-11-14T04:25:28Z</time>
-</wpt>
-<wpt lat="47.65453421854566" lon="-122.30876647079111">
-    <ele>42.10</ele>
-    <time>2018-11-14T04:25:39Z</time>
-</wpt>
-<wpt lat="47.65483774895839" lon="-122.30936728561045">
-    <ele>42.50</ele>
-    <time>2018-11-14T04:25:48Z</time>
-</wpt>
-<wpt lat="47.65584950425836" lon="-122.30971060836436">
-    <ele>47.10</ele>
-    <time>2018-11-14T04:26:07Z</time>
-</wpt>
-<wpt lat="47.65648486332888" lon="-122.31038331985474">
-    <ele>47.17</ele>
-    <time>2018-11-14T04:26:21Z</time>
-</wpt>
-</gpx>
\ No newline at end of file
diff --git a/assignments/sensing/activity.png b/assignments/sensing/activity.png
deleted file mode 100644
index ceb064ea369c2852230d480971aea80905b32561..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/activity.png and /dev/null differ
diff --git a/assignments/sensing/apisearch.png b/assignments/sensing/apisearch.png
deleted file mode 100644
index 5189183ebcd008ceefb3981814c528b76490fc70..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/apisearch.png and /dev/null differ
diff --git a/assignments/sensing/emulator.png b/assignments/sensing/emulator.png
deleted file mode 100644
index 4c13f382bc29aedb06572d3c6f4071787719a33a..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/emulator.png and /dev/null differ
diff --git a/assignments/sensing/enable-play.png b/assignments/sensing/enable-play.png
deleted file mode 100644
index a1fba336913b18a4e208b828c57c85d5f08e2966..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/enable-play.png and /dev/null differ
diff --git a/assignments/sensing/enable-sensing.png b/assignments/sensing/enable-sensing.png
deleted file mode 100644
index ab41fa31392e7b1ca74e9c2c1911d513f245ff68..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/enable-sensing.png and /dev/null differ
diff --git a/assignments/sensing/headphone.png b/assignments/sensing/headphone.png
deleted file mode 100644
index 0dcb029d150a4045a1ade3a280260a568521a75f..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/headphone.png and /dev/null differ
diff --git a/assignments/sensing/play-updating.png b/assignments/sensing/play-updating.png
deleted file mode 100644
index 82aea37305ecdbcddb0c26416ec6a5e742d5a166..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/play-updating.png and /dev/null differ
diff --git a/assignments/sensing/play.png b/assignments/sensing/play.png
deleted file mode 100644
index 0170d1cd14c5988a3b6bda438badd5c7a27d3314..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/play.png and /dev/null differ
diff --git a/assignments/sensing/simulator.png b/assignments/sensing/simulator.png
deleted file mode 100644
index 54a4caf41a187e65ea66aa2d09868f8f12eceeb4..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/simulator.png and /dev/null differ
diff --git a/assignments/sensing/switching.png b/assignments/sensing/switching.png
deleted file mode 100644
index 33ba754479e653b824d319dd4aa1f7888191aa69..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/switching.png and /dev/null differ
diff --git a/assignments/sensing/weather.png b/assignments/sensing/weather.png
deleted file mode 100644
index 636bfb397f68d178ff671cc5e24fc26e816cf5f2..0000000000000000000000000000000000000000
Binary files a/assignments/sensing/weather.png and /dev/null differ
diff --git a/assignments/undo-img/1stroke.png b/assignments/undo-img/1stroke.png
deleted file mode 100644
index 74f5c3b15d18628f20ebe94dbfd5653e06c563b6..0000000000000000000000000000000000000000
Binary files a/assignments/undo-img/1stroke.png and /dev/null differ
diff --git a/assignments/undo-img/blank.png b/assignments/undo-img/blank.png
deleted file mode 100644
index 3b6866045aa154932680bd93a76a35dc684da912..0000000000000000000000000000000000000000
Binary files a/assignments/undo-img/blank.png and /dev/null differ
diff --git a/assignments/undo-img/start-recording.png b/assignments/undo-img/start-recording.png
deleted file mode 100644
index 74071876de4b175e0924d17b137b47c4dcfe8a46..0000000000000000000000000000000000000000
Binary files a/assignments/undo-img/start-recording.png and /dev/null differ
diff --git a/assignments/undo-img/tab-of-options.png b/assignments/undo-img/tab-of-options.png
deleted file mode 100644
index 7ae27b1907727b38c63253e1fed5c6c7f7b37956..0000000000000000000000000000000000000000
Binary files a/assignments/undo-img/tab-of-options.png and /dev/null differ
diff --git a/assignments/undo-report.md b/assignments/undo-report.md
deleted file mode 100644
index 670d72aade8b9cac005c25b86b63b09d47507041..0000000000000000000000000000000000000000
--- a/assignments/undo-report.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: default
----
-# Report on Undo Assignment
-
-*Comments about what should be in your report can be found in italics.
-**Please remove the comments and replace them with your own words**.*
-
-## Introduction
-*Write two sentences describing the Undo drawing app and its core features
-(drawing strokes with different thickness and color, undo and redo).*
-
-*Include a picture of your improvement*
-
-*Write a paragraph describing the additional features that you added to the app. Fully
-explain the improvement, justify why the improvement is based on the principles presented
-in class, and describe how accessibility was addressed (maybe include quoted code that addresses the
-accessibility issue).*
-
-## Report on Heuristic Evaluation of application
-
-*Describe the purpose of the experiment. What do you expect to learn from conducting a Heuristic Evaluation?*
-
-### Tasks
-*Describe the tasks that are being tested in your heuristic evaluation.
-This should summarize all of the steps that are being done for your video*.
-
-### Data
-*How many people provided feedback to you?*
-
-
-*Group like issues; Write up a summary as described in lecture*
-
-*Provide a table of issues and severity. You can group like issues, even though they may be labeled under different issues if it truly is the same thing.*
-
-| Priority | Issue | Good/Bad | Step | Heuristic(s) | Severity: F | B | P | Overall |
-|------|-------|----------|------|---------------|--------------|--------------|--------------|--------------------|
-| |       |          |      |               |              |              |              |                    |
-| |       |          |      |               |              |              |              |                    |
-| |       |          |      |               |              |              |              |                    |
-
-## Overview of what you learned
-
-*Highlight the biggest problem or problems with your interface*
diff --git a/assignments/undo.md b/assignments/undo.md
deleted file mode 100644
index 9cedfe4d340c7cf85a082802591dc278a5606787..0000000000000000000000000000000000000000
--- a/assignments/undo.md
+++ /dev/null
@@ -1,665 +0,0 @@
----
-layout: assignment
-published: true
-
-title: Undo
-code: as6
-
-assigned: May 22nd
-due:
-- Programming <br>
-  - <strong>Due</strong> June <del>1</del> 3, 2020, 10:00pm<br>
-  - <strong>Lock</strong> June 3, 2020, 10:00pm
-- Heuristic Evaluation <br>
-  - <strong>Due</strong> June 5, 2020, 10:00pm (no leeway)
-- Reflection <br>
-  - <strong>Due</strong> June 8, 2020, 10:00pm
-
-revised: 9:00pm, Wednesday, May 20th, 2020
-
-objective: Understand Undo Abstractions, practice Heuristic Evaluation
-
-android_goals:
-  - Be able to understand and modify an existing user interface
-  - Learn about floating action buttons
-  - Implement core data structure for Undo
-hci_goals:
-  - Modify and existing app in a consistent fashion
-  - Make your modifications accessible
-  - Make your modifications usable
-  - Use heuristic evaluation to assess an app
----
-
-* TOC
-{:toc}
-
-# GitGrade links
-
-[Accept the Assignment](https://gitgrade.cs.washington.edu/student/assignment/128) / [Turn-in the Assignment](https://gitgrade.cs.washington.edu/student/assignment/128/turnin) / [Review your Submissions](https://gitgrade.cs.washington.edu/student/summary/8723)
-
-# Overview of assignment
-
-- Handle undo/redo operations (required)
-- Add a new thickness (0) to your app (required)
-- Replace the color menu with a ColorPickerView (required)
-- Make sure the button you add is accessible (required)
-- Improve your app by adding a feature (not thickness, required)
-- Make sure your change is accessible (required)
-- Try to identify at least one usability problem and address it
-  (optional)
-- Provide Heuristic Evaluation feedback to others (required)
-- Reflect on the Heuristic Evaluation feedback you recieved from others in your report (required)
-- Think about how course concepts apply to Undo in your reflection (required)
-
-
-Demo of our solution:
-
-<iframe width="560" height="315" src="https://www.youtube.com/embed/ClIx2wacu8M" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
-# Explanation of Codebase
-
-This is one of the more complex programs we are giving you in terms of
-code. Moreover the starter code is already has a couple of fully functional features that
-you will be modifying as part of this assignment.
-
-The initial interactor hierarchy at instantiation is shown below
-(shown at the side is a legend for the visibility status of different
-interactors). Hidden means on screen and drawn but hidden behind
-something else.
-
-The Floating Action Button (FAB) subtrees are the
-menus at the top of the screen (for undo and redo) and bottom (for
-color and thickness), made up of one or more floating
-action buttons. The `DrawingView` is the place where drawing takes
-place. Each new stroke is saved as a separate, new `StrokeView` added
-to the `DrawingView`.
-
-The FABs in this assignment refer to [Floating Action
-Buttons](https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.html).
-
-<div class="mermaid">
-graph TD
-M[ReversibleDrawingActivity] --> D[DrawingView]
-M --> FUndo[FAB:Undo]
-M --> FRedo[FAB:Redo]
-M --> FColor[FAB:Color]
-M --> FThick[FAB:Thickness]
-FColor --> Red[Red]
-FColor --> Green[Green]
-FColor --> Blue[Blue]
-FThick --> Thin[Thin]
-FThick --> Med[Med]
-FThick --> Thick[Thick]
-
-Vis[Visible] --> In[Invisible]
-In --> Hid[Hidden]
-
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-
-class M,D,FColor,FThick,Vis start
-class Red,Green,Blue,Thin,Med,Thick,Hid normal
-
-</div>
-
-When the user draws on screen (by clicking and dragging inside the
-`DrawingView`, this adds a new `StrokeView` to the interface. Notice
-that the `Undo` button is now visible instead of invisible because there
-is an action to undo.
-
-<div class="mermaid">
-graph TD
-M[ReversibleDrawingActivity] --> D[DrawingView]
-D --> Stroke1[StrokeView]
-M --> FUndo[FAB:Undo]
-M --> FRedo[FAB:Redo]
-M --> FColor[FAB:Color]
-M --> FThick[FAB:Thickness]
-FColor --> Red[Red]
-FColor --> Green[Green]
-FColor --> Blue[Blue]
-FThick --> Thin[Thin]
-FThick --> Med[Med]
-FThick --> Thick[Thick]
-Vis[Visible] --> In[Invisible]
-In --> Hid[Hidden]
-
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-
-class M,D,Stroke1,FUndo,FColor,FThick,Vis start
-class Red,Green,Blue,Thin,Med,Thick,Hid normal
-
-</div>
-
-The sequence in the interface:
-
-<img src="undo-img/blank.png" alt="Empty drawing program window" height="400">
-<img src="undo-img/1stroke.png" alt="Drawing program window with one red stroke and undo button visible" height="400">
-
-You can play around with the interface to change color and
-thickness. Each new stroke you add adds another `StrokeView` to the interface.
-
-# Codebase Structure
-
-This is a complete codebase for a drawing program. It is designed to
-be as modular as possible and includes support for _Command Objects_ which
-encapsulate changes to the application model.
-
-## Actions
-
-Actions are Command Objects, which encapsulate changes to the
-application model. An `AbstractAction` has a single method, `doAction(view)` which,
-when called, will apply the action to the view (our provided implementation is incomplete)
-
-`AbstractReversibleAction` extends `AbstractAction` to add `undoAction(view)` which,
-when called, reverses the action.
-
-
-<div class="mermaid">
-classDiagram
-
-AbstractAction <|.. AbstractReversibleAction
-AbstractReversibleAction <|.. ChangeColorAction
-AbstractReversibleAction <|.. ChangeThicknessAction
-AbstractReversibleAction <|.. AbstractReversibleViewAction
-AbstractReversibleViewAction <|.. StrokeAction
-
-class AbstractAction {
-  doAction()
-}
-
-class AbstractReversibleAction {
-  +boolean done
-  +undoAction
-}
-
-class AbstractReversibleViewAction  {
-  +invalidate
-}
-
-
-</div>
-
-As with events, `AbstractActions` are part of an inheritance
-hierarchy. `AbstractReversibleAction` has three subclasses --
-`ChangeThicknessAction`, `ChangeColorAction` and `StrokeAction`.
-All of them modify properties of the `DrawingView`
-class. `ChangeThicknessAction` modifies the stroke width, `ChangeColorAction`
-will modify current color of the stroke, and the , and `StrokeAction.`represents
-the creation of a child view object that encapsulates a painted stroke (a `StrokeView`
-that is added to the `DrawingView`).
-
-## Application Code (`/app`)
-
-We've mentioned a `DrawingView` (which is the main canvas for the
-drawing application) and `StrokeView` (which encapsulates a specific
-stroke for the drawing application).
-
-<div class="mermaid">
-classDiagram
-
-AbstractDrawingActivity <|.. AbstractReversibleDrawingActivity
-AbstractReversibleDrawingActivity <|.. ReversibleDrawingActivity
-class AbstractDrawingActivity {
-  DrawingView: "Canvas the user draws on"
-  addMenu()
-  addCollapsableMenu()
-  doAction()
-}
-
-class AbstractReversibleDrawingActivity {
-  +AbstractStackHistory
-  +doAction()
-  +undo()
-  +redo()
-}
-
-class ReversibleDrawingActivity {
-  +onAction()
-  +onColorSelected()
-  +onThicknessSelected()
-}
-
-class StrokeView {
-   Path
-   onDraw()
-}
-</div>
-
-- `AbstractDrawingActivity` is an abstract class for an app that supports
-  drawing without support for Undo. If you changed the manifest to use
-  it (you would need to make it not abstract first), you would see
-  blank canvas that you can draw on with no thickness or color options.
-  *NOTE: if you do this experiment, remember to make it abstract again when you're done!*
-- `AbstractReversibleDrawingActivity` extends `AbstractDrawingActivity` and adds
-  support for undo to it, including both the undo/redo buttons and the
-  history. You can try changing the manifest to use this as well (not
-  abstract). *NOTE: if you do this experiment, remember to make it abstract again when you're done!*
-- `ReversibleDrawingActivity` inherits from
-  `AbstractReversibleDrawingActivity`. It adds support for thickness and color
-  to the undo/redo support in `AbstractReversibleDrawingActivity`. It also
-  adds menus to show them. You can make a drawing application without
-  support for history by changing `ReversibleDrawingActivity` to inherit from
-  `AbstractDrawingActivity` instead.
-- `DrawingView` is the canvas on which drawing takes place. Drawings
-  are made up of `StrokeView` classes which are added to the
-  `DrawingView`. This class also implements a PPS (shown below) which
-  responds to `onTouchEvent()` by creating `StrokeViews`.
-- `StrokeView` is a single stroke. A stroke has a `path` and `paint`
-  object which define it.
-
-<div class="mermaid">
-graph LR
-S((.)) --> A((Start))
-A -- "Press:onDrawStart()" --> I(Drawing)
-I -- "Release:onDrawEnd()" --> E[End]
-I -- "Cancel:onDrawCancel()" --> E[End]
-I -- "Move:onDrawMove()" --> I
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF
-
-class S invisible
-class A start
-class E finish
-class I normal
-
-</div>
-
-# Parts 1-5: Programming requirements
-
-There are five parts for the programming portion of this assignment:
-- Part 1: Implement `ChangeThicknessAction`
-- Part 2: Implement history
-- Part 3: Add a thickness 0 FAB to the thickness menu
-- Part 4: Integrate `ColorPickerView`
-- Part 5: Add a new feature to your app. Make sure it is accessible
-
-You can also (optionally) work on improving the usability
-
-## Part 1: Implement `ChangeThicknessAction`
-
-In order to familiarize yourself with Actions and reversible logic, implement
-`ChangeThicknessAction`. This will be very similar to `ChangeColorAction`, you should read and
- understand that code before implementing your `ChangeThicknessAction`.
-
-## Part 2: History
-
-`Actions` are the objects that are used in the history. An
-`AbstractHistory` simply allows an `AbstractReversibleAction` to be added and supports `undo()`
-and `redo()`. We subclass this with a stack-based history class called `StackHistory` to support
-`undo()` and `redo()`. You will implement the methods to support these features in this `StackHistory` class.
-
-A `StackHistory` has a `capacity` (a max number of actions that it can
-store), a `undoStack` (the history) and a `redoStack` (actions that
-have been undone and can be re-applied). It also supports specific capabilities you must implement (see comments in the code
-for specifically what to do):
-
-- `addAction()` adds an action to the history stack
-- `undo()` undo the top action in the history stack
-- `redo()` redo the top action in the redo stack.
-- `clear()` reset everything
-
-<div class="mermaid">
-classDiagram
-
-AbstractStackHistory <|.. StackHistory
-class AbstractStackHistory {
-  addAction(AbstractReversibleAction action)
-  undo()
-  redo()
-  canUndo()
-  canRedo()
-}
-
-class StackHistory {
-   +capacity: "Max stack size"
-}
-
-
-</div>
-
-__Related APIs__
-
-[Deque](https://developer.android.com/reference/java/util/Deque)
-
-### Undo/Redo behavior
-
-Here is a scenario where the user draws a stroke in the default
-color/thickness (1), changes the color (2), changes the thickness (3), and draws
-another stroke (4) in the original thickness and color, with various
-undos and redos mixed in.
-
-| Action               | Undo Stack | Redo Stack | Interface state |
-| -------------------- | ---------- | ---------- | --------------- |
-| drawstroke (1)       | 1          |            | 1               |
-| change color (2)     | 1,2        |            | 1,2             |
-| undo                 | 1          | 2          | 1               |
-| redo                 | 1, 2       |            | 1, 2            |
-| change thickness (3) | 1, 2, 3    |            | 1, 2, 3         |
-| undo                 | 1, 2       | 3          | 1, 2            |
-| undo                 | 1          | 3, 2       | 1               |
-| drawstroke (4)       | 1, 4       | CLEARED    | 1, 4            |
-| undo                 | 1          | 4          | 1               |
-
-## Requirement 3: Adding a thickness 0 FAB to the thickness menu
-
-There are two main things you will need to do to add one.
-
-First, you find the right place in `thickness_menu.xml` to
-modify. For example, this is the XML in that file for the thickest FAB
-Action Button:
-
-```XML
-<android.support.design.widget.FloatingActionButton
-        android:id="@+id/fab_thickness_30"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="bottom|center"
-        android:layout_marginBottom="@dimen/fab_label_margin"
-        android:alpha="0"
-        android:clickable="false"
-        android:contentDescription="@string/thickness_desc"
-        app:fabSize="mini"
-        app:srcCompat="@drawable/ic_thickness_30" />
-```
-
-You must use the `@string` notation for your `android:contentDescription`, meaning you'll
-need to add a string definition to `values/strings.xml`.
-
-Next, you will need to update `onThicknessSelected` to respond when
-your FAB is pressed. It must change the stroke width to 0.
-
-Finally, you will need to make sure that `ReversibleDrawingActivity` is updated to account
-for your new menu item, since all mentions of thickness are currently hard coded to assume there is no 0 thickness.
-
-## Part 4: Integrating color picker
-In addition to adding a thickness, we want to be able to draw strokes of _any_ color instead of
-being limited to 3. You may recall that we have already made a custom interactor that allows
-users to choose any color on the color spectrum in a previous assignment. It is time to wire up a
-`ColorPickerView` into this application! To do this, you'll need to:
-
-1. Copy over the `ColorPickerView.java` file from your color picker assignment. Put this file
-in the same directory as your `ReversibleDrawingActivity.java`
-file. Also be sure to change the package at the top from `cse340.colorpicker`
-to `cse340.undo.app` in your `ColorPickerView.java` file.
-
-2. Add your color picker to your layout. One way to do this is to add xml for your
-`ColorPickerView` to  `drawing_activity.xml`. Be sure it is neither visible
-nor focusable until the user clicks on the color FAB. Be sure to use the correct package name here too.
-
-3. Change the behavior of the color FAB so that, when clicked, it opens up the color picking
-interface instead of opening the collapsible color menu. For reference on how to do this,
-take a look at `ReversibleDrawingActivity.java#onCreate` (**hint:** make sure to take a look at
-what interfaces `ReversibleDrawingActivity.java` implements).
-
-4. Modify `onDraw()` to leave the center circle blank.
-
-When users have the color picker interactor open, they _must not_ be able to access any other
-FABs (undo, redo,  thickness change) so be sure to disable them when you show the color picker
-and visually indicate to the user that they are disabled. This behavior should be very similar
-to the what happens when you try to change the thickness using the collapsible menu. If a color
-change is undone or redone, the color picker must reflect the correct color. Once you set up
-all the listeners to respond correctly, your color picker interactor must allow users to pick
-any stroke color they want!
-
-Finally, you will need to modify `ColorPickerView` so that it only accepts input inside the thin color
-ring. We have provided an AbstractColorPickerView class for you with an
-updated EssentialGeometry enum whose values are now `WHEEL` and `OFFWHEEL` to indicate this change,
-so you will have to update `ColorPickerView#essentialGeometry(MotionEvent)` method to reflect
-this change.
-
-The behavior of the ColorPickerView is must also be modified slightly.
-
-- If the user brings up the interactor, then immediately presses inside the center of the ring
-(which was colored in the ColorPicker app but is blank now), or outside it, you must not leave the start state.
-- If the users brings up the interactor and presses (then moves) inside of the ring, the
-state will leave the the start state and will move to the inside state. The thumb will
-track in the same way it did for the ColorPicker as the user moves around the ring.
-- If the user releases ON the ring, the new color will be chosen and the ColorPicker will become
-invisible.
-- If the user releases when not on the ring you should exit the state machine
-AND not consume the input. To the user this will appear as though the color "snaps back" to the
-previous state (with an opaque thumb) but the color picker stays visible on the screen.
-
-The following PPS diagram describes this new behavior.
-
-<div class="mermaid">
-graph LR
-S((.)) --> A((Start))
-A -- "Press:WHEEL-A" --> I((Inside))
-I -- "Release:WHEEL-B" --> E[End]
-I -- "Release:OFFWHEEL-E" --> E[End]
-I -- "Drag:WHEEL-C" --> I
-I -- "Drag:OFFWHEEL-D" --> I
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF
-
-class S invisible
-class A start
-class E finish
-class I normal
-
-</div>
-
-where
-- A is updateModel();invalidate()
-- B is invokeColorChangeListeners();invalidate()
-- C is updateModel();invalidate()
-- D is doNothing() // although not really a method
-- E is resetColor();invalidate()
-
-To implement the new `ColorPickerView#resetColor()` method you will need to store the current color
-of the wheel before you change it using `updateModel()`. You can use this stored color to reset
-the wheel if the user releases when not in the ring.
-
-NOTE: You **do not need to use bundler** to change the starting color or to store your model for this assignment.
-
-_Related APIs_:
-[View#using-views](https://developer.android.com/reference/android/view/View#using-views)
-
-## Part 5: Improve the application
-
-Create an interesting way the user can interact with the application that **can be undone and redone**. This means that whatever interaction you
-add must have a custom undo and redo function (it might help to take a look at `AbstractReversibleAction#doAction` and `AbstractReversibleAction#undoAction(DrawingView)`).
-
-Whatever you choose to implement, make sure to describe your addition in your report.
-In addition, make sure that the action you add is accessible.
-
-Demo of a new feature: Clear Screen. Note that this solution does not use the ColorPicker, nor
-did it implement undo on this features (but you must do both).
-
-<iframe width="560" height="315" src="https://www.youtube.com/embed/NhUE7GgH-vc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
-You will describe this addition and its accessibility in your report (see below).
-
-## Optional addition: Improving usability
-
-Try to identify at least one usability problem and address it
-  (optional). As with adding a feature, there are several options
-  here. Here are some examples of things _I_ think are usability issues. You
-  may not agree, if you choose to do this, you should focus on
-  something _you_ think is a usability issue.
-
-Whatever problems you address, please briefly describe the problems and solutions in your report.
-
-- As a color is selected and after the color is selected, the color FAB
-  should update its background to that color.
-- When a thickness is picked, the thickness FAB should update its icon
-  to indicate the thickness selected.
-- If the user begins drawing with the color or thickness FAB open (sub-icons present) the FAB immediately collapses
-- Some might find the menu items small and hard to select
-- No saving of state between invocations of the application. Could use
-  bundle to do this.
-
-
-# Part 6: Report
-
-In this portion you will be providing Heuristic Evaluation feedback and also reflecting on feedback that others have given you.
-
-## 6.1 Video
-To facilitate the online-only nature of this quarter, you will need to make a video of your final
-solution. To create a video, click on the ... at the bottom of the panel to the right of your
-emulator, then select "screen record" and "start recording" (see images below).
-
-<img src="undo-img/tab-of-options.png" alt="Empty drawing program window" height="400">
-<img src="undo-img/start-recording.png" alt="Drawing program window with one red stroke and undo button visible" height="400">
-
-In addition, you should follow these instructions to make sure that clicks are visible:
-
-<iframe width="560" height="315" src="https://www.youtube.com/embed/yYPZTnmP3Ws" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
-
-Your video should have the following sequence which is to demonstrate undoing and redoing
-actions for changing thickness, color, and your new feature. Please DO NOT try to create a
-perfect version with no mistakes! You *will not* lose points for any usability
-issues or mistakes (unless your code isn't working, which will not be affected by
-this video). You *will* get much better feedback and learn more about
-Heuristic Evaluation if your video isn't perfect!
-
-- Step 1: draw something
-- Step 2: undo
-- Step 3: change the thickness
-- Step 4: draw something
-- Step 5: undo
-- Step 6: undo
-- Step 7: change color
-- Step 8: try to redo
-- Step 9: draw something
-- Step 10: use new feature
-- Step 11: draw something in the new feature (if you need to)
-- Step 12: undo drawing (if done)
-- Step 13: undo new feature
-- Step 14: draw something
-- Step 15: use new feature
-- Step 16: undo
-- Step 17: redo
-- Step 18: draw something
-
-Finish as you will (e.g. demonstrate optional usability improvement).
-
-## 6.2 Providing Heuristic Eval feedback
-
-You will be assigned four videos. For each one you should:
-
-- Watch the video
-- While watching, take notes on paper about issues you see.
-- Remember: Make two passes through video as discussed in class:
-   - Inspect flow
-   - Inspect each screen, one at a time against heuristics
-- Fill out the following [google form](https://docs.google.com/forms/d/e/1FAIpQLScDe9k5bOKFikyh4ai32ih1e8waMD4SMECAjZK3yRVl1u-eDQ/viewform)
-with the 3 most severe issues. This will include questions about:
-  - Who are you/ who are you evaluating
-  - Which task step (above)
-  - Which heuristics are violated (primary and secondary)
-  - What severity rating would you give it
-  - Take a picture (a frame of the video) and circle the issue
-  - Describe what happened
-
-You will submit 3 things for each assigned video. At least two should be bad issues, one can be good.
-
-## 6.3 Reflecting on Heuristic Eval feedback and other aspects of this assignment
-
-You will turn in a report describing the feedback you got from the Heuristic Evaluation and answering other questions about the assignment. We have provided a [template](undo-report).
-
-# Part 7: Reflection
-
-Your reflection should be done as Microsoft Word, Google or other type of document.
-Copy the following questions (in italics below) into your reflection document and add
-your responses below each question. You can have more than one answer per page, but if
-you can, please try to avoid page breaks in the middle of
-a question. Insert page breaks between questions as needed.
-
-1. _Review the Heuristics from [lecture](https://courses.cs.washington.edu/courses/cse340/20sp/slides/wk10/heuristic.html).
-Which of the heuristics fit mobile application design? Which of the heuristics are less relevant?
-What problems did the heuristics not capture?_
-
-2. _Relate the heuristics to the gulf of evaluation and the gulf of execution:_
-  * _Pick at least one heuristic that you believe captures a problem relating to the gulf of
-  evaluation. Explain why._
-  * _Pick at least one heuristic that you believe captures a problem relating to the gulf of
-  execution. Explain why._
-
-3. _How secure is the Undo app? What security issues could arise with this app?
-List the security principals presented in lecture and categorize
-them as (1) violated, (2) met, (3) not relevant in the Undo app. Defend your
-reasoning._
-
-4. _How would you add context-aware computing in your Undo drawing app? Pick one of the types of
-sensing-based apps (capture and access; adaptive services; novel interaction; behavioral imaging;
-data collection & response) and discuss how it could enhance the app. Describe a case where this
-new feature could be problematic and relate it to the Sensing lecture._
-
-5. _Think back to all of the assignments you have done, and the design principles we have learned from
-Properties of People I and II, Application Design, Accessibility, and Security, been used i
-n your assignments? List and define in your own words 5 Interaction Programming design
-tips from these lectures. Also give an example of which, if any, of the assignments did
-you see that concept used (you can do this even if it was not explicitly named in the learning
-objectives we gave). Please explain your answer_
-
-6. (1pt Extra Credit) Instructor note: Usually on an exam I like to have a fun, 1 pt, extra credit
-problem where student can draw something or write a poem. We're not having traditional exam, but I feel the
-tradition of the fun extra credit must go on. _In an number of sections this quarter the TAs
-created a [Kahoot!](https://kahoot.com/) to help students study for the examlets. (For those of you
-who could not make section, Kahoot! is an on line game that allows participants to answer
-timed, fun questions. ). You can earn your extra credit point by authoring a Kahoot! question
-(and answer(s)) that we could potentially use in our CSE 340 offering. This can be a serious or
-fun question, but school appropriate please!_
-
-
-# Turn-in
-
-## Submission Instructions
-
-You will turn in the following files via GitGrade. It will accept:
-
-- `history/StackHistory.java`
-- `app/ReversibleDrawingActivity.java`
-- `app/ColorPickerView.java`
-- `actions/ChangeThicknessAction.java`
-- Any additional classes you create in `cse340.undo` for your new action
-- `layout/*_menu.xml`
-- `layout/drawing_activity.xml`
-- `drawable/*`
-- `values/{colors,dimens,strings}.xml`
-
-
-You will turn in the following files via our [google form](https://docs.google.com/forms/d/e/1FAIpQLScAh5Zux4YMp2mZzYjurVhzdrFESL1MRHdHeMZP2cExOxL47w/viewform):
-- Your video
-
-You will turn in your reflection and report (separately) on Gradescope
-
-## Grading
-
-This HW will be out of 50 points and will roughly (subject to small adjustments) be distributed as:
-
-Implementation (20 pts)
-- Part 1: Implement ChangeThicknessAction (2pts)
-- Part 2: StackHistory (7pts)
-- Part 3: Adding thickness to FAB thickness menu (3pts)
-- Part 4: Integrating ColorPickerView (7pts). Includes correct interactive behavior,
-and correct interaction with the stack.
-- Code Organization, and Style: (1 pt)
-
-Heuristic Evaluation & Reflection (35 pts)
-- Part 5: Improvement (3 pts). Evaluated through video of application. Improvement
-is evident, significant and can be done, undone, then done again.
-- Part 6:
-  - Video order is correct (3pts)
-  - Heuristic Evaluation Form filled out (based on form) (3pts)
-  - Report (11pts) includes Introduction and detailed description of your improvement,
-  including a justification of your design based on principles and accessibility support,
-  Purpose, Task, Data, and Lessons learned
-- Part 7: Reflection (15 pts). Includes the following reflection questions:
-  - How well do the heuristics fit mobile application design? (3 pts)
-  - Relate the heuristics to the gulf of evaluation and the gulf of execution (3 pts)
-  - How secure is the Undo app? (3 pts)
-  - How would you use context-aware computing in your drawing app? (3 pts)
-  - How have Properties of People I and II been used in your assignments? (3 pts)
-  - End of class picture (1 pt extra credit)
diff --git a/diagrams/Jan 2020 University of Washington Intro to Accessibility and Inclusive Design.pptx b/diagrams/Jan 2020 University of Washington Intro to Accessibility and Inclusive Design.pptx
deleted file mode 100644
index 1f9bbf92e1df9d51e700796c0a71dc41da15168d..0000000000000000000000000000000000000000
Binary files a/diagrams/Jan 2020 University of Washington Intro to Accessibility and Inclusive Design.pptx and /dev/null differ
diff --git a/diagrams/diagrams.pptx b/diagrams/diagrams.pptx
deleted file mode 100644
index 88318c778d4292cc07239815fa908eca17c15a14..0000000000000000000000000000000000000000
Binary files a/diagrams/diagrams.pptx and /dev/null differ
diff --git a/diagrams/diagrams/mvc.png b/diagrams/diagrams/mvc.png
deleted file mode 100644
index d8461c69af23ceebca4b045b0b1356db5049e4d2..0000000000000000000000000000000000000000
Binary files a/diagrams/diagrams/mvc.png and /dev/null differ
diff --git a/diagrams/layout.pptx b/diagrams/layout.pptx
deleted file mode 100644
index 2cfddb1d2ab829e0415ec3d43e843b49f90330d3..0000000000000000000000000000000000000000
Binary files a/diagrams/layout.pptx and /dev/null differ
diff --git a/docs/android_files/AndroidStudio_Device_Manager_1.png b/docs/android_files/AndroidStudio_Device_Manager_1.png
deleted file mode 100644
index 102912e1b51be70337948e78dd1d94f89744241b..0000000000000000000000000000000000000000
Binary files a/docs/android_files/AndroidStudio_Device_Manager_1.png and /dev/null differ
diff --git a/docs/android_files/Device_Manager_File_Structure_2.png b/docs/android_files/Device_Manager_File_Structure_2.png
deleted file mode 100644
index 5c69e91aac44d2e3107b53ae7c29b96dc86acf69..0000000000000000000000000000000000000000
Binary files a/docs/android_files/Device_Manager_File_Structure_2.png and /dev/null differ
diff --git a/docs/android_files/Saving_CSV_3.png b/docs/android_files/Saving_CSV_3.png
deleted file mode 100644
index ca70ae3572e74b3299a9187a61cdca25cac716ce..0000000000000000000000000000000000000000
Binary files a/docs/android_files/Saving_CSV_3.png and /dev/null differ
diff --git a/docs/android_files/index.md b/docs/android_files/index.md
deleted file mode 100644
index 87ce28e47cb0c3c6a7a33e2a33fd6373bcfc2d25..0000000000000000000000000000000000000000
--- a/docs/android_files/index.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: default
----
-
-* TOC
-{:toc}
-
-# Retreiving Data from an Android Device or Emulator
-
-1. When you open Android Studio to your as5-menus project, you will see a "Device File Explorer" tab in the lower right corner:
-
-    ![Arrow to Android Studio's Device File Explorer Tab, 30%](AndroidStudio_Device_Manager_1.png){:width="max-width"}
-
-2. When you click this tab (make sure your emulator is already running or physical device is plugged in) you will see the file structure of your emulator:
-
-    ![Highlighting TestResult.csv in Android Studio's Device File Explorer Tab](Device_Manager_File_Structure_2.png){:width="50%"}
-
-3. Once you have found TestResult.csv under `/storage/emulated/0/CSE340_Menus/TestResult.csv` or `/sdcard/CSE340_Menus/TestResult.csv` you can right-click to save it to your computer:
-
-    ![Right-Clicking for "Save As" on TestResult.csv](Saving_CSV_3.png){:width="max-width"}
-
-4. Now that you have the file saved to a location on your computer you can right-click to open it in Microsoft Excel or upload it to Google Sheets to process the data.
\ No newline at end of file
diff --git a/docs/dev_mode/About_Settings_Section.png b/docs/dev_mode/About_Settings_Section.png
deleted file mode 100644
index c16b524e6d48410f9e48e24636caaa1ab801ed4b..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/About_Settings_Section.png and /dev/null differ
diff --git a/docs/dev_mode/Build_Number.png b/docs/dev_mode/Build_Number.png
deleted file mode 100644
index 919fdf4d839a16965bad9fbdb1d2d56144f8708a..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/Build_Number.png and /dev/null differ
diff --git a/docs/dev_mode/Developer_Options.png b/docs/dev_mode/Developer_Options.png
deleted file mode 100644
index b40d373ef468155b281853984890841ae5e49470..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/Developer_Options.png and /dev/null differ
diff --git a/docs/dev_mode/Settings_Icon.png b/docs/dev_mode/Settings_Icon.png
deleted file mode 100644
index 60a024802f43f4b9a832e10c8ca9be936bf25539..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/Settings_Icon.png and /dev/null differ
diff --git a/docs/dev_mode/System_Settings.png b/docs/dev_mode/System_Settings.png
deleted file mode 100644
index b93d0f0372f01ecd426311f7e509b49cd172dfb1..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/System_Settings.png and /dev/null differ
diff --git a/docs/dev_mode/USB_Debugging.png b/docs/dev_mode/USB_Debugging.png
deleted file mode 100644
index 8299c76c5a9f768fb21d0e241a69344001e553fc..0000000000000000000000000000000000000000
Binary files a/docs/dev_mode/USB_Debugging.png and /dev/null differ
diff --git a/docs/dev_mode/index.md b/docs/dev_mode/index.md
deleted file mode 100644
index b39ceee0ac2cdec079e0010dca29a0f3067a263a..0000000000000000000000000000000000000000
--- a/docs/dev_mode/index.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: default
----
-
-* TOC
-{:toc}
-
-# USB Debugging on Android
-
-If you have a personal device that you wish to use with Android Studio, enabling USB debugging is an important step in getting feedback sent from your phone to your PC. Setting this up, however, requires you to enable **Developer Mode** on your device.
-
-1. Open the `Settings` app on your device.
-
-    ![Clicking on Settings App in Android Appdrawer, 30%](Settings_Icon.png){:width="30%"}
-
-2. Scroll down to the `About Phone` submenu within the `Settings` app. This may be nested in a syntactically similar menu, such as `System`, and/or have a slightly different name.
-
-    ![Clicking on 'About' in Android System Settings, 30%](About_Settings_Section.png){:width="30%"}
-
-3. Scroll down to `Build Number` in the `About Phone` submenu.
-
-    ![Clicking on 'Build Number' in About Phone, 30%](Build_Number.png){:width="30%"}
-
-4. Tap `Build Number` several times. After a few taps, a Toast should appear notifying you that you are now a developer.
-
-5. Back out of the `About Phone` submenu. You should now see a `Developer Options` submenu on your device, somewhere in the same category as `About Phone`.
-
-    ![Clicking on 'Developer Options' in System Settings, 30%](Developer_Options.png){:width="30%"}
-
-6. In the `Developer Options` submenu, you should have the option to enable USB debugging.
-
-    ![Clicking on 'USB Debugging' in Developer Options, 30%](USB_Debugging.png){:width="30%"}
-
-Once you have done that, you will be able to debug your applications directly from your device.
-
-# Debugging Strategies
-
-- As with JGRASP, you can set breakpoints in your code by clicking to the right of a given line number. Then, by clicking the "debug" button to the right of the "run" button in the upper-right toolbar, you can have your app pause at the breakpoint, allowing you to inspect the state of your application.
-
-- The Logcat window can be difficult to parse, as the device tends to print out a lot of information that isn't necessarily relevant to your debugging process. However, Logcat provides a host of tools for pruning the errors that are displayed. You can limit console output by priority, or use the search tab to find the most relevant errors.
-
-- The Log class in Android Studio allows you to create custom sortable log statements. By importing `android.util.Log`, you gain access to a host of logging commands intended to display the state of your application quickly. Combining these with Logcat's search tools can be a good way to ensure that your function calls are running properly.
-
-- If you're curious about the implementation of core Android classes, you can use the tools provided by the IDE to view the inner workings of them. Android Studio will display an icon to the right of the line number to provide information on overriding methods for instance.<!--  -->
diff --git a/docs/index.md b/docs/index.md
index ba11d1e5e55d9d83c70b03752c623c7e4ac23f8d..e5f695af4ba3583f28adec5e2cb4de2ec4b5811d 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -17,10 +17,3 @@ slowly and will continue to be added to.
 - [GIT 101]({{site.baseurl}}/docs/git.html)
 - [GitGrade]({{site.baseurl}}/docs/gitgrade)
 
-**Handy Programming Resources**
-
-- [Debugging]({{site.baseurl}}/docs/dev_mode)
-- [Android File Explorer]({{site.baseurl}}/docs/android_files)
-- [Java 101]({{site.baseurl}}/docs/java/java.html)
-- [Advanced Java]({{site.baseurl}}/docs/java/java-advanced.html)
-- [Java example code]({{site.baseurl}}/docs/java/JavaRefresher.zip)
diff --git a/docs/java.html b/docs/java.html
deleted file mode 100644
index acc8c49f915240cbc2be0220ffc1fc33eec126af..0000000000000000000000000000000000000000
--- a/docs/java.html
+++ /dev/null
@@ -1,332 +0,0 @@
----
-layout: presentation
-title: Lab 1 Slides
-description: Lab project--Hello World--
-class: middle, center, inverse
----
-
-# SSUI Mobile Lab ({{site.quarter}})
-## Week 1: Java Refresher
-
-.title-slide-logo[
-  ![Android Logo](java/android-logo.png)
-]
-
----
-
-# Quick Java Refresher
-
----
-
-## What is Java?
---
-
-- Strongly, statically typed language
-
-  - Every variable has a type
-  - This type is decided at compile time (mostly)
-
---
-
-- Compiled, class-based, Object-oriented
-
---
-
-- Platform agnostic
-
-  - __Write once__, _run anywhere_ without recompilation
-  - Especially useful for Android
-
----
-
-## Java Basics: Primitive Types
-
---
-- Boolean
-
-```java
-boolean hasClassStarted = true;
-boolean isClassOver = false;
-```
-
---
-- Integer
-
-```java
-int numStudents = rand.nextInt(30);
-```
-
---
-- Float
-
-```java
-float gradePointAverage = 3.2f;
-```
-
---
-- Double
-  - Higher precision than float
-
-```java
-double examScore = 97.362;
-```
-
---
-- Byte, Short, etc.
-
----
-## Java Basics: Text
-
---
-- Characters
-
-```java
-char section = 'B';
-```
-
---
-- Strings
-
-```java
-String instructor = "Jennifer Mankoff";
-```
-
---
-All non-primitives types inherit from `Object` class
-  - Including `String`; note the capitalization
-
----
-## Java Basics: Visibility Modifiers
-
-```java
-public final String COURSE = "CSE 340";
-///...
-private final String SSN = "123-45-6789";
-```
-
---
-- `private`
-  - Kept secret, can only be read/written by `self`
-  - Cannot be accessed by subclasses
-
---
-- `package private`
-  - This is the default access if no modifier is specified
-  - Accessible by all classes in the same package.
-
---
-- `protected`
-  - Access restricted to `self`, subclasses, and package
-
---
-- `public`
-  - The world can read/write (fields) or call (methods)
-
----
-## Java Basics: Visibility Modifiers
-
---
-  - Generally, you want to be as restrictive as possible
-    - Usually, this means `private`
-
---
-
-  - Create getter/setter methods to modify the member variables
-
---
-
-  - .red[__Almost never use__ `public`] for fields
-    - Except for constants
-
----
-## Java Basics: `final`
-
---
-- Prevent value from changing after initialization
-
-```java
-final double courseGrade = 95.0; // local variable cannot be modified ever!
-```
-
---
-- Prevent subclassing
-
-```java
-  public final class Person {
-      // can't subclass (for example to make a Student class)
-      // ...
-  }
-```
-
---
-- Prevent overriding
-
-```java
-  public final int getValue() { // can't override!
-      return 0;
-  }
-```
-
----
-## Java Basics: `static`
-
---
-- Use for constants or variables are shared by all instances of a particular class
-
-```java
-final static double SALES_TAX_RATE = 0.07; // Class Constant (never changes)
-static double mTotalAmount = 3.56;          // Class variable can change
-```
-
---
-- Methods that can be called without an class instance (instantiating an object)
-
-```java
-static String toString(int i);
-// For example Integer.toString(100) => "100";
-```
-
----
-# Naming Conventions
-
-   - class names are PascalCased
-   - local variables and method names are camelCased
-   - class or instance variables begin with a 'm' (for member), such as mTotalAmount
-   - constants are UPPER_SNAKE_CASED
-
----
-## Java Basics: Methods
-- Methods in Java typically follow this format:
-
-```java
-{visibility} [static] [final] returnType methodName(paramType paramName, ...) {
-    // ...
-}
-```
-
---
-- `static` and `final` are optional, special modifiers
-- `visibility` is one of `public`, `private`, `protected`, or empty for package private
-
----
-## Java Basics: Method Example
-
-Summing two numbers and returning the answer as a string
-
-```java
-public String getSumOfTwoNumbersAsString(int first, int second) {
-  int sum = first + second;
-  return Integer.toString(sum);  // could also return "" + sum
-}
-```
-
----
-## Java Basics: Declaring a class
-
-```Java
-{visibility} class ClassName {
-  // Field declarations
-
-  // Method definitions
-}
-```
-
----
-
-## Java Basics: Constructing a Class
-
-```java
-public class Student {
-
-  // Class (static) variables -
-  public static final String STUDENT_KEY = "STUDENT";
-  private static final String ID_PREFIX = "S";
-
-  // Instance Variables
-  private String mIdNumber;
-  private String mName;
-
-  // Constructors - used to create an instance
-  Student(String name, String idNumber) {
-    this.name = mName;
-    this.idNumber = mIdNumber;
-  }
-
-  // Methods
-  public String getPrefixedIdNumber() {
-    return ID_PREFIX + mIdNumber;
-  }
-```
-
----
-## Java Basics: Constructing a Class cont.
-```java
-  // Getter
-  public String getName() {
-    return mName;
-  }
-
-  // Setter
-  public void setName(String newName) {
-    if (newName == null || newName == "") {
-      newName = "Unknown";
-    }
-
-    mName = newName;
-  }
-
-  // ... etc.
-
-}
-```
-
----
-# Enums
-
-An enum type is a special data type that enables for a variable to be a set of predefined constant
-
-```java
-public enum EssentialGeometry { INSIDE, OUTSIDE };
-
-...
-EssentialGeometry where = EssentialGeometry.INSIDE;
-```
----
-# Switch Statements
-
-A form of a conditional with different execution paths
-
-```java
-public enum EssentialGeometry { INSIDE, ON_EDGE, OUTSIDE };
-
-...
-EssentialGeometry where = EssentialGeometry.INSIDE;
-
-switch (where) {
-  case ON_EDGE:
-    // do the edgy things
-    break;
-  case INSIDE:
-    // do the inside things but also fall through
-    // and do the OUTSIDE things because no break statement;
-  case OUTSIDE:
-    // do the outside things
-    break;
-  default:
-    // do default things
-    // automatically falls through
-}
-
-```
-
-
----
-## More Java Resources
-
-- Java Documentation (https://docs.oracle.com/en/java/javase/13/docs/api/)
-
-- __Online Java Practice Problems__:
-
-  - http://codingbat.com/java
-
-  - https://practiceit.cs.washington.edu/problem/list
diff --git a/docs/java/android-logo.png b/docs/java/android-logo.png
deleted file mode 100755
index cebec75001ab25dc397065f193797d5ebd0cb38d..0000000000000000000000000000000000000000
Binary files a/docs/java/android-logo.png and /dev/null differ
diff --git a/docs/javaRefresher_slides.pdf b/docs/javaRefresher_slides.pdf
deleted file mode 100644
index 107410aa62897b3d35570973d845b596ddecf37a..0000000000000000000000000000000000000000
Binary files a/docs/javaRefresher_slides.pdf and /dev/null differ
diff --git a/docs/pps.md b/docs/pps.md
deleted file mode 100644
index da46a2e2b14ad0e048ecf7d0d501f86b8c48f9df..0000000000000000000000000000000000000000
--- a/docs/pps.md
+++ /dev/null
@@ -1,104 +0,0 @@
----
-layout: default
----
-
-
-* TOC
-{:toc}
-
-
-# How to turn the Propositional Production System (PPS) for a button  into code
-
-The code implementation should spiritually follow the PPS; that is, your code should only take
-action when moving from state to state (along the arrows in the PPS). This behavior is best
-represented by a `switch` statement, where each `case` represents a state in our PPS.
-Within each `case`, there can be nested `if` statement to handle transitioning to another state.
-
-Each `case` should be broken out of and should properly handle input, propagating input to later
-views or stopping the input propagation as necessary. We typically do this through the
-`onTouchEvent` method. In `onTouchEvent`, returning `true` will stop the input propagation to
-views below it, while returning `false` allows views below it to handle the event.
-
-## Button Examples
-
-Given the essential geometry for this button is:
-- Inside
-- Outside
-
-and methods for that will be used are:
-
-- `indentButton()` (when button is pressed, also invalidate() the view)
-- `normalButton()` (when button is not pressed, also invalidate() the view)
-- `invokeAction()` (when the user releases in the button)
-- `cancelAction()` (when the user releases outside the button)
-
-The PPS for this interaction is as follows:
-
-<div class="mermaid">
-graph TD
-S((.)) --> START((START))
-START -- "DOWN:Inside?indentButton()" --> PRESSED((PRESSED))
-PRESSED -- "MOVE:Outside?normalButton()" --> PRESSED
-PRESSED -- "UP:Outside?cancelAction()" --> END[END]
-PRESSED -- "UP:Inside?invokeAction()" --> END
-PRESSED -- "MOVE:Inside?indentButton()" --> PRESSED
-
-linkStyle 0 stroke-width:2px;
-linkStyle 1 stroke-width:2px;
-linkStyle 2 stroke-width:2px;
-linkStyle 3 stroke-width:2px;
-linkStyle 4 stroke-width:2px;
-linkStyle 5 stroke-width:2px;
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF;
-
-class S invisible
-class START start
-class PRESSED normal
-class END finish
-</div>
-
-The code is generated thusly
-
-
-```java
-@Override
-public boolean onTouch(MotionEvent e) {
-  EssentialGeometry geometry = essentialGeometry(event);
-  switch (state) {
-    case State.START:
-      if (geometry == Geometry.INSIDE && e.getAction() == MotionEvent.ACTION_DOWN) {
-         indentButton();
-         state = State.PRESSED;
-         return true;
-      }
-      break;
-    case PRESSED
-      if (e.getAction() == MotionEvent.ACTION_MOVE) {
-        if (geometry == Geometry.INSIDE) {
-          indentButton();
-    	  } else {
-          normalButton();
-        }
-        return true;
-      }
-      else if (e.getAction() == MotionEvent.ACTION_UP) {
-        state = State.START; // note we don't actually use the END state
-        if (geometry == Geometry.INSIDE) {
-          invokeAction();
-        } else {
-          cancelAction();
-        }
-        return true;
-      }
-      break;
-    default:
-      break;
-  }
-  return false;
-}
-
-```
diff --git a/docs/ppsscroll.md b/docs/ppsscroll.md
deleted file mode 100644
index f710c9fdda4edc477c607114e8d859a4e3306401..0000000000000000000000000000000000000000
--- a/docs/ppsscroll.md
+++ /dev/null
@@ -1,88 +0,0 @@
----
-layout: default
----
-
-
-* TOC
-{:toc}
-
-
-# How to turn the PPS for a Scroll bar into code
-
-The code implementation should spiritually follow the PPS; that is, your code should only take
-action when moving from state to state (along the arrows in the PPS). This behavior is best
-represented by a `switch` statement, where each `case` represents a state in our PPS. Within each
-`case`, there can be nested `if` statement to handle transitioning to another state.
-
-Each `case` should be broken out of and should properly handle input, propagating input to later
-views or stopping the input propagation as necessary. We typically do this through the
-`onTouchEvent` method. In `onTouchEvent`, returning `true` will stop the input propagation
-to views below it, while returning `false` allows views below it to handle the event.
-
-## Volume example
-
-<div class="mermaid">
-graph LR
-S((.)) --> A((Start))
-A -- "Press:insideBar? A" --> I((Inside))
-I -- "Release:B" --> E[End]
-I -- "Drag:insideBar? C" --> I
-I -- "Drag:outsideBar? D" --> I
-
-classDef finish outline-style:double,fill:#d1e0e0,stroke:#333,stroke-width:2px;
-classDef normal fill:#e6f3ff,stroke:#333,stroke-width:2px;
-classDef start fill:#d1e0e0,stroke:#333,stroke-width:4px;
-classDef invisible fill:#FFFFFF,stroke:#FFFFFF,color:#FFFFFF
-
-class S invisible
-class A start
-class E finish
-class I normal
-
-</div>
-
-where
-- A is updateVolume();updateThumbPosition();updateThumbAlpha();
-- B is updateThumbAlpha();invokeVolumeChangeListeners()
-- C is updateVolume();updateThumbPosition();invalidate()
-- D is doNothing()
-
-```java
-@Override
-public boolean onTouchEvent(MotionEvent event) {
-    EssentialGeometry geometry = essentialGeometry(event);
-    switch(mState) {
-        case START:
-            if (event.getAction() == MotionEvent.ACTION_DOWN && geometry == EssentialGeometry.BAR) {
-                mState = State.INSIDE;
-                updateThumbPosition();
-                updateThumbAlpha();
-                updateVolume();
-                invalidate();
-                return true;
-            }
-            break;
-        case INSIDE:
-            if (event.getAction() == MotionEvent.ACTION_MOVE && geometry == EssentialGeometry.BAR) {
-                updateThumbPosition();
-                updateVolume();                
-                invalidate();
-                return true;
-            } else if (event.getAction() == MotionEvent.ACTION_UP) {
-                mState = State.START;
-                updateThumbAlpha();
-                invokeVolumeChangeListener();
-                invalidate();
-                return true;                   
-            }
-            break;
-        default:
-            break;
-    }
-    return false;
-}
-```
-In the above code snippet, `updateThumb()` would handle determining and setting the opacity of the
-thumb, while `updateVolume()` would similarly update the volume based on the position of your finger.
-Function calls inside the switch cases should be used to break up the logic in complicated situations
-or where the same logic can be used for multiple transitions.
diff --git a/grading.md b/grading.md
deleted file mode 100644
index 1ab753a48ebb3dcae17e98679e1b870401e1508d..0000000000000000000000000000000000000000
--- a/grading.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-layout: default
----
-
diff --git a/homework.md b/homework.md
deleted file mode 100644
index 1ab753a48ebb3dcae17e98679e1b870401e1508d..0000000000000000000000000000000000000000
--- a/homework.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-layout: default
----
-
diff --git a/index.md b/index.md
index 2e8533a08379b1f81d08ceea5b2fd95393c267de..1dda4967c6e9a197ff7923009552e6b34f251c5f 100755
--- a/index.md
+++ b/index.md
@@ -3,8 +3,8 @@ layout: default
 warning: draft
 ---
 
-<h1> Welcome to Interaction Programming! </h1>
-Interactive technology is changing society. Some of today’s interfaces are used by a billion people at a time. Almost everything we create is created for people to use, through user interfaces. We will learn about interactive systems, including programming paradigms and design of event handling, layout, undo, accessibility and context awareness.
+<h1> Welcome to Class! </h1>
+Description of class
 
 For quick links to key things, check out the navigation bar above and the table of contents here:
 
@@ -34,74 +34,21 @@ See [Canvas]({{site.canvas}}) for all zoom meeting links
 
 # Should I take this class?
 
-Yes! Some of today’s interfaces are being used by a billion people at
-a time. Almost everything we create is created for people to use, and
-user interfaces are how people interact with anything else you do
-(whether it is a new machine learning algorithm or a database
-system). User interfaces are incredibly important, but they also
-represent a different programming paradigm than you may have learned
-before. This class will teach you
-
-- How to write an event-driven program which reacts to user input and
-  displays output. If you’ve never done this before, the abstractions
-  you will learn are standard in almost any user interface toolkit. Even
-  if you have, too often, without attention to structure, interfaces
-  become impenetrable spaghetti code.
-- How to think about the design of novel interaction techniques. As
-  devices diversify, so too do the ways in which people interact, from
-  voice based interfaces to augmented reality. By understanding the
-  principles of interaction technique design you can do a better job of
-  making interactions that users will want, which improves both the user
-  experience and the business value of what you create.
-- How to avoid common gotchas in the implementation of user
-  interfaces. We will teach you the proper way to create Accessible Interaces and
-  implement features like Undo. We will also touch on other design principles (no
-  modal dialogues; good use of color; inclusion of support for help and
-  so on) that work in any user interface!ß
-
-Taking a class is a big commitment, and you will work hard in this
-class. So we want to help you make sure this is the right class for
-you. Below is some information about prerequisites and expectations.
+Why take this class?
 
 # Prereqs and expectations
 
-The only requirement for this class is that you have taken CS 142 and
-143 or an equivalent class, meaning you are comfortable programming in
-Java, and have some experience with data structures. However, if you
-are not comfortable working in an IDE environment, using version
-control, and picking up and working with someone else’s library code,
-you will likely need to plan for extra time with TAs, and possibly
-attend extra tutoring sessions, to keep up with the class.
-Taking CSE 391 just before or concurrently with 340 can help, but our staff
-can also assist where needed.
-
-The specific platform and language for this class are Java on Android
-phones (or simulators); using the IntelliJ IDE (Android Studio). While
-Google is switching over to Kotlin, there are good reasons to [start
-learning Android with Java first](https://dzone.com/articles/java-vs-kotlin-which-language-android-developer-sh).
-
-Note that this class is designed for CS majors, and other students who
-work regularly with information technology and are strong
-programmers. While we will consider applications from outside the
-major, financial and other restrictions may limit
-space for such students.
+What do I need to know to take this class?
 
 # Course Modules
 
-| Module        | Interaction Programming Theory    | Programming Practice  |
+| Module        |  Theory    |  Practice  |
 |---------------|-----------------------------------|-----------------------|
-| Visual        | - Interface Toolkits<br>- Interactor Hierarchy<br>- Peer Review<br>- Visual Design Tips | - Android Programming<br>- Drawing on a Canvas<br>- Bounding Boxes<br>- Animation |
-| Layout        | - Visual Layout<br>- Layout Constraints<br>- Layout algorithm                                                                                                                       | - Layout in Android                                                                         |
-| Accessibility | - Accessible Design Principles                                                                                                                                                      | - Building Accessible Apps                                                                  |
-| Events        | - Input Devices and Types<br>- Event Handling<br>- Model View Controller<br>- Essential Behavior<br>- Finite State Machines<br><br>                                                 | - Java callbacks<br>- Event handling in Android<br>- Build a novel color picker interactor  |
-| Interaction   | - Physical computing<br>- Motor Design Tips<br>- Predicting and testing interactor efficiency<br>- Application design principles<br>- Quantitative Study Design <br>- Data Analysis | - Building pop up menus                                                                     |
-| Behavior      | - Theories of User Behavior<br>- Behavior Change<br>- Machine Learning<br>- Application Security<br>- Heuristic Evaluation                                                          | - Implementing a drawing program<br>- Implementing undo/redo feature                        |
+|         |  |  |
 
 
 # Course Structure
 
-Each week, there will be three hours of lecture material (Monday, Wednesday, Friday) and
-one TA-led lab (Thursday). In addition the TAs will host office hours, often in pairs.
 
 ## Zoom
 
@@ -119,12 +66,10 @@ Change their Zoom screen name to a school appropriate screen name that hides any
 identifying information such as their name or
 UW Net ID, and not share their computer audio or video during their Zoom sessions.
 
-
 ## Lectures
 
 Lectures are designed to introduce new material throughout the quarter, motivate key theories and
-concepts, as well as demonstrate Interface Programming primarily using the Android Studio development
-environment.
+concepts, as well as practice.  
 
 The goals in this class center around learning by doing. This
 means that hands on time trying out everything from implementation to
@@ -145,12 +90,6 @@ and learning, particularly as we discuss both theoretical and practical aspects
 Programming. Stay on top of the course materials, bring your questions to class and seek help
 if there are problems.
 
-### Lecture examlets and final reflection
-
-There will not be a midterm or final exam this quarter. Instead, there will be 4 quizzes held
-during the last 15-30 minutes of Friday lecture every other week, beginning the third week. The final
-project will incorporate a deeper reflection that covers all course material.
-
 ### Remote Lecture Guidelines and Expectations
 Students are expected to adhere to the below expectations for remote lectures. These guidelines are
 intended to help lecture go more smoothly, facilitate questions and group activities, and foster a
@@ -171,11 +110,6 @@ you and then you can unmute your mic and ask your question
 
 ## Lab
 
-On Thursdays, you will participate in a weekly lab, held at either 9:30 or 10:30 am PDT. These
-labs will be similar those you may have had in other classes - we will spend the 50 minutes answering
-questions, going over common errors in homework solutions, discussing sample problems in
-more detail than we can in lecture, and completing exercise worksheets with TAs available to help.
-
 ## Remote Lab Guidelines and Expectations
 Students are expected to adhere to the below expectations for remote labs. These guidelines are
 intended to help lab go more smoothly, facilitate questions and group activities, and
@@ -193,12 +127,7 @@ can unmute your mic and ask your question
 
 This is a challenging, four credit class, meaning you should expect 8
 hours of homework outside of class a week. We hope make the workload as predictable as
-possible. Assignments will have a fixed and an open ended piece, and some will require
-a structured peer review. After you turn in an assignment you will also work on a short
-practice quiz on the most relevant material taught in the assignment. About a week after the
-practice quiz we will have an examlet - a short check for your understand on the the prior modu
-
-FIX: Homework will typically involve either a single (one-week) part or be split into two parts, with each about a week long
+possible.
 
 # Class Coordination
 
@@ -250,73 +179,6 @@ will do to try to make the class a welcoming environment:
 
 Grades will be assigned approximately as follows:
 
-- 70%: Assignments
-- 15%: Effort, participation and altruism (EPA)
-- 15%: Assessments
-
-## EPA (Effort, participation and altruism)
-
-You can earn "points" for each of the following:
-
-- **Effort:** Attending office hours, lectures, and sections. Keeping up with the discussion board.
-- **Participation:** Asking questions in lecture and on the discussion board, voting on peer instruction questions, interacting with TAs and other students.
-- **Altruism:** Helping others in lecture, during office hours, and on the discussion board.
-
-EPA scores are kept internal to the staff (i.e. not disclosed to students).
-
-
-
-## Late Days
-
-You have 3 free late days which will automatically be applied until they run out, following which
-each late day will incur a 10% penalty on the assignment that was due
-
-Each homework will allow up to two late days, after which turn-ins will be given a zero.
-
-## Regrade Policy
-
-Reflecting on feedback is one of the most valuable ways you can learn from your mistakes,
-and we encourage you to do so. If you have a question about a grade you received or if you
-feel the grade you received is incorrect, please email an instructor for an appointment to
-discuss the assignment and your grade in detail.
-
-It is also possible for the graders to make mistakes. If that happens we certainly would like to
-correct the error. Please note the following:
-
-When you request a regrade, we may look at the entire assessment, homework or reflection. Therefore,
-it is possible for your grade to go either up or down through this process.
-
-- Coding Assignments: Regrade requests for homework assignments must be
-submitted within one week of when the grade was returned to you. You must do two things in
-order to request a regrade of a homework (failure to do these two things may result in the
-  regrade not happening):
-  - Reply to the code review comment that is prompting your request of the regrade. You can find
-  your code review comments in your GitLab repository for that assignment.
-  - Send a private message on [Ed]({{site.piazza}}) to the instructors that you are requesting a
-  regrade. Include a link to the repository in your message and a written summary describing
-  why your work should be reexamined.
-
-- Exams and Written Assignments: We will use Gradescope to grade exams and manage regrade requests.
-Via Gradescope, you should submit any requests separately for each problem with an
-explanation of why you want this problem regraded. The time limit for such regrade requests will
-be detailed in the email you receive from Gradescope.
-
-# Exams
-There will be four short examlets at the start of class, every other Friday.
-
-- April 17
-- May 1
-- May 15
-- May 29
-
-Alternate examlets will only be given in unusual extenuating circumstances. You must contact the
-instructor prior to the examlet date if you believe you need to take the examlet at another time,
-but no later than least two days prior to the examlets.
-
-More information about the exams, their structure, and what resources you will be allowed to use
-will be discussed in class and listed on the course website as we approach the these dates.
-
-
 # Religious Accommodations
 Washington state law requires that UW develop a policy for accommodation of student absences or
 significant hardship due to reasons of faith or conscience, or for organized religious activities.
diff --git a/schedule.md b/schedule.md
index 1f5690b20eab5891ef52d2dbac9cfe31efe2394b..deb255bb9a671f0654ba0044a966cac71c88966b 100644
--- a/schedule.md
+++ b/schedule.md
@@ -9,491 +9,13 @@ warning: draft
 <!-- ********* Week 1 ********* -->
 
 {: .week}
-# Week 1: What's in an Interface
+# Week 1: title
 
-{: .lecture} Monday 3/30: Why take this course? What is HCI?
-: **Learning Goals** Relevance of class to all of CS
+{: .lecture} date: title
+: **Learning Goals** 
 : **Readings**
-- Watch the video and read section 4.1 [The CS Field Guide to Human Computer Interaction Introduction](https://csfieldguide.org.nz/en/chapters/human-computer-interaction/)
-- Take the class [survey](https://catalyst.uw.edu/webq/survey/bricker/387508)
-
 : **Slides** {% include slide.html title="Introduction to course" loc="wk01/intro.html" %}
 
-{: .lecture} Wednesday 4/1: What is a toolkit?
-: **Learning Goals**  Toolkit User Types; Basic structure of a user interfaces; How this looks in Android; Introduction of Doodle Assignment
-: **Readings**
-
-- [Widget Toolkit](https://en.wikipedia.org/wiki/Widget_toolkit)
-- Watch Engelbart, Cronkite and other videos from {% include slide.html title="Introduction to course" loc="wk01/intro.html" %}
-
-**Slides** {% include slide.html title="Interface Toolkits" loc="wk01/toolkits.html" %}
-
-**Assigned** AS1 [Doodle]({{site.baseurl}}/assignments)
-
-
-{: .lab} Thursday, 4/2: Setting Up Doodle
-: **Learning Goals** Android project structure; Our development environment (Git/GitGrade), Doode
-
-**Preparation for Lab**
-
-* Android Basics:
-  * Download [Android Studio](https://developer.android.com/studio) and [install it](https://developer.android.com/studio/install)
-  * Select the Tools->SDK Manager and make sure you have Android 7.0 or 7.1.1 (Nougat) installed. This is the version of the Android SDK we will use for this class.
-  * Follow [this tutorial](https://developer.android.com/training/basics/firstapp) to create an Android Application.
-  * Continue with the tutorial to also
-  [run your app](https://developer.android.com/training/basics/firstapp/running-app)
-  either on an emulator or on an Android Device.
-
-* Git Setup: [macOS](https://courses.cs.washington.edu/courses/cse154/19au/resources/assets/atomgit/macosx/), [win](https://courses.cs.washington.edu/courses/cse154/19au/resources/assets/atomgit/windows/) (ignore pieces about Atom as we use Android Studio)
-  * Make sure you have git setup on your computer, follow above instructions
-  * If you have never used git before read through [this]({{site.baseurl}}/docs/git.html)
-  and [this (Android Studio ≈ Intellij)](https://courses.cs.washington.edu/courses/cse331/20sp/tools/version-control.html)
-  * Ensure that you can clone from CSE GitLab, (we recommend cloning via SSH
-    but you'll need to [generate a key](https://docs.gitlab.com/ee/ssh/))
-* Supporting Material [Java Refresher]({{site.baseurl}}/docs/java.html); [Git]({{site.baseurl}}/docs/git.html); [331's
-Git resource](https://courses.cs.washington.edu/courses/cse331/20sp/tools/version-control.html)
-* [Java refresher code]({{site.baseurl}}/docs/JavaRefresher.zip)
-* [Java Refresher slides]({{site.baseurl}}/docs/javaRefresher_slides.pdf)
-
-**Day Of**
-
-* **Slides** {% include slide.html title="Getting Started With Android" loc="l01/hello.html" %}
-* **Slides** {% include slide.html title="GitGrade" loc="l01/gitgrade.html" %}
-* **Slides** {% include slide.html title="Doodle" loc="l01/doodle.html" %}
-
-
-{: .lecture} Friday, 4/3: Drawing on the Screen
-: **Learning Goals** How does Android support drawing on the screen; Drawing abstractions; clipping and other transformations
-: **Readings**
-
-* [Using Android Resources](https://www.tutorialspoint.com/android/android_resources.htm)
-* Look at the following Android Documentation
-  * [ImageView](https://developer.android.com/reference/android/widget/ImageView)
-  * [Drawables](https://developer.android.com/guide/topics/graphics/drawables)
-  * [Canvas](https://developer.android.com/reference/android/graphics/Canvas)
-* [Drawing on the Canvas](https://android.jlelse.eu/android-canvas-for-drawing-and-custom-views-e1a3e90d468b)
-* What is a Bounding Box?
-  * Description [Minimum bounding box](https://en.wikipedia.org/wiki/Minimum_bounding_box)
-  * Exercise: [Bounding box in coordinate geometry](https://www.mathopenref.com/coordbounds.html)
-* A beginners guide to implement Android Animations — [Part 1](https://medium.com/@shubham08gupta/a-beginners-guide-to-implement-android-animations-part-1-2-part-series-b5fce1fc85) (2 part series)
-
-**Slides** {% include slide.html title="Drawing Components & Animation" loc="wk01/drawing.html" %}
-
-
-<!-- ********* Week 2 ********* -->
-
-{: .week}
-# Week 2: Output to Me
-
-{: .lecture} Monday, 4/6:  Drawing Interfaces; Animation
-: **Learning Goals** Role of interactor in drawing on the screen, how to use animation to move interactors
-: **Readings and Watchings**
-
-- There is a lot in there and it is a bit of a preview for Friday, but make sure you watch from 6:00-7:00 [Measure Layout Draw](https://youtu.be/4NNmMO8Aykw?t=368) -
-- Transformations in Android (video coming soon)
-- [Introduction to Animation](https://developer.android.com/training/animation/overview)
-- [Property Animation Overview](https://developer.android.com/guide/topics/graphics/prop-animation)
-
-**Slides**: {% include slide.html title="Drawing the interface" loc="wk02/interface-drawing.html" %}
-
-{: .lecture} Wednesday, 4/8: Properties of People I: Visual Perception
-: **Learning Goals** Design implications of people's visual capabilities
-
-**Readings and Watching**
-- [5 Visual-Design Principles in UX](https://www.nngroup.com/articles/principles-visual-design/)
-- [Visual Design Basics](https://www.usability.gov/what-and-why/visual-design.html)
-- [Gestalt Principles](https://www.interaction-design.org/literature/article/the-law-of-similarity-gestalt-principles-1)
-- Theresa-Marie Rhyne - SIGGRAPH University [Applying Color Theory to Digital Media and Visualization"](https://www.youtube.com/watch?v=KJv1N8akoUs) - at least the first 11 minutes or so
-
-**Slides** {% include slide.html title="Properties of People I: Vision" loc="wk02/people-vision.html" %}
-
-{: .lab} Thursday, 4/9: Debugging, Peer Evaluation, Doodle Help
-: **Learning Goals** Support for Creative Work on Doodle; Discussion of and practice evaluating (toy example)
-: **Slides** {% include slide.html title="Debugging, Peer Evaluation and Animation" loc="l02/animation.html" %}
-**Resources**:
- - [Animation Demo (movie)](slides/l02/img/animationDemo.mov)
- - [AnimationDemo.zip](slides/l02/animationPractice.zip)
-
-**Due** (10pm) AS1 [Doodle]({{site.baseurl}}/assignments) code
-
-{: .lecture} Friday 4/10: Introduction to Layout
-: **Learning Goals** Relating layout to the interactor hierarchy
-: **Readings**
-
-- [Layouts (Overview)](https://developer.android.com/guide/topics/ui/declaring-layout)
-- [Building a Responsive UI](https://developer.android.com/training/constraint-layout)
-- [Android - UI Layouts](https://www.tutorialspoint.com/android/android_user_interface_layouts.htm)
-
-**Worksheet** [Layout 1](https://docs.google.com/document/d/1hhFPJBZATrAgWb0pD7S2VZtA6aE2wGKM4wFDISk56sA/edit?usp=sharing)
-: **Slides** {% include slide.html title="Layout" loc="wk02/layout.html" %}
-
-**Assigned**  AS2 [Layout]({{site.baseurl}}/assignments)
-: **Assigned** Quiz 1 (due Sunday): Canvas Practice quiz containing sample questions covering key concepts from Doodle, Properties of People I: Vision, and readings
-
-
-<!-- ********* Week 3 ********* -->
-
-{: .week}
-# Week 3: Present to Me
-{: .lecture} Sunday, 4/12: Peer Evaluation
-: **Assigned** AS1 [Doodle]({{site.baseurl}}/assignments) peer reviews released (look for emails)
-: **Due** Quiz 1
-
-{: .lecture} Monday, 4/13:  Layout II - more layout details
-: **Learning Goal** How is layout accomplished? What is the difference between using XML vs creating
-Views and adding them to the parent?
-
-: **Readings and Watchings**
-- [Android ImageView ScaleType: a Visual Guide](https://thoughtbot.com/blog/android-imageview-scaletype-a-visual-guide)
-- See readings from 4/10
-
-
-: **Slides** {% include slide.html title="More on Layout in Android" loc="wk03/layout-ii.html" %}
-
-{: .lecture} Tuesday, 4/14
-
-: **Due** Peer evaluation of [Doodle]({{site.baseurl}}/assignments)
-
-{: .lecture} Wednesday, 4/15:   Layout: Implementation and Theory
-: **Learning Goals** Under the hood: How is layout accomplished?
-
-: **Readings and Watchings**
-
-- Watch or re-watch: [Measure Layout Draw](https://youtu.be/4NNmMO8Aykw?t=368)
-- Read one of
-  - [How Android Draws Views](https://developer.android.com/guide/topics/ui/how-android-draws)
-  - [Measure… Layout… Draw!](https://medium.com/@britt.barak/measure-layout-draw-483c6a4d2fab)
-  - Deeper details: [https://cheesecakelabs.com/blog/understanding-android-views-dimensions-set/](https://cheesecakelabs.com/blog/understanding-android-views-dimensions-set/)
-
-**Slides** {% include slide.html title="Layout in Android" loc="wk03/layout-algorithm.html" %}
-
-**Due** [Doodle]({{site.baseurl}}/assignments) Reflection
-
-{: .lab} Thursday, 4/16: Support on Layout
-: **Learning Goals** Work through constraint based layout
-
-: **Slides** {% include slide.html title="Layout" loc="l03/layout.html" %}
-
-{: .lecture} Friday, 4/17: AMA, Examlet 1
-: **Examlet 1** Assess your knowledge on Android development and drawing on the canvas
-
-**Slides** {% include slide.html title="AMA, Examlet" loc="wk03/examlet.html" %}
-
-**Due** AS2 [Layout]({{site.baseurl}}/assignments) part 1-2 (for pixel tests)
-
-<!-- ********* Week 4 ********* -->
-
-{: .week}
-# Week 4: Include Everyone
-{: .lecture} Monday, 4/20:  Accessibility
-: **Learning Goals** Learn about the history of accessibility, why it is important, and what problems exist
-: **Readings**
-- [Android Accessibility Overview](https://developer.android.com/guide/topics/ui/accessibility/)
-- [Android Accessibility Guides](https://developer.android.com/guide/topics/ui/accessibility/apps)
-- [Proper Alt Text Writing](https://webaim.org/techniques/alttext/)
-- [Material Design: Assistive Technology](https://material.io/design/usability/accessibility.html#assistive-technology)
-
-: **Slides** {% include slide.html title="Accessibility" loc="wk03/accessibility-and-inclusive-design.pdf" %}
-
-{: .lecture} Wednesday, 4/22: Guest Lecture (Venkatesh Potluri & Anne Ross): Android Accessibility
-: **Learning Goals** Learn about how to make Android apps accessible
-: **Readings** See Monday
-: **Slides**
-  - {% include slide.html title="Accessibility in Practice" loc="wk04/accessibility.html" %}
-  - [340AccessibiltyScanner](340AccessibiltyScanner.pdf)
-
-**Assigned**: AS3 [Accessibility]({{site.baseurl}}/assignments)
-
-
-{: .lab} Thursday, 4/23: Finish Layout & Start Accessibility
-: **Learning Goals** Use the Accessibility Checker
-
-: **Slides**  {% include slide.html title="Layout and Accessibility" loc="l04/accessibility.html" %}
-
-{: .lecture} Friday, 4/24: Event Handling I: Where Events Come from
-: **Learning Goals** Basics of event handling including event types and listeners (callbacks)
-: **Readings**
-- [Comparators](https://tech.willhaben.at/sorting-objects-working-with-java-comparator-5302ab38c21f)
-- [UI Events in Android](https://developer.android.com/guide/topics/ui/ui-events)
-- [Model-View-Controller](https://medium.com/upday-devs/android-architecture-patterns-part-1-model-view-controller-3baecef5f2b6)
-
-**Slides** {% include slide.html title="Event Handling I: Callbacks, Model View Controller, and Events" loc="wk04/events.html" %}
-**Supplemental Files** [person.zip]({{site.baseurl}}/slides/wk04/person.zip)
-
-**Assigned** Quiz 2 (due Sunday): Sample questions covering key concepts from layout
-
-**Due** AS2 [Layout]({{site.baseurl}}/assignments) part 3-5 (code + reflection)
-
-
-<!-- ********* Week 5 ********* -->
-
-{: .week}
-# Week 5: React to me
-{: .lecture} Sunday 4/26:
-: **Due** Quiz 2
-
-{: .lecture} Monday 4/27: Event Handling II: Where Events Go
-: **Learning Goals** How events are dispatched to interactors, importance of interactor hierarchy
-: **Readings**
-- [UI Events](https://developer.android.com/guide/topics/ui/ui-events)
-- [4 Ways To Implement OnClickListener On Android](https://medium.com/@CodyEngel/4-ways-to-implement-onclicklistener-on-android-9b956cbd2928)
-
-
-: **Slides** {% include slide.html title="Event Handling II: Delivery of Events in the Interactor Hierarchy" loc="wk05/event-delivery.html" %}
-**Supplemental Files** [Counter.zip]({{site.baseurl}}/slides/wk05/Counter.zip)
-
-{: .lecture} Wednesday, 4/29: Event Handling III: How Interactors use Events
-: **Learning Goals** Learn how to handle input; How to properly implement a finite state machine in an interactor; Implementation Strategies for Interactors to Handle Events
-: **Readings and Prework**
-- [Custom View Components](https://developer.android.com/guide/topics/ui/custom-components)
-- Download [Counter.zip]({{site.baseurl}}/slides/wk05/Counter.zip) and read through it.
-- Informational only: [Original PPS paper](https://dl.acm.org/doi/abs/10.1145/97243.97252)
-
-: **Slides** {% include slide.html title="Essential Behavior and the use of finite state machines to implement it" loc="wk05/pps-geom.html" %}
-
-{: .lab} Thursday, 4/30: Implementing Interactors
-: **Learning Goals** Get comfortable with finite state machines' implementation in interactors
-
-: **Slides**  {% include slide.html title="State Machines" loc="l05/state.html" %}
-
-**Due**: AS3 [Accessibility]({{site.baseurl}}/assignments)
-
-{: .lecture} Friday, 5/1: Examlet 2, Event Handling IV: Essential Geometry
-: **Learning Goals** ColorPicker intro, Create a non-rectangular interactor, Essential Geometry and Essential Behavior
-: **Reading**
-
-- [Custom View Components](https://developer.android.com/guide/topics/ui/custom-components)
-
-<!-- - **Slides** {% include slide.html title="Review Slides Touching on Key Concepts from Prior Weeks" loc="wk05/review.html" %} -->
-**Slides** {% include slide.html title="Summary of Toolkit Architecture" loc="wk05/whole-toolkit.html" %}
-
-**Examlet 2** Assess your knowledge on layout theory and practice in Android
-
-**Assigned** AS4 [Color Picker]({{site.baseurl}}/assignments)
-
-
-<!-- ********* Week 6 ********* -->
-
-{: .week}
-# Week 6: Beyond Touch: The Larger World
-
-{: .lecture} Monday, 5/4: Context Awareness - Jen Mankoff, Guest Lecture
-: **Learning Goals** Assumptions about phone use and examples of context aware applications
-: **Readings**:
-- [Calm Tech, Then and Now](http://www.johnseelybrown.com/calmtech.pdf)
-- [The Coming Age of Calm Technology](https://pdfs.semanticscholar.org/ed7f/cec667281ab1f4ca4ac10239582cb4345e0a.pdf?_ga=2.248923214.838018675.1588119518-1260861436.1586456410)
-
-: **Slides** {% include slide.html title="The Sensing Phone" loc="wk06/context.html" %}
-
-{: .lecture} Wednesday, 5/6: Physical Computing
-: **Learning Goals** Learn a little about 3D Printing and extending phones for sensing
-: **Readings and Watchings**
-- Lisa Harouni Ted Talk: [A Primer on 3D Printing](https://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing)
-- [Powder Printing](https://www.youtube.com/watch?v=kBHsfNDsbCs&feature=youtu.be&t=29s)
-- [Liquid Printing](https://www.popsci.com/new-liquid-based-3d-printer-takes-minutes-not-hours/)
-
-: **Slides** {% include slide.html title="Physical Computing" loc="wk06/3dprinting.html" %}
-
-{: .lab} Thursday, 5/7: Bundling + Color Picker help
-: **Learning Goals** What're bundles? What do they do? Let's find out!
-
-: **Slides**  {% include slide.html title="How to use Bundle" loc="l06/bundling.html" %}
-
-{: .lecture} Friday, 5/8: Properties of People II: Motor Behavior
-: **Learning Goals** Learn the theory driving good interactor design; Motor behavior basics and
- implications for design including Fitts' law and Guiard's theory of bimanual input
-: **Readings**
-- [Fitts' Law](https://en.wikipedia.org/wiki/Fitts%27s_law)
-- [Video](https://www.youtube.com/watch?v=kly2QA1bFc8)
-
-: **Slides** {% include slide.html title="Properties of People II: Motor Control" loc="wk06/people-motor.html" %}
-
-**Assigned** Quiz 3 (due Wednesday 5/13): Sample questions covering key concepts from accessibility and color picker assignments
-
-
-<!-- ********* Week 7 ********* -->
-
-{: .week}
-# Week 7: Design Principles
-
-{: .lecture} Monday, 5/11:Predicting and Evaluating Interactor Efficiency
-: **Learning Goals** Apply design tips we've discussed to comparing the efficiency of different variations on interactors; Learn about wide variety of solutions for selection; Learn about Qualitative and Quantitative ways of testing theories
-
-: **Slides** {% include slide.html title="Predicting and Evaluating Interactor Efficiency" loc="wk07/menus.html" %}
-
-**Assigned** AS5 [Menus]({{site.baseurl}}/assignments)
-
-**Due** AS4 [Color Picker]({{site.baseurl}}/assignments) code and reflection
-
-{: .lecture} Wednesday, 5/13: Application Design Principals
-: **Learning Goals** Mental models, gulf of execution, gulf of evaluation
-**Readings**:
-- [Mental Models](https://www.nngroup.com/articles/mental-models/)
-- [The Two UX Gulfs: Evaluation and Execution](https://www.nngroup.com/articles/two-ux-gulfs-evaluation-execution/) (also a short article [here](https://www.educative.io/edpresso/gulf-of-execution-and-gulf-of-evaluation))
-- [The Seven Stages of Action](https://www.guerillagirl.de/2017/03/18/seven-stages-of-action-don-norman/).
-At least watch these two videos
-  - [The Seven Stages of actions](https://youtu.be/n4fCHYbRcKw&feature=emb_logo)
-  - [It's not you. Bad Doors are everywhere](https://www.youtube.com/watch?v=yY96hTb8WgI&feature=emb_logo)
-
-: **Slides** {% include slide.html title="Application Design Principals" loc="wk07/interaction.html" %}
-
-**Due** Quiz 3
-
-{: .lab} Thursday, 5/14: Designing Menus
-: **Learning Goals** Help with Menus Assignment; Revisiting key concepts
-
-: **Slides**  {% include slide.html title="Getting started with Menus" loc="l07/menus-lab.html" %}
-
-{: .lecture} Friday, 5/15: Examlet 3, Reasoning from Data
-: **Learning Goals** Principals of and Problems with Behavior Change
-**Readings**
-- [Dopamine, Smartphones & You: A battle for your time](http://sitn.hms.harvard.edu/flash/2018/dopamine-smartphones-battle-time/)
-- [Science Of Persuasion](https://www.youtube.com/watch?v=cFdCzN7RYbw) (Optional)
-
-: **Slides** {% include slide.html title="Behavior Change with Mobile Devices" loc="wk07/behavior-change.html" %}
-
-**Examlet 3** Assess your knowledge on key concepts from accessibility and color picker
-
-
-
-<!-- ********* Week 8 ********* -->
-
-{: .week}
-# Week 8: Understand Me
-
-{: .lecture} Monday, 5/18:  Studying People
-: **Learning Goals** Understand concepts in data pipeline in an applied fashion including what is
-our hypothesis, how this translates into study design and method, considerations when interacting
-with users, data collection cleaning and analysis, some statistical methods, and how we draw conclusions
-**Readings**
-- [Some Social Scientist Are Tired of Asking for Permission](https://www.nytimes.com/2017/05/22/science/social-science-research-institutional-review-boards-common-rule.html)
-
-: **Slides** {% include slide.html title="Quantitative Study Design/Running" loc="wk08/studies.html" %}
-
-
-
-{: .lecture} Wednesday, 5/20: Using data to influence people
-: **Learning Goals** Data analysis and how charts and statistics can be used and misused
-
-: **Slides** {% include slide.html title="Analyzing Data" loc="wk08/studies2.html" %}
-
-**Assigned** AS5 [Menus]({{site.baseurl}}/assignments) part 5-6
-
-{: .lab} Thursday, 5/21: Sample Menu Data Analysis
-: **Learning Goals** Evaluating Human Subjects Experiments
-
-: **Slides** {% include slide.html title="Menus Data Analysis" loc="l08/menus-data.html" %}
-
-**Due** AS5 [Menus]({{site.baseurl}}/assignments) part 1-4
-
-
-{: .lecture} Friday, 5/22: Undo
-: **Learning Goals** Theory and implementation of Undo
-
-: **Slides** {% include slide.html title="Undo" loc="wk08/undoSlides.html" %}
-
-**Assigned** AS6 [Undo]({{site.baseurl}}/assignments)
-: **Assigned** Quiz 4 (due <del>Sunday</del>Monday): Covering important concepts from interactor implementation, accessibility and Fitts' Law
-
-<!-- ********* Week 9 ********* -->
-
-{: .week}
-# Week 9: Undo Me
-
-{: .lecture} Monday, 5/25
-: **Due** Quiz 4
-
-{: .holiday} Monday, 5/25: Memorial Day
-: **Due** AS5 [Menus]({{site.baseurl}}/assignments) part 5-6
-
-{: .lecture} Wednesday, 5/27:  Interaction Programming in Web Development
-: **Learning Goals** See how Web Development follows many of the same Interaction Programming principles we've been learning all quarter!
-**Readings**
-- [Spot the Heron Case Study](https://gitlab.cs.washington.edu/cse340-20sp-students/cse340-spottheheron)
-- [What is HTML?](https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started)
-- [What is CSS?](https://developer.mozilla.org/en-US/docs/Learn/CSS/First_steps/How_CSS_works)
-- [Intro to Javascript](https://javascript.info/intro)
-- [Difference between JS and Java](https://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java)
-
-: **Slides** {% include slide.html title="Interaction Programming in Web Development" loc="wk09/web" %}
-
-
-{: .lab} Thursday, 5/28: Work on Undo
-: **Slides** {% include slide.html title="Getting started with Undo" loc="l09/undo-lab.html" %}
-
-{: .lecture .tbd} Friday, 5/29: Examlet 4, Machine Learning
-: **Learning Goals** Using Machine Learning in Interactive Systems
-**Readings and Watchings**
-- [The Risk of Machine-Learning Bias (and How to Prevent It)](https://sloanreview.mit.edu/article/the-risk-of-machine-learning-bias-and-how-to-prevent-it/)
-- [The Basics of Machine Learning](https://sloanreview.mit.edu/article/the-risk-of-machine-learning-bias-and-how-to-prevent-it/)
-
-: **Slides** {% include slide.html title="Mobile Machine Learning" loc="wk09/ml.html" %}
-
-**Examlet 4** (Due by 10pm) Assess your knowledge on key concepts menus, application design principles, and properties of people II.
-
-
-<!-- ********* Week 10 ********* -->
-
-{: .week}
-# Week 10: Assess Me
-
-{: .lecture} Monday, 6/1: Interaction Programming in Flutter
-: **Learning Goals** See how Flutter follows many of the same Interaction Programming principles we've been learning all quarter!
-**Readings**
-- [What is Flutter?](https://flutter.dev/docs/resources/technical-overview) up to "try it"
-- Optional additional: the “aggressive composability” [Inside Flutter](https://flutter.dev/docs/resources/inside-flutter)
-
-**Slides** [Interaction Programming in Flutter](https://docs.google.com/presentation/d/18Ma_vUkgWPBHFQ9KWoC3jrcDZhp3f9lzmVYQcl7zHOM/preview?slide=id.p)
-
-
-{: .lecture} Wednesday, 6/3:  Heuristic Evaluation
-: **Learning Goals** Learn about a quick way to get feedback on the quality of your application,
-particularly good for focused tasks on screens.
-**Readings**:
-- [Usability Heuristics](https://csfieldguide.org.nz/en/chapters/human-computer-interaction/usability-heuristics/)
-
-**Slides** {% include slide.html title="Heuristic Evaluation" loc="wk10/heuristic" %}
-
-**Due** [Undo]({{site.baseurl}}/assignments)
-
-{: .lab} Thursday, 6/4:  Heuristic Eval of Undo App
-: **Learning Goals** Execute a Heuristic Eval (start in Lab)
-
-:  **Slides** {% include slide.html title="Heuristic Evaluation" loc="l10/lab-heuristic.html" %}
-
-**Due** (16-Mar): Heuristic Eval Reflection
-
-{: .lecture} Friday 6/5:Guest Lecture: Implementing Secure & Private Mobile Apps
-: **Learning Goals** Implementing Secure & Private Mobile Apps
-**Readings**
-- [Android Security Tips](https://developer.android.com/training/articles/security-tips)
-- [Cryptography](https://developer.android.com/guide/topics/security/cryptography)
-
-
-: **Slides** {% include slide.html title="Secure Android Application Development" loc="wk09/cse340-guestlecture-june5.pdf" %}
-**Assigned** Quiz 6 (due Sunday): Sample questions covering key concepts from undo and heuristic evaluation
-
-<!-- ********* Finals Week ********* -->
-
-{: .week}
-# Week 11: Final-ly
-
-{: .exam} 6/8: Final Reflection Due (in lieu of Final Exam)
-
-: **Due** [Undo]({{site.baseurl}}/assignments/undo) final reflection
-: **Due** Quiz 6
-
-<!-- Things cut from the course that could be added back: -->
-
-<!-- {: .lecture} TBD Augmented Reality -->
-<!-- : **Slides** {% include slide.html title="Augmented Reality on the phone" loc="wk08/ar.html" %} -->
-<!-- some key things you need to do to implement Sensing, discussion of the context awareness assignment -->
-
-<!-- Deeper introduction to Animation -->
-
-<!-- Advanced Layout Concepts -->
-<!-- : **Learning Goals** Using tabs, lenses, and so on); How to make use of the Android Layout Libraries Effectively -->
-<!-- : {: .tbd} **Slides**: Advanced Layout -->
+{: .lab} Example lab
+: **Learning Goals** 
 
-<!-- : **Learning Goals** Using machine learning to reason from mobile data -->
-<!-- : **Slides** {% include slide.html title="Machine learning on mobile devices" loc="wk10/ml.html" %} -->