Compare commits
No commits in common. "master" and "feature/36" have entirely different histories.
master
...
feature/36
29
.gitignore
vendored
|
@ -10,7 +10,6 @@ pom.xml.asc
|
||||||
/resources/public/content/.git
|
/resources/public/content/.git
|
||||||
/resources/public/vendor
|
/resources/public/vendor
|
||||||
/bower_components/
|
/bower_components/
|
||||||
/resources/public/js/lib/
|
|
||||||
.lein-deps-sum
|
.lein-deps-sum
|
||||||
.lein-repl-history
|
.lein-repl-history
|
||||||
.lein-plugins/
|
.lein-plugins/
|
||||||
|
@ -21,31 +20,3 @@ pom.xml.asc
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*-init.clj
|
*-init.clj
|
||||||
profiles\.clj
|
profiles\.clj
|
||||||
.bowerrc
|
|
||||||
bower.json
|
|
||||||
.idea
|
|
||||||
|
|
||||||
src/clj/youyesyet/scratchpad\.clj
|
|
||||||
|
|
||||||
*.iml
|
|
||||||
|
|
||||||
resources/sql/queries\.auto\.sql
|
|
||||||
|
|
||||||
resources/templates/auto/
|
|
||||||
|
|
||||||
src/clj/youyesyet/routes/auto\.clj
|
|
||||||
|
|
||||||
src/clj/youyesyet/routes/auto_json\.clj
|
|
||||||
|
|
||||||
resources/sql/youyesyet\.postgres\.sql
|
|
||||||
|
|
||||||
\.rebel_readline_history
|
|
||||||
/dumps/
|
|
||||||
|
|
||||||
youyesyet\.canonical\.adl\.xml
|
|
||||||
|
|
||||||
youyesyet\.dump\.20180816
|
|
||||||
|
|
||||||
*.tar
|
|
||||||
|
|
||||||
src/clj/youyesyet/cache\.clj
|
|
||||||
|
|
10
CHANGELOG.md
|
@ -1,10 +0,0 @@
|
||||||
# Change Log
|
|
||||||
All notable changes to this project will be documented in this file. This change log is intended to follow the conventions of [keepachangelog.com](http://keepachangelog.com/).
|
|
||||||
|
|
||||||
# 0.2.1, 2018-09-21
|
|
||||||
|
|
||||||
(Hopefully) fixed map regression in 0.2.0
|
|
||||||
|
|
||||||
# 0.2.0, 2018-09-20
|
|
||||||
|
|
||||||
Second public alpha, most features complete.
|
|
66
README.md
|
@ -43,30 +43,6 @@ If you're thinking of joining in development on this I'd strongly recommend you
|
||||||
You should also read the [User-Oriented Specification](doc/specification/userspec.md) and any other documentation which appears under the *doc/specification* hierarchy.
|
You should also read the [User-Oriented Specification](doc/specification/userspec.md) and any other documentation which appears under the *doc/specification* hierarchy.
|
||||||
|
|
||||||
|
|
||||||
## Building this
|
|
||||||
|
|
||||||
This application is built using [Application Description Language](https://github.com/simon-brooke/adl/). The `adl` pre-processor is run as a prep task to building the `uberjar`, which in turn is preparatory to building the `uberwar`.
|
|
||||||
|
|
||||||
This will generate a large number of the source files required by YouYesYet, **including** the database initialisation scripts. These generated source files are not, as a matter of policy, held in the repository.
|
|
||||||
|
|
||||||
### What is auto-generated, and how to override it
|
|
||||||
|
|
||||||
The following files are generated from the master file `youyesyet.adl.xml`:
|
|
||||||
|
|
||||||
* `resources/sql/queries.auto.sql` - [HugSQL](https://www.hugsql.org/) queries for selection, insertion, modification and deletion of records of all entities described in the ADL file.
|
|
||||||
* `resources/sql/[application-name].postgres.sql` - [Postgres](https://www.postgresql.org/) database initialisation script including tables for all entities, convenience views for all entities, all necessary link tables and referential integrity constraints.
|
|
||||||
* `resources/templates/auto/*.html` - [Selmer](https://github.com/yogthos/Selmer) templates for each form or list list specified in the ADL file (pages are not yet handled).
|
|
||||||
* `src/clj/[application-name]/routes/auto.clj` - [Compojure]() routes for each form or list list specified in the ADL file (pages are not yet handled).
|
|
||||||
* `src/clj/[application-name]/routes/auto-json.clj` - [Compojure]() routes returning JSON responses for each query generated in `resources/sql/queries.auto.sql`.
|
|
||||||
|
|
||||||
*You are strongly advised never to edit any of these files*.
|
|
||||||
|
|
||||||
* To override any query, add that query to a file `resources/sql/queries.sql`
|
|
||||||
* To add additional material (for example reference data) to the database initialisation, add it to a separate file or a family of separate files.
|
|
||||||
* To override any template, copy the template file from `resources/templates/auto/` to `resources/templates/` and edit it there.
|
|
||||||
* To override any route, write a function of the same name in the namespace `[application-name].routes.manual`.
|
|
||||||
|
|
||||||
|
|
||||||
## Getting the database up
|
## Getting the database up
|
||||||
|
|
||||||
You'll need a file *profiles.clj*, with content similar to the following; it's not in the repository because it contains passwords.
|
You'll need a file *profiles.clj*, with content similar to the following; it's not in the repository because it contains passwords.
|
||||||
|
@ -83,57 +59,31 @@ Do get the database initialised, run
|
||||||
|
|
||||||
createdb youyesyet_dev
|
createdb youyesyet_dev
|
||||||
|
|
||||||
I'm no longer using Migratus as I'm using [Application Description Language](https://github.com/simon-brooke/adl/)
|
|
||||||
to generate the majority of the application, and, as changes are made to the application
|
|
||||||
description, new database schemas are generated. The database initialisation script will
|
|
||||||
be found at `resources/sql/youyesyet.postgres.sql`. Manually maintained overrides are found in
|
|
||||||
`resources/sql/youyesyet.postgres.overrides.sql`. So to initialise the database, invoke
|
|
||||||
|
|
||||||
psql youyesyet_dev < resources/sql/youyesyet.postgres.sql
|
|
||||||
|
|
||||||
followed by
|
followed by
|
||||||
|
|
||||||
psql youyesyet_dev < resources/sql/youyesyet.postgres.overrides.sql
|
lein migratus migrate
|
||||||
|
|
||||||
Reference data initialisation scripts will in due course be stored in the same directory.
|
**NOTE THAT** in the namespace *youyesyet.db.schema*, there are a series of functions *create-xxx-table!*. These are a snare and a delusion; they are how I originally bootstrapped the database, but are no longer used (and should probably be deleted). The database is now constructed using [migratus](https://github.com/yogthos/migratus).
|
||||||
|
|
||||||
Once we have a more or less finished application it may be worth going back to
|
|
||||||
[Migratus](https://github.com/yogthos/migratus); I might have a go at generating migrations from
|
|
||||||
diffs between successive versions of the application description.
|
|
||||||
|
|
||||||
## Running in a dev environment
|
## Running in a dev environment
|
||||||
|
|
||||||
To run in a dev environment, checkout the *develop* branch
|
To run in a dev environment, checkout the *develop* branch
|
||||||
|
|
||||||
To download and install Javascript delendencies, run
|
|
||||||
|
|
||||||
cd youyesyet
|
|
||||||
lein npm install
|
|
||||||
|
|
||||||
To start a development web server for the application, run:
|
To start a development web server for the application, run:
|
||||||
|
|
||||||
Then
|
lein run
|
||||||
|
|
||||||
lein repl
|
If you're wanting to work on cljs development, you need two terminal sessions. In one run
|
||||||
|
|
||||||
Wait for the clojure `user=>` prompt to appear, and enter
|
lein run
|
||||||
|
|
||||||
(mount/start)
|
as above; in the other, run
|
||||||
|
|
||||||
This will get the application running for development; ideally, open a new terminal and invoke
|
|
||||||
|
|
||||||
lein figwheel
|
lein figwheel
|
||||||
|
|
||||||
which will aid in work on the ClojureScript components.
|
|
||||||
|
|
||||||
## Running in a production environment
|
## Running in a production environment
|
||||||
|
|
||||||
Either
|
Doesn't really work yet; if you want to try it, see [Bug #36](https://github.com/simon-brooke/youyesyet/issues/36) and check out the associated feature branch.
|
||||||
|
|
||||||
1. run `lein uberjar` and execute the resulting jar file directly; or
|
|
||||||
2. run `lein uberwar` and serve the resulting war file from a servlet container.
|
|
||||||
|
|
||||||
The [beta production server](https://www.projecthope.scot/) currently runs an uberwar build in Tomcat behind Nginx.
|
|
||||||
|
|
||||||
## Working on this project
|
## Working on this project
|
||||||
|
|
||||||
|
@ -164,7 +114,7 @@ Note that all tools recommended in this document are free for non-commercial use
|
||||||
|
|
||||||
### Editors/IDEs
|
### Editors/IDEs
|
||||||
|
|
||||||
I (Simon) use, like and recommend [LightTable](http://lighttable.com/) as my editor; I used to use Emacs, and there is excellent Clojure tooling for Emacs, but these days Emacs ways of working seem just too far from everything else to be comfortable to me. [NightCode](https://sekao.net/nightcode/) is a lighter-weight Clojure IDE which you may like. There's also [Cursive](https://cursive-ide.com/) but it isn't free and I have so far found it more annoying than helpful; or [Counterclockwise](https://github.com/ccw-ide/ccw) which I don't have recent experience of.
|
I (Simon) use, like and recommend [LightTable](http://lighttable.com/) as my editor; I used to use Emacs, and there is excellent Clojure tooling for Emacs, but these days Emacs ways of working seem just too far from everything else to be comfortable to me. [NightCode](https://sekao.net/nightcode/) is a lighter-weight Clojure IDE which you may like. There's also [Cursive](https://cursive-ide.com/) but it isn't free and I haven't tried it.
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
#%RAML 0.8
|
|
||||||
---
|
|
||||||
title: YouYesYet API
|
|
||||||
baseUri: https://api.yyy.scot/{version}
|
|
||||||
version: v1
|
|
||||||
|
|
||||||
|
|
||||||
/canvassers:
|
|
||||||
get:
|
|
||||||
put:
|
|
||||||
|
|
||||||
/electors:
|
|
||||||
get:
|
|
||||||
/{id}:
|
|
||||||
get:
|
|
||||||
/{address_id}:
|
|
||||||
get:
|
|
||||||
|
|
||||||
# Location isn't a real entity in the database, but it is a means of searching for
|
|
||||||
# addresses and electors.
|
|
||||||
/location:
|
|
||||||
/{lat}/{long}/{radius}:
|
|
||||||
get:
|
|
|
@ -1,17 +0,0 @@
|
||||||
# Security and authorisation
|
|
||||||
|
|
||||||
Essentially we have six levels of authorisation, at essentially increasing levels of sensitivity.
|
|
||||||
|
|
||||||
1. *Canvassers:* Any authenticated user essentially has this level of authorisation. Hence users of the app can all share the same database connections without problem. Therefore there will be one first-class database user for all canvassers, and they will not have individual real database logins.
|
|
||||||
|
|
||||||
2. *Issue experts:* Issue experts respond to followup requests. Therefore they must be able to see the queue of requests and the details of the elector making the request. They don't need to see voter intentions and I don't believe the information they do need to see is particularly sensitive. So they too can share a single database-layer login and connection pool; whether this is the same login as used by the canvassers is an implementation detail but I don't believe that it's critical.
|
|
||||||
|
|
||||||
3. *Issue editors:* Don't need to see much sensitive data (although they do need to see, in aggregate, what issues are being raised by electors in the field), but they do have the power to dictate the initial responses canvassers make to issues raised, so the information they can *write* is pretty sensitive. We need to be very sure that unauthorised users don't have the power to write this data. So I suggest that issue editors probably should have individual first class database logins.
|
|
||||||
|
|
||||||
4. *Team leaders:* Need to be able to monitor the performance of their teams, to invite new users to the system and to block abusive users from the system. Again, these are significant functions which should be well protected from abuse. But we will have at least hundreds, probably thousands of team leaders across Scotland. I would prefer that they each had first class logins, but this may be impractical. But in any case, even if they use a shared login, it should not be the same shared login as used by canvassers.
|
|
||||||
|
|
||||||
5. *Analyists* Need broad authorisation to read, but not write or edit, all sensitive data held by the system. They must have individual first class database logins.
|
|
||||||
|
|
||||||
6. *Admins* Can necessarily read and write everything. They should definitely each have individual first class database logins.
|
|
||||||
|
|
||||||
This means we have a hybrid authentication scheme; for lower levels, application layer security and shared connection pools are adequate. For higher levels, individual connections and database layer authorisation are required. It implies that the routes at the different layers should be separated into separate namespaces with separate authentication functions.
|
|
|
@ -1,235 +0,0 @@
|
||||||
# Database Specification
|
|
||||||
|
|
||||||
Note that this is a work in progress. Read it in concert with the Entity-Relationship Diagram.
|
|
||||||
|
|
||||||
Tables are listed in alphabetical order.
|
|
||||||
|
|
||||||
## Address
|
|
||||||
|
|
||||||
The postal address of a building which contains at least one dwelling at which electors are registered.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS addresses (
|
|
||||||
id integer NOT NULL,
|
|
||||||
address character varying(256) NOT NULL,
|
|
||||||
postcode character varying(16),
|
|
||||||
phone character varying(16),
|
|
||||||
district_id integer,
|
|
||||||
latitude real,
|
|
||||||
longitude real
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Authority
|
|
||||||
|
|
||||||
An *oauth* authority which authenticates canvassers. *Note that* there will need to be substantially more in this table but I don't yet know what.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS authorities (
|
|
||||||
id character varying(32) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Canvasser
|
|
||||||
|
|
||||||
A user of the system.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS canvassers (
|
|
||||||
id serial,
|
|
||||||
username character varying(32) NOT NULL,
|
|
||||||
fullname character varying(64) NOT NULL,
|
|
||||||
elector_id integer,
|
|
||||||
address_id integer NOT NULL,
|
|
||||||
phone character varying(16),
|
|
||||||
email character varying(128),
|
|
||||||
authority_id character varying(32) NOT NULL,
|
|
||||||
authorised boolean
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## District
|
|
||||||
|
|
||||||
An electoral district.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS districts (
|
|
||||||
id integer NOT NULL,
|
|
||||||
name character varying(64) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Dwelling
|
|
||||||
|
|
||||||
A dwelling at which electors are registered. Most addresses obviously have only one dwelling, but in flatted buildings there will be multiple dwellings. The **sub\_address** field contains
|
|
||||||
information to distinguish the dwelling, e.g. 'flat 2.1'.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS dwellings (
|
|
||||||
id serial NOT NULL primary key,
|
|
||||||
address_id integer NOT NULL references addresses(id),
|
|
||||||
sub_address varchar(16)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Elector
|
|
||||||
|
|
||||||
Someone entitled to cast a vote in the referendum.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS electors (
|
|
||||||
id integer NOT NULL,
|
|
||||||
name character varying(64) NOT NULL,
|
|
||||||
dwelling_id integer NOT NULL,
|
|
||||||
phone character varying(16),
|
|
||||||
email character varying(128)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Followup Action
|
|
||||||
|
|
||||||
An action performed by an issue expert in response to a followup request.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS followupactions (
|
|
||||||
id integer NOT NULL,
|
|
||||||
request_id integer NOT NULL,
|
|
||||||
actor integer NOT NULL,
|
|
||||||
date timestamp with time zone DEFAULT now() NOT NULL,
|
|
||||||
notes text,
|
|
||||||
closed boolean
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Followup Method
|
|
||||||
|
|
||||||
A method for responding to a followup request; reference data.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS followupmethods (
|
|
||||||
id character varying(32) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
insert into followupmethods values ('Telephone');
|
|
||||||
insert into followupmethods values ('eMail');
|
|
||||||
insert into followupmethods values ('Post');
|
|
||||||
|
|
||||||
|
|
||||||
## Followup Request
|
|
||||||
|
|
||||||
A request recorded by a canvasser for an issue expert to contact an elector with regard to a particular issue.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS followuprequests (
|
|
||||||
id integer NOT NULL,
|
|
||||||
elector_id integer NOT NULL,
|
|
||||||
visit_id integer NOT NULL,
|
|
||||||
issue_id character varying(32) NOT NULL,
|
|
||||||
method_id character varying(32) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Intention
|
|
||||||
|
|
||||||
An intention, by an elector, to vote for an option; captured by a canvasser during a visit.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS intentions (
|
|
||||||
id serial not null,
|
|
||||||
elector integer not null references elector(id),
|
|
||||||
option varchar(32) not null references option(id),
|
|
||||||
visit integer not null references visit(id),
|
|
||||||
date timestamp with time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Issue
|
|
||||||
|
|
||||||
An issue which might affect electors' decisions regarding their intention.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS issues (
|
|
||||||
id character varying(32) NOT NULL,
|
|
||||||
url character varying(256),
|
|
||||||
content varchar(1024),
|
|
||||||
current default false
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Issue expertise
|
|
||||||
|
|
||||||
Expertise of a canvasser able to use a method, in an issue.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS issueexpertise (
|
|
||||||
canvasser_id integer NOT NULL,
|
|
||||||
issue_id character varying(32) NOT NULL,
|
|
||||||
method_id character varying(32) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Option
|
|
||||||
|
|
||||||
An option for which an elector may have an intention to vote.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS options (
|
|
||||||
id character varying(32) NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Role
|
|
||||||
|
|
||||||
A role (other than basic *Canvasser*) that a user may have in the system. Reference data.
|
|
||||||
|
|
||||||
create table if not exists roles (
|
|
||||||
id serial primary key,
|
|
||||||
name varchar(64) not null
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Role Member
|
|
||||||
|
|
||||||
Membership of a user (*Canvasser*) of an additional role; link table.
|
|
||||||
|
|
||||||
create table if not exists rolememberships (
|
|
||||||
role_id integer not null references roles(id),
|
|
||||||
canvasser_id integer not null references canvassers(id)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Team
|
|
||||||
|
|
||||||
A team of canvassers in a locality who are known to one another and frequently
|
|
||||||
canvas together.
|
|
||||||
|
|
||||||
create table if not exists teams (
|
|
||||||
id serial primary key,
|
|
||||||
name varchar(64) not null,
|
|
||||||
district_id integer not null references districts(id),
|
|
||||||
latitude real,
|
|
||||||
longitude real
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Team Member
|
|
||||||
|
|
||||||
Membership of a user (*Canvasser*) of a particular team. Canvassers may join multiple teams. Link table.
|
|
||||||
|
|
||||||
create table if not exists teammemberships (
|
|
||||||
team_id integer not null references teams(id),
|
|
||||||
canvasser_id integer not null references canvassers(id)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Team Organiser
|
|
||||||
|
|
||||||
A relationship which defines a user (*Canvasser*) as an organiser of a team. A team may
|
|
||||||
have more than one organiser. An organiser (if they also have the role 'Recruiter', which
|
|
||||||
they often will have) may recruit additional Canvassers as members of their team, or
|
|
||||||
accept applications by canvassers to join their team. An organiser may promote a member of
|
|
||||||
the team to organiser of the team, and may also exclude a member from the team.
|
|
||||||
|
|
||||||
create table if not exists teamorganiserships (
|
|
||||||
team_id integer not null references teams(id),
|
|
||||||
canvasser_id integer not null references canvassers(id)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
## Visit
|
|
||||||
|
|
||||||
A visit by a canvasser to an address on a date to solicit intentions from electors.
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS visits (
|
|
||||||
id integer NOT NULL,
|
|
||||||
address_id integer NOT NULL,
|
|
||||||
canvasser_id integer NOT NULL,
|
|
||||||
date timestamp with time zone DEFAULT now() NOT NULL
|
|
||||||
);
|
|
Before Width: | Height: | Size: 131 KiB |
|
@ -14,7 +14,7 @@
|
||||||
viewBox="0 0 1052.3622 744.09448"
|
viewBox="0 0 1052.3622 744.09448"
|
||||||
id="svg2"
|
id="svg2"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
inkscape:version="0.91 r13725"
|
||||||
sodipodi:docname="entity-relationship-diagram.svg">
|
sodipodi:docname="entity-relationship-diagram.svg">
|
||||||
<defs
|
<defs
|
||||||
id="defs4" />
|
id="defs4" />
|
||||||
|
@ -25,16 +25,16 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="1.4"
|
inkscape:zoom="1.979899"
|
||||||
inkscape:cx="630.17912"
|
inkscape:cx="833.70674"
|
||||||
inkscape:cy="325.79533"
|
inkscape:cy="324.89697"
|
||||||
inkscape:document-units="px"
|
inkscape:document-units="px"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="true"
|
showgrid="true"
|
||||||
inkscape:window-width="1920"
|
inkscape:window-width="1920"
|
||||||
inkscape:window-height="1016"
|
inkscape:window-height="1058"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="1920"
|
||||||
inkscape:window-y="27"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1">
|
inkscape:window-maximized="1">
|
||||||
<inkscape:grid
|
<inkscape:grid
|
||||||
type="xygrid"
|
type="xygrid"
|
||||||
|
@ -62,48 +62,50 @@
|
||||||
id="rect4428"
|
id="rect4428"
|
||||||
width="1030"
|
width="1030"
|
||||||
height="730"
|
height="730"
|
||||||
x="16.060907"
|
x="232.23355"
|
||||||
y="312.36218" />
|
y="376.0018" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
|
||||||
x="36.365494"
|
x="36.365494"
|
||||||
y="335.1539"
|
y="335.1539"
|
||||||
id="text4136"><tspan
|
id="text4136"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4138"
|
id="tspan4138"
|
||||||
x="36.365494"
|
x="36.365494"
|
||||||
y="335.1539"
|
y="335.1539" /></text>
|
||||||
style="font-size:20px;line-height:1.25"> </tspan></text>
|
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="117.1777"
|
x="117.1777"
|
||||||
y="360.40771"
|
y="360.40771"
|
||||||
id="text4140"><tspan
|
id="text4140"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4142"
|
id="tspan4142"
|
||||||
x="117.1777"
|
x="117.1777"
|
||||||
y="360.40771"
|
y="360.40771"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial Bold'">YouYesYet: Entity Relationship Diagram</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'">YouYesYet: Entity Relationship Diagram</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="rect4146"
|
id="rect4146"
|
||||||
width="100"
|
width="100"
|
||||||
height="60"
|
height="60"
|
||||||
x="52.499996"
|
x="220.18532"
|
||||||
y="410.48724" />
|
y="411.65665" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="62.499996"
|
x="230.18532"
|
||||||
y="440.48724"
|
y="441.65665"
|
||||||
id="text4148"><tspan
|
id="text4148"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4150"
|
id="tspan4150"
|
||||||
x="62.499996"
|
x="230.18532"
|
||||||
y="440.48724"
|
y="441.65665"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">District</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">District</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
y="533.88507"
|
y="533.88507"
|
||||||
x="220.18532"
|
x="220.18532"
|
||||||
|
@ -112,16 +114,17 @@
|
||||||
id="rect4152"
|
id="rect4152"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4154"
|
id="text4154"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
id="tspan4156"
|
id="tspan4156"
|
||||||
sodipodi:role="line">Dwelling</tspan></text>
|
sodipodi:role="line">Addresss</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="rect4158"
|
id="rect4158"
|
||||||
|
@ -131,15 +134,16 @@
|
||||||
y="653.08313" />
|
y="653.08313" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
id="text4160"><tspan
|
id="text4160"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4162"
|
id="tspan4162"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Elector</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Elector</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
y="653.08313"
|
y="653.08313"
|
||||||
x="732.33264"
|
x="732.33264"
|
||||||
|
@ -148,12 +152,13 @@
|
||||||
id="rect4164"
|
id="rect4164"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4166"
|
id="text4166"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
id="tspan4168"
|
id="tspan4168"
|
||||||
|
@ -161,15 +166,14 @@
|
||||||
<flowRoot
|
<flowRoot
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
id="flowRoot4170"
|
id="flowRoot4170"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0.01%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
|
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:URW Chancery L;font-style:italic;font-weight:bold;font-size:20px;line-height:125%;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:URW Chancery L Bold Italic;font-stretch:normal;font-variant:normal"><flowRegion
|
||||||
id="flowRegion4172"><rect
|
id="flowRegion4172"><rect
|
||||||
id="rect4174"
|
id="rect4174"
|
||||||
width="150"
|
width="150"
|
||||||
height="100"
|
height="100"
|
||||||
x="20"
|
x="20"
|
||||||
y="174.09448" /></flowRegion><flowPara
|
y="174.09448" /></flowRegion><flowPara
|
||||||
id="flowPara4176"
|
id="flowPara4176" /></flowRoot> <rect
|
||||||
style="font-size:20px;line-height:1.25"> </flowPara></flowRoot> <rect
|
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="rect4178"
|
id="rect4178"
|
||||||
width="100"
|
width="100"
|
||||||
|
@ -178,15 +182,16 @@
|
||||||
y="533.88507" />
|
y="533.88507" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
id="text4180"><tspan
|
id="text4180"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4182"
|
id="tspan4182"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Authority</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Authority</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="rect4184"
|
id="rect4184"
|
||||||
|
@ -196,15 +201,16 @@
|
||||||
y="533.88507" />
|
y="533.88507" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="400.90109"
|
x="400.90109"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
id="text4186"><tspan
|
id="text4186"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4188"
|
id="tspan4188"
|
||||||
x="400.90109"
|
x="400.90109"
|
||||||
y="563.88513"
|
y="563.88513"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Visit</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Visit</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
y="653.08313"
|
y="653.08313"
|
||||||
x="390.90109"
|
x="390.90109"
|
||||||
|
@ -213,12 +219,13 @@
|
||||||
id="rect4190"
|
id="rect4190"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4192"
|
id="text4192"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="400.90109"
|
x="400.90109"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="400.90109"
|
x="400.90109"
|
||||||
id="tspan4194"
|
id="tspan4194"
|
||||||
|
@ -232,19 +239,20 @@
|
||||||
y="775.31158" />
|
y="775.31158" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
y="805.31158"
|
y="805.31158"
|
||||||
id="text4198"><tspan
|
id="text4198"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4200"
|
id="tspan4200"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
y="805.31158"
|
y="805.31158"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Issue</tspan><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Issue</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
y="824.06158"
|
y="824.06158"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
id="tspan4208">Expertise</tspan></text>
|
id="tspan4208">Expertise</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
y="898.55017"
|
y="898.55017"
|
||||||
|
@ -254,12 +262,13 @@
|
||||||
id="rect4202"
|
id="rect4202"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4204"
|
id="text4204"
|
||||||
y="928.55017"
|
y="928.55017"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="928.55017"
|
y="928.55017"
|
||||||
x="742.33264"
|
x="742.33264"
|
||||||
id="tspan4206"
|
id="tspan4206"
|
||||||
|
@ -272,17 +281,18 @@
|
||||||
id="rect4221"
|
id="rect4221"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4223"
|
id="text4223"
|
||||||
y="803.29126"
|
y="803.29126"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="803.29126"
|
y="803.29126"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
id="tspan4225"
|
id="tspan4225"
|
||||||
sodipodi:role="line">Followup</tspan><tspan
|
sodipodi:role="line">Followup</tspan><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="822.04126"
|
y="822.04126"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
|
@ -296,32 +306,33 @@
|
||||||
y="896.52985" />
|
y="896.52985" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
y="926.52985"
|
y="926.52985"
|
||||||
id="text4231"><tspan
|
id="text4231"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4233"
|
id="tspan4233"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
y="926.52985"
|
y="926.52985"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Followup</tspan><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Followup</tspan><tspan
|
||||||
id="tspan4235"
|
id="tspan4235"
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="230.18532"
|
x="230.18532"
|
||||||
y="945.27985"
|
y="945.27985"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Action</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial">Action</tspan></text>
|
||||||
<g
|
<g
|
||||||
id="g4243"
|
id="g4243"
|
||||||
transform="translate(2.4999994,28.125007)">
|
transform="translate(170.18532,29.294424)">
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path4237"
|
id="path4237"
|
||||||
d="m 100,442.3622 v 60"
|
d="m 100,442.3622 0,60"
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path4239"
|
id="path4239"
|
||||||
d="m 90,452.3622 h 20"
|
d="m 90,452.3622 20,0"
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
|
@ -517,12 +528,13 @@
|
||||||
id="rect4323"
|
id="rect4323"
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4325"
|
id="text4325"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="570.60675"
|
x="570.60675"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
y="683.08313"
|
y="683.08313"
|
||||||
x="570.60675"
|
x="570.60675"
|
||||||
id="tspan4327"
|
id="tspan4327"
|
||||||
|
@ -541,8 +553,8 @@
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccc" />
|
sodipodi:nodetypes="ccc" />
|
||||||
<path
|
<path
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.12152243px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
d="m 440,534.15662 v -152.5 H 37.5 v 410 h 182.8125"
|
d="m 440,534.15662 0,-152.5 -320,0 0,410 100,0"
|
||||||
id="path4343"
|
id="path4343"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
sodipodi:nodetypes="ccccc" />
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
@ -590,36 +602,37 @@
|
||||||
sodipodi:nodetypes="ccc" />
|
sodipodi:nodetypes="ccc" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="472.0152"
|
x="472.0152"
|
||||||
y="394.48404"
|
y="394.48404"
|
||||||
id="text4361"><tspan
|
id="text4361"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4363"
|
id="tspan4363"
|
||||||
x="472.0152"
|
x="472.0152"
|
||||||
y="394.48404"
|
y="394.48404"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
||||||
id="tspan4371">Version: </tspan>0.4</tspan><tspan
|
id="tspan4371">Version: </tspan>0.2</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="472.0152"
|
x="472.0152"
|
||||||
y="413.23404"
|
y="413.23404"
|
||||||
id="tspan4365"
|
id="tspan4365"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
||||||
id="tspan4373">Date: </tspan>20180719</tspan><tspan
|
id="tspan4373">Date: </tspan>20170315</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="472.0152"
|
x="472.0152"
|
||||||
y="431.98404"
|
y="431.98404"
|
||||||
id="tspan4367"
|
id="tspan4367"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
||||||
id="tspan4375">Author: </tspan>Simon Brooke</tspan><tspan
|
id="tspan4375">Author: </tspan>Simon Brooke</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="472.0152"
|
x="472.0152"
|
||||||
y="450.73404"
|
y="450.73404"
|
||||||
id="tspan4369"
|
id="tspan4369"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;font-family:Arial;-inkscape-font-specification:Arial"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Arial;-inkscape-font-specification:'Arial Bold'"
|
||||||
id="tspan4377">Copyright:</tspan> (c) 2016 Simon Brooke for Radical Independence Campaign</tspan></text>
|
id="tspan4377">Copyright:</tspan> (c) 2016 Simon Brooke for Radical Independence Campaign</tspan></text>
|
||||||
<path
|
<path
|
||||||
|
@ -640,10 +653,11 @@
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="670"
|
x="670"
|
||||||
y="762.36218"
|
y="762.36218"
|
||||||
id="text4385"><tspan
|
id="text4385"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4387"
|
id="tspan4387"
|
||||||
x="670"
|
x="670"
|
||||||
|
@ -651,10 +665,11 @@
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Introduced</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Introduced</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="530"
|
x="530"
|
||||||
y="498.31903"
|
y="498.31903"
|
||||||
id="text4389"><tspan
|
id="text4389"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4391"
|
id="tspan4391"
|
||||||
x="530"
|
x="530"
|
||||||
|
@ -662,64 +677,70 @@
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Visited</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Visited</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;text-anchor:start;text-align:start;writing-mode:lr;"
|
||||||
x="450"
|
x="450"
|
||||||
y="632.36218"
|
y="632.36218"
|
||||||
id="text4393"><tspan
|
id="text4393"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4395"
|
id="tspan4395"
|
||||||
x="450"
|
x="450"
|
||||||
y="632.36218"
|
y="632.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Recorded</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%;">Recorded</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="130"
|
x="130"
|
||||||
y="392.36221"
|
y="392.36221"
|
||||||
id="text4397"><tspan
|
id="text4397"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4399"
|
id="tspan4399"
|
||||||
x="130"
|
x="130"
|
||||||
y="392.36221"
|
y="392.36221"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Bold Italic';text-align:start;writing-mode:lr-tb;text-anchor:start">Raised</tspan></text>
|
style="-inkscape-font-specification:'Arial, Bold Italic';font-family:Arial;font-weight:bold;font-style:italic;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Raised</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="790"
|
x="790"
|
||||||
y="622.36218"
|
y="622.36218"
|
||||||
id="text4401"><tspan
|
id="text4401"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4403"
|
id="tspan4403"
|
||||||
x="790"
|
x="790"
|
||||||
y="622.36218"
|
y="622.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Authenticates</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Authenticates</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="790"
|
x="790"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
id="text4405"><tspan
|
id="text4405"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4407"
|
id="tspan4407"
|
||||||
x="790"
|
x="790"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Has</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Has</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="790"
|
x="790"
|
||||||
y="862.36218"
|
y="862.36218"
|
||||||
id="text4409"><tspan
|
id="text4409"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4411"
|
id="tspan4411"
|
||||||
x="790"
|
x="790"
|
||||||
y="862.36218"
|
y="862.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">About</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">About</tspan></text>
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4413"
|
id="text4413"
|
||||||
y="780.53986"
|
y="780.53986"
|
||||||
x="337.45166"
|
x="337.45166"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
|
||||||
y="780.53986"
|
y="780.53986"
|
||||||
|
@ -728,81 +749,88 @@
|
||||||
sodipodi:role="line">About</tspan></text>
|
sodipodi:role="line">About</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="280"
|
x="280"
|
||||||
y="872.36218"
|
y="872.36218"
|
||||||
id="text4417"><tspan
|
id="text4417"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4419"
|
id="tspan4419"
|
||||||
x="280"
|
x="280"
|
||||||
y="872.36218"
|
y="872.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Responded to</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Responded to</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="330"
|
x="330"
|
||||||
y="702.36218"
|
y="702.36218"
|
||||||
id="text4421"><tspan
|
id="text4421"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4423"
|
id="tspan4423"
|
||||||
x="330"
|
x="330"
|
||||||
y="702.36218"
|
y="702.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Expressed</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Expressed</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="112.31468"
|
x="280"
|
||||||
y="511.19278"
|
y="512.36218"
|
||||||
id="text4425"><tspan
|
id="text4425"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4427"
|
id="tspan4427"
|
||||||
x="112.31468"
|
x="280"
|
||||||
y="511.19278"
|
y="512.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Contains</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Contains</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="280"
|
x="280"
|
||||||
y="632.36218"
|
y="632.36218"
|
||||||
id="text4429"><tspan
|
id="text4429"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4431"
|
id="tspan4431"
|
||||||
x="280"
|
x="280"
|
||||||
y="632.36218"
|
y="632.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Resides at</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Resides at</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="280"
|
x="280"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
id="text4433"><tspan
|
id="text4433"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4435"
|
id="tspan4435"
|
||||||
x="280"
|
x="280"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Requested</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Requested</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="280"
|
x="280"
|
||||||
y="1002.3622"
|
y="1002.3622"
|
||||||
id="text4441"><tspan
|
id="text4441"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4443"
|
id="tspan4443"
|
||||||
x="280"
|
x="280"
|
||||||
y="1002.3622"
|
y="1002.3622"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Performed</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">Performed</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="340"
|
x="340"
|
||||||
y="552.36218"
|
y="552.36218"
|
||||||
id="text4445"><tspan
|
id="text4445"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4447"
|
id="tspan4447"
|
||||||
x="340"
|
x="340"
|
||||||
y="552.36218"
|
y="552.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">To</tspan></text>
|
style="-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:10px;text-anchor:start;text-align:start;writing-mode:lr;line-height:125%">To</tspan></text>
|
||||||
<path
|
<path
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
d="m 810,722.36221 20,0"
|
d="m 810,722.36221 20,0"
|
||||||
|
@ -817,10 +845,11 @@
|
||||||
y="653.08313" />
|
y="653.08313" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="682.36218"
|
y="682.36218"
|
||||||
id="text4285"><tspan
|
id="text4285"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4287"
|
id="tspan4287"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
|
@ -842,47 +871,47 @@
|
||||||
y="773.29126" />
|
y="773.29126" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
|
||||||
x="920"
|
x="920"
|
||||||
y="562.36218"
|
y="562.36218"
|
||||||
id="text4302"><tspan
|
id="text4302"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4304"
|
id="tspan4304"
|
||||||
x="920"
|
x="920"
|
||||||
y="562.36218"
|
y="562.36218" /></text>
|
||||||
style="font-size:20px;line-height:1.25"> </tspan></text>
|
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:15px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="802.36218"
|
y="802.36218"
|
||||||
id="text4306"><tspan
|
id="text4306"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4308"
|
id="tspan4308"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="802.36218"
|
y="802.36218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Organiser-</tspan><tspan
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial">Organiser-</tspan><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="821.11218"
|
y="821.11218"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Arial;-inkscape-font-specification:Arial"
|
||||||
id="tspan4310">ship</tspan></text>
|
id="tspan4310">ship</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="562.36218"
|
y="562.36218"
|
||||||
id="text4312"><tspan
|
id="text4312"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4314"
|
id="tspan4314"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="562.36218"
|
y="562.36218">Team</tspan><tspan
|
||||||
style="font-size:15px;line-height:1.25">Team</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="908.88831"
|
x="908.88831"
|
||||||
y="581.11218"
|
y="581.11218"
|
||||||
id="tspan4385"
|
id="tspan4385">Membership</tspan></text>
|
||||||
style="font-size:15px;line-height:1.25">Membership</tspan></text>
|
|
||||||
<path
|
<path
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
d="m 830,672.36221 40,0 0,-110 30,0"
|
d="m 830,672.36221 40,0 0,-110 30,0"
|
||||||
|
@ -934,10 +963,11 @@
|
||||||
id="path4338"
|
id="path4338"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4340"
|
id="text4340"
|
||||||
y="743.37231"
|
y="743.37231"
|
||||||
x="879.90356"
|
x="879.90356"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
|
||||||
y="743.37231"
|
y="743.37231"
|
||||||
|
@ -946,10 +976,11 @@
|
||||||
sodipodi:role="line">Has</tspan></text>
|
sodipodi:role="line">Has</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="879.90356"
|
x="879.90356"
|
||||||
y="621.14386"
|
y="621.14386"
|
||||||
id="text4344"><tspan
|
id="text4344"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4346"
|
id="tspan4346"
|
||||||
x="879.90356"
|
x="879.90356"
|
||||||
|
@ -957,26 +988,28 @@
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Has</tspan></text>
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">Has</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="960"
|
x="960"
|
||||||
y="622.36218"
|
y="622.36218"
|
||||||
id="text4348"><tspan
|
id="text4348"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4350"
|
id="tspan4350"
|
||||||
x="960"
|
x="960"
|
||||||
y="622.36218"
|
y="622.36218"
|
||||||
style="font-size:10px;line-height:1.25">of</tspan></text>
|
style="font-size:10px">of</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="960"
|
x="960"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
id="text4352"><tspan
|
id="text4352"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4354"
|
id="tspan4354"
|
||||||
x="960"
|
x="960"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
style="font-size:10px;line-height:1.25">of</tspan></text>
|
style="font-size:10px">of</tspan></text>
|
||||||
<g
|
<g
|
||||||
id="g4375"
|
id="g4375"
|
||||||
transform="matrix(1,0,0,-1,171.72593,1606.7279)">
|
transform="matrix(1,0,0,-1,171.72593,1606.7279)">
|
||||||
|
@ -1002,15 +1035,16 @@
|
||||||
</g>
|
</g>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="450"
|
x="450"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
id="text4386"><tspan
|
id="text4386"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4388"
|
id="tspan4388"
|
||||||
x="450"
|
x="450"
|
||||||
y="742.36218"
|
y="742.36218"
|
||||||
style="font-size:10px;line-height:1.25">For</tspan></text>
|
style="font-size:10px">For</tspan></text>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
id="rect4390"
|
id="rect4390"
|
||||||
|
@ -1020,20 +1054,19 @@
|
||||||
y="653.08313" />
|
y="653.08313" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="570"
|
x="570"
|
||||||
y="682.36218"
|
y="682.36218"
|
||||||
id="text4394"><tspan
|
id="text4394"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4396"
|
id="tspan4396"
|
||||||
x="570"
|
x="570"
|
||||||
y="682.36218"
|
y="682.36218">Role</tspan><tspan
|
||||||
style="font-size:15px;line-height:1.25">Role</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
x="570"
|
x="570"
|
||||||
y="701.11218"
|
y="701.11218"
|
||||||
id="tspan4383"
|
id="tspan4383">Membership</tspan></text>
|
||||||
style="font-size:15px;line-height:1.25">Membership</tspan></text>
|
|
||||||
<g
|
<g
|
||||||
id="g4354"
|
id="g4354"
|
||||||
transform="translate(0,-241.93154)">
|
transform="translate(0,-241.93154)">
|
||||||
|
@ -1045,16 +1078,16 @@
|
||||||
x="561.61688"
|
x="561.61688"
|
||||||
y="774.30139" />
|
y="774.30139" />
|
||||||
<text
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
id="text4398"
|
id="text4398"
|
||||||
y="802.36218"
|
y="802.36218"
|
||||||
x="570"
|
x="570"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
xml:space="preserve"><tspan
|
xml:space="preserve"><tspan
|
||||||
y="802.36218"
|
y="802.36218"
|
||||||
x="570"
|
x="570"
|
||||||
id="tspan4400"
|
id="tspan4400"
|
||||||
sodipodi:role="line"
|
sodipodi:role="line">Role</tspan></text>
|
||||||
style="font-size:15px;line-height:1.25">Role</tspan></text>
|
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g4338">
|
id="g4338">
|
||||||
|
@ -1081,26 +1114,28 @@
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="690"
|
x="690"
|
||||||
y="677.36218"
|
y="677.36218"
|
||||||
id="text4346"><tspan
|
id="text4346"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4348"
|
id="tspan4348"
|
||||||
x="690"
|
x="690"
|
||||||
y="677.36218"
|
y="677.36218"
|
||||||
style="font-size:10px;line-height:1.25">Is</tspan></text>
|
style="font-size:10px">Is</tspan></text>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
x="619.09393"
|
x="619.09393"
|
||||||
y="631.24536"
|
y="631.24536"
|
||||||
id="text4350"><tspan
|
id="text4350"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
sodipodi:role="line"
|
sodipodi:role="line"
|
||||||
id="tspan4352"
|
id="tspan4352"
|
||||||
x="619.09393"
|
x="619.09393"
|
||||||
y="631.24536"
|
y="631.24536"
|
||||||
style="font-size:10px;line-height:1.25">Includes</tspan></text>
|
style="font-size:10px">Includes</tspan></text>
|
||||||
<g
|
<g
|
||||||
id="g4359"
|
id="g4359"
|
||||||
transform="translate(341.43156,-241.93151)">
|
transform="translate(341.43156,-241.93151)">
|
||||||
|
@ -1124,53 +1159,5 @@
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<rect
|
|
||||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.4000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
|
||||||
id="rect1017"
|
|
||||||
width="100"
|
|
||||||
height="60"
|
|
||||||
x="50.000015"
|
|
||||||
y="533.88507" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
x="60.000015"
|
|
||||||
y="563.88513"
|
|
||||||
id="text1021"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan1019"
|
|
||||||
x="60.000015"
|
|
||||||
y="563.88513"
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:1.25;font-family:Arial;-inkscape-font-specification:Arial">Address</tspan></text>
|
|
||||||
<g
|
|
||||||
transform="translate(1.6497108e-5,29.294424)"
|
|
||||||
id="g1029">
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 150,532.3622 h 70"
|
|
||||||
id="path1023"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 160,522.3622 v 20 0 0 0"
|
|
||||||
id="path1025"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
<path
|
|
||||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 220,522.3622 -10,10 10,10"
|
|
||||||
id="path1027"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
id="text1033"
|
|
||||||
y="552.36218"
|
|
||||||
x="169.8147"
|
|
||||||
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:0%;font-family:'URW Chancery L';-inkscape-font-specification:'URW Chancery L Bold Italic';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
|
|
||||||
y="552.36218"
|
|
||||||
x="169.8147"
|
|
||||||
id="tspan1031"
|
|
||||||
sodipodi:role="line">Contains</tspan></text>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 61 KiB |
|
@ -22,7 +22,7 @@ Database reads are probably more infrequent. Each client will obviously need to
|
||||||
|
|
||||||
Mobile phones typically can have intermittent network access. The client must be able to buffer a queue of records to be stored, and must not prevent the user from moving on to the next doorstep just because the data from the last visit has not yet been stored. There should probably be some on-screen indication of when there is unsent buffered data.
|
Mobile phones typically can have intermittent network access. The client must be able to buffer a queue of records to be stored, and must not prevent the user from moving on to the next doorstep just because the data from the last visit has not yet been stored. There should probably be some on-screen indication of when there is unsent buffered data.
|
||||||
|
|
||||||
### Pattern of canvassing
|
### Pattern of canvassing
|
||||||
|
|
||||||
Canvassing takes place typically between 6:30pm and 9:00pm on a weekday evening. There will be some canvassing outside this period, but not enough to create significant load. Canvassing will be higher on dry nights than on wet ones, and will probably ramp up through the campaign.
|
Canvassing takes place typically between 6:30pm and 9:00pm on a weekday evening. There will be some canvassing outside this period, but not enough to create significant load. Canvassing will be higher on dry nights than on wet ones, and will probably ramp up through the campaign.
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ This means that the maximum number of transactions per second across Scotland is
|
||||||
|
|
||||||
700 transactions per second is not a very large number. We should be able to support this level of load on a single server. But what if we can't?
|
700 transactions per second is not a very large number. We should be able to support this level of load on a single server. But what if we can't?
|
||||||
|
|
||||||
## Spreading the load
|
## Spreading the load
|
||||||
|
|
||||||
### Caching and memoizing
|
### Caching and memoizing
|
||||||
|
|
||||||
|
@ -56,38 +56,8 @@ All this normalisation and memoisation reduces the number of read requests on th
|
||||||
|
|
||||||
Note that [clojure.core.memoize](https://github.com/clojure/core.memoize) provides us with functions to create both size-limited, least-recently-used caches and duration limited, time-to-live caches.
|
Note that [clojure.core.memoize](https://github.com/clojure/core.memoize) provides us with functions to create both size-limited, least-recently-used caches and duration limited, time-to-live caches.
|
||||||
|
|
||||||
### Searching the database for localities
|
|
||||||
|
|
||||||
At 56 degrees north there are 111,341 metres per degree of latitude, 62,392 metres per degree of longitude. So a 100 metre box is about 0.0016 degrees east-west and .0009 degrees north-south. If we simplify that slightly (and we don't need square boxes, we need units of area covering a group of people working together) then we can take .001 of a degree in either direction which is computationally cheap.
|
At 56 degrees north there are 111,341 metres per degree of latitude, 62,392 metres per degree of longitude. So a 100 metre box is about 0.0016 degrees east-west and .0009 degrees north-south. If we simplify that slightly (and we don't need square boxes, we need units of area covering a group of people working together) then we can take .001 of a degree in either direction which is computationally cheap.
|
||||||
|
|
||||||
Of course we could have a search query like this
|
|
||||||
|
|
||||||
select * from addresses
|
|
||||||
where latitude > 56.003
|
|
||||||
and latitude < 56.004
|
|
||||||
and longitude > -4.771
|
|
||||||
and longitude < -4.770;
|
|
||||||
|
|
||||||
And it would work - but it would be computationally expensive. If we call each of these .001 x .001 roughly-rectangles a **locality**, then we can give every locality an integer index as follows
|
|
||||||
|
|
||||||
(defn locality-index
|
|
||||||
"Compute a locality for this `latitude`, `longitude` pair."
|
|
||||||
[latitude longitude]
|
|
||||||
(+
|
|
||||||
(* 10000 ;; left-shift the latitude component four digits
|
|
||||||
(integer
|
|
||||||
(* latitude 1000)))
|
|
||||||
(- ;; invert the sign of the longitude component, since
|
|
||||||
;; we're interested in localities West of Greenwich.
|
|
||||||
(integer
|
|
||||||
(* longitude 1000)))))
|
|
||||||
|
|
||||||
For values in Scotland, this gives us a number comfortable smaller than the maximum size of a 32 bit integer. Note that this isn't generally the case, so to adapt this software for use in Canada, for example, a more general solution would need to be chosen; but this will do for now. If we compute this index at the time the address is geocoded, then we can achieve the exact same results as the query given above with a much simpler query:
|
|
||||||
|
|
||||||
select * from address where locality = 560034770;
|
|
||||||
|
|
||||||
If the locality field is indexed (which obviously it should be) this query becomes very cheap.
|
|
||||||
|
|
||||||
### Geographic sharding
|
### Geographic sharding
|
||||||
|
|
||||||
Volunteers canvassing simultaneously in the same street or the same locality need to see in near real time which dwellings have been canvassed by other volunteers, otherwise we'll get the same households canvassed repeatedly, which wastes volunteer time and annoys voters. So they all need to be sending updates to, and receiving updates from, the same server. But volunteers canvassing in Aberdeen don't need to see in near real time what is happening in Edinburgh.
|
Volunteers canvassing simultaneously in the same street or the same locality need to see in near real time which dwellings have been canvassed by other volunteers, otherwise we'll get the same households canvassed repeatedly, which wastes volunteer time and annoys voters. So they all need to be sending updates to, and receiving updates from, the same server. But volunteers canvassing in Aberdeen don't need to see in near real time what is happening in Edinburgh.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# YouYesYet: User-oriented specification
|
### YouYesYet: User-oriented specification
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
@ -75,26 +75,18 @@ Note that:
|
||||||
|
|
||||||
The map view shows a map of the streets immediately around their current location, overlaid, on dwellings where canvas has already been done, with icons indicating the voting preference expressed, and with the dwellings where canvassing is still required marked with an icon indicating this:
|
The map view shows a map of the streets immediately around their current location, overlaid, on dwellings where canvas has already been done, with icons indicating the voting preference expressed, and with the dwellings where canvassing is still required marked with an icon indicating this:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Selecting a building on the map leads to
|
Selecting a building on the map leads to
|
||||||
|
|
||||||
1. On buildings with multiple flats, the *Building View*;
|
1. On buildings with multiple flats, a schematic view of the flats in the building (I haven't yet really got a good idea how to do this; it may be just a list). Selecting a flat from this view leads to the *Electors View*;
|
||||||
2. On buildings with only one dwelling, the *Electors View*.
|
2. On buildings with only one dwelling, the *Electors View*.
|
||||||
|
|
||||||
## Building View
|
|
||||||
|
|
||||||
A list of dwellings in a building.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Selecting a flat from this view leads to the *Electors View*.
|
|
||||||
|
|
||||||
## Electors View
|
## Electors View
|
||||||
|
|
||||||
The *Electors View* shows a schematic of the registered electors in a dwelling:
|
The *Electors View* shows a schematic of the registered electors in a dwelling:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
One figure is shown for each elector, labelled with their name. In the dummy pages I've shown gendered stick figures, because I believe that in many casesthis will help the canvasser identify the person who has answered the door; but this may be seen as excluding electors with non-binary gender, and, in any case, I believe we don't actually get gender data (other than salutation) in the electoral roll data. So this may have to be reconsidered.
|
One figure is shown for each elector, labelled with their name. In the dummy pages I've shown gendered stick figures, because I believe that in many casesthis will help the canvasser identify the person who has answered the door; but this may be seen as excluding electors with non-binary gender, and, in any case, I believe we don't actually get gender data (other than salutation) in the electoral roll data. So this may have to be reconsidered.
|
||||||
|
|
||||||
|
@ -120,18 +112,9 @@ The *Issues View* is a simple list of issues:
|
||||||
| Other |
|
| Other |
|
||||||
+------------------------------------------------+
|
+------------------------------------------------+
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
This list will not be hard-coded but will be dynamic; thus, if we find an issue we didn't predict is regularly coming up on the doorstep an *Administrator* can add it to the list.
|
This list will not be hard-coded but will be dynamic; thus, if we find an issue we didn't predict is regularly coming up on the doorstep an *Administrator* can add it to the list.
|
||||||
|
|
||||||
Selecting the back button from the *Issues View* returns to the *Electors View*. Selecting any option from the Issues view leads to the *Issue View*.
|
Selecting the back button from the *Issues View* returns to the *Electors View*. Selecting any option from the Issues view leads to a single page giving top level points the canvasser can make to the elector on the doorstep, and a link to a *Followup Request* form. There is also a 'back' button allowing the user to return to the *Issues View*
|
||||||
|
|
||||||
## Issue View
|
|
||||||
|
|
||||||
A single page giving top level points the canvasser can make to the elector on the doorstep, regarding the selected issue; and a link to a *Followup Request* form. There is also a 'back' button allowing the user to return to the *Issues View*.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Followup Request form
|
## Followup Request form
|
||||||
|
|
||||||
|
@ -149,8 +132,6 @@ The *Followup Request* form is a simple form which allows the canvasser to recor
|
||||||
| |
|
| |
|
||||||
+------------------------------------------------+
|
+------------------------------------------------+
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## How Street Canvassers will use the system
|
## How Street Canvassers will use the system
|
||||||
|
|
||||||
Street Canvassers will typically use the system by
|
Street Canvassers will typically use the system by
|
||||||
|
|
|
@ -1,551 +0,0 @@
|
||||||
body {
|
|
||||||
font-family: Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre, code {
|
|
||||||
font-family: Monaco, DejaVu Sans Mono, Consolas, monospace;
|
|
||||||
font-size: 9pt;
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 29px;
|
|
||||||
margin: 10px 0 2px 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h5.license {
|
|
||||||
margin: 9px 0 22px 0;
|
|
||||||
color: #555;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 12px;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.document h1, .namespace-index h1 {
|
|
||||||
font-size: 32px;
|
|
||||||
margin-top: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header, #content, .sidebar {
|
|
||||||
position: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 22px;
|
|
||||||
color: #f5f5f5;
|
|
||||||
padding: 5px 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
top: 32px;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: auto;
|
|
||||||
background: #fff;
|
|
||||||
color: #333;
|
|
||||||
padding: 0 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
position: fixed;
|
|
||||||
top: 32px;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.primary {
|
|
||||||
background: #e2e2e2;
|
|
||||||
border-right: solid 1px #cccccc;
|
|
||||||
left: 0;
|
|
||||||
width: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.secondary {
|
|
||||||
background: #f2f2f2;
|
|
||||||
border-right: solid 1px #d7d7d7;
|
|
||||||
left: 251px;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.namespace-index, #content.document {
|
|
||||||
left: 251px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.namespace-docs {
|
|
||||||
left: 452px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.document {
|
|
||||||
padding-bottom: 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
background: #3f3f3f;
|
|
||||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: lighter;
|
|
||||||
text-shadow: -1px -1px 0px #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 .project-version {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-version {
|
|
||||||
padding-left: 0.15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header a, .sidebar a {
|
|
||||||
display: block;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header a {
|
|
||||||
color: #f5f5f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar a {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h2 {
|
|
||||||
float: right;
|
|
||||||
font-size: 9pt;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 4px 3px;
|
|
||||||
padding: 0;
|
|
||||||
color: #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h2 a {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px 13px 0 13px;
|
|
||||||
font-size: 19px;
|
|
||||||
font-weight: lighter;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3 a {
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3.no-link {
|
|
||||||
color: #636363;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar ul {
|
|
||||||
padding: 7px 0 6px 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar ul.index-link {
|
|
||||||
padding-bottom: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li {
|
|
||||||
display: block;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li a, .sidebar li .no-link {
|
|
||||||
border-left: 3px solid transparent;
|
|
||||||
padding: 0 10px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .no-link {
|
|
||||||
display: block;
|
|
||||||
color: #777;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .inner {
|
|
||||||
display: inline-block;
|
|
||||||
padding-top: 7px;
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li a, .sidebar li .tree {
|
|
||||||
height: 31px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.depth-1 .inner { padding-left: 2px; }
|
|
||||||
.depth-2 .inner { padding-left: 6px; }
|
|
||||||
.depth-3 .inner { padding-left: 20px; }
|
|
||||||
.depth-4 .inner { padding-left: 34px; }
|
|
||||||
.depth-5 .inner { padding-left: 48px; }
|
|
||||||
.depth-6 .inner { padding-left: 62px; }
|
|
||||||
|
|
||||||
.sidebar li .tree {
|
|
||||||
display: block;
|
|
||||||
float: left;
|
|
||||||
position: relative;
|
|
||||||
top: -10px;
|
|
||||||
margin: 0 4px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li.depth-1 .tree {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .top, .sidebar li .tree .bottom {
|
|
||||||
display: block;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
width: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .top {
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
border-bottom: 1px solid #aaa;
|
|
||||||
height: 19px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .bottom {
|
|
||||||
height: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li.branch .tree .bottom {
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.primary li.current a {
|
|
||||||
border-left: 3px solid #a33;
|
|
||||||
color: #a33;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.secondary li.current a {
|
|
||||||
border-left: 3px solid #33a;
|
|
||||||
color: #33a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index h2 {
|
|
||||||
margin: 30px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index h3 {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .topics {
|
|
||||||
padding-left: 30px;
|
|
||||||
margin: 11px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .topics li {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-docs h3 {
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public h3 {
|
|
||||||
margin: 0;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public {
|
|
||||||
margin: 0;
|
|
||||||
border-top: 1px solid #e0e0e0;
|
|
||||||
padding-top: 14px;
|
|
||||||
padding-bottom: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public:last-child {
|
|
||||||
margin-bottom: 20%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members {
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members h4 {
|
|
||||||
color: #555;
|
|
||||||
font-weight: normal;
|
|
||||||
font-variant: small-caps;
|
|
||||||
margin: 0 0 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .inner {
|
|
||||||
padding-top: 5px;
|
|
||||||
padding-left: 12px;
|
|
||||||
margin-top: 2px;
|
|
||||||
margin-left: 7px;
|
|
||||||
border-left: 1px solid #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content .members .inner h3 {
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public {
|
|
||||||
border-top: none;
|
|
||||||
margin-top: 0;
|
|
||||||
padding-top: 6px;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public:first-child {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.type,
|
|
||||||
h4.dynamic,
|
|
||||||
h4.added,
|
|
||||||
h4.deprecated {
|
|
||||||
float: left;
|
|
||||||
margin: 3px 10px 15px 0;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: bold;
|
|
||||||
font-variant: small-caps;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public h4.type,
|
|
||||||
.public h4.dynamic,
|
|
||||||
.public h4.added,
|
|
||||||
.public h4.deprecated {
|
|
||||||
font-size: 13px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 3px 0 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members h4.type,
|
|
||||||
.members h4.added,
|
|
||||||
.members h4.deprecated {
|
|
||||||
margin-top: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.type {
|
|
||||||
color: #717171;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.dynamic {
|
|
||||||
color: #9933aa;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.added {
|
|
||||||
color: #508820;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.deprecated {
|
|
||||||
color: #880000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace:last-child {
|
|
||||||
margin-bottom: 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index {
|
|
||||||
padding: 0;
|
|
||||||
font-size: 80%;
|
|
||||||
margin: 15px 0;
|
|
||||||
line-height: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index * {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index p {
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index li {
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type-sig {
|
|
||||||
clear: both;
|
|
||||||
color: #088;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type-sig pre {
|
|
||||||
padding-top: 10px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage code {
|
|
||||||
display: block;
|
|
||||||
color: #008;
|
|
||||||
margin: 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage code:first-child {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public p:first-child, .public pre.plaintext {
|
|
||||||
margin-top: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc {
|
|
||||||
margin: 0 0 26px 0;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public .doc {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .doc {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .namespace .doc {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown p, .markdown li, .markdown dt, .markdown dd, .markdown td {
|
|
||||||
line-height: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown li {
|
|
||||||
padding: 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h2 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 25px;
|
|
||||||
margin: 30px 0 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h3 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 20px;
|
|
||||||
margin: 30px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h4 {
|
|
||||||
font-size: 15px;
|
|
||||||
margin: 22px 0 -4px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc, .public, .namespace .index {
|
|
||||||
max-width: 680px;
|
|
||||||
overflow-x: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown pre > code {
|
|
||||||
display: block;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown pre > code, .src-link a {
|
|
||||||
border: 1px solid #e4e4e4;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown code:not(.hljs), .src-link a {
|
|
||||||
background: #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.deps {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 10px;
|
|
||||||
border: 1px solid #e4e4e4;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown hr {
|
|
||||||
border-style: solid;
|
|
||||||
border-top: none;
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc ul, .doc ol {
|
|
||||||
padding-left: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table td, .doc table th {
|
|
||||||
border: 1px solid #dddddd;
|
|
||||||
padding: 4px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table th {
|
|
||||||
background: #f2f2f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl {
|
|
||||||
margin: 0 10px 20px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl dt {
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 0;
|
|
||||||
padding: 3px 0;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl dd {
|
|
||||||
padding: 5px 0;
|
|
||||||
margin: 0 0 5px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc abbr {
|
|
||||||
border-bottom: 1px dotted #333;
|
|
||||||
font-variant: none;
|
|
||||||
cursor: help;
|
|
||||||
}
|
|
||||||
|
|
||||||
.src-link {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.src-link a {
|
|
||||||
font-size: 70%;
|
|
||||||
padding: 1px 4px;
|
|
||||||
text-decoration: none;
|
|
||||||
color: #5555bb;
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
/*
|
|
||||||
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
|
||||||
*/
|
|
||||||
|
|
||||||
.hljs {
|
|
||||||
display: block;
|
|
||||||
overflow-x: auto;
|
|
||||||
padding: 0.5em;
|
|
||||||
color: #333;
|
|
||||||
background: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-comment,
|
|
||||||
.hljs-quote {
|
|
||||||
color: #998;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-keyword,
|
|
||||||
.hljs-selector-tag,
|
|
||||||
.hljs-subst {
|
|
||||||
color: #333;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-number,
|
|
||||||
.hljs-literal,
|
|
||||||
.hljs-variable,
|
|
||||||
.hljs-template-variable,
|
|
||||||
.hljs-tag .hljs-attr {
|
|
||||||
color: #008080;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-string,
|
|
||||||
.hljs-doctag {
|
|
||||||
color: #d14;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-title,
|
|
||||||
.hljs-section,
|
|
||||||
.hljs-selector-id {
|
|
||||||
color: #900;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-subst {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-type,
|
|
||||||
.hljs-class .hljs-title {
|
|
||||||
color: #458;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-tag,
|
|
||||||
.hljs-name,
|
|
||||||
.hljs-attribute {
|
|
||||||
color: #000080;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-regexp,
|
|
||||||
.hljs-link {
|
|
||||||
color: #009926;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-symbol,
|
|
||||||
.hljs-bullet {
|
|
||||||
color: #990073;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-built_in,
|
|
||||||
.hljs-builtin-name {
|
|
||||||
color: #0086b3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-meta {
|
|
||||||
color: #999;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-deletion {
|
|
||||||
background: #fdd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-addition {
|
|
||||||
background: #dfd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-emphasis {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-strong {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
2
docs/js/highlight.min.js
vendored
4
docs/js/jquery.min.js
vendored
|
@ -1,112 +0,0 @@
|
||||||
function visibleInParent(element) {
|
|
||||||
var position = $(element).position().top
|
|
||||||
return position > -50 && position < ($(element).offsetParent().height() - 50)
|
|
||||||
}
|
|
||||||
|
|
||||||
function hasFragment(link, fragment) {
|
|
||||||
return $(link).attr("href").indexOf("#" + fragment) != -1
|
|
||||||
}
|
|
||||||
|
|
||||||
function findLinkByFragment(elements, fragment) {
|
|
||||||
return $(elements).filter(function(i, e) { return hasFragment(e, fragment)}).first()
|
|
||||||
}
|
|
||||||
|
|
||||||
function scrollToCurrentVarLink(elements) {
|
|
||||||
var elements = $(elements);
|
|
||||||
var parent = elements.offsetParent();
|
|
||||||
|
|
||||||
if (elements.length == 0) return;
|
|
||||||
|
|
||||||
var top = elements.first().position().top;
|
|
||||||
var bottom = elements.last().position().top + elements.last().height();
|
|
||||||
|
|
||||||
if (top >= 0 && bottom <= parent.height()) return;
|
|
||||||
|
|
||||||
if (top < 0) {
|
|
||||||
parent.scrollTop(parent.scrollTop() + top);
|
|
||||||
}
|
|
||||||
else if (bottom > parent.height()) {
|
|
||||||
parent.scrollTop(parent.scrollTop() + bottom - parent.height());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setCurrentVarLink() {
|
|
||||||
$('.secondary a').parent().removeClass('current')
|
|
||||||
$('.anchor').
|
|
||||||
filter(function(index) { return visibleInParent(this) }).
|
|
||||||
each(function(index, element) {
|
|
||||||
findLinkByFragment(".secondary a", element.id).
|
|
||||||
parent().
|
|
||||||
addClass('current')
|
|
||||||
});
|
|
||||||
scrollToCurrentVarLink('.secondary .current');
|
|
||||||
}
|
|
||||||
|
|
||||||
var hasStorage = (function() { try { return localStorage.getItem } catch(e) {} }())
|
|
||||||
|
|
||||||
function scrollPositionId(element) {
|
|
||||||
var directory = window.location.href.replace(/[^\/]+\.html$/, '')
|
|
||||||
return 'scroll::' + $(element).attr('id') + '::' + directory
|
|
||||||
}
|
|
||||||
|
|
||||||
function storeScrollPosition(element) {
|
|
||||||
if (!hasStorage) return;
|
|
||||||
localStorage.setItem(scrollPositionId(element) + "::x", $(element).scrollLeft())
|
|
||||||
localStorage.setItem(scrollPositionId(element) + "::y", $(element).scrollTop())
|
|
||||||
}
|
|
||||||
|
|
||||||
function recallScrollPosition(element) {
|
|
||||||
if (!hasStorage) return;
|
|
||||||
$(element).scrollLeft(localStorage.getItem(scrollPositionId(element) + "::x"))
|
|
||||||
$(element).scrollTop(localStorage.getItem(scrollPositionId(element) + "::y"))
|
|
||||||
}
|
|
||||||
|
|
||||||
function persistScrollPosition(element) {
|
|
||||||
recallScrollPosition(element)
|
|
||||||
$(element).scroll(function() { storeScrollPosition(element) })
|
|
||||||
}
|
|
||||||
|
|
||||||
function sidebarContentWidth(element) {
|
|
||||||
var widths = $(element).find('.inner').map(function() { return $(this).innerWidth() })
|
|
||||||
return Math.max.apply(Math, widths)
|
|
||||||
}
|
|
||||||
|
|
||||||
function calculateSize(width, snap, margin, minimum) {
|
|
||||||
if (width == 0) {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return Math.max(minimum, (Math.ceil(width / snap) * snap) + (margin * 2))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function resizeSidebars() {
|
|
||||||
var primaryWidth = sidebarContentWidth('.primary')
|
|
||||||
var secondaryWidth = 0
|
|
||||||
|
|
||||||
if ($('.secondary').length != 0) {
|
|
||||||
secondaryWidth = sidebarContentWidth('.secondary')
|
|
||||||
}
|
|
||||||
|
|
||||||
// snap to grid
|
|
||||||
primaryWidth = calculateSize(primaryWidth, 32, 13, 160)
|
|
||||||
secondaryWidth = calculateSize(secondaryWidth, 32, 13, 160)
|
|
||||||
|
|
||||||
$('.primary').css('width', primaryWidth)
|
|
||||||
$('.secondary').css('width', secondaryWidth).css('left', primaryWidth + 1)
|
|
||||||
|
|
||||||
if (secondaryWidth > 0) {
|
|
||||||
$('#content').css('left', primaryWidth + secondaryWidth + 2)
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$('#content').css('left', primaryWidth + 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$(window).ready(resizeSidebars)
|
|
||||||
$(window).ready(setCurrentVarLink)
|
|
||||||
$(window).ready(function() { persistScrollPosition('.primary')})
|
|
||||||
$(window).ready(function() {
|
|
||||||
$('#content').scroll(setCurrentVarLink)
|
|
||||||
$(window).resize(setCurrentVarLink)
|
|
||||||
})
|
|
|
@ -1,551 +0,0 @@
|
||||||
body {
|
|
||||||
font-family: Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre, code {
|
|
||||||
font-family: Monaco, DejaVu Sans Mono, Consolas, monospace;
|
|
||||||
font-size: 9pt;
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 29px;
|
|
||||||
margin: 10px 0 2px 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h5.license {
|
|
||||||
margin: 9px 0 22px 0;
|
|
||||||
color: #555;
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 12px;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.document h1, .namespace-index h1 {
|
|
||||||
font-size: 32px;
|
|
||||||
margin-top: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header, #content, .sidebar {
|
|
||||||
position: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 22px;
|
|
||||||
color: #f5f5f5;
|
|
||||||
padding: 5px 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
top: 32px;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: auto;
|
|
||||||
background: #fff;
|
|
||||||
color: #333;
|
|
||||||
padding: 0 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar {
|
|
||||||
position: fixed;
|
|
||||||
top: 32px;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.primary {
|
|
||||||
background: #e2e2e2;
|
|
||||||
border-right: solid 1px #cccccc;
|
|
||||||
left: 0;
|
|
||||||
width: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.secondary {
|
|
||||||
background: #f2f2f2;
|
|
||||||
border-right: solid 1px #d7d7d7;
|
|
||||||
left: 251px;
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.namespace-index, #content.document {
|
|
||||||
left: 251px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.namespace-docs {
|
|
||||||
left: 452px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content.document {
|
|
||||||
padding-bottom: 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
background: #3f3f3f;
|
|
||||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: lighter;
|
|
||||||
text-shadow: -1px -1px 0px #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 .project-version {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.project-version {
|
|
||||||
padding-left: 0.15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header a, .sidebar a {
|
|
||||||
display: block;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header a {
|
|
||||||
color: #f5f5f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar a {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h2 {
|
|
||||||
float: right;
|
|
||||||
font-size: 9pt;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 4px 3px;
|
|
||||||
padding: 0;
|
|
||||||
color: #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h2 a {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3 {
|
|
||||||
margin: 0;
|
|
||||||
padding: 10px 13px 0 13px;
|
|
||||||
font-size: 19px;
|
|
||||||
font-weight: lighter;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3 a {
|
|
||||||
color: #444;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar h3.no-link {
|
|
||||||
color: #636363;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar ul {
|
|
||||||
padding: 7px 0 6px 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar ul.index-link {
|
|
||||||
padding-bottom: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li {
|
|
||||||
display: block;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li a, .sidebar li .no-link {
|
|
||||||
border-left: 3px solid transparent;
|
|
||||||
padding: 0 10px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .no-link {
|
|
||||||
display: block;
|
|
||||||
color: #777;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .inner {
|
|
||||||
display: inline-block;
|
|
||||||
padding-top: 7px;
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li a, .sidebar li .tree {
|
|
||||||
height: 31px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.depth-1 .inner { padding-left: 2px; }
|
|
||||||
.depth-2 .inner { padding-left: 6px; }
|
|
||||||
.depth-3 .inner { padding-left: 20px; }
|
|
||||||
.depth-4 .inner { padding-left: 34px; }
|
|
||||||
.depth-5 .inner { padding-left: 48px; }
|
|
||||||
.depth-6 .inner { padding-left: 62px; }
|
|
||||||
|
|
||||||
.sidebar li .tree {
|
|
||||||
display: block;
|
|
||||||
float: left;
|
|
||||||
position: relative;
|
|
||||||
top: -10px;
|
|
||||||
margin: 0 4px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li.depth-1 .tree {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .top, .sidebar li .tree .bottom {
|
|
||||||
display: block;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
width: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .top {
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
border-bottom: 1px solid #aaa;
|
|
||||||
height: 19px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li .tree .bottom {
|
|
||||||
height: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar li.branch .tree .bottom {
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.primary li.current a {
|
|
||||||
border-left: 3px solid #a33;
|
|
||||||
color: #a33;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar.secondary li.current a {
|
|
||||||
border-left: 3px solid #33a;
|
|
||||||
color: #33a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index h2 {
|
|
||||||
margin: 30px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index h3 {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .topics {
|
|
||||||
padding-left: 30px;
|
|
||||||
margin: 11px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .topics li {
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-docs h3 {
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public h3 {
|
|
||||||
margin: 0;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage {
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public {
|
|
||||||
margin: 0;
|
|
||||||
border-top: 1px solid #e0e0e0;
|
|
||||||
padding-top: 14px;
|
|
||||||
padding-bottom: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public:last-child {
|
|
||||||
margin-bottom: 20%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members {
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members h4 {
|
|
||||||
color: #555;
|
|
||||||
font-weight: normal;
|
|
||||||
font-variant: small-caps;
|
|
||||||
margin: 0 0 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .inner {
|
|
||||||
padding-top: 5px;
|
|
||||||
padding-left: 12px;
|
|
||||||
margin-top: 2px;
|
|
||||||
margin-left: 7px;
|
|
||||||
border-left: 1px solid #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content .members .inner h3 {
|
|
||||||
font-size: 12pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public {
|
|
||||||
border-top: none;
|
|
||||||
margin-top: 0;
|
|
||||||
padding-top: 6px;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members .public:first-child {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.type,
|
|
||||||
h4.dynamic,
|
|
||||||
h4.added,
|
|
||||||
h4.deprecated {
|
|
||||||
float: left;
|
|
||||||
margin: 3px 10px 15px 0;
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: bold;
|
|
||||||
font-variant: small-caps;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public h4.type,
|
|
||||||
.public h4.dynamic,
|
|
||||||
.public h4.added,
|
|
||||||
.public h4.deprecated {
|
|
||||||
font-size: 13px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 3px 0 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.members h4.type,
|
|
||||||
.members h4.added,
|
|
||||||
.members h4.deprecated {
|
|
||||||
margin-top: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.type {
|
|
||||||
color: #717171;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.dynamic {
|
|
||||||
color: #9933aa;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.added {
|
|
||||||
color: #508820;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4.deprecated {
|
|
||||||
color: #880000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace {
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace:last-child {
|
|
||||||
margin-bottom: 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index {
|
|
||||||
padding: 0;
|
|
||||||
font-size: 80%;
|
|
||||||
margin: 15px 0;
|
|
||||||
line-height: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index * {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index p {
|
|
||||||
padding-right: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index li {
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.index ul {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type-sig {
|
|
||||||
clear: both;
|
|
||||||
color: #088;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type-sig pre {
|
|
||||||
padding-top: 10px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage code {
|
|
||||||
display: block;
|
|
||||||
color: #008;
|
|
||||||
margin: 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.usage code:first-child {
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public p:first-child, .public pre.plaintext {
|
|
||||||
margin-top: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc {
|
|
||||||
margin: 0 0 26px 0;
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public .doc {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .doc {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.namespace-index .namespace .doc {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown p, .markdown li, .markdown dt, .markdown dd, .markdown td {
|
|
||||||
line-height: 22px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown li {
|
|
||||||
padding: 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h2 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 25px;
|
|
||||||
margin: 30px 0 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h3 {
|
|
||||||
font-weight: normal;
|
|
||||||
font-size: 20px;
|
|
||||||
margin: 30px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown h4 {
|
|
||||||
font-size: 15px;
|
|
||||||
margin: 22px 0 -4px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc, .public, .namespace .index {
|
|
||||||
max-width: 680px;
|
|
||||||
overflow-x: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown pre > code {
|
|
||||||
display: block;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown pre > code, .src-link a {
|
|
||||||
border: 1px solid #e4e4e4;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown code:not(.hljs), .src-link a {
|
|
||||||
background: #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
pre.deps {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 10px;
|
|
||||||
border: 1px solid #e4e4e4;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: #f6f6f6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.markdown hr {
|
|
||||||
border-style: solid;
|
|
||||||
border-top: none;
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc ul, .doc ol {
|
|
||||||
padding-left: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin: 0 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table td, .doc table th {
|
|
||||||
border: 1px solid #dddddd;
|
|
||||||
padding: 4px 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc table th {
|
|
||||||
background: #f2f2f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl {
|
|
||||||
margin: 0 10px 20px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl dt {
|
|
||||||
font-weight: bold;
|
|
||||||
margin: 0;
|
|
||||||
padding: 3px 0;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc dl dd {
|
|
||||||
padding: 5px 0;
|
|
||||||
margin: 0 0 5px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc abbr {
|
|
||||||
border-bottom: 1px dotted #333;
|
|
||||||
font-variant: none;
|
|
||||||
cursor: help;
|
|
||||||
}
|
|
||||||
|
|
||||||
.src-link {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.src-link a {
|
|
||||||
font-size: 70%;
|
|
||||||
padding: 1px 4px;
|
|
||||||
text-decoration: none;
|
|
||||||
color: #5555bb;
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
/*
|
|
||||||
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
|
|
||||||
*/
|
|
||||||
|
|
||||||
.hljs {
|
|
||||||
display: block;
|
|
||||||
overflow-x: auto;
|
|
||||||
padding: 0.5em;
|
|
||||||
color: #333;
|
|
||||||
background: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-comment,
|
|
||||||
.hljs-quote {
|
|
||||||
color: #998;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-keyword,
|
|
||||||
.hljs-selector-tag,
|
|
||||||
.hljs-subst {
|
|
||||||
color: #333;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-number,
|
|
||||||
.hljs-literal,
|
|
||||||
.hljs-variable,
|
|
||||||
.hljs-template-variable,
|
|
||||||
.hljs-tag .hljs-attr {
|
|
||||||
color: #008080;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-string,
|
|
||||||
.hljs-doctag {
|
|
||||||
color: #d14;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-title,
|
|
||||||
.hljs-section,
|
|
||||||
.hljs-selector-id {
|
|
||||||
color: #900;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-subst {
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-type,
|
|
||||||
.hljs-class .hljs-title {
|
|
||||||
color: #458;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-tag,
|
|
||||||
.hljs-name,
|
|
||||||
.hljs-attribute {
|
|
||||||
color: #000080;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-regexp,
|
|
||||||
.hljs-link {
|
|
||||||
color: #009926;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-symbol,
|
|
||||||
.hljs-bullet {
|
|
||||||
color: #990073;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-built_in,
|
|
||||||
.hljs-builtin-name {
|
|
||||||
color: #0086b3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-meta {
|
|
||||||
color: #999;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-deletion {
|
|
||||||
background: #fdd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-addition {
|
|
||||||
background: #dfd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-emphasis {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-strong {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
2
documentation/js/highlight.min.js
vendored
4
documentation/js/jquery.min.js
vendored
|
@ -1,112 +0,0 @@
|
||||||
function visibleInParent(element) {
|
|
||||||
var position = $(element).position().top
|
|
||||||
return position > -50 && position < ($(element).offsetParent().height() - 50)
|
|
||||||
}
|
|
||||||
|
|
||||||
function hasFragment(link, fragment) {
|
|
||||||
return $(link).attr("href").indexOf("#" + fragment) != -1
|
|
||||||
}
|
|
||||||
|
|
||||||
function findLinkByFragment(elements, fragment) {
|
|
||||||
return $(elements).filter(function(i, e) { return hasFragment(e, fragment)}).first()
|
|
||||||
}
|
|
||||||
|
|
||||||
function scrollToCurrentVarLink(elements) {
|
|
||||||
var elements = $(elements);
|
|
||||||
var parent = elements.offsetParent();
|
|
||||||
|
|
||||||
if (elements.length == 0) return;
|
|
||||||
|
|
||||||
var top = elements.first().position().top;
|
|
||||||
var bottom = elements.last().position().top + elements.last().height();
|
|
||||||
|
|
||||||
if (top >= 0 && bottom <= parent.height()) return;
|
|
||||||
|
|
||||||
if (top < 0) {
|
|
||||||
parent.scrollTop(parent.scrollTop() + top);
|
|
||||||
}
|
|
||||||
else if (bottom > parent.height()) {
|
|
||||||
parent.scrollTop(parent.scrollTop() + bottom - parent.height());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function setCurrentVarLink() {
|
|
||||||
$('.secondary a').parent().removeClass('current')
|
|
||||||
$('.anchor').
|
|
||||||
filter(function(index) { return visibleInParent(this) }).
|
|
||||||
each(function(index, element) {
|
|
||||||
findLinkByFragment(".secondary a", element.id).
|
|
||||||
parent().
|
|
||||||
addClass('current')
|
|
||||||
});
|
|
||||||
scrollToCurrentVarLink('.secondary .current');
|
|
||||||
}
|
|
||||||
|
|
||||||
var hasStorage = (function() { try { return localStorage.getItem } catch(e) {} }())
|
|
||||||
|
|
||||||
function scrollPositionId(element) {
|
|
||||||
var directory = window.location.href.replace(/[^\/]+\.html$/, '')
|
|
||||||
return 'scroll::' + $(element).attr('id') + '::' + directory
|
|
||||||
}
|
|
||||||
|
|
||||||
function storeScrollPosition(element) {
|
|
||||||
if (!hasStorage) return;
|
|
||||||
localStorage.setItem(scrollPositionId(element) + "::x", $(element).scrollLeft())
|
|
||||||
localStorage.setItem(scrollPositionId(element) + "::y", $(element).scrollTop())
|
|
||||||
}
|
|
||||||
|
|
||||||
function recallScrollPosition(element) {
|
|
||||||
if (!hasStorage) return;
|
|
||||||
$(element).scrollLeft(localStorage.getItem(scrollPositionId(element) + "::x"))
|
|
||||||
$(element).scrollTop(localStorage.getItem(scrollPositionId(element) + "::y"))
|
|
||||||
}
|
|
||||||
|
|
||||||
function persistScrollPosition(element) {
|
|
||||||
recallScrollPosition(element)
|
|
||||||
$(element).scroll(function() { storeScrollPosition(element) })
|
|
||||||
}
|
|
||||||
|
|
||||||
function sidebarContentWidth(element) {
|
|
||||||
var widths = $(element).find('.inner').map(function() { return $(this).innerWidth() })
|
|
||||||
return Math.max.apply(Math, widths)
|
|
||||||
}
|
|
||||||
|
|
||||||
function calculateSize(width, snap, margin, minimum) {
|
|
||||||
if (width == 0) {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return Math.max(minimum, (Math.ceil(width / snap) * snap) + (margin * 2))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function resizeSidebars() {
|
|
||||||
var primaryWidth = sidebarContentWidth('.primary')
|
|
||||||
var secondaryWidth = 0
|
|
||||||
|
|
||||||
if ($('.secondary').length != 0) {
|
|
||||||
secondaryWidth = sidebarContentWidth('.secondary')
|
|
||||||
}
|
|
||||||
|
|
||||||
// snap to grid
|
|
||||||
primaryWidth = calculateSize(primaryWidth, 32, 13, 160)
|
|
||||||
secondaryWidth = calculateSize(secondaryWidth, 32, 13, 160)
|
|
||||||
|
|
||||||
$('.primary').css('width', primaryWidth)
|
|
||||||
$('.secondary').css('width', secondaryWidth).css('left', primaryWidth + 1)
|
|
||||||
|
|
||||||
if (secondaryWidth > 0) {
|
|
||||||
$('#content').css('left', primaryWidth + secondaryWidth + 2)
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$('#content').css('left', primaryWidth + 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$(window).ready(resizeSidebars)
|
|
||||||
$(window).ready(setCurrentVarLink)
|
|
||||||
$(window).ready(function() { persistScrollPosition('.primary')})
|
|
||||||
$(window).ready(function() {
|
|
||||||
$('#content').scroll(setCurrentVarLink)
|
|
||||||
$(window).resize(setCurrentVarLink)
|
|
||||||
})
|
|
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 15 KiB |
BIN
dummies/mapview.png
Normal file
After Width: | Height: | Size: 3.8 MiB |
4874
dummies/mapview.svg
Normal file
After Width: | Height: | Size: 350 KiB |