diff --git a/.bowerrc b/.bowerrc deleted file mode 100644 index 16ec5d0d5f7cc670b4691c450cf3183ba7459076..0000000000000000000000000000000000000000 --- a/.bowerrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "directory": "static/libs" -} diff --git a/.gitignore b/.gitignore index e6e78994abd146eaed0cdb0f489cb4fb941156c7..f90c6b213bfef62ddb214f436fb5b3df97d6cbc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,9 @@ *.sqlite3 celerybeat-* core/static/libs/* -deploy # libs static/libs -node_modules - -# compiled css -static/stylesheets/*.min.css - # settings memopol/config.json @@ -21,3 +15,6 @@ __pycache__/ # Installer logs pip-log.txt pip-delete-this-directory.txt +.dpl +db.sqlite +log/ diff --git a/.openshift/README.md b/.openshift/README.md new file mode 100644 index 0000000000000000000000000000000000000000..785566bc0d4ed83bbdfa2311e18a4402de9e8bef --- /dev/null +++ b/.openshift/README.md @@ -0,0 +1,5 @@ +The OpenShift `python` cartridge documentation can be found at: +http://openshift.github.io/documentation/oo_cartridge_guide.html#python + +For information about .openshift directory, consult the documentation: +http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory diff --git a/.openshift/action_hooks/README.md b/.openshift/action_hooks/README.md new file mode 100644 index 0000000000000000000000000000000000000000..541319581eade0377453213c5abba7411a81ced8 --- /dev/null +++ b/.openshift/action_hooks/README.md @@ -0,0 +1,3 @@ +For information about action hooks, consult the documentation: + +http://openshift.github.io/documentation/oo_user_guide.html#action-hooks diff --git a/.openshift/action_hooks/build b/.openshift/action_hooks/build new file mode 100755 index 0000000000000000000000000000000000000000..ac65222f42fee754d4668461ab403c5051a0d914 --- /dev/null +++ b/.openshift/action_hooks/build @@ -0,0 +1 @@ +export OPENSHIFT_PYTHON_WSGI_APPLICATION=memopol/wsgi.py diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy new file mode 100755 index 0000000000000000000000000000000000000000..5e9b124633864a8215c1536b5cfff1af8709030d --- /dev/null +++ b/.openshift/action_hooks/deploy @@ -0,0 +1,39 @@ +#!/bin/bash +# This deploy hook gets executed after dependencies are resolved and the +# build hook has been run but before the application has been started back +# up again. This script gets executed directly, so it could be python, php, +# ruby, etc. +set -xe + +source ${OPENSHIFT_HOMEDIR}app-root/runtime/dependencies/python/virtenv/bin/activate + +pip install -U pip + +pip install -Ue ${OPENSHIFT_REPO_DIR} + +# We don't have sentry yet +# python ${OPENSHIFT_REPO_DIR}manage.py raven test + +python ${OPENSHIFT_REPO_DIR}manage.py migrate --noinput + +pushd ${OPENSHIFT_REPO_DIR} +if [ -f ${OPENSHIFT_DATA_DIR}sentry ]; then + pip install raven + ./manage.py raven test +else + echo ${OPENSHIFT_DATA_DIR}sentry does not exist, not setting up raven. +fi + +PATH="${OPENSHIFT_DATA_DIR}node/bin:$PATH" +HOME=$OPENSHIFT_DATA_DIR +CI=true +bin/install_client_deps.sh +mkdir -p wsgi +./manage.py collectstatic --noinput +./manage.py compress +popd + +mkdir -p ${OPENSHIFT_DATA_DIR}media +mkdir -p ${OPENSHIFT_REPO_DIR}wsgi/static/media +ln -sf ${OPENSHIFT_DATA_DIR}media ${OPENSHIFT_REPO_DIR}wsgi/static/media +ln -sf ${OPENSHIFT_DATA_DIR}compress/CACHE ${OPENSHIFT_REPO_DIR}wsgi/static/collected/CACHE diff --git a/.openshift/cron/README.cron b/.openshift/cron/README.cron new file mode 100644 index 0000000000000000000000000000000000000000..ac77f78723e42c4c3a6c4a4763d9edbbc15aa9eb --- /dev/null +++ b/.openshift/cron/README.cron @@ -0,0 +1,27 @@ +Run scripts or jobs on a periodic basis +======================================= +Any scripts or jobs added to the minutely, hourly, daily, weekly or monthly +directories will be run on a scheduled basis (frequency is as indicated by the +name of the directory) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} + +The presence of two specially named files jobs.deny and jobs.allow controls +how run-parts executes your scripts/jobs. + jobs.deny ===> Prevents specific scripts or jobs from being executed. + jobs.allow ===> Only execute the named scripts or jobs (all other/non-named + scripts that exist in this directory are ignored). + +The principles of jobs.deny and jobs.allow are the same as those of cron.deny +and cron.allow and are described in detail at: + http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Automating_System_Tasks.html#s2-autotasks-cron-access + +See: man crontab or above link for more details and see the the weekly/ + directory for an example. + +PLEASE NOTE: The Cron cartridge must be installed in order to run the configured jobs. + +For more information about cron, consult the documentation: +http://openshift.github.io/documentation/oo_cartridge_guide.html#cron +http://openshift.github.io/documentation/oo_user_guide.html#cron diff --git a/legislature/__init__.py b/.openshift/cron/daily/.gitignore similarity index 100% rename from legislature/__init__.py rename to .openshift/cron/daily/.gitignore diff --git a/.openshift/cron/daily/update_database b/.openshift/cron/daily/update_database new file mode 100755 index 0000000000000000000000000000000000000000..aeecfeecdae6c5e6b8a3bdc93a39d5671c95ce79 --- /dev/null +++ b/.openshift/cron/daily/update_database @@ -0,0 +1,8 @@ +#!/bin/bash +set -x + +cmd=$1 + +cd $OPENSHIFT_REPO_DIR +export CLEAN=1 +nohup bin/update_all > $OPENSHIFT_LOG_DIR/update_all.log 2>&1 & diff --git a/legislature/management/__init__.py b/.openshift/cron/hourly/.gitignore similarity index 100% rename from legislature/management/__init__.py rename to .openshift/cron/hourly/.gitignore diff --git a/legislature/management/commands/__init__.py b/.openshift/cron/minutely/.gitignore similarity index 100% rename from legislature/management/commands/__init__.py rename to .openshift/cron/minutely/.gitignore diff --git a/legislature/migrations/__init__.py b/.openshift/cron/monthly/.gitignore similarity index 100% rename from legislature/migrations/__init__.py rename to .openshift/cron/monthly/.gitignore diff --git a/.openshift/cron/weekly/README b/.openshift/cron/weekly/README new file mode 100644 index 0000000000000000000000000000000000000000..7c3e659fe2b4dcd863acfe1f61ccbc57dbe93499 --- /dev/null +++ b/.openshift/cron/weekly/README @@ -0,0 +1,16 @@ +Run scripts or jobs on a weekly basis +===================================== +Any scripts or jobs added to this directory will be run on a scheduled basis +(weekly) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} and handles +the files named jobs.deny and jobs.allow specially. + +In this specific example, the chronograph script is the only script or job file +executed on a weekly basis (due to white-listing it in jobs.allow). And the +README and chrono.dat file are ignored either as a result of being black-listed +in jobs.deny or because they are NOT white-listed in the jobs.allow file. + +For more details, please see ../README.cron file. + diff --git a/.openshift/cron/weekly/chrono.dat b/.openshift/cron/weekly/chrono.dat new file mode 100644 index 0000000000000000000000000000000000000000..fc4abb87cba85b2c7bebe25d319a521481693a5d --- /dev/null +++ b/.openshift/cron/weekly/chrono.dat @@ -0,0 +1 @@ +Time And Relative D...n In Execution (Open)Shift! diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph new file mode 100755 index 0000000000000000000000000000000000000000..61de949f43218d8afe1ec1e70cc41bdb3f335535 --- /dev/null +++ b/.openshift/cron/weekly/chronograph @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "`date`: `cat $(dirname \"$0\")/chrono.dat`" diff --git a/.openshift/cron/weekly/jobs.allow b/.openshift/cron/weekly/jobs.allow new file mode 100644 index 0000000000000000000000000000000000000000..8d32abc703e797106d6cfacfdb1f53975aef7466 --- /dev/null +++ b/.openshift/cron/weekly/jobs.allow @@ -0,0 +1,12 @@ +# +# Script or job files listed in here (one entry per line) will be +# executed on a weekly-basis. +# +# Example: The chronograph script will be executed weekly but the README +# and chrono.dat files in this directory will be ignored. +# +# The README file is actually ignored due to the entry in the +# jobs.deny which is checked before jobs.allow (this file). +# +chronograph + diff --git a/.openshift/cron/weekly/jobs.deny b/.openshift/cron/weekly/jobs.deny new file mode 100644 index 0000000000000000000000000000000000000000..73c945008a7322ec03aecdcba20b92389f7226f1 --- /dev/null +++ b/.openshift/cron/weekly/jobs.deny @@ -0,0 +1,7 @@ +# +# Any script or job files listed in here (one entry per line) will NOT be +# executed (read as ignored by run-parts). +# + +README + diff --git a/.openshift/markers/README.md b/.openshift/markers/README.md new file mode 100644 index 0000000000000000000000000000000000000000..45814da3c7aaea9bed0a8abe5ce0afbcc76c5238 --- /dev/null +++ b/.openshift/markers/README.md @@ -0,0 +1,3 @@ +For information about markers, consult the documentation: + +http://openshift.github.io/documentation/oo_user_guide.html#markers diff --git a/.travis.yml b/.travis.yml index 79b90f61c47cfc3b743eabb02aceb1a07cd3043e..f4a9b03d9520c39f76afebd8e59751691637245c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,55 @@ sudo: false +env: + - DJANGO_DEBUG=True DJANGO_SETTINGS_MODULE=memopol.settings language: python python: - - "2.7" +- '2.7' +before_install: +- pip install codecov install: - - pip install django - - pip install -U pip - - pip install -r requirements.txt - - cp memopol/config.json.sample memopol/config.json +- pip install -e .[testing] before_script: - - npm install -g bower - - bower install - - npm install +- bin/install_client_deps.sh script: - - ./manage.py migrate - - node_modules/gulp/bin/gulp.js less +- bash -c '! lesscpy -N static/less/base.less 2>&1 | grep Error' +- flake8 . --exclude '*/migrations,docs,static' --ignore E128 +- py.test memopol representatives_positions representatives_recommendations +- rm -rf db.sqlite +- django-admin migrate +- django-admin update_score +after_success: +- codecov +deploy: +- provider: openshift + user: jamespic@gmail.com + password: + secure: W7hQDKAtmpOfwLjBuss6NEKqPSrRhsbgH8a8eV+/Oo6HZxMi1mbNFSi+6WRNSs3Cil0ZZV+awoqC61jIzV4oTwEYcy5bv9NWNSY1QO34DECMS5sY00wA0zKhkdsdTr9Pc3TLRp1cw6x2KNCF356FKZojFTRbjtfJ79rqBc5k5ww= + app: master + domain: memopol + skip_cleanup: true + deployment_branch: master + on: + repo: political-memory/political_memory + branch: master +- provider: openshift + user: jamespic@gmail.com + password: + secure: W7hQDKAtmpOfwLjBuss6NEKqPSrRhsbgH8a8eV+/Oo6HZxMi1mbNFSi+6WRNSs3Cil0ZZV+awoqC61jIzV4oTwEYcy5bv9NWNSY1QO34DECMS5sY00wA0zKhkdsdTr9Pc3TLRp1cw6x2KNCF356FKZojFTRbjtfJ79rqBc5k5ww= + app: lqdn + domain: memopol + skip_cleanup: true + deployment_branch: lqdn + on: + repo: political-memory/political_memory + branch: lqdn +- provider: openshift + user: jamespic@gmail.com + password: + secure: W7hQDKAtmpOfwLjBuss6NEKqPSrRhsbgH8a8eV+/Oo6HZxMi1mbNFSi+6WRNSs3Cil0ZZV+awoqC61jIzV4oTwEYcy5bv9NWNSY1QO34DECMS5sY00wA0zKhkdsdTr9Pc3TLRp1cw6x2KNCF356FKZojFTRbjtfJ79rqBc5k5ww= + app: pr + domain: memopol + skip_cleanup: true + deployment_branch: pr + on: + repo: political-memory/political_memory + branch: pr diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 452b5ccd386305949cb53802368345875e4b013d..0000000000000000000000000000000000000000 --- a/INSTALL +++ /dev/null @@ -1,16 +0,0 @@ -How to install memopol - -1. Create a directory containing the whole project (say ~memopol) -2. Create a python virtualenv in ~memopol : ~memopol/ve -3. Clone memopol main repository (http://git.laquadrature.net/memopol/memopol_political_memory) in ~memopol/memopol_political_memory -4. Clone django-representative directory (http://git.laquadrature.net/memopol/compotista_django-representatives) in ~memopol/django-representatives -5. Clone the last version of django-chronograph (https://bitbucket.org/wnielson/django-chronograph) in ~memopol/django-chronograph -(It seems that the version in pip is not up to date…) -6. Symlink ~memopol/memopol_political_memory/representatives -> ~memopol/django-representatives/representatives -7. Symlink ~memopol/memopol_political_memory/chronograph -> ~memopol/django-chronograph/chronograph -8. Install requierements in the virtualenv with pip install -r ~memopol//memopol_political_memory/requierements -9. Config your database in ~memopol/memopol_political_memory/settings.py -10. Sync the database python manage.py syncdb -11. Import mep from a compotista instance : python manage.py update update_eu_mps -12. Run the server - diff --git a/COPYING b/LICENSE similarity index 100% rename from COPYING rename to LICENSE diff --git a/README.md b/README.md index b301fdbbf658d28748ac5f11b7d74e4a9a73b3f5..cf02f8bd649fa3691417ef84bc4ba97237d2eb9e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ [](https://travis-ci.org/political-memory/political_memory) +[](https://codecov.io/github/political-memory/political_memory?branch=master) git clone git@github.com:political-memory/political_memory.git cd political_memory - cp memopol/config.json.sample memopol/config.json - # Create a throwable virtualenv virtualenv ve source ve/bin/activate @@ -16,14 +15,8 @@ # Create the local db python manage.py migrate - # Some static files - bower install - - # Install node modules - npm install - - # Build static files - node_modules/gulp/bin/gulp.js less + # Install browser libs + bin/install_client_deps.sh # In another terminal (don't forget to activate the venv) ./manage.py runserver diff --git a/bin/install_client_deps.sh b/bin/install_client_deps.sh new file mode 100755 index 0000000000000000000000000000000000000000..7e420dc5d2f43d1f8838b62548455a11258b13b3 --- /dev/null +++ b/bin/install_client_deps.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# +# This script downloads browser client libraries. +# Currently all scripts are downloaded from GitHub. +# +# Versions used may be changed by altering the lines +# starting with 'downloadFromGithub' at the bottom. +# The last argument is expected to be a git ref (ie +# a branch name, tag or commit-ish). +# + +set -e + +DEST=$(dirname $(dirname $0))/static/libs + +# Github download helper +# $1 destination directory name under static/libs +# $2 github repo name (user-or-org/repo) +# $3 ref to use (branch or tag or commit) +function downloadFromGithub() +{ + local dest=$DEST/$1 + local repo=$2 + local ref=$3 + + echo "* Downloading $repo ($ref) from Github..." + wget -O temp.zip -q https://github.com/${repo}/archive/${ref}.zip + unzip -q temp.zip + mv $(basename ${repo})* ${dest} + rm temp.zip +} + +set -e + +[ -d ${DEST} ] && rm -r ${DEST} +mkdir -p ${DEST} + +downloadFromGithub jquery jquery/jquery 2.1.4 +downloadFromGithub fontawesome FortAwesome/Font-Awesome v4.3.0 +downloadFromGithub flag-icon-css lipis/flag-icon-css 0.7.1 +downloadFromGithub bootstrap twbs/bootstrap v3.3.5 + +echo "* Done." diff --git a/bin/lib.sh b/bin/lib.sh new file mode 100644 index 0000000000000000000000000000000000000000..a53f054a88bf6f56391becfc633f47f2378ae06f --- /dev/null +++ b/bin/lib.sh @@ -0,0 +1,20 @@ +if [ -n "$OPENSHIFT_HOMEDIR" ]; then + source ${OPENSHIFT_HOMEDIR}app-root/runtime/dependencies/python/virtenv/bin/activate +fi + +function pipe_download_to_command() { + if [ -n "$OPENSHIFT_DATA_DIR" ]; then + cd $OPENSHIFT_DATA_DIR + fi + + [ -n "$CLEAN" ] && rm -rf $1 + [ -f "$1" ] || wget http://parltrack.euwiki.org/dumps/$1 || exit 1 + + if [ -n "$OPENSHIFT_REPO_DIR" ]; then + cd $OPENSHIFT_REPO_DIR + fi + + export DJANGO_SETTINGS_MODULE=memopol.settings + unxz -c ${OPENSHIFT_DATA_DIR}$1 | $2 + [ -n "$CLEAN" ] && rm -rf $1 +} diff --git a/bin/update_all b/bin/update_all new file mode 100755 index 0000000000000000000000000000000000000000..5899c9c1d257bf97c5dd9b233b09a3859535eadb --- /dev/null +++ b/bin/update_all @@ -0,0 +1,16 @@ +#!/bin/bash + +bin/update_representatives + +# grace time for pg +sleep 120 + +bin/update_dossiers + +sleep 120 + +bin/update_votes + +sleep 120 + +bin/update_scores diff --git a/bin/update_dossiers b/bin/update_dossiers new file mode 100755 index 0000000000000000000000000000000000000000..0e6f18b7a176ede7e849041d1404fc6de8ee53f1 --- /dev/null +++ b/bin/update_dossiers @@ -0,0 +1,6 @@ +#!/bin/bash +set -ex + +source ${OPENSHIFT_REPO_DIR}bin/lib.sh + +pipe_download_to_command ep_dossiers.json.xz parltrack_import_dossiers diff --git a/bin/update_representatives b/bin/update_representatives new file mode 100755 index 0000000000000000000000000000000000000000..ef420b9cdf5be71311cefcb5479d064f7ba7d261 --- /dev/null +++ b/bin/update_representatives @@ -0,0 +1,6 @@ +#!/bin/bash +set -ex + +source ${OPENSHIFT_REPO_DIR}bin/lib.sh + +pipe_download_to_command ep_meps_current.json.xz parltrack_import_representatives diff --git a/bin/update_scores b/bin/update_scores new file mode 100755 index 0000000000000000000000000000000000000000..a3234bc6b047aacad51c2ac82df886f70a6b63ed --- /dev/null +++ b/bin/update_scores @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +source ${OPENSHIFT_REPO_DIR}bin/lib.sh + +[ -n "$OPENSHIFT_REPO_DIR" ] && cd $OPENSHIFT_REPO_DIR +./manage.py update_score diff --git a/bin/update_votes b/bin/update_votes new file mode 100755 index 0000000000000000000000000000000000000000..f60a96eb74f9ef5c3b6e6d17c6a4a668c4f6af4f --- /dev/null +++ b/bin/update_votes @@ -0,0 +1,6 @@ +#!/bin/bash +set -ex + +source ${OPENSHIFT_REPO_DIR}bin/lib.sh + +pipe_download_to_command ep_votes.json.xz parltrack_import_votes diff --git a/bower.json b/bower.json deleted file mode 100644 index 95711fc8f7429171ded46633db0823a17d8b7933..0000000000000000000000000000000000000000 --- a/bower.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "Memopol", - "version": "3.0.0", - "dependencies": { - "bootstrap": "~3.3.5", - "flag-icon-css": "~0.7.1" - }, - "devDependencies": { - "fontawesome": "~4.3.0" - } -} diff --git a/core/migrations/0001_initial_site.py b/core/migrations/0001_initial_site.py new file mode 100644 index 0000000000000000000000000000000000000000..f93e26db1c46961827d596fdcda36ac38064ebd4 --- /dev/null +++ b/core/migrations/0001_initial_site.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings + + +def set_site_name(apps, schema_editor): + Site = apps.get_model('sites', 'Site') + Site.objects.filter(pk=settings.SITE_ID).update( + name=settings.SITE_NAME, domain=settings.SITE_DOMAIN) + + +class Migration(migrations.Migration): + + dependencies = [ + ('sites', '0001_initial'), + ] + + operations = [ + migrations.RunPython(set_site_name), + ] diff --git a/core/templates/admin/index.html b/core/templates/admin/index.html deleted file mode 100644 index a35204e8c11f05b39cfa8e15fb4979d25ae00871..0000000000000000000000000000000000000000 --- a/core/templates/admin/index.html +++ /dev/null @@ -1,16 +0,0 @@ -{% extends "contrib/admin/templates/admin/index.html" %} - -{% block branding %} - <h1 id="site-name">Administration for Memopol</h1> -{% endblock %} - -{% block content %} - - - {{ block.super }} -{% endblock %} - - - - - diff --git a/core/templates/core/blocks/header.haml b/core/templates/core/blocks/header.haml deleted file mode 100644 index 4e775a4e007886ba7d88d35fad5776c5bc28c7a3..0000000000000000000000000000000000000000 --- a/core/templates/core/blocks/header.haml +++ /dev/null @@ -1,16 +0,0 @@ -/ -load memopol_tags cache -- load i18n -- load cache -- load staticfiles - -#header.container-fluid - %a{href: "/", id: 'logo'} - %img{src: '{% static "images/logo.png" %}'} - %h1 - %a#header_banner{href: "/"} - -trans "Political Memory" - %p.organization - =config.ORGANIZATION_NAME - -#nav.container-fluid - -include "core/blocks/navigation.html" diff --git a/core/templates/core/blocks/navigation.haml b/core/templates/core/blocks/navigation.haml deleted file mode 100644 index 51cce6692d878923bd298238a6eeb3e7e5cb9f81..0000000000000000000000000000000000000000 --- a/core/templates/core/blocks/navigation.haml +++ /dev/null @@ -1,21 +0,0 @@ -%ul.nav - %li - %a{href: "{% url 'legislature:representative-index' %}"} - Representatives - %li - %a{href: "{% url 'legislature:group-index' kind='country' %}"} - Countries - %li - %a{href: "{% url 'legislature:group-index' kind='group' %}"} - Parties - %li - %a{href: "{% url 'legislature:group-index' kind='delegation' %}"} - Delegations - %li - %a{href: "{% url 'legislature:group-index' kind='committee' %}"} - Committees - -%ul.nav - %li - %a{href: "{% url 'votes:dossier-index' %}"} - Votes diff --git a/core/templates/core/blocks/pagination.haml b/core/templates/core/blocks/pagination.haml index 6f581f462f01d1f1b9f4652ad404fb9216bea251..f7d846d2d083c87d7e11db6af858c523da2e04f3 100644 --- a/core/templates/core/blocks/pagination.haml +++ b/core/templates/core/blocks/pagination.haml @@ -1,36 +1,40 @@ --# Pagination block display pagination for the `object_list` - `object_list` could be generated with core.view_utils.render_paginate_list - .pagination-block %nav %ul.pagination.pagination-sm - - if object_list.has_previous + - if page_obj.has_previous + %li + %a{'href': '?={queries.urlencode}&page=1', + 'aria-label': 'First'} + <i aria-hidden="true" class="fa fa-chevron-circle-left"></i> + %li - %a{'href': '?={queries.urlencode}&page=={object_list.previous_page_number}', + %a{'href': '?={queries.urlencode}&page=={page_obj.previous_page_number}', 'aria-label': 'Previous'} <i aria-hidden="true" class="fa fa-chevron-left"></i> - - for page_num in object_list.page_range - - if not page_num - %li.disabled - %a{'href': ''} - … - - elif page_num == object_list.number - %li.active - %a{'href': ''} - {{ page_num }} - - else - %li - %a{'href': '?={queries.urlencode}&page=={page_num}'} - {{ page_num }} + - for p in page_range + - if p + - if p == page_obj.number + %li.active + %a{'href': ''} + {{ p }} + - else + %li + %a{'href': '?={queries.urlencode}&page=={p}'} + {{ p }} - - if object_list.has_next + - if page_obj.has_next %li - %a{'href': '?={queries.urlencode}&page=={object_list.next_page_number}', + %a{'href': '?={queries.urlencode}&page=={page_obj.next_page_number}', 'aria-label': 'Next'} <i aria-hidden="true" class="fa fa-chevron-right"></i> + %li + %a{'href': '?={queries.urlencode}&page=={paginator.num_pages}', + 'aria-label': 'Last'} + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + %div.count Number of results : {{ paginator.count }} %br @@ -38,9 +42,10 @@ {{ paginator.per_page }} ( - for limit in pagination_limits - %a{'href': '?limit={{ limit }}'} + %a{'href': '?paginate_by={{ limit }}'} {{ limit }} - if not forloop.last \/ ) - - include 'core/blocks/grid-list.html' + - if grid_list + - include 'core/blocks/grid-list.html' diff --git a/core/templates/core/home.haml b/core/templates/core/home.haml deleted file mode 100644 index 5a19244bc1fb2400fd0be026c51c4e5ee97d9daa..0000000000000000000000000000000000000000 --- a/core/templates/core/home.haml +++ /dev/null @@ -1,24 +0,0 @@ -- extends "base.html" -- block content - .row - .col-md-8 - %p - Memopol is reachable only in <b>reduced functionality mode</b>. - By the way, you could access to - <a href="{% url 'legislature:representative-index' %}">the list of MEPs</a>. - %p - You can help on building the new Memopol by <a href="https://wiki.laquadrature.net/Projects/Memopol/Roadmap">coding, translating, de signing, funding, etc...</a>. - .col-md-4 - .panel.panel-default - .panel-body - %p - <a href="http://memopol.org">Memopol Blog</a> is available as well as the new - <a href="http://git.laquadrature.net/memopol/memopol/issues"> - bugtracking system</a> - %h3 - What is memopol? - %p - Political Memory is a tool designed by La Quadrature du Net to help - European citizens to reach members of European Parliament (MEPs) and - track their voting records on issues related to fundamental - freedoms online. <em><a href="">More...</a></em> diff --git a/legislature/templates/legislature/__init__.py b/core/templatetags/__init__.py similarity index 100% rename from legislature/templates/legislature/__init__.py rename to core/templatetags/__init__.py diff --git a/core/tests.py b/core/tests.py index 7ce503c2dd97ba78597f6ff6e4393132753573f6..49290204899b9acb178f7511ec47557ec1046eb4 100644 --- a/core/tests.py +++ b/core/tests.py @@ -1,3 +1,2 @@ -from django.test import TestCase # Create your tests here. diff --git a/core/utils/__init__.py b/core/utils/__init__.py deleted file mode 100644 index 22dd07821ab0b85784698798bbd35b604ee5e1a6..0000000000000000000000000000000000000000 --- a/core/utils/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -# coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from create_child_instance_from_parent import create_child_instance_from_parent -from render_paginate_list import render_paginate_list diff --git a/core/utils/create_child_instance_from_parent.py b/core/utils/create_child_instance_from_parent.py deleted file mode 100644 index 06786de415aa8045d74d1d6c45794ff3ebcdfcca..0000000000000000000000000000000000000000 --- a/core/utils/create_child_instance_from_parent.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - - -def create_child_instance_from_parent(child_cls, parent_instance): - """ - Create a child model instance from a parent instance - """ - parent_cls = parent_instance.__class__ - field = child_cls._meta.get_ancestor_link(parent_cls).column - - child_instance = child_cls(**{ - field: parent_instance.pk - }) - - child_instance.__dict__.update(parent_instance.__dict__) - child_instance.save() - return child_instance diff --git a/core/utils/digg_paginator.py b/core/utils/digg_paginator.py deleted file mode 100644 index 7a1cfe1574f25b6265c84836aff9d1621971a7aa..0000000000000000000000000000000000000000 --- a/core/utils/digg_paginator.py +++ /dev/null @@ -1,281 +0,0 @@ -import math -from django.core.paginator import \ - Paginator, QuerySetPaginator, Page, InvalidPage - -__all__ = ( - 'InvalidPage', - 'ExPaginator', - 'DiggPaginator', - 'QuerySetDiggPaginator', -) - - -class ExPaginator(Paginator): - """Adds a ``softlimit`` option to ``page()``. If True, querying a - page number larger than max. will not fail, but instead return the - last available page. - - This is useful when the data source can not provide an exact count - at all times (like some search engines), meaning the user could - possibly see links to invalid pages at some point which we wouldn't - want to fail as 404s. - - >>> items = range(1, 1000) - >>> paginator = ExPaginator(items, 10) - >>> paginator.page(1000) - Traceback (most recent call last): - InvalidPage: That page contains no results - >>> paginator.page(1000, softlimit=True) - <Page 100 of 100> - - # [bug] graceful handling of non-int args - >>> paginator.page("str") - Traceback (most recent call last): - InvalidPage: That page number is not an integer - """ - def _ensure_int(self, num, e): - # see Django #7307 - try: - return int(num) - except ValueError: - raise e - - def page(self, number, softlimit=False): - try: - return super(ExPaginator, self).page(number) - except InvalidPage, e: - number = self._ensure_int(number, e) - if number > self.num_pages and softlimit: - return self.page(self.num_pages, softlimit=False) - else: - raise e - - -class DiggPaginator(ExPaginator): - """ - Based on Django's default paginator, it adds "Digg-style" page ranges - with a leading block of pages, an optional middle block, and another - block at the end of the page range. They are available as attributes - on the page: - - {# with: page = digg_paginator.page(1) #} - {% for num in page.leading_range %} ... - {% for num in page.main_range %} ... - {% for num in page.trailing_range %} ... - - Additionally, ``page_range`` contains a nun-numeric ``False`` element - for every transition between two ranges. - - {% for num in page.page_range %} - {% if not num %} ... {# literally output dots #} - {% else %}{{ num }} - {% endif %} - {% endfor %} - - Additional arguments passed to the constructor allow customization of - how those bocks are constructed: - - body=5, tail=2 - - [1] 2 3 4 5 ... 91 92 - |_________| |___| - body tail - |_____| - margin - - body=5, tail=2, padding=2 - - 1 2 ... 6 7 [8] 9 10 ... 91 92 - |_| |__| - ^padding^ - |_| |__________| |___| - tail body tail - - ``margin`` is the minimum number of pages required between two ranges; if - there are less, they are combined into one. - - When ``align_left`` is set to ``True``, the paginator operates in a - special mode that always skips the right tail, e.g. does not display the - end block unless necessary. This is useful for situations in which the - exact number of items/pages is not actually known. - - # odd body length - >>> print DiggPaginator(range(1,1000), 10, body=5).page(1) - 1 2 3 4 5 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5).page(100) - 1 2 ... 96 97 98 99 100 - - # even body length - >>> print DiggPaginator(range(1,1000), 10, body=6).page(1) - 1 2 3 4 5 6 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=6).page(100) - 1 2 ... 95 96 97 98 99 100 - - # leading range and main range are combined when close; note how - # we have varying body and padding values, and their effect. - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=2, margin=2).page(3) - 1 2 3 4 5 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=6, padding=2, margin=2).page(4) - 1 2 3 4 5 6 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=1, margin=2).page(6) - 1 2 3 4 5 6 7 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=2, margin=2).page(7) - 1 2 ... 5 6 7 8 9 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=1, margin=2).page(7) - 1 2 ... 5 6 7 8 9 ... 99 100 - - # the trailing range works the same - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=2, margin=2, ).page(98) - 1 2 ... 96 97 98 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=6, padding=2, margin=2, ).page(97) - 1 2 ... 95 96 97 98 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=1, margin=2, ).page(95) - 1 2 ... 94 95 96 97 98 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=2, margin=2, ).page(94) - 1 2 ... 92 93 94 95 96 ... 99 100 - >>> print DiggPaginator(range(1,1000), 10, body=5, padding=1, margin=2, ).page(94) - 1 2 ... 92 93 94 95 96 ... 99 100 - - # all three ranges may be combined as well - >>> print DiggPaginator(range(1,151), 10, body=6, padding=2).page(7) - 1 2 3 4 5 6 7 8 9 ... 14 15 - >>> print DiggPaginator(range(1,151), 10, body=6, padding=2).page(8) - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - >>> print DiggPaginator(range(1,151), 10, body=6, padding=1).page(8) - 1 2 3 4 5 6 7 8 9 ... 14 15 - - # no leading or trailing ranges might be required if there are only - # a very small number of pages - >>> print DiggPaginator(range(1,80), 10, body=10).page(1) - 1 2 3 4 5 6 7 8 - >>> print DiggPaginator(range(1,80), 10, body=10).page(8) - 1 2 3 4 5 6 7 8 - >>> print DiggPaginator(range(1,12), 10, body=5).page(1) - 1 2 - - # test left align mode - >>> print DiggPaginator(range(1,1000), 10, body=5, align_left=True).page(1) - 1 2 3 4 5 - >>> print DiggPaginator(range(1,1000), 10, body=5, align_left=True).page(50) - 1 2 ... 48 49 50 51 52 - >>> print DiggPaginator(range(1,1000), 10, body=5, align_left=True).page(97) - 1 2 ... 95 96 97 98 99 - >>> print DiggPaginator(range(1,1000), 10, body=5, align_left=True).page(100) - 1 2 ... 96 97 98 99 100 - - # padding: default value - >>> DiggPaginator(range(1,1000), 10, body=10).padding - 4 - - # padding: automatic reduction - >>> DiggPaginator(range(1,1000), 10, body=5).padding - 2 - >>> DiggPaginator(range(1,1000), 10, body=6).padding - 2 - - # padding: sanity check - >>> DiggPaginator(range(1,1000), 10, body=5, padding=3) - Traceback (most recent call last): - ValueError: padding too large for body (max 2) - """ - def __init__(self, *args, **kwargs): - self.body = kwargs.pop('body', 10) - self.tail = kwargs.pop('tail', 2) - self.align_left = kwargs.pop('align_left', False) - self.margin = kwargs.pop('margin', 4) # TODO: make the default relative to body? - # validate padding value - max_padding = int(math.ceil(self.body/2.0)-1) - self.padding = kwargs.pop('padding', min(4, max_padding)) - if self.padding > max_padding: - raise ValueError('padding too large for body (max %d)'%max_padding) - super(DiggPaginator, self).__init__(*args, **kwargs) - - def page(self, number, *args, **kwargs): - """Return a standard ``Page`` instance with custom, digg-specific - page ranges attached. - """ - - page = super(DiggPaginator, self).page(number, *args, **kwargs) - number = int(number) # we know this will work - - # easier access - num_pages, body, tail, padding, margin = \ - self.num_pages, self.body, self.tail, self.padding, self.margin - - # put active page in middle of main range - main_range = map(int, [ - math.floor(number-body/2.0)+1, # +1 = shift odd body to right - math.floor(number+body/2.0)]) - # adjust bounds - if main_range[0] < 1: - main_range = map(abs(main_range[0]-1).__add__, main_range) - if main_range[1] > num_pages: - main_range = map((num_pages-main_range[1]).__add__, main_range) - - # Determine leading and trailing ranges; if possible and appropriate, - # combine them with the main range, in which case the resulting main - # block might end up considerable larger than requested. While we - # can't guarantee the exact size in those cases, we can at least try - # to come as close as possible: we can reduce the other boundary to - # max padding, instead of using half the body size, which would - # otherwise be the case. If the padding is large enough, this will - # of course have no effect. - # Example: - # total pages=100, page=4, body=5, (default padding=2) - # 1 2 3 [4] 5 6 ... 99 100 - # total pages=100, page=4, body=5, padding=1 - # 1 2 3 [4] 5 ... 99 100 - # If it were not for this adjustment, both cases would result in the - # first output, regardless of the padding value. - if main_range[0] <= tail+margin: - leading = [] - main_range = [1, max(body, min(number+padding, main_range[1]))] - main_range[0] = 1 - else: - leading = range(1, tail+1) - # basically same for trailing range, but not in ``left_align`` mode - if self.align_left: - trailing = [] - else: - if main_range[1] >= num_pages-(tail+margin)+1: - trailing = [] - if not leading: - # ... but handle the special case of neither leading nor - # trailing ranges; otherwise, we would now modify the - # main range low bound, which we just set in the previous - # section, again. - main_range = [1, num_pages] - else: - main_range = [min(num_pages-body+1, max(number-padding, main_range[0])), num_pages] - else: - trailing = range(num_pages-tail+1, num_pages+1) - - # finally, normalize values that are out of bound; this basically - # fixes all the things the above code screwed up in the simple case - # of few enough pages where one range would suffice. - main_range = [max(main_range[0], 1), min(main_range[1], num_pages)] - - # make the result of our calculations available as custom ranges - # on the ``Page`` instance. - page.main_range = range(main_range[0], main_range[1]+1) - page.leading_range = leading - page.trailing_range = trailing - page.page_range = reduce(lambda x, y: x+((x and y) and [False])+y, - [page.leading_range, page.main_range, page.trailing_range]) - - page.__class__ = DiggPage - return page - -class DiggPage(Page): - def __str__(self): - return " ... ".join(filter(None, [ - " ".join(map(str, self.leading_range)), - " ".join(map(str, self.main_range)), - " ".join(map(str, self.trailing_range))])) - -class QuerySetDiggPaginator(DiggPaginator, QuerySetPaginator): - pass - -if __name__ == "__main__": - import doctest - doctest.testmod() diff --git a/core/utils/render_paginate_list.py b/core/utils/render_paginate_list.py deleted file mode 100644 index 23c9b1e9ccab20bef45ee422bfc464023a5a613c..0000000000000000000000000000000000000000 --- a/core/utils/render_paginate_list.py +++ /dev/null @@ -1,57 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import - -from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator -from .digg_paginator import DiggPaginator -from django.shortcuts import render - - -def render_paginate_list(request, object_list, template_name): - """ - Render a paginated list of representatives - """ - pagination_limits = (10, 20, 50, 100) - num_by_page = request.GET.get('limit', 30) - paginator = DiggPaginator(object_list, num_by_page, body=5) - # paginator = Paginator(object_list, num_by_page) - page = request.GET.get('page', 1) - try: - objects = paginator.page(page) - except PageNotAnInteger: - objects = paginator.page(1) - except EmptyPage: - objects = paginator.page(paginator.num_pages) - - context = {} - queries_without_page = request.GET.copy() - if 'page' in queries_without_page: - del queries_without_page['page'] - context['queries'] = queries_without_page - context['object_list'] = objects - context['paginator'] = paginator - context['pagination_limits'] = pagination_limits - - return render( - request, - template_name, - context - ) diff --git a/core/views.py b/core/views.py index b53128f2f723a4b7b707299f0e772811f4667dd9..0a22afd1d3424d84a0f586e8b463324a469263ec 100644 --- a/core/views.py +++ b/core/views.py @@ -1,25 +1,59 @@ # coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.views.generic.base import TemplateView - - -class HomeView(TemplateView): - template_name = "core/home.html" + +class PaginationMixin(object): + pagination_limits = (12, 24, 48, 96) + + def get(self, *args, **kwargs): + self.set_paginate_by() + return super(PaginationMixin, self).get(*args, **kwargs) + + def set_paginate_by(self): + if 'paginate_by' in self.request.GET: + self.request.session['paginate_by'] = \ + self.request.GET['paginate_by'] + + elif 'paginate_by' not in self.request.session: + self.request.session['paginate_by'] = 12 + + def get_paginate_by(self, queryset): + return self.request.session['paginate_by'] + + def get_page_range(self, page): + pages = [] + + if page.paginator.num_pages != 1: + for i in page.paginator.page_range: + if page.number - 4 < i < page.number + 4: + pages.append(i) + + return pages + + def get_context_data(self, **kwargs): + c = super(PaginationMixin, self).get_context_data(**kwargs) + c['pagination_limits'] = self.pagination_limits + c['paginate_by'] = self.request.session['paginate_by'] + c['page_range'] = self.get_page_range(c['page_obj']) + return c + + +class GridListMixin(object): + def set_session_display(self): + if self.request.GET.get('display') in ('grid', 'list'): + self.request.session['display'] = self.request.GET.get('display') + + if 'display' not in self.request.session: + self.request.session['display'] = 'grid' + + def get(self, *args, **kwargs): + self.set_session_display() + return super(GridListMixin, self).get(*args, **kwargs) + + def get_template_names(self): + return [t.replace('_list', '_%s' % self.request.session['display']) + for t in super(GridListMixin, self).get_template_names()] + + def get_context_data(self, **kwargs): + c = super(GridListMixin, self).get_context_data(**kwargs) + c['grid_list'] = True + return c diff --git a/db.sqlite b/db.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..5b47f483475a2c526116d555bb728cf73f00d841 Binary files /dev/null and b/db.sqlite differ diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..67106ec55f40621cdcad28eb545631a086e289b8 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,192 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# User-friendly check for sphinx-build +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +endif + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext + +help: + @echo "Please use \`make <target>' where <target> is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " applehelp to make an Apple Help Book" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " xml to make Docutils-native XML files" + @echo " pseudoxml to make pseudoxml-XML files for display purposes" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @echo " coverage to run coverage check of the documentation (if enabled)" + +clean: + rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Memopol.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Memopol.qhc" + +applehelp: + $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp + @echo + @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." + @echo "N.B. You won't be able to view it unless you put it in" \ + "~/Library/Documentation/Help or install it in your application" \ + "bundle." + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/Memopol" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Memopol" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +latexpdfja: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through platex and dvipdfmx..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." + +coverage: + $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage + @echo "Testing of coverage in the sources finished, look at the " \ + "results in $(BUILDDIR)/coverage/python.txt." + +xml: + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml + @echo + @echo "Build finished. The XML files are in $(BUILDDIR)/xml." + +pseudoxml: + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml + @echo + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/docs/administration.rst b/docs/administration.rst new file mode 100644 index 0000000000000000000000000000000000000000..a7a7cd0675986ccbbbfa94bcf3b9c9bcaffdff5b --- /dev/null +++ b/docs/administration.rst @@ -0,0 +1,36 @@ +Administrator guide +~~~~~~~~~~~~~~~~~~~ + +This guide targets the administrator who has deployed +the website in production. + +Authentication in the admin backend +=================================== + +If you haven't already, create a super-administrator +account with command:: + + ./manage.py createsuperuser + +Then use this account to authenticate in the +administration backend located in ``/admin``. + +User groups +=========== + +You should create a user group with all permissions +on: + +- vote | recommendation +- positions | position + +Creating a user +=============== + +To create a content administrator, create a user with: + +- "Staff status": checked, otherwise the user won't be + able to authenticate in the administration backend, +- groups: at least the group created above. + +Then, send the credentials to the user along with a link to :doc:`usage`. diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..e41e99ca1a49ee564cb680a9e5ea15184dcfb1a9 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,351 @@ +# -*- coding: utf-8 -*- +# +# Memopol documentation build configuration file, created by +# sphinx-quickstart on Thu Nov 12 22:42:47 2015. +# +# This file is execfile()d with the current directory set to its +# containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Memopol' +copyright = u'2015, Laurent Peuch, Mindiell, Arnaud Fabre' +author = u'Laurent Peuch, Mindiell, Arnaud Fabre' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all +# documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + +# If true, keep warnings as "system message" paragraphs in the built documents. +#keep_warnings = False + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'alabaster' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# "<project> v<release> documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Add any extra paths that contain custom files (such as robots.txt or +# .htaccess) here, relative to this directory. These files are copied +# directly to the root of the documentation. +#html_extra_path = [] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Language to be used for generating the HTML full-text search index. +# Sphinx supports the following languages: +# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' +# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' +#html_search_language = 'en' + +# A dictionary with options for the search language support, empty by default. +# Now only 'ja' uses this config value +#html_search_options = {'type': 'default'} + +# The name of a javascript file (relative to the configuration directory) that +# implements a search results scorer. If empty, the default will be used. +#html_search_scorer = 'scorer.js' + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Memopoldoc' + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', + +# Latex figure (float) alignment +#'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, 'Memopol.tex', u'Memopol Documentation', + u'Laurent Peuch, Mindiell, Arnaud Fabre', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, 'memopol', u'Memopol Documentation', + [author], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, 'Memopol', u'Memopol Documentation', + author, 'Memopol', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +# If true, do not generate a @detailmenu in the "Top" node's menu. +#texinfo_no_detailmenu = False + + +# -- Options for Epub output ---------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project +epub_author = author +epub_publisher = author +epub_copyright = copyright + +# The basename for the epub file. It defaults to the project name. +#epub_basename = project + +# The HTML theme for the epub output. Since the default themes are not optimized +# for small screen space, using the same theme for HTML and epub output is +# usually not wise. This defaults to 'epub', a theme designed to save visual +# space. +#epub_theme = 'epub' + +# The language of the text. It defaults to the language option +# or 'en' if the language is not set. +#epub_language = '' + +# The scheme of the identifier. Typical schemes are ISBN or URL. +#epub_scheme = '' + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +#epub_identifier = '' + +# A unique identification for the text. +#epub_uid = '' + +# A tuple containing the cover image and cover page html template filenames. +#epub_cover = () + +# A sequence of (type, uri, title) tuples for the guide element of content.opf. +#epub_guide = () + +# HTML files that should be inserted before the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_pre_files = [] + +# HTML files shat should be inserted after the pages created by sphinx. +# The format is a list of tuples containing the path and title. +#epub_post_files = [] + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# The depth of the table of contents in toc.ncx. +#epub_tocdepth = 3 + +# Allow duplicate toc entries. +#epub_tocdup = True + +# Choose between 'default' and 'includehidden'. +#epub_tocscope = 'default' + +# Fix unsupported image types using the Pillow. +#epub_fix_images = False + +# Scale large images. +#epub_max_image_width = 0 + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#epub_show_urls = 'inline' + +# If false, no index is generated. +#epub_use_index = True diff --git a/docs/deployment.rst b/docs/deployment.rst new file mode 100644 index 0000000000000000000000000000000000000000..f5848377cc7f5ff240f72e6dd3dd48ebc7922075 --- /dev/null +++ b/docs/deployment.rst @@ -0,0 +1,95 @@ +Deployment on OpenShift +~~~~~~~~~~~~~~~~~~~~~~~ + +OpenShift is an Open-Source Platform-as-a-Service software by Red Hat. It is +also available in its hosted version known as "OpenShift Online" and the first +three websites ("gears") are free. + +Clone the repository +==================== + +You should fork the project on github and use the fork's clone url. For the +sake of the demo, we'll use the main repository URL:: + + $ git clone https://github.com/political-memory/political_memory.git + Cloning into 'political_memory'... + remote: Counting objects: 2516, done. + remote: Compressing objects: 100% (109/109), done. + remote: Total 2516 (delta 44), reused 0 (delta 0), pack-reused 2402 + Receiving objects: 100% (2516/2516), 4.40 MiB | 79.00 KiB/s, done. + Resolving deltas: 100% (1103/1103), done. + Checking connectivity... done. + + $ cd political_memory/ + +Create your own branch, ie:: + + $ git checkout -b yourbranch origin/pr + Branch yourbranch set up to track remote branch pr from origin. + Switched to a new branch 'yourbranch' + +Create an app on OpenShift +========================== + +To deploy the website, use a command like:: + + $ rhc app-create \ + python-2.7 \ + cron-1.4 \ + postgresql-9.2 \ + -a yourappname \ + -e OPENSHIFT_PYTHON_WSGI_APPLICATION=memopol/wsgi.py \ + --from-code https://github.com/political-memory/political_memory.git \ + --no-git + +This should create an app on openshift. Other commands would deploy it at once +but in this tutorial we're going to see how to manage it partly manually for +development. + +Add the git remote created by OpenShift +======================================= + +Add the git remote openshift created for you, you can see it with +``rhc app-show``, ie.:: + + $ rhc app-show -a yourappname + [snip] + Git URL: ssh://569f5cf500045f6a1839a0a4@yourappname-yourdomain.rhcloud.com/~/git/yourappname.git/ + Initial Git URL: https://github.com/political-memory/political_memory.git + SSH: 569f5cf500045f6a1839a0a4@yourappname-yourdomain.rhcloud.com + [snip] + + $ git remote add oo_yourappname ssh://569f5cf500045f6a1839a0a4@yourappname-yourdomain.rhcloud.com/~/git/yourappname.git/ + +Activate OpenShift's git post-recieve hook +========================================== + +Activate OpenShift's post-receive hook on your branch:: + + $ rhc app-configure -a yourappname --deployment-branch yourbranch + +Deploy your branch +================== + +OpenShift will deploy when it receives commits on the deployment branch, to +deploy just do:: + + $ git push oo_yourappname yourbranch + +If something goes wrong and you want to retry, use the ``rhc app-deploy`` +command, ie:: + + $ rhc app-deploy yourbranch -a yourappname + +Data provisionning +================== + +To fill up the representatives database table, either wait for the cron script +to be executed, either do it manually:: + + $ rhc ssh -a yourappname 'cd app-root/repo/ && bin/update_all' + +OpenShift is fun, login with ssh and look around if you're curious, you'll be +able to recreate your app without much effort if you break it anyway. + +Continue to :doc:`administration`. diff --git a/docs/development.rst b/docs/development.rst new file mode 100644 index 0000000000000000000000000000000000000000..52ae5633fca6d5da3a549abb3f000d99a239525a --- /dev/null +++ b/docs/development.rst @@ -0,0 +1,152 @@ +Local development tutorial +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warn:: I reverse-engineered this from the source code I inherited, I might + not be doing the right way nor be able to defend all of technical + decisions. + +This tutorial drives through a local installation of the project for +development on Linux. It requires git, a fairly recent version of nodejs (see +:file:`.openshift/action_hooks/deploy` for a way to install it), python2 and +virtualenv. + +Make a virtual environment +========================== + +For the sake of the tutorial, we'll do this in the temporary directory, but you +could do it anywhere:: + + $ cd /tmp + +Create a python virtual environment and activate it:: + + $ virtualenv memopol_env + Using real prefix '/usr' + New python executable in memopol_env/bin/python2 + Also creating executable in memopol_env/bin/python + Installing setuptools, pip, wheel...done. + + $ source memopol_env/bin/activate + +Clone the repository +==================== + +You should fork the project on github and use the fork's clone url. For the +sake of the demo, we'll use the main repository URL:: + + $ git clone https://github.com/political-memory/political_memory.git + Cloning into 'political_memory'... + remote: Counting objects: 2516, done. + remote: Compressing objects: 100% (109/109), done. + remote: Total 2516 (delta 44), reused 0 (delta 0), pack-reused 2402 + Receiving objects: 100% (2516/2516), 4.40 MiB | 79.00 KiB/s, done. + Resolving deltas: 100% (1103/1103), done. + Checking connectivity... done. + + $ cd political_memory/ + +Create your own branch, ie:: + + $ git checkout -b yourbranch origin/pr + Branch yourbranch set up to track remote branch pr from origin. + Switched to a new branch 'yourbranch' + +Install Python dependencies +=========================== + +Then, install the package for development:: + + $ pip install -e . + Obtaining file:///tmp/political_memory + Collecting django (from political-memory==0.0.1) + Using cached Django-1.9-py2.py3-none-any.whl + + [output snipped for readability] + + Installing collected packages: django, sqlparse, django-debug-toolbar, django-pdb, six, django-extensions, werkzeug, south, pygments, markdown, hamlpy, django-coffeescript, ijson, python-dateutil, pytz, political-memory + Running setup.py develop for political-memory + Successfully installed django-1.9 django-coffeescript-0.7.2 django-debug-toolbar-1.4 django-extensions-1.5.9 django-pdb-0.4.2 hamlpy-0.82.2 ijson-2.2 markdown-2.6.5 political-memory pygments-2.0.2 python-dateutil-2.4.2 pytz-2015.7 six-1.10.0 south-1.0.2 sqlparse-0.1.18 werkzeug-0.11.2 + +Install client dependencies +=========================== + +We'll also need to download client libraries:: + + $ bin/install_client_deps.sh + * Downloading jquery/jquery (2.1.4) from Github... + * Downloading FortAwesome/Font-Awesome (v4.3.0) from Github... + * Downloading lipis/flag-icon-css (0.7.1) from Github... + * Downloading twbs/bootstrap (v3.3.5) from Github... + * Done + +Activate ``DJANGO_DEBUG`` +========================= + +``DEBUG`` is disabled by default, the development server +won't run properly by default thnen, to enable it export +the ``DJANGO_DEBUG`` variable in the current shell:: + + $ export DJANGO_DEBUG=True + +Run the development server +========================== + +Run the development server:: + + $ ./manage.py runserver + + Performing system checks... + + System check identified no issues (0 silenced). + December 09, 2015 - 21:26:47 + Django version 1.8.7, using settings 'memopol.settings' + Starting development server at http://127.0.0.1:8000/ + Quit the server with CONTROL-C. + [09/Dec/2015 21:26:48] "GET / HTTP/1.1" 200 13294 + +The website is running on ``http://127.0.0.1:8000/``. + +Database migrations +=================== + +The repo comes with a pre-configured SQLite db with sample data so that you can +start hacking right away. However, if you were to use a local postgresql +database ie. with this sort of environment:: + + export DJANGO_DATABASE_DEFAULT_NAME=memopol + export DJANGO_DATABASE_DEFAULT_USER=postgres + export DJANGO_DATABASE_DEFAULT_ENGINE=django.db.backends.postgresql_psycopg2 + export DJANGO_DEBUG=1 + export DJANGO_SETTINGS_MODULE=memopol.settings + +Then you could run database migrations:: + + $ ./manage.py migrate + Operations to perform: + Synchronize unmigrated apps: django_filters, staticfiles, datetimewidget, autocomplete_light, messages, adminplus, compressor, humanize, django_extensions, constance, bootstrap3 + Apply all migrations: legislature, votes, database, admin, positions, sessions, representatives, auth, contenttypes, representatives_votes, taggit + Synchronizing apps without migrations: + Creating tables... + Running deferred SQL... + Installing custom SQL... + Running migrations: + Rendering model states... DONE + Applying contenttypes.0001_initial... OK + + [output snipped for readability] + + Applying taggit.0002_auto_20150616_2121... OK + +Provision with data +=================== + +Again, the repo comes with a pre-configured SQLite db with sample data so that +you can start hacking right away. However, you could still reload sample data:: + + $ ./manage.py loaddata memopol/fixtures/small_sample.json + +Or actual data (takes a while):: + + $ bin/update_all + +Continue to :doc:`administration`. diff --git a/docs/hacker.rst b/docs/hacker.rst new file mode 100644 index 0000000000000000000000000000000000000000..3eda9f4291265ea8c095ec744139651b8fa5e636 --- /dev/null +++ b/docs/hacker.rst @@ -0,0 +1,36 @@ +Hacker guide +~~~~~~~~~~~~ + +Adding random recommendations +============================= + +:: + + $ ./manage.py shell + In [1]: from representatives_votes.models import Proposal + In [2]: from votes.models import Recommendation + In [3]: import random + + In [4]: for p in Proposal.objects.all(): Recommendation.objects.create(proposal=p, recommendation='for', weight=random.randint(1,10)) + + +Creating test fixtures +====================== + +The largest test fixtures are, the longer it takes to load them, the longer the +test run is. + +To create test fixtures for representatives_positions, insert some Position +objects, and reduce the database with:: + + ./manage.py remove_representatives_without_position + ./manage.py remove_groups_without_mandate + ./manage.py remove_countries_without_group + +For representatives_recommendations:: + + ./manage.py remove_proposals_without_recommendation + ./manage.py remove_dossiers_without_proposal + ./manage.py remove_representatives_without_vote + ./manage.py remove_groups_without_mandate + ./manage.py remove_countries_without_group diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..dff5ebdc51b296e3f46e0db58c0265979219e8b1 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,26 @@ +.. Memopol documentation master file, created by + sphinx-quickstart on Thu Nov 12 22:42:47 2015. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Memopol's documentation! +=================================== + +Contents: + +.. toctree:: + :maxdepth: 2 + + usage + deployment + administration + development + hacker + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/docs/usage.rst b/docs/usage.rst new file mode 100644 index 0000000000000000000000000000000000000000..0f51a32bf630f4124b706d931b24ba4088c64b8a --- /dev/null +++ b/docs/usage.rst @@ -0,0 +1,58 @@ +User guide +~~~~~~~~~~ + +Authentication in the admin backend +=================================== + +As a content-editor, you should be able to connect to the administration +interface with the credentials and link that your administrator sent you. If +they haven't, please email them with a request and eventually a link to +:doc:`administration`. + +Managing representative positions +================================= + +Our dear representatives make promises to be elected. These can be submitted by +visitors on the front-end so one of your tasks is to review them and publish +them if they are appropriate. + +In "Positions -> Position -> Change" (url should be +``/admin/positions/position/``), above the list table, click the "Published" +select box and choose the "Published: No" option, then click "Search". +Alternatively, you may bookmark +``/admin/positions/position/?published__exact=0``. + +Click a "Position" and if it's appropriate then check the "Published" checkbox +and click "Save". The position will now appear in the representative detail +page. + +Managing vote recommendations +============================= + +A recommendation represents the vote we want representatives to make on a +proposal: representatives doing the "recommended" vote will have their score +increased, others will have their score decreased. Some recommendations may be +more important than others, you can change the number of score points a +recommendation is worth by changing its "weight" (must be a positive integer). + +In "Votes -> Recommendations -> Change" (url should be +``/admin/votes/recommendation/``), you can create, update or remove +recommendations. + +Your change won't be visible on score as soon as you make it. + +Data updates +============ + +Data updates daily: + +- representatives details are updated daily, +- dossiers are synchronised daily, +- proposals are synchronised daily, when proposals are synchronised, they + become available to use in "Recommendations". +- votes and scores are synchronised daily for proposals which have a + "Recommendation", + +This means that if a proposal arrives today in the database, you may add a +recommendation for it. The next day, votes will be imported and scores will be +updated as well. diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 3880470732eabe565aca1904ddfdb772de883689..0000000000000000000000000000000000000000 --- a/gulpfile.js +++ /dev/null @@ -1,41 +0,0 @@ -var gulp = require('gulp'); -var less = require('gulp-less'); -var watch = require('gulp-watch'); -var minifycss = require('gulp-minify-css'); -var rename = require('gulp-rename'); -var gzip = require('gulp-gzip'); -var livereload = require('gulp-livereload'); - -var gzip_options = { - threshold: '1kb', - gzipOptions: { - level: 9 - } -}; - -var less_src = ['static/less/base.less', 'static/less/libs.less']; - -/* Compile Our Sass */ -gulp.task('less', function() { - return gulp.src(less_src) - .pipe(less()) - .pipe(gulp.dest('static/stylesheets')) - .pipe(rename({suffix: '.min'})) - .pipe(minifycss()) - .pipe(gulp.dest('static/stylesheets')) - // .pipe(gzip(gzip_options)) - // .pipe(gulp.dest('static/stylesheets')) - .pipe(livereload()); -}); - -/* Watch Files For Changes */ -gulp.task('watch', function() { - livereload.listen(); - gulp.watch('static/less/*.less', ['less']); - - /* Trigger a live reload on any Django template changes */ - gulp.watch('**/templates/*').on('change', livereload.changed); - -}); - -gulp.task('default', ['less', 'watch']); diff --git a/legislature/admin.py b/legislature/admin.py deleted file mode 100644 index 55c5107bbf7422bd7d2dd1fc31d2f9d53e05cb16..0000000000000000000000000000000000000000 --- a/legislature/admin.py +++ /dev/null @@ -1,83 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.contrib import admin - -from representatives.models import Email, WebSite, Address, Phone, Country - -from .admin_views import representatives_update_all -from .models import MemopolRepresentative - - -admin.site.register_view('representatives_update_all', view=representatives_update_all) - - -class EmailInline(admin.TabularInline): - model = Email - extra = 0 - - -class WebsiteInline(admin.TabularInline): - model = WebSite - extra = 0 - - -class AdressInline(admin.StackedInline): - model = Address - extra = 0 - - -class PhoneInline(admin.TabularInline): - model = Phone - extra = 0 - - -class CountryInline(admin.TabularInline): - model = Country - extra = 0 - - -class MemopolRepresentativeAdmin(admin.ModelAdmin): - list_display = ('full_name', 'country', 'score', 'main_mandate') - search_fields = ('first_name', 'last_name', 'birth_place') - list_filter = ('gender', 'active') - inlines = [ - PhoneInline, - EmailInline, - WebsiteInline, - AdressInline, - ] - - -# class MandateAdmin(admin.ModelAdmin): - # list_display = ('representative', 'group', 'role', 'constituency', 'begin_date', 'end_date', 'active') - # search_fields = ('representative', 'group', 'constituency') - # list_filter = ('role',) - - -# admin.site.register(Representative, RepresentativeAdmin) -admin.site.register(MemopolRepresentative, MemopolRepresentativeAdmin) -# admin.site.register(Country) - -# admin.site.register(MemopolMandate, MandateAdmin) - -# admin.site.register(MemopolGroup) -# admin.site.register(Constituency) diff --git a/legislature/admin_views.py b/legislature/admin_views.py deleted file mode 100644 index 74802abb3561324cafbd40c781f0c78ca4225aca..0000000000000000000000000000000000000000 --- a/legislature/admin_views.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding: utf-8 - -# This file is part of mempol. -# -# mempol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# mempol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.shortcuts import redirect - -from .tasks import representatives_update_all as rpr_update_task - - -def representatives_update_all(request): - rpr_update_task.delay() - return redirect('/admin') diff --git a/legislature/filters.py b/legislature/filters.py deleted file mode 100644 index 4f14497fcf9264db3693072d8345b30b15f684dc..0000000000000000000000000000000000000000 --- a/legislature/filters.py +++ /dev/null @@ -1,42 +0,0 @@ -# coding: utf-8 - -# This file is part of mempol. -# -# mempol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# mempol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import - -import django_filters - -from .models import MemopolRepresentative - - -class RepresentativeFilter(django_filters.FilterSet): - class Meta: - model = MemopolRepresentative - # fields = ['full_name', 'country', 'score'] - fields = { - 'full_name': ['icontains', 'exact'], - 'slug': ['exact'], - 'remote_id': ['exact'], - 'gender': ['exact'], - 'active': ['exact'], - 'country__name': ['exact'], - 'country__code': ['exact'] - } - - order_by = ['score', 'full_name'] diff --git a/legislature/management/commands/update_memopol_representatives.py b/legislature/management/commands/update_memopol_representatives.py deleted file mode 100644 index 59d5b97b86c2e976c486f2de68b74df3229b1a23..0000000000000000000000000000000000000000 --- a/legislature/management/commands/update_memopol_representatives.py +++ /dev/null @@ -1,13 +0,0 @@ -from __future__ import absolute_import - -from django.db import transaction -from django.core.management.base import BaseCommand - -from legislature.models import MemopolRepresentative - -class Command(BaseCommand): - - @transaction.atomic - def handle(self, *args, **options): - for representative in MemopolRepresentative.objects.all(): - representative.update_all() diff --git a/legislature/management/commands/update_representatives_score.py b/legislature/management/commands/update_representatives_score.py deleted file mode 100644 index 7b2437f299ce3d21eb045007e700f7a803ca506b..0000000000000000000000000000000000000000 --- a/legislature/management/commands/update_representatives_score.py +++ /dev/null @@ -1,12 +0,0 @@ -import pyprind - -from django.core.management.base import BaseCommand -from legislature.models import MemopolRepresentative - -class Command(BaseCommand): - - def handle(self, *args, **options): - bar = pyprind.ProgBar(MemopolRepresentative.objects.all().count()) - for representative in MemopolRepresentative.objects.all(): - representative.update_score() - bar.update(item_id = str(representative)) diff --git a/legislature/migrations/0001_initial.py b/legislature/migrations/0001_initial.py deleted file mode 100644 index 3b2a02357ae4f9d000206472f735b918a98b098e..0000000000000000000000000000000000000000 --- a/legislature/migrations/0001_initial.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('representatives', '0003_auto_20150702_1827'), - ] - - operations = [ - migrations.CreateModel( - name='MemopolRepresentative', - fields=[ - ('representative_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='representatives.Representative')), - ('score', models.IntegerField(default=0)), - ('country', models.ForeignKey(to='representatives.Country', null=True)), - ], - options={ - 'abstract': False, - }, - bases=('representatives.representative',), - ), - ] diff --git a/legislature/migrations/0002_memopolrepresentative_main_mandate.py b/legislature/migrations/0002_memopolrepresentative_main_mandate.py deleted file mode 100644 index e5aa88a4c6269c7fc8e32befad8534bf0665596c..0000000000000000000000000000000000000000 --- a/legislature/migrations/0002_memopolrepresentative_main_mandate.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('representatives', '0004_auto_20150709_1601'), - ('legislature', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='memopolrepresentative', - name='main_mandate', - field=models.ForeignKey(default=True, to='representatives.Mandate', null=True), - ), - ] diff --git a/legislature/models.py b/legislature/models.py deleted file mode 100644 index 229e37a28bbba463f845d36c8fa456b29b4b9ec5..0000000000000000000000000000000000000000 --- a/legislature/models.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from datetime import datetime - -from django.db import models -from django.core.exceptions import ObjectDoesNotExist -from django.db.models.signals import post_save -from django.dispatch import receiver -# from django.utils.functional import cached_property - -from representatives.models import Representative, Mandate, Country -from votes.models import MemopolVote -from core.utils import create_child_instance_from_parent - - -class MemopolRepresentative(Representative): - country = models.ForeignKey(Country, null=True) - score = models.IntegerField(default=0) - main_mandate = models.ForeignKey(Mandate, null=True, default=True) - - def update_score(self): - score = 0 - for vote in self.votes.all(): - score += vote.absolute_score - - self.score = score - self.save() - - def update_country(self): - # Create a country if it does'nt exist - # The representative's country is the one associated - # with the last 'country' mandate - try: - country_mandate = self.mandates.filter( - group__kind='country' - ).order_by('-begin_date')[0:1].get() - - country, _ = Country.objects.get_or_create( - name=country_mandate.group.name, - code=country_mandate.group.abbreviation - ) - self.country = country - except ObjectDoesNotExist: - self.country = None - self.save() - - def update_main_mandate(self): - try: - self.main_mandate = self.mandates.get( - end_date__gte=datetime.now(), - group__kind='group' - ) - except Mandate.DoesNotExist: - self.main_mandate = None - self.save() - - def update_all(self): - self.update_country() - self.update_score() - self.update_main_mandate() - - def active_mandates(self): - return self.mandates.filter( - end_date__gte=datetime.now() - ) - - def former_mandates(self): - return self.mandates.filter( - end_date__lte=datetime.now() - ) - - def votes_with_proposal(self): - return MemopolVote.objects.select_related( - 'proposal', - 'proposal__recommendation' - ).filter(representative=self) - - -@receiver(post_save, sender=Representative) -def create_memopolrepresentative_from_representative(instance, **kwargs): - memopol_representative = create_child_instance_from_parent(MemopolRepresentative, instance) - memopol_representative.save() diff --git a/legislature/oldviews.py b/legislature/oldviews.py deleted file mode 100644 index 624f048bcf34890f94a431735cb16f9e70d99898..0000000000000000000000000000000000000000 --- a/legislature/oldviews.py +++ /dev/null @@ -1,148 +0,0 @@ -# coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from datetime import datetime - -from django.http import Http404 -from django.shortcuts import render, get_object_or_404 -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.db.models import Q - -from representatives.models import Group -from legislature.models import MemopolRepresentative - -def retrieve(request, pk=None, name=None): - if pk: - representative = get_object_or_404( - MemopolRepresentative, - id=pk - ) - elif name: - representative = get_object_or_404( - MemopolRepresentative, - full_name=name - ) - else: - return Http404() - - return render( - request, - 'legislature/representative_view.html', - {'representative': representative} - ) - -def representatives_by_group(request, group_kind, group_abbr=None, - group_name=None, search=None, group_id=None): - if group_id: - representative_list = MemopolRepresentative.objects.filter( - mandates__group_id=group_id, - mandates__end_date__gte=datetime.now() - ) - elif group_abbr: - representative_list = MemopolRepresentative.objects.filter( - mandates__group__abbreviation=group_abbr, - mandates__group__kind=group_kind, - mandates__end_date__gte = datetime.now() - ) - - elif group_name: - representative_list = MemopolRepresentative.objects.filter( - Q(mandates__group__name__icontains=group_name), - mandates__group__kind=group_kind, - mandates__end_date__gte = datetime.now() - ) - - elif search: - try: - Group.objects.get(abbreviation=search, kind=group_kind) - representative_list = MemopolRepresentative.objects.filter( - mandates__group__abbreviation=search, - mandates__group__kind=group_kind, - mandates__end_date__gte = datetime.now() - ) - except Group.DoesNotExist: - representative_list = MemopolRepresentative.objects.filter( - Q(mandates__group__abbreviation__icontains=search) | - Q(mandates__group__name__icontains=search), - mandates__group__kind=group_kind, - mandates__end_date__gte = datetime.now() - ) - - # Select distinct representatives and filter by search - representative_list = list(set( - _filter_by_search(request, representative_list) - )) - - return _render_list(request, representative_list) - - -def _filter_by_search(request, representative_list): - """ - Return a representative_list filtered by - the representative name provided in search form - """ - search = request.GET.get('search') - if search: - return representative_list.filter( - Q(full_name__icontains=search) - ) - else: - return representative_list - - -def _render_list(request, representative_list, num_by_page=30): - """ - Render a paginated list of representatives - """ - paginator = Paginator(representative_list, num_by_page) - page = request.GET.get('page') - try: - representatives = paginator.page(page) - except PageNotAnInteger: - representatives = paginator.page(1) - except EmptyPage: - representatives = paginator.page(paginator.num_pages) - - context = {} - queries_without_page = request.GET.copy() - if 'page' in queries_without_page: - del queries_without_page['page'] - context['queries'] = queries_without_page - - context['representatives'] = representatives - context['representative_num'] = paginator.count - - return render( - request, - 'legislature/representative_list.html', - context - ) - - -def groups_by_kind(request, kind): - groups = Group.objects.filter( - kind=kind, - mandates__end_date__gte=datetime.now() - ).distinct().order_by('name') - - return render( - request, - 'legislature/groups_list.html', - {'groups': groups} - ) diff --git a/legislature/tasks.py b/legislature/tasks.py deleted file mode 100644 index e70051dbbd4edc8cba617c6bac7f9327c821d9d6..0000000000000000000000000000000000000000 --- a/legislature/tasks.py +++ /dev/null @@ -1,32 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from celery import shared_task - -from .models import MemopolRepresentative - -@shared_task -def representatives_update_all(): - ''' - Call MemopolRepresentative.update_all methods - ''' - for representative in MemopolRepresentative.objects.all(): - representative.update_all() diff --git a/legislature/templates/legislature/groups_list.haml b/legislature/templates/legislature/groups_list.haml deleted file mode 100644 index 235e24b675b71820102da49e9a45f05196b68a82..0000000000000000000000000000000000000000 --- a/legislature/templates/legislature/groups_list.haml +++ /dev/null @@ -1,15 +0,0 @@ --# List representatives' groups - -- extends 'base.html' -- load representatives_extras - -- block content - %table.table - - for group in groups - %tr - %td - %a{'href': '{{ group | by_group_url }}'}w - - if group.abbreviation - ={group.abbreviation} - %td - %a{'href': '{{ group | by_group_url }}'}= group.name diff --git a/legislature/templates/legislature/representative_filter.html b/legislature/templates/legislature/representative_filter.html deleted file mode 100644 index 60aef0969f9a68052e362d004e70dc3c38ba29d5..0000000000000000000000000000000000000000 --- a/legislature/templates/legislature/representative_filter.html +++ /dev/null @@ -1,11 +0,0 @@ -{% extends "base.html" %} - -{% block content %} - <form action="" method="get"> - {{ filter.form.as_p }} - <input type="submit" /> - </form> - {% for obj in filter %} - {{ obj.name }} - ${{ obj.price }}<br /> - {% endfor %} -{% endblock %} diff --git a/legislature/templates/legislature/representative_grid.haml b/legislature/templates/legislature/representative_grid.haml deleted file mode 100644 index bb4a04ce856da00da4608526ccad414945bc82a6..0000000000000000000000000000000000000000 --- a/legislature/templates/legislature/representative_grid.haml +++ /dev/null @@ -1,29 +0,0 @@ -- extends 'base.html' - -- load representatives_extras - -- block content - - - include 'legislature/search.html' - - include "core/blocks/pagination.html" - - .representative_grid - - for representative in object_list - .representative_item - %p.photo - %a{'href': "{% url 'legislature:representative-detail' name=representative.slug %}"} - %img{'src': '={representative.photo}', 'width': '80'}/ - %ul - %li.name - %a{'href': "{% url 'legislature:representative-detail' name=representative.slug %}"} - = representative.full_name - %li.country - %a{'href': "{% url 'legislature:representative-index' group_kind='country' group=representative.country.code %}"} - = representative.country|country_flag - %li.mandate - %a{'href': "{{ representative.main_mandate|by_group_url }}"} - = representative.main_mandate.group.abbreviation - %li.score - = representative.score|score_label - - - include "core/blocks/pagination.html" diff --git a/legislature/templates/legislature/representative_list.haml b/legislature/templates/legislature/representative_list.haml deleted file mode 100644 index dc398f4e2a539c52858557643a1bfb5de6147439..0000000000000000000000000000000000000000 --- a/legislature/templates/legislature/representative_list.haml +++ /dev/null @@ -1,42 +0,0 @@ -- extends 'base.html' - -- load representatives_extras - -- block content - - - include 'legislature/search.html' - - include 'core/blocks/pagination.html' - - %table.table - %tr - %th - Photo - %th - Name - %th - Country - %th - Group - %th - Score - - for representative in object_list - %tr - %td - %a{'href': "{% url 'legislature:representative-detail' name=representative.slug %}"} - %img{'src': '={representative.photo}', 'width': '80'}/ - - %td - %a{'href': "{% url 'legislature:representative-detail' name=representative.slug %}"} - = representative.full_name - - %td - %a{'href': "{% url 'legislature:representative-index' group_kind='country' group=representative.country.code %}"} - = representative.country|country_flag - - %td - %a{'href': "{{ representative.main_mandate|by_group_url }}"} - = representative.main_mandate.group.abbreviation - %td - = representative.score|score_label - - - include "core/blocks/pagination.html" diff --git a/legislature/templates/legislature/search.html b/legislature/templates/legislature/search.html deleted file mode 100644 index 86a9dfe4bdc4bf7ab4e96fc8fff32c7c4f124c9f..0000000000000000000000000000000000000000 --- a/legislature/templates/legislature/search.html +++ /dev/null @@ -1,6 +0,0 @@ -<form action="" method="get"> - {% csrf_token %} - <label for="search">Search : </label> - <input id="search" type="text" name="search"> - <input type="submit" value="Go"> -</form> diff --git a/legislature/templatetags/representatives_extras.py b/legislature/templatetags/representatives_extras.py deleted file mode 100644 index 4308a845de9c0eb3bee6395aeb93b559c6c79498..0000000000000000000000000000000000000000 --- a/legislature/templatetags/representatives_extras.py +++ /dev/null @@ -1,105 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -""" -This file contains all templatetags used by the representative app -""" - -from django import template -from django.core.urlresolvers import reverse -from django.utils.safestring import mark_safe -from django.contrib.humanize.templatetags.humanize import naturalday - -from representatives.models import Mandate, Group - -register = template.Library() - -@register.filter -def mandate_date(date, arg=None): - if date.year == 9999: - return 'present' - else: - return naturalday(date, arg) - - -@register.filter -def position_icon(position): - if position == 'for': - return mark_safe( - '<i \ - aria-label="for" \ - class="fa fa-thumbs-up vote_positive" \ - title="for" \ - ></i>') - elif position == 'against': - return mark_safe( - '<i \ - aria-label="against" \ - class="fa fa-thumbs-down vote_negative" \ - title="against" \ - ></i>') - else: - return mark_safe( - '<i \ - aria-label="abstain" \ - class="fa fa-circle-o vote_abstain" \ - title="abstain" \ - ></i>') - - -@register.filter -def score_label(score): - if score > 0: - return mark_safe('<span class="label label-success">{}</span>'.format(score)) - elif score < 0: - return mark_safe('<span class="label label-danger">{}</span>'.format(score)) - else: - return mark_safe('<span class="label label-default">{}</span>'.format(score)) - - -@register.filter -def country_flag(country): - return mark_safe('<span class="flag-icon flag-icon-{code}"></span> {name}'.format( - name=country.name, - code=country.code.lower() - )) - - -@register.filter -def by_group_url(group): - if isinstance(group, Mandate): - group = group.group - - if not isinstance(group, Group): - return '' - - kwargs = {'group_kind': group.kind} - - if group.abbreviation: - kwargs['group'] = group.abbreviation - else: - kwargs['group'] = group.name - - # kwargs['group_id'] = group.id - - return reverse( - 'legislature:representative-index', - kwargs=kwargs - ) diff --git a/legislature/tests.py b/legislature/tests.py deleted file mode 100644 index 7ce503c2dd97ba78597f6ff6e4393132753573f6..0000000000000000000000000000000000000000 --- a/legislature/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/legislature/urls.py b/legislature/urls.py deleted file mode 100644 index 09920f164fdeb98f4b317c5d20f635d6069e3671..0000000000000000000000000000000000000000 --- a/legislature/urls.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.conf.urls import url - -from .views import representative -from .views import group - - -urlpatterns = [ - # List of groups by group kind - url( - r'^groups/(?P<kind>\w+)?$', - group.index, - name='group-index' - ), - # Representative detail by representative name - url( - r'^(?P<name>[-\w]+)$', - representative.detail, - name='representative-detail' - ), - # Representative detail by representative pk - url( - r'^(?P<pk>\d+)$', - representative.detail, - name='representative-detail' - ), - # List of representatives by group kind and group name or pk - url( - r'^(?P<group_kind>\w+)/(?P<group>.+)$', - representative.index, - name='representative-index' - ), - # List all representatives by default - url( - r'', - representative.index, - name='representative-index' - ), -] diff --git a/legislature/utils.py b/legislature/utils.py deleted file mode 100644 index b7b555e772d703fc5dbc32cfcaa1ac33b07f17e0..0000000000000000000000000000000000000000 --- a/legislature/utils.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.shortcuts import render - - -def render_paginate_list(request, object_list, template_name, num_by_page=30): - """ - Render a paginated list of representatives - """ - paginator = Paginator(object_list, num_by_page) - page = request.GET.get('page') - try: - objects = paginator.page(page) - except PageNotAnInteger: - objects = paginator.page(1) - except EmptyPage: - objects = paginator.page(paginator.num_pages) - - context = {} - queries_without_page = request.GET.copy() - if 'page' in queries_without_page: - del queries_without_page['page'] - context['queries'] = queries_without_page - context['object_list'] = objects - context['object_count'] = paginator.count - - return render( - request, - template_name, - context - ) diff --git a/legislature/views/group.py b/legislature/views/group.py deleted file mode 100644 index 6449a04caad139b32402d5e593a86dd22ee45720..0000000000000000000000000000000000000000 --- a/legislature/views/group.py +++ /dev/null @@ -1,43 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from datetime import datetime - -from django.shortcuts import render - -from representatives.models import Group - - -def index(request, kind=None): - groups = Group.objects.filter( - mandates__end_date__gte=datetime.now() - ) - - if kind: - groups = groups.filter( - kind=kind - ) - - groups = groups.distinct().order_by('name') - return render( - request, - 'legislature/groups_list.html', - {'groups': groups} - ) diff --git a/legislature/views/representative.py b/legislature/views/representative.py deleted file mode 100644 index 5f5ae10e043e222a890aab4c851e7f04cb812d8d..0000000000000000000000000000000000000000 --- a/legislature/views/representative.py +++ /dev/null @@ -1,124 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import -from datetime import datetime - -from django.shortcuts import render -from django.db.models import Q -from django.http import Http404 - -from ..models import MemopolRepresentative -from ..filters import RepresentativeFilter -from core.utils import render_paginate_list -from positions.forms import PositionForm - - -def index(request, group_kind=None, group=None): - - # Fetch active representatives - representative_list = MemopolRepresentative.objects.select_related( - 'country', - 'main_mandate', - 'main_mandate__group', - ).filter( - active=True - ) - - # Filter the list by group if group information is provided - if group_kind: - if group.isnumeric(): - representative_list = representative_list.filter( - mandates__group_id=int(group), - mandates__end_date__gte=datetime.now() - ) - else: - # Search group based on abbreviation or name - representative_list = representative_list.filter( - Q(mandates__group__abbreviation=group) | - Q(mandates__group__name=group), - mandates__group__kind=group_kind, - mandates__end_date__gte=datetime.now() - ) - - # Filter the list by search - representative_list = _filter_by_search( - request, - representative_list - ).order_by('-score', 'last_name') - - # Grid or list - if request.GET.get('display') in ('grid', 'list'): - request.session['display'] = request.GET.get('display') - if not 'display' in request.session: - request.session['display'] = 'grid' - - # representative_list = RepresentativeFilter(request.GET, queryset=representative_list) - # Render the paginated template - return render_paginate_list( - request, - representative_list, - 'legislature/representative_{}.html'.format( - request.session['display'] - ) - ) - -def detail(request, pk=None, name=None): - try: - query_set = MemopolRepresentative.objects.select_related( - 'country', - 'main_mandate' - ) - if pk: - representative = query_set.get( - id=pk - ) - elif name: - representative = query_set.get( - slug=name - ) - else: - return Http404() - except MemopolRepresentative.DoesNotExist: - return Http404() - - position_form = PositionForm() - return render( - request, - 'legislature/representative_detail.html', - { - 'representative': representative, - 'position_form': position_form - } - ) - - -def _filter_by_search(request, representative_list): - """ - Return a representative_list filtered by - the representative name provided in search form - """ - search = request.GET.get('search') - if search: - return representative_list.filter( - Q(full_name__icontains=search) - ) - else: - return representative_list diff --git a/legislature/views/utils.py b/legislature/views/utils.py deleted file mode 100644 index b7b555e772d703fc5dbc32cfcaa1ac33b07f17e0..0000000000000000000000000000000000000000 --- a/legislature/views/utils.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger -from django.shortcuts import render - - -def render_paginate_list(request, object_list, template_name, num_by_page=30): - """ - Render a paginated list of representatives - """ - paginator = Paginator(object_list, num_by_page) - page = request.GET.get('page') - try: - objects = paginator.page(page) - except PageNotAnInteger: - objects = paginator.page(1) - except EmptyPage: - objects = paginator.page(paginator.num_pages) - - context = {} - queries_without_page = request.GET.copy() - if 'page' in queries_without_page: - del queries_without_page['page'] - context['queries'] = queries_without_page - context['object_list'] = objects - context['object_count'] = paginator.count - - return render( - request, - template_name, - context - ) diff --git a/memopol/__init__.py b/memopol/__init__.py index ce38469170d6d5bf342bccb0cdb5691010fe82fa..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/memopol/__init__.py +++ b/memopol/__init__.py @@ -1,25 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import - -# This will make sure the app is always imported when -# Django starts so that shared_task will use this app. -from .celery import app as celery_app diff --git a/memopol/celery.py b/memopol/celery.py deleted file mode 100644 index 35e89fa47f154c8dd6a1bbeb4288d99942109bb2..0000000000000000000000000000000000000000 --- a/memopol/celery.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import - -import os - -from django.conf import settings - -from celery import Celery - -# set the default Django settings module for the 'celery' program. -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'memopol.settings') - -app = Celery( - 'memopol', - broker='redis://localhost/{}'.format(settings.REDIS_DB), - backend='redis://localhost/{}'.format(settings.REDIS_DB) -) - -# Using a string here means the worker will not have to -# pickle the object when using Windows. -app.config_from_object('django.conf:settings') -app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) - - -@app.task(bind=True) -def debug_task(self): - print('Request: {0!r}'.format(self.request)) diff --git a/memopol/config.json.sample b/memopol/config.json.sample deleted file mode 100644 index c8aad54fa5050df3d533aacf17b0e7e39ea5c377..0000000000000000000000000000000000000000 --- a/memopol/config.json.sample +++ /dev/null @@ -1,14 +0,0 @@ -{ - "debug": true, - "secret_key": "notsecret", - "compotista_server": "http://compotista.dev.laquadrature.net/", - "toutatis_server": "http://toutatis.dev.laquadrature.net/", - "redis_db": 0, - "organization": "local", - "local": true, - "database_name": "db.sqlite", - "database_user": "", - "database_password": "", - "database_host": "", - "database_port": "" -} diff --git a/memopol/fixtures/one_representative.json b/memopol/fixtures/one_representative.json new file mode 100644 index 0000000000000000000000000000000000000000..feae25c6d9f2a9163fd8d3856a154073bbb8ccb1 --- /dev/null +++ b/memopol/fixtures/one_representative.json @@ -0,0 +1,1208 @@ +[ +{ + "fields": { + "code": "GB", + "name": "United Kingdom" + }, + "model": "representatives.country", + "pk": 1218 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.207Z", + "last_name": "HONEYBALL", + "photo": "http://www.europarl.europa.eu/mepphoto/5846.jpg", + "created": "2015-12-27T16:05:08.207Z", + "gender": 1, + "remote_id": "5846", + "first_name": "Mary", + "cv": "", + "active": true, + "birth_place": "Weymouth", + "full_name": "Mary HONEYBALL", + "fingerprint": "81d9de63359e216376592338ae2f1638dd41e45f", + "birth_date": "1952-11-12", + "slug": "mary-honeyball" + }, + "model": "representatives.representative", + "pk": 160 +}, +{ + "fields": { + "email": "mary.honeyball@europarl.europa.eu", + "updated": "2015-12-27T16:05:08.423Z", + "representative": 160, + "kind": "official", + "created": "2015-12-27T16:05:08.423Z" + }, + "model": "representatives.email", + "pk": 160 +}, +{ + "fields": { + "url": "http://twitter.com/maryhoneyball", + "updated": "2015-12-27T16:05:08.425Z", + "representative": 160, + "kind": "twitter", + "created": "2015-12-27T16:05:08.425Z" + }, + "model": "representatives.website", + "pk": 296 +}, +{ + "fields": { + "url": "https://www.facebook.com/mhoneyball", + "updated": "2015-12-27T16:05:08.427Z", + "representative": 160, + "kind": "facebook", + "created": "2015-12-27T16:05:08.427Z" + }, + "model": "representatives.website", + "pk": 297 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.046Z", + "name": "Committee on Employment and Social Affairs", + "created": "2015-12-27T16:03:31.046Z", + "kind": "committee", + "abbreviation": "EMPL", + "fingerprint": "7f0e6d2c3342dde2c6077e127a418a19e0e891bb" + }, + "model": "representatives.group", + "pk": 3 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.100Z", + "name": "Committee on Legal Affairs", + "created": "2015-12-27T16:03:31.100Z", + "kind": "committee", + "abbreviation": "JURI", + "fingerprint": "bc1a051072a9f2caf7c5c7105bccd13834b4d89d" + }, + "model": "representatives.group", + "pk": 9 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.388Z", + "name": "Committee on Culture and Education", + "created": "2015-12-27T16:03:31.388Z", + "kind": "committee", + "abbreviation": "CULT", + "fingerprint": "a169e2d7e6009d3c089e4de43c0f3e0fc312fca4" + }, + "model": "representatives.group", + "pk": 20 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.402Z", + "name": "Group of the Progressive Alliance of Socialists and Democrats in the European Parliament", + "created": "2015-12-27T16:03:31.402Z", + "kind": "group", + "abbreviation": "SD", + "fingerprint": "729890eba3ce20f90808b32110871d1fe41b53b6" + }, + "model": "representatives.group", + "pk": 21 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.510Z", + "name": "Committee on Industry, Research and Energy", + "created": "2015-12-27T16:03:31.510Z", + "kind": "committee", + "abbreviation": "ITRE", + "fingerprint": "17ff1a9fe036e400612c9153c1647a8258c34d63" + }, + "model": "representatives.group", + "pk": 23 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.521Z", + "name": "Committee on Regional Development", + "created": "2015-12-27T16:03:31.521Z", + "kind": "committee", + "abbreviation": "REGI", + "fingerprint": "7a2a03e6d40e5af34f3dc6bccd8e1900e2de3abf" + }, + "model": "representatives.group", + "pk": 24 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.768Z", + "name": "Committee on Economic and Monetary Affairs", + "created": "2015-12-27T16:03:31.768Z", + "kind": "committee", + "abbreviation": "ECON", + "fingerprint": "2da973401cd76bb56b36f3a9162cda13d2f2d8f3" + }, + "model": "representatives.group", + "pk": 30 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.794Z", + "name": "United Kingdom", + "created": "2015-12-27T16:03:31.794Z", + "kind": "country", + "abbreviation": "GB", + "fingerprint": "94e7f4c5dc6d7ca1c8ceade3f5bf782b56f0b0de" + }, + "model": "representatives.group", + "pk": 33 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.489Z", + "name": "Socialist Group in the European Parliament", + "created": "2015-12-27T16:03:32.489Z", + "kind": "group", + "abbreviation": "PSE", + "fingerprint": "53961127dd190ceb0568d2290e195570ed907164" + }, + "model": "representatives.group", + "pk": 41 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.606Z", + "name": "Committee on the Environment, Public Health and Food Safety", + "created": "2015-12-27T16:03:33.606Z", + "kind": "committee", + "abbreviation": "ENVI", + "fingerprint": "9d81a89ff2836afbe40dc4109b085c00bf0b1fdd" + }, + "model": "representatives.group", + "pk": 48 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.712Z", + "name": "Delegation for relations with South Africa", + "created": "2015-12-27T16:03:34.712Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6482a4de9bdda2ae85fb71f78de0cfd49441a0e6" + }, + "model": "representatives.group", + "pk": 64 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.756Z", + "name": "Group of the Party of European Socialists", + "created": "2015-12-27T16:03:34.756Z", + "kind": "group", + "abbreviation": "PSE", + "fingerprint": "bdcddf45a869f242e80961303a719a3e0f29d795" + }, + "model": "representatives.group", + "pk": 67 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.124Z", + "name": "Committee on Women's Rights and Gender Equality", + "created": "2015-12-27T16:03:36.124Z", + "kind": "committee", + "abbreviation": "FEMM", + "fingerprint": "07290c78bb6679e36a5413d2b8122ff4c1477889" + }, + "model": "representatives.group", + "pk": 77 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.219Z", + "name": "Delegation to the EU-Turkey Joint Parliamentary Committee", + "created": "2015-12-27T16:03:36.219Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "171567aaa5ebc7bbdcf3fa3b8a293f9ade40c03a" + }, + "model": "representatives.group", + "pk": 79 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.137Z", + "name": "Delegation for relations with Canada", + "created": "2015-12-27T16:03:37.137Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "e2ece7c8073aa5d8ed32a003ecb5989eb363fe95" + }, + "model": "representatives.group", + "pk": 86 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:40.000Z", + "name": "Delegation to the Parliamentary Assembly of the Union for the Mediterranean", + "created": "2015-12-27T16:03:40.000Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "25ea9a5e8434c4c550c2fa4d7d8b79769f5eb8c0" + }, + "model": "representatives.group", + "pk": 97 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.041Z", + "name": "Delegation to the Euro-Mediterranean Parliamentary Assembly", + "created": "2015-12-27T16:03:42.041Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ae4f709686238bb59f0e8d3f1f1362d6c6777744" + }, + "model": "representatives.group", + "pk": 101 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:47.768Z", + "name": "Delegation to the EU-Former Yugoslav Republic of Macedonia Joint Parliamentary Committee", + "created": "2015-12-27T16:03:47.768Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "fe7cabd2bfa99251e4f9bb2d700ec2a1898c312b" + }, + "model": "representatives.group", + "pk": 111 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:58.940Z", + "name": "Delegation for relations with Palestine", + "created": "2015-12-27T16:03:58.940Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6d1f6a5bcc43f05a7cfdee1d2bc7b0d0cc5db6dc" + }, + "model": "representatives.group", + "pk": 121 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:34.387Z", + "name": "Delegation to the EU-Malta Joint Parliamentary Committee", + "created": "2015-12-27T16:04:34.387Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "920d936c976ee2b6fff4ce760dfb154d926dc2d1" + }, + "model": "representatives.group", + "pk": 141 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:50.770Z", + "name": "Delegation to the EU-Cyprus Joint Parliamentary Committee", + "created": "2015-12-27T16:04:50.770Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "35588fd232a2f314c16242334bad5f5190b4efae" + }, + "model": "representatives.group", + "pk": 150 +}, +{ + "fields": { + "country": null, + "updated": "2015-12-27T16:03:05.604Z", + "fingerprint": "bc0c3668435accfa5da4479c80478fe68d15ddb1", + "name": "European Parliament", + "created": "2015-12-27T16:03:05.603Z" + }, + "model": "representatives.constituency", + "pk": 1 +}, +{ + "fields": { + "country": 1218, + "updated": "2015-12-27T16:11:32.621Z", + "fingerprint": "1fae044a475096192745808b5dfe00e8a04ce172", + "name": "Labour Party", + "created": "2015-12-27T16:03:38.998Z" + }, + "model": "representatives.constituency", + "pk": 21 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.213Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.213Z", + "role": "Member", + "representative": 160, + "fingerprint": "3e27ddc2a03ae3e46486559f18c6fa79f6f073fc", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3287 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.218Z", + "group": 9, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.218Z", + "role": "Member", + "representative": 160, + "fingerprint": "4f954af920af7bd2d2fcf4032a7bf17ad256cfd6", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3288 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.223Z", + "group": 20, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.223Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "64725eafb08a172af88d6bfca27f1873e1e8e712", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3289 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.229Z", + "group": 77, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.228Z", + "role": "Member", + "representative": 160, + "fingerprint": "bba85aa92d24693bc71de5c8a39c6954913cbdec", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3290 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.233Z", + "group": 20, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.233Z", + "role": "Member", + "representative": 160, + "fingerprint": "87c6f21c59d89374f12671ea1eea7fb6f041bbce", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3291 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.238Z", + "group": 9, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.238Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "7e407006eb3066ee67b55b4573d176daeb9aef6c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3292 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.244Z", + "group": 77, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.244Z", + "role": "Member", + "representative": 160, + "fingerprint": "14e44f282c0e7c727e7d4d3419570c6cbbcde153", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3293 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.248Z", + "group": 20, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.248Z", + "role": "Member", + "representative": 160, + "fingerprint": "bdd2841c54da20685855881b0d5ab2a533a48824", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3294 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.253Z", + "group": 9, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.253Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "b5dc7889c922b88d386d11cdb634c3858dd3ac27", + "link": "", + "begin_date": "2010-09-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3295 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.258Z", + "group": 24, + "end_date": "2010-09-19", + "created": "2015-12-27T16:05:08.258Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "984397862c0a64e995ce1a0194726543f56fa017", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3296 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.263Z", + "group": 23, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.263Z", + "role": "Member", + "representative": 160, + "fingerprint": "6c8e6e4b91cf18e09eca545a662d832f90238f86", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3297 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.268Z", + "group": 20, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.268Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "59213d472d4022edafa03dbf0a0c8164ae37fad2", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3298 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.274Z", + "group": 77, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.274Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "0e6f6ec034595c44a1e3404dd924215c8604c504", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3299 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.279Z", + "group": 48, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.279Z", + "role": "Member", + "representative": 160, + "fingerprint": "8ba5d46442df153c17a6d691e99339db92d178e0", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3300 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.284Z", + "group": 77, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.283Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "b362be416369a5798a4f39e8c071ac5f6ad59ec1", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3301 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.288Z", + "group": 20, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.288Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "ffbb2ab83dd43369215c2d79bf9be177dbe247f6", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3302 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.293Z", + "group": 48, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.293Z", + "role": "Member", + "representative": 160, + "fingerprint": "0cb7ee1883626dbd5228c279d5621327f271d786", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3303 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.298Z", + "group": 77, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.298Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "9db1fc8d28feeee3f7dc14136426fe26f3df8d3a", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3304 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.302Z", + "group": 20, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.302Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "a7ee142c48158483a12dc300e83e562f7552717f", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3305 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.307Z", + "group": 30, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.307Z", + "role": "Member", + "representative": 160, + "fingerprint": "f7ab1b25eed25a6f577886d7ce2a89c5da877fab", + "link": "", + "begin_date": "2002-01-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3306 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.313Z", + "group": 3, + "end_date": "2002-01-14", + "created": "2015-12-27T16:05:08.313Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "ed100b9f3db921cd180295391d416b49ed799641", + "link": "", + "begin_date": "2000-03-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3307 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.318Z", + "group": 64, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.318Z", + "role": "Member", + "representative": 160, + "fingerprint": "b64dc41dd0d357720738c7efb46849caf60ec14d", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3308 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.322Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.322Z", + "role": "Member", + "representative": 160, + "fingerprint": "c2b6824cf3b29f77da6fc7c02d29ff95f78c622c", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3309 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.328Z", + "group": 121, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.328Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "77ea8b27c3aac210c2352d9469cb5e5dccda681f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3310 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.332Z", + "group": 86, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.332Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "f617bbbdcc14f0eb7e84fe80f63c9b127d8c6441", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3311 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.337Z", + "group": 111, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.337Z", + "role": "Member", + "representative": 160, + "fingerprint": "e4b7462f237417fb7654725e63dc8ff6306d6f06", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3312 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.342Z", + "group": 79, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.342Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "76a4b0814908a0dc15fec2eadd18de8344902222", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3313 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.348Z", + "group": 101, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.348Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "8cfe1ab42ee6b094fb26aecfad5ca68bee37c307", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3314 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.352Z", + "group": 150, + "end_date": "2004-04-30", + "created": "2015-12-27T16:05:08.352Z", + "role": "Member", + "representative": 160, + "fingerprint": "a3910f55303b76c08fdbb46be9707b71d20bc618", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3315 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.357Z", + "group": 141, + "end_date": "2004-04-30", + "created": "2015-12-27T16:05:08.357Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "8ed925d938dd2196228db9e8bfe9635c81e9c563", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3316 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.363Z", + "group": 150, + "end_date": "2002-01-14", + "created": "2015-12-27T16:05:08.363Z", + "role": "Member", + "representative": 160, + "fingerprint": "e840b8192789f083b0ce07d04a850349ce3ce3fe", + "link": "", + "begin_date": "2000-04-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3317 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.368Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.368Z", + "role": "Member", + "representative": 160, + "fingerprint": "e1521b961d18f8b2ed5254a6bdd0e90f32bb4481", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3318 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.373Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.373Z", + "role": "Member", + "representative": 160, + "fingerprint": "d97dfd44f2e19ea2a71af9c96c211db06fb1ff94", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3319 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.378Z", + "group": 41, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.378Z", + "role": "Member", + "representative": 160, + "fingerprint": "c6ff4291f008ae6636765819ce203b1068cb77f5", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3320 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.383Z", + "group": 67, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.383Z", + "role": "Member", + "representative": 160, + "fingerprint": "07e323ac8bfc7caf30b66966b9ffaf22104d02ad", + "link": "", + "begin_date": "2000-02-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3321 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.389Z", + "group": 33, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.389Z", + "role": "", + "representative": 160, + "fingerprint": "73c6575b59a2b165f5bd921aa1ae9a08d4a5b980", + "link": "", + "begin_date": "2014-07-01", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3322 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.395Z", + "group": 33, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.395Z", + "role": "", + "representative": 160, + "fingerprint": "1059f328912485c62db49fdc082d351dae775cea", + "link": "", + "begin_date": "2009-07-14", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3323 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.402Z", + "group": 33, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.402Z", + "role": "", + "representative": 160, + "fingerprint": "aca5e73cc97f7b3726ded9cf8b3c0aa3ad303485", + "link": "", + "begin_date": "2004-07-20", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3324 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.408Z", + "group": 33, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.408Z", + "role": "", + "representative": 160, + "fingerprint": "cca1fca42f5d43291fdc014126bc0b76f3c8ba14", + "link": "", + "begin_date": "2000-02-17", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3325 +}, +{ + "fields": { + "updated": "2015-12-27T17:40:18.700Z", + "reference": "2010/2935(RSP)", + "title": "Resolution on the Anti-Counterfeiting Trade Agreement (ACTA)", + "text": "", + "created": "2015-12-27T17:40:18.700Z", + "link": "http://www.europarl.europa.eu/oeil/popups/ficheprocedure.do?reference=2010/2935(RSP)", + "fingerprint": "30ca011fd2991db0e6de50aef0d76e83530003a6" + }, + "model": "representatives_votes.dossier", + "pk": 28147 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:52.645Z", + "total_for": 329, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - Consid\u00e9rant X", + "dossier": 28147, + "created": "2015-12-27T17:53:17.771Z", + "kind": "Consid\u00e9rant X", + "datetime": "2010-11-24T11:48:48Z", + "total_against": 249, + "fingerprint": "d07e0a7f35d385a04fcff7ec08976bfa2d74a510", + "total_abstain": 75 + }, + "model": "representatives_votes.proposal", + "pk": 5744 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:53.335Z", + "total_for": 315, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - Consid\u00e9rant CC", + "dossier": 28147, + "created": "2015-12-27T17:53:17.847Z", + "kind": "Consid\u00e9rant CC", + "datetime": "2010-11-24T11:49:01Z", + "total_against": 312, + "fingerprint": "c32565895a10dd6c145d56593ecc6e5ee8e6c69e", + "total_abstain": 14 + }, + "model": "representatives_votes.proposal", + "pk": 5745 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:53.999Z", + "total_for": 306, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - R\u00e9solution", + "dossier": 28147, + "created": "2015-12-27T17:53:17.920Z", + "kind": "R\u00e9solution", + "datetime": "2010-11-24T11:49:18Z", + "total_against": 322, + "fingerprint": "be07f4680af54c8c43ea4ca19194fee88873c8cc", + "total_abstain": 26 + }, + "model": "representatives_votes.proposal", + "pk": 5746 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 24758 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 25246 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 25535 +}, +{ + "fields": { + "score": -7 + }, + "model": "representatives_recommendations.representativescore", + "pk": 160 +}, +{ + "fields": { + "proposal": 5744, + "title": "Stop acta !", + "description": "", + "weight": 4, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 45 +}, +{ + "fields": { + "proposal": 5745, + "title": "Stop acta !", + "description": "", + "weight": 5, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 46 +}, +{ + "fields": { + "proposal": 5746, + "title": "Stop acta !", + "description": "", + "weight": 6, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 47 +}, +{ + "fields": { + "name": "acta", + "slug": "acta" + }, + "model": "taggit.tag", + "pk": 1 +}, +{ + "fields": { + "name": "foo", + "slug": "foo" + }, + "model": "taggit.tag", + "pk": 2 +}, +{ + "fields": { + "name": "bar", + "slug": "bar" + }, + "model": "taggit.tag", + "pk": 3 +}, +{ + "fields": { + "model": "position", + "app_label": "representatives_positions" + }, + "model": "contenttypes.contenttype", + "pk": 25 +}, +{ + "fields": { + "tag": 1, + "object_id": 1, + "content_type": 25 + }, + "model": "taggit.taggeditem", + "pk": 1 +}, +{ + "fields": { + "tag": 2, + "object_id": 1, + "content_type": 25 + }, + "model": "taggit.taggeditem", + "pk": 2 +}, +{ + "fields": { + "tag": 1, + "object_id": 3, + "content_type": 25 + }, + "model": "taggit.taggeditem", + "pk": 5 +}, +{ + "fields": { + "tag": 1, + "object_id": 2, + "content_type": 25 + }, + "model": "taggit.taggeditem", + "pk": 6 +}, +{ + "fields": { + "tag": 3, + "object_id": 2, + "content_type": 25 + }, + "model": "taggit.taggeditem", + "pk": 7 +}, +{ + "fields": { + "representative": 160, + "datetime": "2010-11-24", + "text": "not-validated", + "link": "http://example.com/not-validated", + "published": false + }, + "model": "representatives_positions.position", + "pk": 1 +}, +{ + "fields": { + "representative": 160, + "datetime": "2010-11-24", + "text": "first-validated", + "link": "http://example.com/first-validated", + "published": true + }, + "model": "representatives_positions.position", + "pk": 2 +}, +{ + "fields": { + "representative": 160, + "datetime": "2010-11-24", + "text": "other-validated", + "link": "http://example.com/second-validated", + "published": true + }, + "model": "representatives_positions.position", + "pk": 3 +} +] diff --git a/memopol/fixtures/smaller_sample.json b/memopol/fixtures/smaller_sample.json new file mode 100644 index 0000000000000000000000000000000000000000..186965449f090cd567840c1c9f12b913a2ea7cd8 --- /dev/null +++ b/memopol/fixtures/smaller_sample.json @@ -0,0 +1,24114 @@ +[ +{ + "fields": { + "code": "BE", + "name": "Belgium" + }, + "model": "representatives.country", + "pk": 1050 +}, +{ + "fields": { + "code": "BG", + "name": "Bulgaria" + }, + "model": "representatives.country", + "pk": 1059 +}, +{ + "fields": { + "code": "FI", + "name": "Finland" + }, + "model": "representatives.country", + "pk": 1094 +}, +{ + "fields": { + "code": "FR", + "name": "France" + }, + "model": "representatives.country", + "pk": 1095 +}, +{ + "fields": { + "code": "DE", + "name": "Germany" + }, + "model": "representatives.country", + "pk": 1101 +}, +{ + "fields": { + "code": "GR", + "name": "Greece" + }, + "model": "representatives.country", + "pk": 1104 +}, +{ + "fields": { + "code": "HU", + "name": "Hungary" + }, + "model": "representatives.country", + "pk": 1115 +}, +{ + "fields": { + "code": "IE", + "name": "Ireland" + }, + "model": "representatives.country", + "pk": 1120 +}, +{ + "fields": { + "code": "LT", + "name": "Lithuania" + }, + "model": "representatives.country", + "pk": 1136 +}, +{ + "fields": { + "code": "MT", + "name": "Malta" + }, + "model": "representatives.country", + "pk": 1143 +}, +{ + "fields": { + "code": "NL", + "name": "Netherlands" + }, + "model": "representatives.country", + "pk": 1159 +}, +{ + "fields": { + "code": "PL", + "name": "Poland" + }, + "model": "representatives.country", + "pk": 1178 +}, +{ + "fields": { + "code": "PT", + "name": "Portugal" + }, + "model": "representatives.country", + "pk": 1179 +}, +{ + "fields": { + "code": "RO", + "name": "Romania" + }, + "model": "representatives.country", + "pk": 1182 +}, +{ + "fields": { + "code": "SK", + "name": "Slovakia" + }, + "model": "representatives.country", + "pk": 1192 +}, +{ + "fields": { + "code": "SI", + "name": "Slovenia" + }, + "model": "representatives.country", + "pk": 1193 +}, +{ + "fields": { + "code": "ES", + "name": "Spain" + }, + "model": "representatives.country", + "pk": 1197 +}, +{ + "fields": { + "code": "SE", + "name": "Sweden" + }, + "model": "representatives.country", + "pk": 1202 +}, +{ + "fields": { + "code": "GB", + "name": "United Kingdom" + }, + "model": "representatives.country", + "pk": 1218 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.207Z", + "last_name": "HONEYBALL", + "photo": "http://www.europarl.europa.eu/mepphoto/5846.jpg", + "created": "2015-12-27T16:05:08.207Z", + "gender": 1, + "remote_id": "5846", + "first_name": "Mary", + "cv": "", + "active": true, + "birth_place": "Weymouth", + "full_name": "Mary HONEYBALL", + "fingerprint": "81d9de63359e216376592338ae2f1638dd41e45f", + "birth_date": "1952-11-12", + "slug": "mary-honeyball" + }, + "model": "representatives.representative", + "pk": 160 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.230Z", + "last_name": "PIETIK\u00c4INEN", + "photo": "http://www.europarl.europa.eu/mepphoto/40599.jpg", + "created": "2015-12-27T16:06:26.230Z", + "gender": 1, + "remote_id": "40599", + "first_name": "Sirpa", + "cv": "", + "active": true, + "birth_place": "Parikkala", + "full_name": "Sirpa PIETIK\u00c4INEN", + "fingerprint": "8b0312507c07dff841f4453380ecca626d9d642c", + "birth_date": "1959-04-19", + "slug": "sirpa-pietikainen" + }, + "model": "representatives.representative", + "pk": 282 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.966Z", + "last_name": "BROK", + "photo": "http://www.europarl.europa.eu/mepphoto/1263.jpg", + "created": "2015-12-27T16:09:02.966Z", + "gender": 2, + "remote_id": "1263", + "first_name": "Elmar", + "cv": "", + "active": true, + "birth_place": "Verl (Kr. G\u00fctersloh)", + "full_name": "Elmar BROK", + "fingerprint": "fe8b2aaad2ebed9cbbae764ae380780b276ec292", + "birth_date": "1946-05-14", + "slug": "elmar-brok" + }, + "model": "representatives.representative", + "pk": 439 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.828Z", + "last_name": "WIKSTR\u00d6M", + "photo": "http://www.europarl.europa.eu/mepphoto/96677.jpg", + "created": "2015-12-27T16:11:41.828Z", + "gender": 1, + "remote_id": "96677", + "first_name": "Cecilia", + "cv": "", + "active": true, + "birth_place": "Svanstein", + "full_name": "Cecilia WIKSTR\u00d6M", + "fingerprint": "e67d365a1ea44bf672f42a10a69f81a8c4b1e87f", + "birth_date": "1965-10-17", + "slug": "cecilia-wikstrom" + }, + "model": "representatives.representative", + "pk": 614 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.872Z", + "last_name": "IOTOVA", + "photo": "http://www.europarl.europa.eu/mepphoto/38605.jpg", + "created": "2015-12-27T16:12:03.872Z", + "gender": 1, + "remote_id": "38605", + "first_name": "Iliana", + "cv": "", + "active": true, + "birth_place": "Sofia", + "full_name": "Iliana IOTOVA", + "fingerprint": "d5b3a54d8d3c26ebaead23be724459e36c2b16e1", + "birth_date": "1964-10-24", + "slug": "iliana-iotova" + }, + "model": "representatives.representative", + "pk": 642 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.242Z", + "last_name": "KOVATCHEV", + "photo": "http://www.europarl.europa.eu/mepphoto/97968.jpg", + "created": "2015-12-27T16:12:05.242Z", + "gender": 2, + "remote_id": "97968", + "first_name": "Andrey", + "cv": "", + "active": true, + "birth_place": "Sofia", + "full_name": "Andrey KOVATCHEV", + "fingerprint": "b00b6b4d2d7b124a41c3c5650af902fe5f718a61", + "birth_date": "1967-12-13", + "slug": "andrey-kovatchev" + }, + "model": "representatives.representative", + "pk": 644 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.022Z", + "last_name": "JAAKONSAARI", + "photo": "http://www.europarl.europa.eu/mepphoto/96684.jpg", + "created": "2015-12-27T16:12:06.022Z", + "gender": 1, + "remote_id": "96684", + "first_name": "Liisa", + "cv": "", + "active": true, + "birth_place": "Oulu", + "full_name": "Liisa JAAKONSAARI", + "fingerprint": "6a0d9c4bb70069c237411cc5835385aa8ee5a97b", + "birth_date": "1945-09-02", + "slug": "liisa-jaakonsaari" + }, + "model": "representatives.representative", + "pk": 645 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.740Z", + "last_name": "FOX", + "photo": "http://www.europarl.europa.eu/mepphoto/96957.jpg", + "created": "2015-12-27T16:12:06.740Z", + "gender": 2, + "remote_id": "96957", + "first_name": "Ashley", + "cv": "", + "active": true, + "birth_place": "Sutton Coldfield", + "full_name": "Ashley FOX", + "fingerprint": "7df832797d28bf15f1d137bf327d190acfd26906", + "birth_date": "1969-11-15", + "slug": "ashley-fox" + }, + "model": "representatives.representative", + "pk": 646 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.545Z", + "last_name": "RIES", + "photo": "http://www.europarl.europa.eu/mepphoto/4253.jpg", + "created": "2015-12-27T16:12:07.545Z", + "gender": 1, + "remote_id": "4253", + "first_name": "Fr\u00e9d\u00e9rique", + "cv": "", + "active": true, + "birth_place": "Balen-Wezel", + "full_name": "Fr\u00e9d\u00e9rique RIES", + "fingerprint": "ad8984bf11d1a12c6382ca9a89a3dab06724c442", + "birth_date": "1959-05-14", + "slug": "frederique-ries" + }, + "model": "representatives.representative", + "pk": 647 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.310Z", + "last_name": "JADOT", + "photo": "http://www.europarl.europa.eu/mepphoto/96740.jpg", + "created": "2015-12-27T16:12:10.310Z", + "gender": 2, + "remote_id": "96740", + "first_name": "Yannick", + "cv": "", + "active": true, + "birth_place": "Clacy et Thierret", + "full_name": "Yannick JADOT", + "fingerprint": "7ed842be9f824dc1f916d6f7637fd3207ab7a475", + "birth_date": "1967-07-27", + "slug": "yannick-jadot" + }, + "model": "representatives.representative", + "pk": 650 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.562Z", + "last_name": "SIPPEL", + "photo": "http://www.europarl.europa.eu/mepphoto/96932.jpg", + "created": "2015-12-27T16:12:10.561Z", + "gender": 1, + "remote_id": "96932", + "first_name": "Birgit", + "cv": "", + "active": true, + "birth_place": "Bochum", + "full_name": "Birgit SIPPEL", + "fingerprint": "f39934a98ac43de7c4d6ae69b98e0d57af6e24d1", + "birth_date": "1960-01-29", + "slug": "birgit-sippel" + }, + "model": "representatives.representative", + "pk": 651 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.040Z", + "last_name": "TANNOCK", + "photo": "http://www.europarl.europa.eu/mepphoto/4521.jpg", + "created": "2015-12-27T16:12:13.040Z", + "gender": 2, + "remote_id": "4521", + "first_name": "Charles", + "cv": "", + "active": true, + "birth_place": "Aldershot, Hants", + "full_name": "Charles TANNOCK", + "fingerprint": "fdd265694d552ee72d41e5d4d91bea19febd9d64", + "birth_date": "1957-09-25", + "slug": "charles-tannock" + }, + "model": "representatives.representative", + "pk": 653 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.374Z", + "last_name": "GARDIAZABAL RUBIAL", + "photo": "http://www.europarl.europa.eu/mepphoto/96991.jpg", + "created": "2015-12-27T16:12:15.374Z", + "gender": 1, + "remote_id": "96991", + "first_name": "Eider", + "cv": "", + "active": true, + "birth_place": "Bilbao", + "full_name": "Eider GARDIAZABAL RUBIAL", + "fingerprint": "3a46ce7a697adb493d25a0a9fc245d5e9b207126", + "birth_date": "1975-07-12", + "slug": "eider-gardiazabal-rubial" + }, + "model": "representatives.representative", + "pk": 655 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.951Z", + "last_name": "TREMOSA i BALCELLS", + "photo": "http://www.europarl.europa.eu/mepphoto/97203.jpg", + "created": "2015-12-27T16:12:21.951Z", + "gender": 2, + "remote_id": "97203", + "first_name": "Ramon", + "cv": "", + "active": true, + "birth_place": "Barcelona", + "full_name": "Ramon TREMOSA i BALCELLS", + "fingerprint": "bd7fe760b409529821d855eff3cf42ec26585fee", + "birth_date": "1965-06-30", + "slug": "ramon-tremosa-i-balcells" + }, + "model": "representatives.representative", + "pk": 661 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.285Z", + "last_name": "URUTCHEV", + "photo": "http://www.europarl.europa.eu/mepphoto/38601.jpg", + "created": "2015-12-27T16:12:32.285Z", + "gender": 2, + "remote_id": "38601", + "first_name": "Vladimir", + "cv": "", + "active": true, + "birth_place": "Bukovo", + "full_name": "Vladimir URUTCHEV", + "fingerprint": "4792163e385190cd491eee392774e5299e2218fa", + "birth_date": "1954-10-01", + "slug": "vladimir-urutchev" + }, + "model": "representatives.representative", + "pk": 666 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.484Z", + "last_name": "JOLY", + "photo": "http://www.europarl.europa.eu/mepphoto/96883.jpg", + "created": "2015-12-27T16:12:35.484Z", + "gender": 1, + "remote_id": "96883", + "first_name": "Eva", + "cv": "", + "active": true, + "birth_place": "Oslo", + "full_name": "Eva JOLY", + "fingerprint": "af25beed24b298503ffa94155c9f669f36cc62b7", + "birth_date": "1943-12-05", + "slug": "eva-joly" + }, + "model": "representatives.representative", + "pk": 670 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.694Z", + "last_name": "DEUTSCH", + "photo": "http://www.europarl.europa.eu/mepphoto/96826.jpg", + "created": "2015-12-27T16:12:43.694Z", + "gender": 2, + "remote_id": "96826", + "first_name": "Tam\u00e1s", + "cv": "", + "active": true, + "birth_place": "Budapest", + "full_name": "Tam\u00e1s DEUTSCH", + "fingerprint": "af0221c6945b3e6382d4bae0b5c878b1b51b9667", + "birth_date": "1966-07-27", + "slug": "tamas-deutsch" + }, + "model": "representatives.representative", + "pk": 678 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.679Z", + "last_name": "G\u00c1L", + "photo": "http://www.europarl.europa.eu/mepphoto/28150.jpg", + "created": "2015-12-27T16:12:44.679Z", + "gender": 1, + "remote_id": "28150", + "first_name": "Kinga", + "cv": "", + "active": true, + "birth_place": "Kolozsv\u00e1r", + "full_name": "Kinga G\u00c1L", + "fingerprint": "6d4749a603923d81b058ce1a832b8b0381f2944a", + "birth_date": "1970-09-06", + "slug": "kinga-gal" + }, + "model": "representatives.representative", + "pk": 679 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.546Z", + "last_name": "CAVADA", + "photo": "http://www.europarl.europa.eu/mepphoto/28206.jpg", + "created": "2015-12-27T16:12:47.546Z", + "gender": 2, + "remote_id": "28206", + "first_name": "Jean-Marie", + "cv": "", + "active": true, + "birth_place": "Epinal", + "full_name": "Jean-Marie CAVADA", + "fingerprint": "ede6e379967fd4e2f251ecb07bdd7d44402aac02", + "birth_date": "1940-02-24", + "slug": "jean-marie-cavada" + }, + "model": "representatives.representative", + "pk": 681 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.025Z", + "last_name": "CHOUNTIS", + "photo": "http://www.europarl.europa.eu/mepphoto/26851.jpg", + "created": "2015-12-27T16:12:51.025Z", + "gender": 2, + "remote_id": "26851", + "first_name": "Nikolaos", + "cv": "", + "active": true, + "birth_place": "Lagadia Arkadias", + "full_name": "Nikolaos CHOUNTIS", + "fingerprint": "df2db8a6cf94fff6210e75eee023e83328cd5a46", + "birth_date": "1953-09-17", + "slug": "nikolaos-chountis" + }, + "model": "representatives.representative", + "pk": 684 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.835Z", + "last_name": "D\u0102NCIL\u0102", + "photo": "http://www.europarl.europa.eu/mepphoto/95281.jpg", + "created": "2015-12-27T16:12:59.835Z", + "gender": 1, + "remote_id": "95281", + "first_name": "Viorica", + "cv": "", + "active": true, + "birth_place": "Ro\u015fiori de Vede", + "full_name": "Viorica D\u0102NCIL\u0102", + "fingerprint": "c2e0cf4bad62e29d5d32bd1d058ba5c26eda8782", + "birth_date": "1963-12-16", + "slug": "viorica-dancila" + }, + "model": "representatives.representative", + "pk": 692 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.354Z", + "last_name": "VAJGL", + "photo": "http://www.europarl.europa.eu/mepphoto/97019.jpg", + "created": "2015-12-27T16:13:05.354Z", + "gender": 2, + "remote_id": "97019", + "first_name": "Ivo", + "cv": "", + "active": true, + "birth_place": "Maribor", + "full_name": "Ivo VAJGL", + "fingerprint": "1364d15e2e930f07b0a622ca442ede2c8090975c", + "birth_date": "1943-03-03", + "slug": "ivo-vajgl" + }, + "model": "representatives.representative", + "pk": 697 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.181Z", + "last_name": "FERNANDES", + "photo": "http://www.europarl.europa.eu/mepphoto/96899.jpg", + "created": "2015-12-27T16:13:09.181Z", + "gender": 2, + "remote_id": "96899", + "first_name": "Jos\u00e9 Manuel", + "cv": "", + "active": true, + "birth_place": "Vila Verde", + "full_name": "Jos\u00e9 Manuel FERNANDES", + "fingerprint": "6923bccaf455a488ffdacd636f3fc24244f0d2a0", + "birth_date": "1967-07-26", + "slug": "jose-manuel-fernandes" + }, + "model": "representatives.representative", + "pk": 699 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.442Z", + "last_name": "G\u00c1LL-PELCZ", + "photo": "http://www.europarl.europa.eu/mepphoto/102886.jpg", + "created": "2015-12-27T16:13:25.442Z", + "gender": 1, + "remote_id": "102886", + "first_name": "Ildik\u00f3", + "cv": "", + "active": true, + "birth_place": "Sziksz\u00f3", + "full_name": "Ildik\u00f3 G\u00c1LL-PELCZ", + "fingerprint": "498397007683e7c354a07b6772e6a5249c657e46", + "birth_date": "1962-05-02", + "slug": "ildiko-gall-pelcz" + }, + "model": "representatives.representative", + "pk": 705 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.058Z", + "last_name": "ERTUG", + "photo": "http://www.europarl.europa.eu/mepphoto/96842.jpg", + "created": "2015-12-27T16:13:28.058Z", + "gender": 2, + "remote_id": "96842", + "first_name": "Ismail", + "cv": "", + "active": true, + "birth_place": "Amberg", + "full_name": "Ismail ERTUG", + "fingerprint": "10609d60111c0d2ea4ed177e4eae8aeb9726323c", + "birth_date": "1975-12-05", + "slug": "ismail-ertug" + }, + "model": "representatives.representative", + "pk": 708 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.630Z", + "last_name": "BAL\u010cYTIS", + "photo": "http://www.europarl.europa.eu/mepphoto/96680.jpg", + "created": "2015-12-27T16:13:48.630Z", + "gender": 2, + "remote_id": "96680", + "first_name": "Zigmantas", + "cv": "", + "active": true, + "birth_place": "\u0160ilut\u0117", + "full_name": "Zigmantas BAL\u010cYTIS", + "fingerprint": "b585443e73055e0ff19c1eb57697c6b049c71f92", + "birth_date": "1953-11-16", + "slug": "zigmantas-balcytis" + }, + "model": "representatives.representative", + "pk": 717 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.076Z", + "last_name": "BLINKEVI\u010cI\u016aT\u0116", + "photo": "http://www.europarl.europa.eu/mepphoto/96681.jpg", + "created": "2015-12-27T16:13:52.076Z", + "gender": 1, + "remote_id": "96681", + "first_name": "Vilija", + "cv": "", + "active": true, + "birth_place": "Linkuva Pakruojo Raj.", + "full_name": "Vilija BLINKEVI\u010cI\u016aT\u0116", + "fingerprint": "f67cd4402f17228ba3d19cc762768ad99a784fa6", + "birth_date": "1960-03-03", + "slug": "vilija-blinkeviciute" + }, + "model": "representatives.representative", + "pk": 718 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.555Z", + "last_name": "CRAMER", + "photo": "http://www.europarl.europa.eu/mepphoto/28238.jpg", + "created": "2015-12-27T16:13:52.555Z", + "gender": 2, + "remote_id": "28238", + "first_name": "Michael", + "cv": "", + "active": true, + "birth_place": "Gevelsberg", + "full_name": "Michael CRAMER", + "fingerprint": "537c306f57dcba9738c9b569c70e67601ae4d9a4", + "birth_date": "1949-06-16", + "slug": "michael-cramer" + }, + "model": "representatives.representative", + "pk": 719 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.815Z", + "last_name": "DANTIN", + "photo": "http://www.europarl.europa.eu/mepphoto/97296.jpg", + "created": "2015-12-27T16:14:35.815Z", + "gender": 2, + "remote_id": "97296", + "first_name": "Michel", + "cv": "", + "active": true, + "birth_place": "Lyon", + "full_name": "Michel DANTIN", + "fingerprint": "4e10f87f4e274de42c4db05f3b14d6b2801806c7", + "birth_date": "1960-01-15", + "slug": "michel-dantin" + }, + "model": "representatives.representative", + "pk": 736 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.358Z", + "last_name": "EICKHOUT", + "photo": "http://www.europarl.europa.eu/mepphoto/96725.jpg", + "created": "2015-12-27T16:14:39.358Z", + "gender": 2, + "remote_id": "96725", + "first_name": "Bas", + "cv": "", + "active": true, + "birth_place": "Groesbeek", + "full_name": "Bas EICKHOUT", + "fingerprint": "180f8b36ecbf91da60beaa3b82217ce91ea98ab4", + "birth_date": "1976-10-08", + "slug": "bas-eickhout" + }, + "model": "representatives.representative", + "pk": 738 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.229Z", + "last_name": "FLA\u0160\u00cdKOV\u00c1 BE\u0147OV\u00c1", + "photo": "http://www.europarl.europa.eu/mepphoto/23868.jpg", + "created": "2015-12-27T16:14:46.229Z", + "gender": 1, + "remote_id": "23868", + "first_name": "Monika", + "cv": "", + "active": true, + "birth_place": "Bratislava", + "full_name": "Monika FLA\u0160\u00cdKOV\u00c1 BE\u0147OV\u00c1", + "fingerprint": "c717d5ce989c0475a9bf39c493c44494d7e3cff0", + "birth_date": "1968-08-15", + "slug": "monika-flasikova-benova" + }, + "model": "representatives.representative", + "pk": 743 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.275Z", + "last_name": "CASA", + "photo": "http://www.europarl.europa.eu/mepphoto/28122.jpg", + "created": "2015-12-27T16:14:48.275Z", + "gender": 2, + "remote_id": "28122", + "first_name": "David", + "cv": "", + "active": true, + "birth_place": "Valletta", + "full_name": "David CASA", + "fingerprint": "26923a4750264111d2059b7f62116fdec8852f97", + "birth_date": "1968-11-16", + "slug": "david-casa" + }, + "model": "representatives.representative", + "pk": 744 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.047Z", + "last_name": "HARKIN", + "photo": "http://www.europarl.europa.eu/mepphoto/28116.jpg", + "created": "2015-12-27T16:14:54.047Z", + "gender": 1, + "remote_id": "28116", + "first_name": "Marian", + "cv": "", + "active": true, + "birth_place": "Sligo", + "full_name": "Marian HARKIN", + "fingerprint": "5c1226ccce31fd7a4837efb930803874933204be", + "birth_date": "1953-11-26", + "slug": "marian-harkin" + }, + "model": "representatives.representative", + "pk": 746 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.789Z", + "last_name": "KALINOWSKI", + "photo": "http://www.europarl.europa.eu/mepphoto/96771.jpg", + "created": "2015-12-27T16:14:54.789Z", + "gender": 2, + "remote_id": "96771", + "first_name": "Jaros\u0142aw", + "cv": "", + "active": true, + "birth_place": "Wyszk\u00f3w", + "full_name": "Jaros\u0142aw KALINOWSKI", + "fingerprint": "478e51e58f8ffd274d3a776169c5417be847eb6c", + "birth_date": "1962-04-12", + "slug": "jarosaw-kalinowski" + }, + "model": "representatives.representative", + "pk": 747 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.739Z", + "last_name": "BU\u015eOI", + "photo": "http://www.europarl.europa.eu/mepphoto/38420.jpg", + "created": "2015-12-27T16:14:55.739Z", + "gender": 2, + "remote_id": "38420", + "first_name": "Cristian-Silviu", + "cv": "", + "active": true, + "birth_place": "Drobeta Turnu-Severin", + "full_name": "Cristian-Silviu BU\u015eOI", + "fingerprint": "31e4b1f1705a7e684e22ce784c0bd144498c66a2", + "birth_date": "1978-03-01", + "slug": "cristian-silviu-busoi" + }, + "model": "representatives.representative", + "pk": 748 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.688Z", + "last_name": "LUDVIGSSON", + "photo": "http://www.europarl.europa.eu/mepphoto/96673.jpg", + "created": "2015-12-27T16:14:58.688Z", + "gender": 2, + "remote_id": "96673", + "first_name": "Olle", + "cv": "", + "active": true, + "birth_place": "H\u00e4ls\u00f6", + "full_name": "Olle LUDVIGSSON", + "fingerprint": "314d0f4c25af31bfa2a6b286838367994b902615", + "birth_date": "1948-10-28", + "slug": "olle-ludvigsson" + }, + "model": "representatives.representative", + "pk": 750 +}, +{ + "fields": { + "email": "mary.honeyball@europarl.europa.eu", + "updated": "2015-12-27T16:05:08.423Z", + "representative": 160, + "kind": "official", + "created": "2015-12-27T16:05:08.423Z" + }, + "model": "representatives.email", + "pk": 160 +}, +{ + "fields": { + "email": "sirpa.pietikainen@europarl.europa.eu", + "updated": "2015-12-27T16:06:26.435Z", + "representative": 282, + "kind": "official", + "created": "2015-12-27T16:06:26.435Z" + }, + "model": "representatives.email", + "pk": 284 +}, +{ + "fields": { + "email": "elmar.brok@europarl.europa.eu", + "updated": "2015-12-27T16:09:03.538Z", + "representative": 439, + "kind": "official", + "created": "2015-12-27T16:09:03.538Z" + }, + "model": "representatives.email", + "pk": 442 +}, +{ + "fields": { + "email": "cecilia.wikstrom@europarl.europa.eu", + "updated": "2015-12-27T16:11:41.955Z", + "representative": 614, + "kind": "official", + "created": "2015-12-27T16:11:41.955Z" + }, + "model": "representatives.email", + "pk": 617 +}, +{ + "fields": { + "email": "iliana.iotova@europarl.europa.eu", + "updated": "2015-12-27T16:12:04.035Z", + "representative": 642, + "kind": "official", + "created": "2015-12-27T16:12:04.035Z" + }, + "model": "representatives.email", + "pk": 645 +}, +{ + "fields": { + "email": "iliana.iotova-office@europarl.europa.eu", + "updated": "2015-12-27T16:12:04.037Z", + "representative": 642, + "kind": "official", + "created": "2015-12-27T16:12:04.037Z" + }, + "model": "representatives.email", + "pk": 646 +}, +{ + "fields": { + "email": "andrey.kovatchev@europarl.europa.eu", + "updated": "2015-12-27T16:12:05.353Z", + "representative": 644, + "kind": "official", + "created": "2015-12-27T16:12:05.353Z" + }, + "model": "representatives.email", + "pk": 648 +}, +{ + "fields": { + "email": "liisa.jaakonsaari@europarl.europa.eu", + "updated": "2015-12-27T16:12:06.130Z", + "representative": 645, + "kind": "official", + "created": "2015-12-27T16:12:06.130Z" + }, + "model": "representatives.email", + "pk": 649 +}, +{ + "fields": { + "email": "ashley.fox@europarl.europa.eu", + "updated": "2015-12-27T16:12:06.858Z", + "representative": 646, + "kind": "official", + "created": "2015-12-27T16:12:06.858Z" + }, + "model": "representatives.email", + "pk": 650 +}, +{ + "fields": { + "email": "frederique.ries@europarl.europa.eu", + "updated": "2015-12-27T16:12:07.757Z", + "representative": 647, + "kind": "official", + "created": "2015-12-27T16:12:07.757Z" + }, + "model": "representatives.email", + "pk": 651 +}, +{ + "fields": { + "email": "yannick.jadot@europarl.europa.eu", + "updated": "2015-12-27T16:12:10.411Z", + "representative": 650, + "kind": "official", + "created": "2015-12-27T16:12:10.411Z" + }, + "model": "representatives.email", + "pk": 654 +}, +{ + "fields": { + "email": "birgit.sippel@europarl.europa.eu", + "updated": "2015-12-27T16:12:10.646Z", + "representative": 651, + "kind": "official", + "created": "2015-12-27T16:12:10.646Z" + }, + "model": "representatives.email", + "pk": 655 +}, +{ + "fields": { + "email": "charles.tannock@europarl.europa.eu", + "updated": "2015-12-27T16:12:13.315Z", + "representative": 653, + "kind": "official", + "created": "2015-12-27T16:12:13.315Z" + }, + "model": "representatives.email", + "pk": 657 +}, +{ + "fields": { + "email": "eider.gardiazabalrubial@europarl.europa.eu", + "updated": "2015-12-27T16:12:15.491Z", + "representative": 655, + "kind": "official", + "created": "2015-12-27T16:12:15.491Z" + }, + "model": "representatives.email", + "pk": 659 +}, +{ + "fields": { + "email": "ramon.tremosa@europarl.europa.eu", + "updated": "2015-12-27T16:12:22.071Z", + "representative": 661, + "kind": "official", + "created": "2015-12-27T16:12:22.071Z" + }, + "model": "representatives.email", + "pk": 665 +}, +{ + "fields": { + "email": "vladimir.urutchev@europarl.europa.eu", + "updated": "2015-12-27T16:12:32.419Z", + "representative": 666, + "kind": "official", + "created": "2015-12-27T16:12:32.419Z" + }, + "model": "representatives.email", + "pk": 670 +}, +{ + "fields": { + "email": "eva.joly@europarl.europa.eu", + "updated": "2015-12-27T16:12:35.641Z", + "representative": 670, + "kind": "official", + "created": "2015-12-27T16:12:35.641Z" + }, + "model": "representatives.email", + "pk": 674 +}, +{ + "fields": { + "email": "tamas.deutsch@europarl.europa.eu", + "updated": "2015-12-27T16:12:43.814Z", + "representative": 678, + "kind": "official", + "created": "2015-12-27T16:12:43.814Z" + }, + "model": "representatives.email", + "pk": 682 +}, +{ + "fields": { + "email": "kinga.gal@europarl.europa.eu", + "updated": "2015-12-27T16:12:44.894Z", + "representative": 679, + "kind": "official", + "created": "2015-12-27T16:12:44.894Z" + }, + "model": "representatives.email", + "pk": 683 +}, +{ + "fields": { + "email": "jean-marie.cavada@europarl.europa.eu", + "updated": "2015-12-27T16:12:47.773Z", + "representative": 681, + "kind": "official", + "created": "2015-12-27T16:12:47.773Z" + }, + "model": "representatives.email", + "pk": 685 +}, +{ + "fields": { + "email": "nikolaos.chountis@europarl.europa.eu", + "updated": "2015-12-27T16:12:51.146Z", + "representative": 684, + "kind": "official", + "created": "2015-12-27T16:12:51.146Z" + }, + "model": "representatives.email", + "pk": 688 +}, +{ + "fields": { + "email": "vasilicaviorica.dancila@europarl.europa.eu", + "updated": "2015-12-27T16:12:59.979Z", + "representative": 692, + "kind": "official", + "created": "2015-12-27T16:12:59.979Z" + }, + "model": "representatives.email", + "pk": 696 +}, +{ + "fields": { + "email": "ivo.vajgl@europarl.europa.eu", + "updated": "2015-12-27T16:13:05.488Z", + "representative": 697, + "kind": "official", + "created": "2015-12-27T16:13:05.488Z" + }, + "model": "representatives.email", + "pk": 701 +}, +{ + "fields": { + "email": "josemanuel.fernandes@europarl.europa.eu", + "updated": "2015-12-27T16:13:09.277Z", + "representative": 699, + "kind": "official", + "created": "2015-12-27T16:13:09.277Z" + }, + "model": "representatives.email", + "pk": 703 +}, +{ + "fields": { + "email": "ildiko.gall-pelcz@europarl.europa.eu", + "updated": "2015-12-27T16:13:25.556Z", + "representative": 705, + "kind": "official", + "created": "2015-12-27T16:13:25.556Z" + }, + "model": "representatives.email", + "pk": 709 +}, +{ + "fields": { + "email": "ismail.ertug@europarl.europa.eu", + "updated": "2015-12-27T16:13:28.172Z", + "representative": 708, + "kind": "official", + "created": "2015-12-27T16:13:28.172Z" + }, + "model": "representatives.email", + "pk": 712 +}, +{ + "fields": { + "email": "zigmantas.balcytis@europarl.europa.eu", + "updated": "2015-12-27T16:13:48.755Z", + "representative": 717, + "kind": "official", + "created": "2015-12-27T16:13:48.755Z" + }, + "model": "representatives.email", + "pk": 721 +}, +{ + "fields": { + "email": "vilija.blinkeviciute@europarl.europa.eu", + "updated": "2015-12-27T16:13:52.185Z", + "representative": 718, + "kind": "official", + "created": "2015-12-27T16:13:52.185Z" + }, + "model": "representatives.email", + "pk": 722 +}, +{ + "fields": { + "email": "michael.cramer@europarl.europa.eu", + "updated": "2015-12-27T16:13:52.692Z", + "representative": 719, + "kind": "official", + "created": "2015-12-27T16:13:52.692Z" + }, + "model": "representatives.email", + "pk": 723 +}, +{ + "fields": { + "email": "michel.dantin@europarl.europa.eu", + "updated": "2015-12-27T16:14:35.950Z", + "representative": 736, + "kind": "official", + "created": "2015-12-27T16:14:35.950Z" + }, + "model": "representatives.email", + "pk": 740 +}, +{ + "fields": { + "email": "dantin.michel@sp-eurodepute.eu", + "updated": "2015-12-27T16:14:35.952Z", + "representative": 736, + "kind": "other", + "created": "2015-12-27T16:14:35.951Z" + }, + "model": "representatives.email", + "pk": 741 +}, +{ + "fields": { + "email": "bas.eickhout@europarl.europa.eu", + "updated": "2015-12-27T16:14:39.466Z", + "representative": 738, + "kind": "official", + "created": "2015-12-27T16:14:39.466Z" + }, + "model": "representatives.email", + "pk": 743 +}, +{ + "fields": { + "email": "monika.flasikovabenova@europarl.europa.eu", + "updated": "2015-12-27T16:14:46.390Z", + "representative": 743, + "kind": "official", + "created": "2015-12-27T16:14:46.390Z" + }, + "model": "representatives.email", + "pk": 748 +}, +{ + "fields": { + "email": "david.casa@europarl.europa.eu", + "updated": "2015-12-27T16:14:48.499Z", + "representative": 744, + "kind": "official", + "created": "2015-12-27T16:14:48.499Z" + }, + "model": "representatives.email", + "pk": 749 +}, +{ + "fields": { + "email": "marian.harkin@europarl.europa.eu", + "updated": "2015-12-27T16:14:54.232Z", + "representative": 746, + "kind": "official", + "created": "2015-12-27T16:14:54.232Z" + }, + "model": "representatives.email", + "pk": 751 +}, +{ + "fields": { + "email": "jaroslaw.kalinowski@europarl.europa.eu", + "updated": "2015-12-27T16:14:54.883Z", + "representative": 747, + "kind": "official", + "created": "2015-12-27T16:14:54.883Z" + }, + "model": "representatives.email", + "pk": 752 +}, +{ + "fields": { + "email": "cristiansilviu.busoi@europarl.europa.eu", + "updated": "2015-12-27T16:14:55.938Z", + "representative": 748, + "kind": "official", + "created": "2015-12-27T16:14:55.938Z" + }, + "model": "representatives.email", + "pk": 753 +}, +{ + "fields": { + "email": "olle.ludvigsson@europarl.europa.eu", + "updated": "2015-12-27T16:14:58.775Z", + "representative": 750, + "kind": "official", + "created": "2015-12-27T16:14:58.775Z" + }, + "model": "representatives.email", + "pk": 755 +}, +{ + "fields": { + "url": "http://twitter.com/maryhoneyball", + "updated": "2015-12-27T16:05:08.425Z", + "representative": 160, + "kind": "twitter", + "created": "2015-12-27T16:05:08.425Z" + }, + "model": "representatives.website", + "pk": 296 +}, +{ + "fields": { + "url": "https://www.facebook.com/mhoneyball", + "updated": "2015-12-27T16:05:08.427Z", + "representative": 160, + "kind": "facebook", + "created": "2015-12-27T16:05:08.427Z" + }, + "model": "representatives.website", + "pk": 297 +}, +{ + "fields": { + "url": "http://www.sirpapietikainen.net/", + "updated": "2015-12-27T16:06:26.437Z", + "representative": 282, + "kind": "", + "created": "2015-12-27T16:06:26.437Z" + }, + "model": "representatives.website", + "pk": 565 +}, +{ + "fields": { + "url": "https://twitter.com/spietikainen", + "updated": "2015-12-27T16:06:26.440Z", + "representative": 282, + "kind": "twitter", + "created": "2015-12-27T16:06:26.440Z" + }, + "model": "representatives.website", + "pk": 566 +}, +{ + "fields": { + "url": "https://www.facebook.com/MEPsirpapietikainen", + "updated": "2015-12-27T16:06:26.443Z", + "representative": 282, + "kind": "facebook", + "created": "2015-12-27T16:06:26.443Z" + }, + "model": "representatives.website", + "pk": 567 +}, +{ + "fields": { + "url": "http://www.elmarbrok.de", + "updated": "2015-12-27T16:09:03.541Z", + "representative": 439, + "kind": "", + "created": "2015-12-27T16:09:03.541Z" + }, + "model": "representatives.website", + "pk": 890 +}, +{ + "fields": { + "url": "https://twitter.com/ElmarBrok_MEP", + "updated": "2015-12-27T16:09:03.544Z", + "representative": 439, + "kind": "twitter", + "created": "2015-12-27T16:09:03.544Z" + }, + "model": "representatives.website", + "pk": 891 +}, +{ + "fields": { + "url": "https://www.facebook.com/elmarbrok", + "updated": "2015-12-27T16:09:03.548Z", + "representative": 439, + "kind": "facebook", + "created": "2015-12-27T16:09:03.548Z" + }, + "model": "representatives.website", + "pk": 892 +}, +{ + "fields": { + "url": "http://www.folkpartiet.se/wikstrom", + "updated": "2015-12-27T16:11:41.957Z", + "representative": 614, + "kind": "", + "created": "2015-12-27T16:11:41.957Z" + }, + "model": "representatives.website", + "pk": 1231 +}, +{ + "fields": { + "url": "https://www.facebook.com/pages/Europaparlamentariker-Cecilia-Wikstr%C3%B6m/300583770875", + "updated": "2015-12-27T16:11:41.959Z", + "representative": 614, + "kind": "facebook", + "created": "2015-12-27T16:11:41.959Z" + }, + "model": "representatives.website", + "pk": 1232 +}, +{ + "fields": { + "url": "http://www.iliana.info", + "updated": "2015-12-27T16:12:04.039Z", + "representative": 642, + "kind": "", + "created": "2015-12-27T16:12:04.039Z" + }, + "model": "representatives.website", + "pk": 1288 +}, +{ + "fields": { + "url": "https://twitter.com/IIotova", + "updated": "2015-12-27T16:12:04.041Z", + "representative": 642, + "kind": "twitter", + "created": "2015-12-27T16:12:04.041Z" + }, + "model": "representatives.website", + "pk": 1289 +}, +{ + "fields": { + "url": "https://www.facebook.com/IlyanaIotova", + "updated": "2015-12-27T16:12:04.043Z", + "representative": 642, + "kind": "facebook", + "created": "2015-12-27T16:12:04.043Z" + }, + "model": "representatives.website", + "pk": 1290 +}, +{ + "fields": { + "url": "http://www.andrey-kovatchev.eu", + "updated": "2015-12-27T16:12:05.355Z", + "representative": 644, + "kind": "", + "created": "2015-12-27T16:12:05.355Z" + }, + "model": "representatives.website", + "pk": 1292 +}, +{ + "fields": { + "url": "http://twitter.com/andreykovatchev", + "updated": "2015-12-27T16:12:05.356Z", + "representative": 644, + "kind": "twitter", + "created": "2015-12-27T16:12:05.356Z" + }, + "model": "representatives.website", + "pk": 1293 +}, +{ + "fields": { + "url": "http://www.facebook.com/pages/Andrey-Kovatchev/133004451640", + "updated": "2015-12-27T16:12:05.358Z", + "representative": 644, + "kind": "facebook", + "created": "2015-12-27T16:12:05.358Z" + }, + "model": "representatives.website", + "pk": 1294 +}, +{ + "fields": { + "url": "http://www.liisajaakonsaari.fi/", + "updated": "2015-12-27T16:12:06.132Z", + "representative": 645, + "kind": "", + "created": "2015-12-27T16:12:06.132Z" + }, + "model": "representatives.website", + "pk": 1295 +}, +{ + "fields": { + "url": "https://twitter.com/lJaakonsaari", + "updated": "2015-12-27T16:12:06.133Z", + "representative": 645, + "kind": "twitter", + "created": "2015-12-27T16:12:06.133Z" + }, + "model": "representatives.website", + "pk": 1296 +}, +{ + "fields": { + "url": "https://www.facebook.com/liisajaakonsaariMEP", + "updated": "2015-12-27T16:12:06.135Z", + "representative": 645, + "kind": "facebook", + "created": "2015-12-27T16:12:06.135Z" + }, + "model": "representatives.website", + "pk": 1297 +}, +{ + "fields": { + "url": "http://www.ashleyfoxmep.com/", + "updated": "2015-12-27T16:12:06.859Z", + "representative": 646, + "kind": "", + "created": "2015-12-27T16:12:06.859Z" + }, + "model": "representatives.website", + "pk": 1298 +}, +{ + "fields": { + "url": "http://www.frederiqueries.be", + "updated": "2015-12-27T16:12:07.758Z", + "representative": 647, + "kind": "", + "created": "2015-12-27T16:12:07.758Z" + }, + "model": "representatives.website", + "pk": 1299 +}, +{ + "fields": { + "url": "http://twitter.com/Frederiqueries", + "updated": "2015-12-27T16:12:07.760Z", + "representative": 647, + "kind": "twitter", + "created": "2015-12-27T16:12:07.760Z" + }, + "model": "representatives.website", + "pk": 1300 +}, +{ + "fields": { + "url": "http://www.facebook.com/pages/Fr%C3%A9d%C3%A9rique-Ries/121508211203759", + "updated": "2015-12-27T16:12:07.762Z", + "representative": 647, + "kind": "facebook", + "created": "2015-12-27T16:12:07.762Z" + }, + "model": "representatives.website", + "pk": 1301 +}, +{ + "fields": { + "url": "http://www.yannickjadot.fr/", + "updated": "2015-12-27T16:12:10.413Z", + "representative": 650, + "kind": "", + "created": "2015-12-27T16:12:10.413Z" + }, + "model": "representatives.website", + "pk": 1304 +}, +{ + "fields": { + "url": "https://twitter.com/yjadot", + "updated": "2015-12-27T16:12:10.415Z", + "representative": 650, + "kind": "twitter", + "created": "2015-12-27T16:12:10.415Z" + }, + "model": "representatives.website", + "pk": 1305 +}, +{ + "fields": { + "url": "https://www.facebook.com/yannick.jadot", + "updated": "2015-12-27T16:12:10.417Z", + "representative": 650, + "kind": "facebook", + "created": "2015-12-27T16:12:10.417Z" + }, + "model": "representatives.website", + "pk": 1306 +}, +{ + "fields": { + "url": "http://www.birgit-sippel.de", + "updated": "2015-12-27T16:12:10.648Z", + "representative": 651, + "kind": "", + "created": "2015-12-27T16:12:10.648Z" + }, + "model": "representatives.website", + "pk": 1307 +}, +{ + "fields": { + "url": "https://twitter.com/BirgitSippelMEP", + "updated": "2015-12-27T16:12:10.650Z", + "representative": 651, + "kind": "twitter", + "created": "2015-12-27T16:12:10.650Z" + }, + "model": "representatives.website", + "pk": 1308 +}, +{ + "fields": { + "url": "https://www.facebook.com/BirgitSippel", + "updated": "2015-12-27T16:12:10.652Z", + "representative": 651, + "kind": "facebook", + "created": "2015-12-27T16:12:10.652Z" + }, + "model": "representatives.website", + "pk": 1309 +}, +{ + "fields": { + "url": "http://www.charlestannock.com", + "updated": "2015-12-27T16:12:13.317Z", + "representative": 653, + "kind": "", + "created": "2015-12-27T16:12:13.317Z" + }, + "model": "representatives.website", + "pk": 1312 +}, +{ + "fields": { + "url": "http://www.facebook.com/pages/Charles-Tannock/139629296056413#!/ctannock", + "updated": "2015-12-27T16:12:13.319Z", + "representative": 653, + "kind": "facebook", + "created": "2015-12-27T16:12:13.319Z" + }, + "model": "representatives.website", + "pk": 1313 +}, +{ + "fields": { + "url": "https://twitter.com/EGardiazabal", + "updated": "2015-12-27T16:12:15.492Z", + "representative": 655, + "kind": "twitter", + "created": "2015-12-27T16:12:15.492Z" + }, + "model": "representatives.website", + "pk": 1315 +}, +{ + "fields": { + "url": "http://www.facebook.com/eider.gardiazabal", + "updated": "2015-12-27T16:12:15.494Z", + "representative": 655, + "kind": "facebook", + "created": "2015-12-27T16:12:15.494Z" + }, + "model": "representatives.website", + "pk": 1316 +}, +{ + "fields": { + "url": "http://www.tremosa.cat", + "updated": "2015-12-27T16:12:22.072Z", + "representative": 661, + "kind": "", + "created": "2015-12-27T16:12:22.072Z" + }, + "model": "representatives.website", + "pk": 1324 +}, +{ + "fields": { + "url": "https://www.facebook.com/tremosa?fref=ts", + "updated": "2015-12-27T16:12:22.074Z", + "representative": 661, + "kind": "facebook", + "created": "2015-12-27T16:12:22.074Z" + }, + "model": "representatives.website", + "pk": 1325 +}, +{ + "fields": { + "url": "http://www.urutchev.eu/bg/home", + "updated": "2015-12-27T16:12:32.421Z", + "representative": 666, + "kind": "", + "created": "2015-12-27T16:12:32.420Z" + }, + "model": "representatives.website", + "pk": 1330 +}, +{ + "fields": { + "url": "https://www.facebook.com/vladimir.urutchev", + "updated": "2015-12-27T16:12:32.422Z", + "representative": 666, + "kind": "facebook", + "created": "2015-12-27T16:12:32.422Z" + }, + "model": "representatives.website", + "pk": 1331 +}, +{ + "fields": { + "url": "http://europeangreens.eu/people/eva-joly", + "updated": "2015-12-27T16:12:35.644Z", + "representative": 670, + "kind": "", + "created": "2015-12-27T16:12:35.644Z" + }, + "model": "representatives.website", + "pk": 1334 +}, +{ + "fields": { + "url": "https://twitter.com/EvaJoly", + "updated": "2015-12-27T16:12:35.648Z", + "representative": 670, + "kind": "twitter", + "created": "2015-12-27T16:12:35.648Z" + }, + "model": "representatives.website", + "pk": 1335 +}, +{ + "fields": { + "url": "https://www.facebook.com/EvaJoly.fr", + "updated": "2015-12-27T16:12:35.652Z", + "representative": 670, + "kind": "facebook", + "created": "2015-12-27T16:12:35.652Z" + }, + "model": "representatives.website", + "pk": 1336 +}, +{ + "fields": { + "url": "http://deutsch.fidesz-eu.hu/", + "updated": "2015-12-27T16:12:43.815Z", + "representative": 678, + "kind": "", + "created": "2015-12-27T16:12:43.815Z" + }, + "model": "representatives.website", + "pk": 1353 +}, +{ + "fields": { + "url": "https://twitter.com/dajcstomi", + "updated": "2015-12-27T16:12:43.817Z", + "representative": 678, + "kind": "twitter", + "created": "2015-12-27T16:12:43.817Z" + }, + "model": "representatives.website", + "pk": 1354 +}, +{ + "fields": { + "url": "https://www.facebook.com/pages/Tam%C3%A1s-Deutsch/115893865125227", + "updated": "2015-12-27T16:12:43.819Z", + "representative": 678, + "kind": "facebook", + "created": "2015-12-27T16:12:43.819Z" + }, + "model": "representatives.website", + "pk": 1355 +}, +{ + "fields": { + "url": "http://www.galkinga.hu/", + "updated": "2015-12-27T16:12:44.896Z", + "representative": 679, + "kind": "", + "created": "2015-12-27T16:12:44.896Z" + }, + "model": "representatives.website", + "pk": 1356 +}, +{ + "fields": { + "url": "https://www.facebook.com/pages/Kinga-G%C3%A1l/106073572756796", + "updated": "2015-12-27T16:12:44.898Z", + "representative": 679, + "kind": "facebook", + "created": "2015-12-27T16:12:44.898Z" + }, + "model": "representatives.website", + "pk": 1357 +}, +{ + "fields": { + "url": "http://www.jeanmariecavada.eu", + "updated": "2015-12-27T16:12:47.774Z", + "representative": 681, + "kind": "", + "created": "2015-12-27T16:12:47.774Z" + }, + "model": "representatives.website", + "pk": 1359 +}, +{ + "fields": { + "url": "https://twitter.com/JeanMarieCAVADA", + "updated": "2015-12-27T16:12:47.776Z", + "representative": 681, + "kind": "twitter", + "created": "2015-12-27T16:12:47.776Z" + }, + "model": "representatives.website", + "pk": 1360 +}, +{ + "fields": { + "url": "http://www.facebook.com/?ref=home#!/pages/Jean-Marie-Cavada/180453773116", + "updated": "2015-12-27T16:12:47.778Z", + "representative": 681, + "kind": "facebook", + "created": "2015-12-27T16:12:47.778Z" + }, + "model": "representatives.website", + "pk": 1361 +}, +{ + "fields": { + "url": "https://twitter.com/Nikos_Chountis", + "updated": "2015-12-27T16:12:51.147Z", + "representative": 684, + "kind": "twitter", + "created": "2015-12-27T16:12:51.147Z" + }, + "model": "representatives.website", + "pk": 1366 +}, +{ + "fields": { + "url": "https://www.facebook.com/viorica.dancila", + "updated": "2015-12-27T16:12:59.981Z", + "representative": 692, + "kind": "facebook", + "created": "2015-12-27T16:12:59.981Z" + }, + "model": "representatives.website", + "pk": 1378 +}, +{ + "fields": { + "url": "http://www.facebook.com/ivo.vajgl", + "updated": "2015-12-27T16:13:05.492Z", + "representative": 697, + "kind": "facebook", + "created": "2015-12-27T16:13:05.492Z" + }, + "model": "representatives.website", + "pk": 1386 +}, +{ + "fields": { + "url": "http://www.josemanuelfernandes.eu", + "updated": "2015-12-27T16:13:09.279Z", + "representative": 699, + "kind": "", + "created": "2015-12-27T16:13:09.279Z" + }, + "model": "representatives.website", + "pk": 1388 +}, +{ + "fields": { + "url": "https://twitter.com/JMFernandesEU", + "updated": "2015-12-27T16:13:09.281Z", + "representative": 699, + "kind": "twitter", + "created": "2015-12-27T16:13:09.281Z" + }, + "model": "representatives.website", + "pk": 1389 +}, +{ + "fields": { + "url": "https://www.facebook.com/jmfernandes.eu", + "updated": "2015-12-27T16:13:09.283Z", + "representative": 699, + "kind": "facebook", + "created": "2015-12-27T16:13:09.283Z" + }, + "model": "representatives.website", + "pk": 1390 +}, +{ + "fields": { + "url": "http://www.pgi.hu/", + "updated": "2015-12-27T16:13:25.558Z", + "representative": 705, + "kind": "", + "created": "2015-12-27T16:13:25.558Z" + }, + "model": "representatives.website", + "pk": 1394 +}, +{ + "fields": { + "url": "https://www.facebook.com/ildiko.pelcz.gall", + "updated": "2015-12-27T16:13:25.560Z", + "representative": 705, + "kind": "facebook", + "created": "2015-12-27T16:13:25.560Z" + }, + "model": "representatives.website", + "pk": 1395 +}, +{ + "fields": { + "url": "http://www.ertug.eu", + "updated": "2015-12-27T16:13:28.174Z", + "representative": 708, + "kind": "", + "created": "2015-12-27T16:13:28.174Z" + }, + "model": "representatives.website", + "pk": 1398 +}, +{ + "fields": { + "url": "https://twitter.com/IsmailErtug", + "updated": "2015-12-27T16:13:28.176Z", + "representative": 708, + "kind": "twitter", + "created": "2015-12-27T16:13:28.176Z" + }, + "model": "representatives.website", + "pk": 1399 +}, +{ + "fields": { + "url": "http://www.facebook.com/ertug.eu", + "updated": "2015-12-27T16:13:28.178Z", + "representative": 708, + "kind": "facebook", + "created": "2015-12-27T16:13:28.178Z" + }, + "model": "representatives.website", + "pk": 1400 +}, +{ + "fields": { + "url": "http://www.balcytis.lt", + "updated": "2015-12-27T16:13:48.757Z", + "representative": 717, + "kind": "", + "created": "2015-12-27T16:13:48.757Z" + }, + "model": "representatives.website", + "pk": 1413 +}, +{ + "fields": { + "url": "http://twitter.com/balcytis", + "updated": "2015-12-27T16:13:48.760Z", + "representative": 717, + "kind": "twitter", + "created": "2015-12-27T16:13:48.760Z" + }, + "model": "representatives.website", + "pk": 1414 +}, +{ + "fields": { + "url": "https://www.facebook.com/zigmantas.balcytis", + "updated": "2015-12-27T16:13:48.761Z", + "representative": 717, + "kind": "facebook", + "created": "2015-12-27T16:13:48.761Z" + }, + "model": "representatives.website", + "pk": 1415 +}, +{ + "fields": { + "url": "http://www.blinkeviciute.eu", + "updated": "2015-12-27T16:13:52.186Z", + "representative": 718, + "kind": "", + "created": "2015-12-27T16:13:52.186Z" + }, + "model": "representatives.website", + "pk": 1416 +}, +{ + "fields": { + "url": "https://www.facebook.com/vilijablinkeviciute/ ", + "updated": "2015-12-27T16:13:52.188Z", + "representative": 718, + "kind": "facebook", + "created": "2015-12-27T16:13:52.188Z" + }, + "model": "representatives.website", + "pk": 1417 +}, +{ + "fields": { + "url": "http://www.michael-cramer.eu/en/home/", + "updated": "2015-12-27T16:13:52.694Z", + "representative": 719, + "kind": "", + "created": "2015-12-27T16:13:52.694Z" + }, + "model": "representatives.website", + "pk": 1418 +}, +{ + "fields": { + "url": "https://twitter.com/MepMCramer", + "updated": "2015-12-27T16:13:52.696Z", + "representative": 719, + "kind": "twitter", + "created": "2015-12-27T16:13:52.696Z" + }, + "model": "representatives.website", + "pk": 1419 +}, +{ + "fields": { + "url": "https://www.facebook.com/michael.cramer.MEP", + "updated": "2015-12-27T16:13:52.698Z", + "representative": 719, + "kind": "facebook", + "created": "2015-12-27T16:13:52.698Z" + }, + "model": "representatives.website", + "pk": 1420 +}, +{ + "fields": { + "url": "http://micheldantin.net/", + "updated": "2015-12-27T16:14:35.953Z", + "representative": 736, + "kind": "", + "created": "2015-12-27T16:14:35.953Z" + }, + "model": "representatives.website", + "pk": 1451 +}, +{ + "fields": { + "url": "https://twitter.com/MichelDANTIN", + "updated": "2015-12-27T16:14:35.955Z", + "representative": 736, + "kind": "twitter", + "created": "2015-12-27T16:14:35.955Z" + }, + "model": "representatives.website", + "pk": 1452 +}, +{ + "fields": { + "url": "https://www.facebook.com/michel.dantin.1", + "updated": "2015-12-27T16:14:35.957Z", + "representative": 736, + "kind": "facebook", + "created": "2015-12-27T16:14:35.957Z" + }, + "model": "representatives.website", + "pk": 1453 +}, +{ + "fields": { + "url": "https://groenlinks.nl/mensen/bas-eickhout", + "updated": "2015-12-27T16:14:39.468Z", + "representative": 738, + "kind": "", + "created": "2015-12-27T16:14:39.468Z" + }, + "model": "representatives.website", + "pk": 1454 +}, +{ + "fields": { + "url": "https://twitter.com/BasEickhout", + "updated": "2015-12-27T16:14:39.470Z", + "representative": 738, + "kind": "twitter", + "created": "2015-12-27T16:14:39.470Z" + }, + "model": "representatives.website", + "pk": 1455 +}, +{ + "fields": { + "url": "https://www.facebook.com/bas.eickhout", + "updated": "2015-12-27T16:14:39.471Z", + "representative": 738, + "kind": "facebook", + "created": "2015-12-27T16:14:39.471Z" + }, + "model": "representatives.website", + "pk": 1456 +}, +{ + "fields": { + "url": "http://monikaflasikovabenova.sk/", + "updated": "2015-12-27T16:14:46.392Z", + "representative": 743, + "kind": "", + "created": "2015-12-27T16:14:46.392Z" + }, + "model": "representatives.website", + "pk": 1464 +}, +{ + "fields": { + "url": "https://twitter.com/monikaflabenova", + "updated": "2015-12-27T16:14:46.395Z", + "representative": 743, + "kind": "twitter", + "created": "2015-12-27T16:14:46.394Z" + }, + "model": "representatives.website", + "pk": 1465 +}, +{ + "fields": { + "url": "https://www.facebook.com/monikaflasikovabenova", + "updated": "2015-12-27T16:14:46.397Z", + "representative": 743, + "kind": "facebook", + "created": "2015-12-27T16:14:46.396Z" + }, + "model": "representatives.website", + "pk": 1466 +}, +{ + "fields": { + "url": "http://www.davidcasa.eu", + "updated": "2015-12-27T16:14:48.501Z", + "representative": 744, + "kind": "", + "created": "2015-12-27T16:14:48.501Z" + }, + "model": "representatives.website", + "pk": 1467 +}, +{ + "fields": { + "url": "https://twitter.com/DavidCasaMEP", + "updated": "2015-12-27T16:14:48.503Z", + "representative": 744, + "kind": "twitter", + "created": "2015-12-27T16:14:48.503Z" + }, + "model": "representatives.website", + "pk": 1468 +}, +{ + "fields": { + "url": "https://www.facebook.com/david.casa.9", + "updated": "2015-12-27T16:14:48.505Z", + "representative": 744, + "kind": "facebook", + "created": "2015-12-27T16:14:48.505Z" + }, + "model": "representatives.website", + "pk": 1469 +}, +{ + "fields": { + "url": "https://twitter.com/MarianHarkin", + "updated": "2015-12-27T16:14:54.233Z", + "representative": 746, + "kind": "twitter", + "created": "2015-12-27T16:14:54.233Z" + }, + "model": "representatives.website", + "pk": 1472 +}, +{ + "fields": { + "url": "http://www.facebook.com/marianharkin", + "updated": "2015-12-27T16:14:54.235Z", + "representative": 746, + "kind": "facebook", + "created": "2015-12-27T16:14:54.235Z" + }, + "model": "representatives.website", + "pk": 1473 +}, +{ + "fields": { + "url": "http://www.kalinowski.pl/", + "updated": "2015-12-27T16:14:54.885Z", + "representative": 747, + "kind": "", + "created": "2015-12-27T16:14:54.885Z" + }, + "model": "representatives.website", + "pk": 1474 +}, +{ + "fields": { + "url": "https://www.facebook.com/pages/Jaros%C5%82aw-Kalinowski/150155298350245", + "updated": "2015-12-27T16:14:54.887Z", + "representative": 747, + "kind": "facebook", + "created": "2015-12-27T16:14:54.887Z" + }, + "model": "representatives.website", + "pk": 1475 +}, +{ + "fields": { + "url": "http://www.cristianbusoi.eu/", + "updated": "2015-12-27T16:14:55.940Z", + "representative": 748, + "kind": "", + "created": "2015-12-27T16:14:55.940Z" + }, + "model": "representatives.website", + "pk": 1476 +}, +{ + "fields": { + "url": "http://twitter.com/CristiBusoi", + "updated": "2015-12-27T16:14:55.942Z", + "representative": 748, + "kind": "twitter", + "created": "2015-12-27T16:14:55.942Z" + }, + "model": "representatives.website", + "pk": 1477 +}, +{ + "fields": { + "url": "http://www.facebook.com/cristi.busoi", + "updated": "2015-12-27T16:14:55.943Z", + "representative": 748, + "kind": "facebook", + "created": "2015-12-27T16:14:55.943Z" + }, + "model": "representatives.website", + "pk": 1478 +}, +{ + "fields": { + "url": "http://www.sap.se/olle", + "updated": "2015-12-27T16:14:58.777Z", + "representative": 750, + "kind": "", + "created": "2015-12-27T16:14:58.777Z" + }, + "model": "representatives.website", + "pk": 1482 +}, +{ + "fields": { + "url": "http://twitter.com/olleludvigsson", + "updated": "2015-12-27T16:14:58.779Z", + "representative": 750, + "kind": "twitter", + "created": "2015-12-27T16:14:58.779Z" + }, + "model": "representatives.website", + "pk": 1483 +}, +{ + "fields": { + "url": "https://www.facebook.com/olle.ludvigsson", + "updated": "2015-12-27T16:14:58.780Z", + "representative": 750, + "kind": "facebook", + "created": "2015-12-27T16:14:58.780Z" + }, + "model": "representatives.website", + "pk": 1484 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:05:08.413Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:05:08.413Z", + "country": 1050, + "floor": "13G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "258", + "representative": 160, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 319 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:05:08.419Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:05:08.419Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "048", + "representative": 160, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 320 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:06:26.418Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:06:26.418Z", + "country": 1050, + "floor": "11E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "205", + "representative": 282, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 563 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:06:26.428Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:06:26.428Z", + "country": 1095, + "floor": "T09", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "048", + "representative": 282, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 564 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:09:03.522Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:09:03.522Z", + "country": 1050, + "floor": "05E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "240", + "representative": 439, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 877 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:09:03.531Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:09:03.531Z", + "country": 1095, + "floor": "T12", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "087", + "representative": 439, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 878 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:11:41.945Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:11:41.945Z", + "country": 1050, + "floor": "08G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "201", + "representative": 614, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1227 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:11:41.950Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:11:41.950Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "049", + "representative": 614, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1228 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:04.025Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:04.025Z", + "country": 1050, + "floor": "11G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "157", + "representative": 642, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1283 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:04.031Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:04.031Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "087", + "representative": 642, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1284 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:05.344Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:05.344Z", + "country": 1050, + "floor": "13E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "130", + "representative": 644, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1287 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:05.349Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:05.349Z", + "country": 1095, + "floor": "T12", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "021", + "representative": 644, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1288 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:06.122Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:06.122Z", + "country": 1050, + "floor": "09G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "257", + "representative": 645, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1289 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:06.126Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:06.126Z", + "country": 1095, + "floor": "T06", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "032", + "representative": 645, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1290 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:06.849Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:06.849Z", + "country": 1050, + "floor": "05M", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "009", + "representative": 646, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1291 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:06.853Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:06.853Z", + "country": 1095, + "floor": "T11", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "046", + "representative": 646, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1292 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:07.749Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:07.749Z", + "country": 1050, + "floor": "08H", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "353", + "representative": 647, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1293 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:07.753Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:07.753Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "112", + "representative": 647, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1294 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:10.402Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:10.402Z", + "country": 1050, + "floor": "04F", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "243", + "representative": 650, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1299 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:10.407Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:10.407Z", + "country": 1095, + "floor": "T05", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "073", + "representative": 650, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1300 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:10.637Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:10.637Z", + "country": 1050, + "floor": "12G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "257", + "representative": 651, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1301 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:10.642Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:10.642Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "039", + "representative": 651, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1302 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:13.306Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:13.306Z", + "country": 1050, + "floor": "04M", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "081", + "representative": 653, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1305 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:13.311Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:13.311Z", + "country": 1095, + "floor": "T11", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "065", + "representative": 653, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1306 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:15.481Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:15.481Z", + "country": 1050, + "floor": "11G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "342", + "representative": 655, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1309 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:15.487Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:15.487Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "078", + "representative": 655, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1310 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:22.062Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:22.062Z", + "country": 1050, + "floor": "09G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "246", + "representative": 661, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1321 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:22.067Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:22.067Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "099", + "representative": 661, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1322 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:32.409Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:32.409Z", + "country": 1050, + "floor": "14E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "169", + "representative": 666, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1331 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:32.414Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:32.414Z", + "country": 1095, + "floor": "T11", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "043", + "representative": 666, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1332 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:35.630Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:35.630Z", + "country": 1050, + "floor": "04F", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "259", + "representative": 670, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1339 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:35.636Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:35.636Z", + "country": 1095, + "floor": "T05", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "069", + "representative": 670, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1340 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:43.805Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:43.805Z", + "country": 1050, + "floor": "09E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "169", + "representative": 678, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1355 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:43.810Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:43.810Z", + "country": 1095, + "floor": "T09", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "009", + "representative": 678, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1356 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:44.884Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:44.884Z", + "country": 1050, + "floor": "09E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "165", + "representative": 679, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1357 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:44.889Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:44.889Z", + "country": 1095, + "floor": "T09", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "153", + "representative": 679, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1358 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:47.763Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:47.763Z", + "country": 1050, + "floor": "09G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "103", + "representative": 681, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1361 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:47.768Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:47.768Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "073", + "representative": 681, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1362 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:51.136Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:51.136Z", + "country": 1050, + "floor": "03M", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "043", + "representative": 684, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1367 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:51.142Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:51.142Z", + "country": 1095, + "floor": "T05", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "137", + "representative": 684, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1368 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:12:59.970Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:12:59.970Z", + "country": 1050, + "floor": "10G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "107", + "representative": 692, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1383 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:12:59.975Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:12:59.975Z", + "country": 1095, + "floor": "T08", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "078", + "representative": 692, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1384 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:05.473Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:05.472Z", + "country": 1050, + "floor": "09G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "154", + "representative": 697, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1393 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:05.480Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:05.480Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "095", + "representative": 697, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1394 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:09.268Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:09.268Z", + "country": 1050, + "floor": "08E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "146", + "representative": 699, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1397 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:09.273Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:09.273Z", + "country": 1095, + "floor": "T09", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "023", + "representative": 699, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1398 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:25.548Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:25.548Z", + "country": 1050, + "floor": "09E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "130", + "representative": 705, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1409 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:25.553Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:25.553Z", + "country": 1095, + "floor": "T12", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "061", + "representative": 705, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1410 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:28.160Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:28.160Z", + "country": 1050, + "floor": "12G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "115", + "representative": 708, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1415 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:28.167Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:28.167Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "023", + "representative": 708, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1416 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:48.746Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:48.746Z", + "country": 1050, + "floor": "14G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "309", + "representative": 717, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1433 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:48.751Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:48.751Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "012", + "representative": 717, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1434 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:52.176Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:52.176Z", + "country": 1050, + "floor": "14G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "305", + "representative": 718, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1435 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:52.181Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:52.181Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "014", + "representative": 718, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1436 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:13:52.682Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:13:52.682Z", + "country": 1050, + "floor": "04F", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "155", + "representative": 719, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1437 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:13:52.688Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:13:52.688Z", + "country": 1095, + "floor": "T12", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "053", + "representative": 719, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1438 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:35.941Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:35.941Z", + "country": 1050, + "floor": "13E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "116", + "representative": 736, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1471 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:35.946Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:35.946Z", + "country": 1095, + "floor": "T10", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "045", + "representative": 736, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1472 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:39.456Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:39.456Z", + "country": 1050, + "floor": "05F", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "266", + "representative": 738, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1475 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:39.462Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:39.462Z", + "country": 1095, + "floor": "T05", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "050", + "representative": 738, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1476 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:46.380Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:46.380Z", + "country": 1050, + "floor": "11G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "253", + "representative": 743, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1485 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:46.385Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:46.385Z", + "country": 1095, + "floor": "T08", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "018", + "representative": 743, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1486 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:48.490Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:48.490Z", + "country": 1050, + "floor": "10E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "154", + "representative": 744, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1487 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:48.495Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:48.495Z", + "country": 1095, + "floor": "T10", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "027", + "representative": 744, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1488 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:54.222Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:54.222Z", + "country": 1050, + "floor": "09G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "146", + "representative": 746, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1491 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:54.227Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:54.227Z", + "country": 1095, + "floor": "M02", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "068", + "representative": 746, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1492 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:54.874Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:54.874Z", + "country": 1050, + "floor": "12E", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "242", + "representative": 747, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1493 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:54.878Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:54.878Z", + "country": 1095, + "floor": "T11", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "084", + "representative": 747, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1494 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:55.929Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:55.929Z", + "country": 1050, + "floor": "07F", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "359", + "representative": 748, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1495 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:55.934Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:55.934Z", + "country": 1095, + "floor": "T11", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "018", + "representative": 748, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1496 +}, +{ + "fields": { + "city": "Brussels", + "updated": "2015-12-27T16:14:58.766Z", + "name": "Brussels European Parliament", + "created": "2015-12-27T16:14:58.766Z", + "country": 1050, + "floor": "14G", + "number": "60", + "street": "rue Wiertz / Wiertzstraat", + "office_number": "257", + "representative": 750, + "location": "", + "kind": "official", + "postcode": "1047" + }, + "model": "representatives.address", + "pk": 1499 +}, +{ + "fields": { + "city": "Strasbourg", + "updated": "2015-12-27T16:14:58.771Z", + "name": "Strasbourg European Parliament", + "created": "2015-12-27T16:14:58.771Z", + "country": 1095, + "floor": "T07", + "number": "1", + "street": "Av. du Pr\u00e9sident Robert Schuman - CS 91024", + "office_number": "070", + "representative": 750, + "location": "", + "kind": "official", + "postcode": "67070" + }, + "model": "representatives.address", + "pk": 1500 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.415Z", + "created": "2015-12-27T16:05:08.415Z", + "number": "+322 28 45209", + "representative": 160, + "address": 319, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 319 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.421Z", + "created": "2015-12-27T16:05:08.421Z", + "number": "+333 88 1 75209", + "representative": 160, + "address": 320, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 320 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.422Z", + "created": "2015-12-27T16:06:26.422Z", + "number": "+322 28 45264", + "representative": 282, + "address": 563, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 563 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.432Z", + "created": "2015-12-27T16:06:26.432Z", + "number": "+333 88 1 75264", + "representative": 282, + "address": 564, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 564 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.526Z", + "created": "2015-12-27T16:09:03.526Z", + "number": "+322 28 45323", + "representative": 439, + "address": 877, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 877 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.534Z", + "created": "2015-12-27T16:09:03.534Z", + "number": "+333 88 1 75323", + "representative": 439, + "address": 878, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 878 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.947Z", + "created": "2015-12-27T16:11:41.947Z", + "number": "+322 28 45622", + "representative": 614, + "address": 1227, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1227 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.953Z", + "created": "2015-12-27T16:11:41.953Z", + "number": "+333 88 1 75622", + "representative": 614, + "address": 1228, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1228 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.027Z", + "created": "2015-12-27T16:12:04.027Z", + "number": "+322 28 45708", + "representative": 642, + "address": 1283, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1283 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.033Z", + "created": "2015-12-27T16:12:04.033Z", + "number": "+333 88 1 75708", + "representative": 642, + "address": 1284, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1284 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.346Z", + "created": "2015-12-27T16:12:05.346Z", + "number": "+322 28 45662", + "representative": 644, + "address": 1287, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1287 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.351Z", + "created": "2015-12-27T16:12:05.351Z", + "number": "+333 88 1 75662", + "representative": 644, + "address": 1288, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1288 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.124Z", + "created": "2015-12-27T16:12:06.124Z", + "number": "+322 28 45540", + "representative": 645, + "address": 1289, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1289 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.128Z", + "created": "2015-12-27T16:12:06.128Z", + "number": "+333 88 1 75540", + "representative": 645, + "address": 1290, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1290 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.851Z", + "created": "2015-12-27T16:12:06.851Z", + "number": "+322 28 45677", + "representative": 646, + "address": 1291, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1291 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.856Z", + "created": "2015-12-27T16:12:06.856Z", + "number": "+333 88 1 75677", + "representative": 646, + "address": 1292, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1292 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.751Z", + "created": "2015-12-27T16:12:07.751Z", + "number": "+322 28 45549", + "representative": 647, + "address": 1293, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1293 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.755Z", + "created": "2015-12-27T16:12:07.755Z", + "number": "+333 88 1 75549", + "representative": 647, + "address": 1294, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1294 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.404Z", + "created": "2015-12-27T16:12:10.404Z", + "number": "+322 28 45375", + "representative": 650, + "address": 1299, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1299 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.410Z", + "created": "2015-12-27T16:12:10.410Z", + "number": "+333 88 1 75375", + "representative": 650, + "address": 1300, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1300 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.640Z", + "created": "2015-12-27T16:12:10.640Z", + "number": "+322 28 45559", + "representative": 651, + "address": 1301, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1301 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.645Z", + "created": "2015-12-27T16:12:10.644Z", + "number": "+333 88 1 75559", + "representative": 651, + "address": 1302, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1302 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.308Z", + "created": "2015-12-27T16:12:13.308Z", + "number": "+322 28 45870", + "representative": 653, + "address": 1305, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1305 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.314Z", + "created": "2015-12-27T16:12:13.314Z", + "number": "+333 88 1 75870", + "representative": 653, + "address": 1306, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1306 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.484Z", + "created": "2015-12-27T16:12:15.484Z", + "number": "+322 28 45333", + "representative": 655, + "address": 1309, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1309 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.489Z", + "created": "2015-12-27T16:12:15.489Z", + "number": "+333 88 1 75333", + "representative": 655, + "address": 1310, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1310 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.064Z", + "created": "2015-12-27T16:12:22.064Z", + "number": "+322 28 45580", + "representative": 661, + "address": 1321, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1321 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.069Z", + "created": "2015-12-27T16:12:22.069Z", + "number": "+333 88 1 75580", + "representative": 661, + "address": 1322, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1322 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.411Z", + "created": "2015-12-27T16:12:32.411Z", + "number": "+322 28 45145", + "representative": 666, + "address": 1331, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1331 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.417Z", + "created": "2015-12-27T16:12:32.417Z", + "number": "+333 88 1 75145", + "representative": 666, + "address": 1332, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1332 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.633Z", + "created": "2015-12-27T16:12:35.633Z", + "number": "+322 28 45376", + "representative": 670, + "address": 1339, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1339 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.638Z", + "created": "2015-12-27T16:12:35.638Z", + "number": "+333 88 1 75376", + "representative": 670, + "address": 1340, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1340 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.807Z", + "created": "2015-12-27T16:12:43.807Z", + "number": "+322 28 45156", + "representative": 678, + "address": 1355, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1355 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.812Z", + "created": "2015-12-27T16:12:43.812Z", + "number": "+333 88 1 75156", + "representative": 678, + "address": 1356, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1356 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.886Z", + "created": "2015-12-27T16:12:44.886Z", + "number": "+322 28 45599", + "representative": 679, + "address": 1357, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1357 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.892Z", + "created": "2015-12-27T16:12:44.892Z", + "number": "+333 88 1 75599", + "representative": 679, + "address": 1358, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1358 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.766Z", + "created": "2015-12-27T16:12:47.766Z", + "number": "+322 28 45367", + "representative": 681, + "address": 1361, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1361 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.771Z", + "created": "2015-12-27T16:12:47.771Z", + "number": "+333 88 1 75367", + "representative": 681, + "address": 1362, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1362 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.139Z", + "created": "2015-12-27T16:12:51.139Z", + "number": "+322 28 45773", + "representative": 684, + "address": 1367, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1367 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.144Z", + "created": "2015-12-27T16:12:51.144Z", + "number": "+333 88 1 75773", + "representative": 684, + "address": 1368, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1368 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.972Z", + "created": "2015-12-27T16:12:59.972Z", + "number": "+322 28 45808", + "representative": 692, + "address": 1383, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1383 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.977Z", + "created": "2015-12-27T16:12:59.977Z", + "number": "+333 88 1 75808", + "representative": 692, + "address": 1384, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1384 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.476Z", + "created": "2015-12-27T16:13:05.476Z", + "number": "+322 28 45620", + "representative": 697, + "address": 1393, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1393 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.485Z", + "created": "2015-12-27T16:13:05.485Z", + "number": "+333 88 1 75620", + "representative": 697, + "address": 1394, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1394 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.270Z", + "created": "2015-12-27T16:13:09.270Z", + "number": "+322 28 45165", + "representative": 699, + "address": 1397, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1397 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.275Z", + "created": "2015-12-27T16:13:09.275Z", + "number": "+333 88 1 75165", + "representative": 699, + "address": 1398, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1398 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.550Z", + "created": "2015-12-27T16:13:25.550Z", + "number": "+322 28 45544", + "representative": 705, + "address": 1409, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1409 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.555Z", + "created": "2015-12-27T16:13:25.555Z", + "number": "+333 88 1 75544", + "representative": 705, + "address": 1410, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1410 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.163Z", + "created": "2015-12-27T16:13:28.163Z", + "number": "+322 28 45547", + "representative": 708, + "address": 1415, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1415 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.169Z", + "created": "2015-12-27T16:13:28.169Z", + "number": "+333 88 1 75547", + "representative": 708, + "address": 1416, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1416 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.748Z", + "created": "2015-12-27T16:13:48.748Z", + "number": "+322 28 45427", + "representative": 717, + "address": 1433, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1433 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.753Z", + "created": "2015-12-27T16:13:48.753Z", + "number": "+333 88 1 75427", + "representative": 717, + "address": 1434, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1434 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.178Z", + "created": "2015-12-27T16:13:52.178Z", + "number": "+322 28 45428", + "representative": 718, + "address": 1435, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1435 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.183Z", + "created": "2015-12-27T16:13:52.183Z", + "number": "+333 88 1 75428", + "representative": 718, + "address": 1436, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1436 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.685Z", + "created": "2015-12-27T16:13:52.685Z", + "number": "+322 28 45779", + "representative": 719, + "address": 1437, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1437 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.690Z", + "created": "2015-12-27T16:13:52.690Z", + "number": "+333 88 1 75779", + "representative": 719, + "address": 1438, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1438 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.943Z", + "created": "2015-12-27T16:14:35.943Z", + "number": "+322 28 45533", + "representative": 736, + "address": 1471, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1471 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.948Z", + "created": "2015-12-27T16:14:35.948Z", + "number": "+333 88 1 75533", + "representative": 736, + "address": 1472, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1472 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.459Z", + "created": "2015-12-27T16:14:39.459Z", + "number": "+322 28 45365", + "representative": 738, + "address": 1475, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1475 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.465Z", + "created": "2015-12-27T16:14:39.465Z", + "number": "+333 88 1 75365", + "representative": 738, + "address": 1476, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1476 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.383Z", + "created": "2015-12-27T16:14:46.383Z", + "number": "+322 28 45160", + "representative": 743, + "address": 1485, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1485 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.388Z", + "created": "2015-12-27T16:14:46.388Z", + "number": "+333 88 1 75160", + "representative": 743, + "address": 1486, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1486 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.492Z", + "created": "2015-12-27T16:14:48.492Z", + "number": "+322 28 45445", + "representative": 744, + "address": 1487, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1487 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.497Z", + "created": "2015-12-27T16:14:48.497Z", + "number": "+333 88 1 75445", + "representative": 744, + "address": 1488, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1488 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.224Z", + "created": "2015-12-27T16:14:54.224Z", + "number": "+322 28 45797", + "representative": 746, + "address": 1491, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1491 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.230Z", + "created": "2015-12-27T16:14:54.230Z", + "number": "+333 88 1 75797", + "representative": 746, + "address": 1492, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1492 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.876Z", + "created": "2015-12-27T16:14:54.876Z", + "number": "+322 28 45203", + "representative": 747, + "address": 1493, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1493 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.881Z", + "created": "2015-12-27T16:14:54.881Z", + "number": "+333 88 1 75203", + "representative": 747, + "address": 1494, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1494 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.932Z", + "created": "2015-12-27T16:14:55.932Z", + "number": "+322 28 45609", + "representative": 748, + "address": 1495, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1495 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.937Z", + "created": "2015-12-27T16:14:55.936Z", + "number": "+333 88 1 75609", + "representative": 748, + "address": 1496, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1496 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.768Z", + "created": "2015-12-27T16:14:58.768Z", + "number": "+322 28 45442", + "representative": 750, + "address": 1499, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1499 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.773Z", + "created": "2015-12-27T16:14:58.773Z", + "number": "+333 88 1 75442", + "representative": 750, + "address": 1500, + "kind": "office phone" + }, + "model": "representatives.phone", + "pk": 1500 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:15.969Z", + "name": "European Conservatives and Reformists Group", + "created": "2015-12-27T16:03:15.969Z", + "kind": "group", + "abbreviation": "ECR", + "fingerprint": "8bd3697c0efa3701da57463c094f9d25112951a3" + }, + "model": "representatives.group", + "pk": 1 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:15.976Z", + "name": "Poland", + "created": "2015-12-27T16:03:15.976Z", + "kind": "country", + "abbreviation": "PL", + "fingerprint": "ae1f4d669e4081dc0fbc6c44f6159690b450e898" + }, + "model": "representatives.group", + "pk": 2 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.046Z", + "name": "Committee on Employment and Social Affairs", + "created": "2015-12-27T16:03:31.046Z", + "kind": "committee", + "abbreviation": "EMPL", + "fingerprint": "7f0e6d2c3342dde2c6077e127a418a19e0e891bb" + }, + "model": "representatives.group", + "pk": 3 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.051Z", + "name": "Subcommittee on Human Rights", + "created": "2015-12-27T16:03:31.051Z", + "kind": "committee", + "abbreviation": "DROI", + "fingerprint": "8eb1566f29d0bfdd7bc4d6644668d209aac12786" + }, + "model": "representatives.group", + "pk": 4 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.057Z", + "name": "Committee on Foreign Affairs", + "created": "2015-12-27T16:03:31.057Z", + "kind": "committee", + "abbreviation": "AFET", + "fingerprint": "27a168e3c0d53be10e03232f28bedde50d5239a5" + }, + "model": "representatives.group", + "pk": 5 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.062Z", + "name": "Committee on Petitions", + "created": "2015-12-27T16:03:31.062Z", + "kind": "committee", + "abbreviation": "PETI", + "fingerprint": "317765b692e510959d1a524b37115bdea481fd69" + }, + "model": "representatives.group", + "pk": 6 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.072Z", + "name": "Committee on Civil Liberties, Justice and Home Affairs", + "created": "2015-12-27T16:03:31.072Z", + "kind": "committee", + "abbreviation": "LIBE", + "fingerprint": "dfc42d1a6bede52cd41f1ee9daa2e7b158ccea98" + }, + "model": "representatives.group", + "pk": 7 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.095Z", + "name": "Committee on Development", + "created": "2015-12-27T16:03:31.095Z", + "kind": "committee", + "abbreviation": "DEVE", + "fingerprint": "34095594da8c0f96f26cb347207d7e891ef070f0" + }, + "model": "representatives.group", + "pk": 8 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.100Z", + "name": "Committee on Legal Affairs", + "created": "2015-12-27T16:03:31.100Z", + "kind": "committee", + "abbreviation": "JURI", + "fingerprint": "bc1a051072a9f2caf7c5c7105bccd13834b4d89d" + }, + "model": "representatives.group", + "pk": 9 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.106Z", + "name": "Delegation to the EU-Chile Joint Parliamentary Committee", + "created": "2015-12-27T16:03:31.106Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "98e8dbf2710a233e91728adac6c9642c17e49918" + }, + "model": "representatives.group", + "pk": 10 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.112Z", + "name": "Delegation to the Euro-Latin American Parliamentary Assembly", + "created": "2015-12-27T16:03:31.112Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ab1f9ebc509a8c6cc33701a83b7ded3bbb428dfe" + }, + "model": "representatives.group", + "pk": 11 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.117Z", + "name": "Delegation for relations with Israel", + "created": "2015-12-27T16:03:31.117Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "f784393bca286fd4ab3a3e1293e721113ed403dd" + }, + "model": "representatives.group", + "pk": 12 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.122Z", + "name": "Delegation for relations with the United States", + "created": "2015-12-27T16:03:31.122Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "c6dc5d11f490a78013cbe9d5338fa9ebc5218de3" + }, + "model": "representatives.group", + "pk": 13 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.127Z", + "name": "Delegation for relations with the countries of the Andean Community", + "created": "2015-12-27T16:03:31.127Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b29504ef8f10a597e655f69264c4f278e856eb4f" + }, + "model": "representatives.group", + "pk": 14 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.146Z", + "name": "Delegation to the EU-Mexico Joint Parliamentary Committee", + "created": "2015-12-27T16:03:31.146Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "04f35e9874b0a631e49ae847770a3739045f077c" + }, + "model": "representatives.group", + "pk": 15 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.156Z", + "name": "Delegation to the ACP-EU Joint Parliamentary Assembly", + "created": "2015-12-27T16:03:31.156Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "05b37882b29486b9e7f890a238f42e40bb06823d" + }, + "model": "representatives.group", + "pk": 16 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.165Z", + "name": "Group of the Alliance of Liberals and Democrats for Europe", + "created": "2015-12-27T16:03:31.165Z", + "kind": "group", + "abbreviation": "ALDE", + "fingerprint": "c4b680a6da627508a40d80d7fba31bceca3701af" + }, + "model": "representatives.group", + "pk": 17 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.170Z", + "name": "Group of the European People's Party (Christian Democrats)", + "created": "2015-12-27T16:03:31.170Z", + "kind": "group", + "abbreviation": "EPP", + "fingerprint": "588d232c0ca166c05796ec20ee13ce9a73e2ceea" + }, + "model": "representatives.group", + "pk": 18 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.186Z", + "name": "Romania", + "created": "2015-12-27T16:03:31.186Z", + "kind": "country", + "abbreviation": "RO", + "fingerprint": "b548c9d3b5939ed04d431bd70191fcaa172300c4" + }, + "model": "representatives.group", + "pk": 19 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.388Z", + "name": "Committee on Culture and Education", + "created": "2015-12-27T16:03:31.388Z", + "kind": "committee", + "abbreviation": "CULT", + "fingerprint": "a169e2d7e6009d3c089e4de43c0f3e0fc312fca4" + }, + "model": "representatives.group", + "pk": 20 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.402Z", + "name": "Group of the Progressive Alliance of Socialists and Democrats in the European Parliament", + "created": "2015-12-27T16:03:31.402Z", + "kind": "group", + "abbreviation": "SD", + "fingerprint": "729890eba3ce20f90808b32110871d1fe41b53b6" + }, + "model": "representatives.group", + "pk": 21 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.408Z", + "name": "Germany", + "created": "2015-12-27T16:03:31.408Z", + "kind": "country", + "abbreviation": "DE", + "fingerprint": "bcd9d96905cfdb00e30ed24e5ee5b65595b92fc5" + }, + "model": "representatives.group", + "pk": 22 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.510Z", + "name": "Committee on Industry, Research and Energy", + "created": "2015-12-27T16:03:31.510Z", + "kind": "committee", + "abbreviation": "ITRE", + "fingerprint": "17ff1a9fe036e400612c9153c1647a8258c34d63" + }, + "model": "representatives.group", + "pk": 23 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.521Z", + "name": "Committee on Regional Development", + "created": "2015-12-27T16:03:31.521Z", + "kind": "committee", + "abbreviation": "REGI", + "fingerprint": "7a2a03e6d40e5af34f3dc6bccd8e1900e2de3abf" + }, + "model": "representatives.group", + "pk": 24 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.540Z", + "name": "Delegation to the EU-Montenegro Stabilisation and Association Parliamentary Committee", + "created": "2015-12-27T16:03:31.540Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b0ce2a08d7683b7467df0e94d70f641f0337f0c1" + }, + "model": "representatives.group", + "pk": 25 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.546Z", + "name": "Delegation to the EU-Kazakhstan, EU-Kyrgyzstan, EU-Uzbekistan and EU-Tajikistan Parliamentary Cooperation Committees and for relations with Turkmenistan and Mongolia", + "created": "2015-12-27T16:03:31.546Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "2ddf20d5b65ca20b403cebb5cfa59a4702dbdcd0" + }, + "model": "representatives.group", + "pk": 26 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.552Z", + "name": "Delegation to the Euronest Parliamentary Assembly", + "created": "2015-12-27T16:03:31.552Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "26287ff18e40061744e4585ac5da69b3face4a84" + }, + "model": "representatives.group", + "pk": 27 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.557Z", + "name": "Delegation to the EU-Ukraine Parliamentary Cooperation Committee", + "created": "2015-12-27T16:03:31.557Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "a2d2797d3a8bd6e5e261ffd775aad8930381535a" + }, + "model": "representatives.group", + "pk": 28 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.562Z", + "name": "Delegation for relations with Belarus", + "created": "2015-12-27T16:03:31.562Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "2c4cb5bbf4e4c6b7cfdca2087c085b2654c9e897" + }, + "model": "representatives.group", + "pk": 29 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.768Z", + "name": "Committee on Economic and Monetary Affairs", + "created": "2015-12-27T16:03:31.768Z", + "kind": "committee", + "abbreviation": "ECON", + "fingerprint": "2da973401cd76bb56b36f3a9162cda13d2f2d8f3" + }, + "model": "representatives.group", + "pk": 30 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.778Z", + "name": "Europe of Freedom and Direct Democracy Group", + "created": "2015-12-27T16:03:31.778Z", + "kind": "group", + "abbreviation": "EFDD", + "fingerprint": "62eb3f22e77c29721b6ffdab6124da4e32f8c156" + }, + "model": "representatives.group", + "pk": 31 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.784Z", + "name": "Non-attached Members", + "created": "2015-12-27T16:03:31.783Z", + "kind": "group", + "abbreviation": "NI", + "fingerprint": "4d3b67e7046c7f50f62ab55ce72c239d12041926" + }, + "model": "representatives.group", + "pk": 32 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:31.794Z", + "name": "United Kingdom", + "created": "2015-12-27T16:03:31.794Z", + "kind": "country", + "abbreviation": "GB", + "fingerprint": "94e7f4c5dc6d7ca1c8ceade3f5bf782b56f0b0de" + }, + "model": "representatives.group", + "pk": 33 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.041Z", + "name": "Committee on Budgets", + "created": "2015-12-27T16:03:32.041Z", + "kind": "committee", + "abbreviation": "BUDG", + "fingerprint": "602a395c409b71c8e714410d7044742d09116e05" + }, + "model": "representatives.group", + "pk": 34 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.061Z", + "name": "Delegation for relations with Australia and New Zealand", + "created": "2015-12-27T16:03:32.061Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "1e5d79317501c2fdf7f36846ad1d5491a244a103" + }, + "model": "representatives.group", + "pk": 35 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.086Z", + "name": "Delegation for relations with the Mercosur countries", + "created": "2015-12-27T16:03:32.086Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "c2cf88013552060adcd602be1a7e2c52690dfa0e" + }, + "model": "representatives.group", + "pk": 36 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.397Z", + "name": "Committee on Constitutional Affairs", + "created": "2015-12-27T16:03:32.397Z", + "kind": "committee", + "abbreviation": "AFCO", + "fingerprint": "0be0f5fe4df35d525be178523378d603e6f97a60" + }, + "model": "representatives.group", + "pk": 37 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.444Z", + "name": "Delegation for relations with Japan", + "created": "2015-12-27T16:03:32.444Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "13ce0bd5d499e9a95326c412c96fe3e5897dffe9" + }, + "model": "representatives.group", + "pk": 38 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.450Z", + "name": "Delegation for relations with the People's Republic of China", + "created": "2015-12-27T16:03:32.450Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "df3c3205a872dcb4d6cc237324e30fbd3a21551c" + }, + "model": "representatives.group", + "pk": 39 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.460Z", + "name": "Delegation for relations with the Korean Peninsula", + "created": "2015-12-27T16:03:32.460Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "4603063cf8afd16e8173669784f97fb6242e388f" + }, + "model": "representatives.group", + "pk": 40 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.489Z", + "name": "Socialist Group in the European Parliament", + "created": "2015-12-27T16:03:32.489Z", + "kind": "group", + "abbreviation": "PSE", + "fingerprint": "53961127dd190ceb0568d2290e195570ed907164" + }, + "model": "representatives.group", + "pk": 41 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.494Z", + "name": "Confederal Group of the European United Left - Nordic Green Left", + "created": "2015-12-27T16:03:32.494Z", + "kind": "group", + "abbreviation": "GUE/NGL", + "fingerprint": "0ea778b4de418eaf9a9ffe7e0aa8a48775506d8b" + }, + "model": "representatives.group", + "pk": 42 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.500Z", + "name": "Confederal Group of the European United Left/Nordic Green Left", + "created": "2015-12-27T16:03:32.500Z", + "kind": "group", + "abbreviation": "GUE/NGL", + "fingerprint": "9529277f277ef13290e54f8717108dc0592d1f32" + }, + "model": "representatives.group", + "pk": 43 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.547Z", + "name": "European Parliament", + "created": "2015-12-27T16:03:32.547Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "bd5d8c24d2d8b9a1cb7aa7e5ec150d581c96e946" + }, + "model": "representatives.group", + "pk": 45 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:32.553Z", + "name": "Parliament's Bureau", + "created": "2015-12-27T16:03:32.553Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "437591e26ed112c503413620fec58ce7c21b7311" + }, + "model": "representatives.group", + "pk": 46 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.601Z", + "name": "Committee on Agriculture and Rural Development", + "created": "2015-12-27T16:03:33.601Z", + "kind": "committee", + "abbreviation": "AGRI", + "fingerprint": "3c73863a158c48175bc4996411bf1648effab223" + }, + "model": "representatives.group", + "pk": 47 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.606Z", + "name": "Committee on the Environment, Public Health and Food Safety", + "created": "2015-12-27T16:03:33.606Z", + "kind": "committee", + "abbreviation": "ENVI", + "fingerprint": "9d81a89ff2836afbe40dc4109b085c00bf0b1fdd" + }, + "model": "representatives.group", + "pk": 48 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.617Z", + "name": "Committee on International Trade", + "created": "2015-12-27T16:03:33.617Z", + "kind": "committee", + "abbreviation": "INTA", + "fingerprint": "cc9baed4163f67017af4e7308f1dcb3dab8cd69a" + }, + "model": "representatives.group", + "pk": 49 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.632Z", + "name": "Special committee on the policy challenges and budgetary resources for a sustainable European Union after 2013", + "created": "2015-12-27T16:03:33.632Z", + "kind": "committee", + "abbreviation": "SURE", + "fingerprint": "0cd18437373534a619c5b6552ee1aaa73161370f" + }, + "model": "representatives.group", + "pk": 50 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.663Z", + "name": "Delegation for relations with the countries of South Asia", + "created": "2015-12-27T16:03:33.663Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b6344bc3e3649ec0b0c10db28aa997a58ec6b3c7" + }, + "model": "representatives.group", + "pk": 51 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.699Z", + "name": "Delegation for relations with the Gulf States, including Yemen", + "created": "2015-12-27T16:03:33.699Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "bc0755217ddd5b98ed7db4f6deffe38a5698b46c" + }, + "model": "representatives.group", + "pk": 52 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.712Z", + "name": "Delegation for relations with Mercosur", + "created": "2015-12-27T16:03:33.712Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "2bcceb82a9546435a63652672fac48660951c741" + }, + "model": "representatives.group", + "pk": 53 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:33.735Z", + "name": "Group of the European People's Party (Christian Democrats) and European Democrats", + "created": "2015-12-27T16:03:33.735Z", + "kind": "group", + "abbreviation": "PPE-DE", + "fingerprint": "cab4a9a406aa114716967e6fd6e698dfd2421794" + }, + "model": "representatives.group", + "pk": 54 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.099Z", + "name": "Committee on Fisheries", + "created": "2015-12-27T16:03:34.099Z", + "kind": "committee", + "abbreviation": "PECH", + "fingerprint": "14c5c0cada7bb36ae57d6123ab17123c4efc0b8c" + }, + "model": "representatives.group", + "pk": 55 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.109Z", + "name": "Delegation to the EU-Russia Parliamentary Cooperation Committee", + "created": "2015-12-27T16:03:34.108Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "c8ab0e63c992e0727c522e2fe5209ffe5535f669" + }, + "model": "representatives.group", + "pk": 56 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.118Z", + "name": "Netherlands", + "created": "2015-12-27T16:03:34.118Z", + "kind": "country", + "abbreviation": "NL", + "fingerprint": "7351af1e7af697798365c5a83e4f8611d59a0a5b" + }, + "model": "representatives.group", + "pk": 57 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.229Z", + "name": "Committee on the Internal Market and Consumer Protection", + "created": "2015-12-27T16:03:34.229Z", + "kind": "committee", + "abbreviation": "IMCO", + "fingerprint": "7b78537337042e64aab020a48679b51fa50f2f10" + }, + "model": "representatives.group", + "pk": 58 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.253Z", + "name": "Delegation for relations with Switzerland and Norway and to the EU-Iceland Joint Parliamentary Committee and the European Economic Area (EEA) Joint Parliamentary Committee", + "created": "2015-12-27T16:03:34.253Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "4aa9f25622a093b3ece9d04d3c3934a8e988c090" + }, + "model": "representatives.group", + "pk": 59 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.276Z", + "name": "Delegation to the EU-Croatia Joint Parliamentary Committee", + "created": "2015-12-27T16:03:34.276Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "3380645ac10ccea0eb822ed556a8a7fbd66b87f6" + }, + "model": "representatives.group", + "pk": 60 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.621Z", + "name": "Special Committee on the Financial, Economic and Social Crisis", + "created": "2015-12-27T16:03:34.621Z", + "kind": "committee", + "abbreviation": "CRIS", + "fingerprint": "60cd5cbf993238947a89c8059c6a605fd2859ca9" + }, + "model": "representatives.group", + "pk": 61 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.683Z", + "name": "Delegation for relations with the Federative Republic of Brazil", + "created": "2015-12-27T16:03:34.683Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6cea8a0411dcc1c59c087caeb5345ef4d77f98e9" + }, + "model": "representatives.group", + "pk": 62 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.702Z", + "name": "Delegation for relations with the Maghreb countries and the Arab Maghreb Union", + "created": "2015-12-27T16:03:34.702Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "111fa27c8d5d516768dc36fbd62376fa7e5296b3" + }, + "model": "representatives.group", + "pk": 63 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.712Z", + "name": "Delegation for relations with South Africa", + "created": "2015-12-27T16:03:34.712Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6482a4de9bdda2ae85fb71f78de0cfd49441a0e6" + }, + "model": "representatives.group", + "pk": 64 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.717Z", + "name": "Delegation for relations with the countries of Central America", + "created": "2015-12-27T16:03:34.717Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "acec1fdcb45f8bf080ab7d6971d8e29974f8941c" + }, + "model": "representatives.group", + "pk": 65 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.732Z", + "name": "Members from the European Parliament to the Joint Parliamentary Assembly of the Agreement between the African, Caribbean and Pacific States and the European Union (ACP-EU)", + "created": "2015-12-27T16:03:34.732Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "85b7864e84a7f9aaed2cf16ecfc1e93855b1158a" + }, + "model": "representatives.group", + "pk": 66 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.756Z", + "name": "Group of the Party of European Socialists", + "created": "2015-12-27T16:03:34.756Z", + "kind": "group", + "abbreviation": "PSE", + "fingerprint": "bdcddf45a869f242e80961303a719a3e0f29d795" + }, + "model": "representatives.group", + "pk": 67 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.966Z", + "name": "Committee on Transport and Tourism", + "created": "2015-12-27T16:03:34.966Z", + "kind": "committee", + "abbreviation": "TRAN", + "fingerprint": "675dea89a247d6d86d193adc214554e5927af202" + }, + "model": "representatives.group", + "pk": 68 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:34.981Z", + "name": "Delegation to the Cariforum \u2014 EU Parliamentary Committee", + "created": "2015-12-27T16:03:34.981Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "93ff8f764de6a7472bbe21e25303509cda291f5e" + }, + "model": "representatives.group", + "pk": 69 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.012Z", + "name": "Conference of Delegation Chairs", + "created": "2015-12-27T16:03:35.012Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "eb99949bb40fd2e906d738eef276a912c5412f67" + }, + "model": "representatives.group", + "pk": 70 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.398Z", + "name": "Europe of freedom and democracy Group", + "created": "2015-12-27T16:03:35.398Z", + "kind": "group", + "abbreviation": "EFD", + "fingerprint": "1c6c4f9fa9c54bde6ee424677368dc651f1484a0" + }, + "model": "representatives.group", + "pk": 71 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.667Z", + "name": "Delegation for relations with the countries of Southeast Asia and the Association of Southeast Asian Nations (ASEAN)", + "created": "2015-12-27T16:03:35.667Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "23bb5f3e808b2ea6a02ddbe01705714ecfe7a82a" + }, + "model": "representatives.group", + "pk": 72 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.687Z", + "name": "Delegation for relations with India", + "created": "2015-12-27T16:03:35.687Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6a2299d06c5f43dc5b60a6f7250c824940e9153e" + }, + "model": "representatives.group", + "pk": 73 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.711Z", + "name": "Delegation for relations with the countries of South Asia and the South Asia Association for Regional Cooperation (SAARC)", + "created": "2015-12-27T16:03:35.711Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "d0a0adace87af0718eee4d718cb57fe0ab890dae" + }, + "model": "representatives.group", + "pk": 74 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.735Z", + "name": "Union for Europe of the Nations Group", + "created": "2015-12-27T16:03:35.735Z", + "kind": "group", + "abbreviation": "UEN", + "fingerprint": "eeeb511b2183aa080fce9fdd248b6c3d41ea8c90" + }, + "model": "representatives.group", + "pk": 75 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:35.740Z", + "name": "Independence/Democracy Group", + "created": "2015-12-27T16:03:35.740Z", + "kind": "group", + "abbreviation": "IND/DEM", + "fingerprint": "634d66a0862ab72a109d86cc8379852dd57700e6" + }, + "model": "representatives.group", + "pk": 76 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.124Z", + "name": "Committee on Women's Rights and Gender Equality", + "created": "2015-12-27T16:03:36.124Z", + "kind": "committee", + "abbreviation": "FEMM", + "fingerprint": "07290c78bb6679e36a5413d2b8122ff4c1477889" + }, + "model": "representatives.group", + "pk": 77 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.213Z", + "name": "Delegation for relations with the Arab Peninsula", + "created": "2015-12-27T16:03:36.213Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b5bb4ac08d85856d1270f0bca9b8dd60ef402e18" + }, + "model": "representatives.group", + "pk": 78 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.219Z", + "name": "Delegation to the EU-Turkey Joint Parliamentary Committee", + "created": "2015-12-27T16:03:36.219Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "171567aaa5ebc7bbdcf3fa3b8a293f9ade40c03a" + }, + "model": "representatives.group", + "pk": 79 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.334Z", + "name": "Conference of Committee Chairs", + "created": "2015-12-27T16:03:36.334Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "3a623d2f97f655cf2c0211c5094ebd6a5d478217" + }, + "model": "representatives.group", + "pk": 80 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.859Z", + "name": "Delegation for relations with Bosnia and Herzegovina, and Kosovo", + "created": "2015-12-27T16:03:36.859Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "3d2d9370cc501b1208a4692baf69deeab1e65d0a" + }, + "model": "representatives.group", + "pk": 81 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.868Z", + "name": "Delegation for relations with Albania, Bosnia and Herzegovina, Serbia, Montenegro and Kosovo", + "created": "2015-12-27T16:03:36.868Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ebc7400c93c7aad143a44037abcd384a151c9973" + }, + "model": "representatives.group", + "pk": 82 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.878Z", + "name": "Delegation for relations with the countries of south-east Europe", + "created": "2015-12-27T16:03:36.878Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "044927d961dacfb2844be2429269dc79a85402ba" + }, + "model": "representatives.group", + "pk": 83 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.896Z", + "name": "Group of the Greens/European Free Alliance", + "created": "2015-12-27T16:03:36.896Z", + "kind": "group", + "abbreviation": "Greens/EFA", + "fingerprint": "8629bf187b99268f92af6c06fb0414816aee18b3" + }, + "model": "representatives.group", + "pk": 84 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:36.907Z", + "name": "Hungary", + "created": "2015-12-27T16:03:36.907Z", + "kind": "country", + "abbreviation": "HU", + "fingerprint": "39fe62a77ad867b0395f452e50474cfb9c33f0da" + }, + "model": "representatives.group", + "pk": 85 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.137Z", + "name": "Delegation for relations with Canada", + "created": "2015-12-27T16:03:37.137Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "e2ece7c8073aa5d8ed32a003ecb5989eb363fe95" + }, + "model": "representatives.group", + "pk": 86 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.142Z", + "name": "Delegation to the EU-Moldova Parliamentary Association Committee", + "created": "2015-12-27T16:03:37.142Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "2c7d8e7494a270ea6a9012b027edb9271ff0380a" + }, + "model": "representatives.group", + "pk": 87 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.152Z", + "name": "Czech Republic", + "created": "2015-12-27T16:03:37.152Z", + "kind": "country", + "abbreviation": "CZ", + "fingerprint": "f4c8648e5a0f64c7ec80e6d76b2046c6db9d07f3" + }, + "model": "representatives.group", + "pk": 88 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.440Z", + "name": "Committee on Budgetary Control", + "created": "2015-12-27T16:03:37.440Z", + "kind": "committee", + "abbreviation": "CONT", + "fingerprint": "53ab3219fbcbe9f02d9da871f7b5c92afbbd49e4" + }, + "model": "representatives.group", + "pk": 89 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.497Z", + "name": "Delegation for relations with the Pan-African Parliament", + "created": "2015-12-27T16:03:37.497Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "4141808c75fa06e78919846a66c09bb25bd2ab69" + }, + "model": "representatives.group", + "pk": 90 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.513Z", + "name": "Spain", + "created": "2015-12-27T16:03:37.513Z", + "kind": "country", + "abbreviation": "ES", + "fingerprint": "287fb1cd6a6cb8f46998db18052111a99444f2fb" + }, + "model": "representatives.group", + "pk": 91 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.766Z", + "name": "Delegation to the EU-Armenia and EU-Azerbaijan Parliamentary Cooperation Committees and the EU-Georgia Parliamentary Association Committee", + "created": "2015-12-27T16:03:37.766Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "42f6fddfd6f6fc480c686593639ef71173d98e56" + }, + "model": "representatives.group", + "pk": 92 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:37.801Z", + "name": "Latvia", + "created": "2015-12-27T16:03:37.801Z", + "kind": "country", + "abbreviation": "LV", + "fingerprint": "6f34f5bc7b09a3350c317e6892d97e8c76868f09" + }, + "model": "representatives.group", + "pk": 93 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:38.340Z", + "name": "Delegation for relations with Iraq", + "created": "2015-12-27T16:03:38.340Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ab2772db9664b2fe09e8c8d5e36f4a3b8a6c6b94" + }, + "model": "representatives.group", + "pk": 94 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:38.360Z", + "name": "Delegation for relations with Afghanistan", + "created": "2015-12-27T16:03:38.360Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "11550c74d514fb8663bfd42eac2a4dffe6fafe77" + }, + "model": "representatives.group", + "pk": 95 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:39.543Z", + "name": "Delegation to the EU-Romania Joint Parliamentary Committee", + "created": "2015-12-27T16:03:39.543Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "a2ff552f212a1766e32167330a80b861c200bf3b" + }, + "model": "representatives.group", + "pk": 96 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:40.000Z", + "name": "Delegation to the Parliamentary Assembly of the Union for the Mediterranean", + "created": "2015-12-27T16:03:40.000Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "25ea9a5e8434c4c550c2fa4d7d8b79769f5eb8c0" + }, + "model": "representatives.group", + "pk": 97 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:41.156Z", + "name": "Belgium", + "created": "2015-12-27T16:03:41.156Z", + "kind": "country", + "abbreviation": "BE", + "fingerprint": "4010a8da8f4930601ef6cd3f3e988c2e843dc742" + }, + "model": "representatives.group", + "pk": 98 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:41.376Z", + "name": "Delegation for relations with Iran", + "created": "2015-12-27T16:03:41.376Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "c229ebeda0bf3c97da40ef775c149369c5e8a070" + }, + "model": "representatives.group", + "pk": 99 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:41.396Z", + "name": "Italy", + "created": "2015-12-27T16:03:41.396Z", + "kind": "country", + "abbreviation": "IT", + "fingerprint": "f36a9c06d7b92b8c65ad3d6717500ed2b8c1c2a6" + }, + "model": "representatives.group", + "pk": 100 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.041Z", + "name": "Delegation to the Euro-Mediterranean Parliamentary Assembly", + "created": "2015-12-27T16:03:42.041Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ae4f709686238bb59f0e8d3f1f1362d6c6777744" + }, + "model": "representatives.group", + "pk": 101 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.065Z", + "name": "Delegation for relations with the countries of South America and MERCOSUR", + "created": "2015-12-27T16:03:42.065Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "8e98af76f45b1d2a9b3f540d812ec3ef6256492e" + }, + "model": "representatives.group", + "pk": 102 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.090Z", + "name": "Delegation to the EU-Lithuania Joint Parliamentary Committee", + "created": "2015-12-27T16:03:42.090Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "ccc2152cd5ec1ef9497e0e65ae7c0cad61439c03" + }, + "model": "representatives.group", + "pk": 103 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.157Z", + "name": "Group of the European People's Party (Christian-Democratic Group)", + "created": "2015-12-27T16:03:42.157Z", + "kind": "group", + "abbreviation": "EPP", + "fingerprint": "669373eca233e4101a0af25debda58fdfd59741f" + }, + "model": "representatives.group", + "pk": 104 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.913Z", + "name": "Delegation to the EU-Hungary Joint Parliamentary Committee", + "created": "2015-12-27T16:03:42.913Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "69630386e1078e6247b05b5606ea6d8436a0848b" + }, + "model": "representatives.group", + "pk": 105 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:42.967Z", + "name": "Austria", + "created": "2015-12-27T16:03:42.967Z", + "kind": "country", + "abbreviation": "AT", + "fingerprint": "7b37fb29f750421d82ee36539c2cb5bca9cef938" + }, + "model": "representatives.group", + "pk": 106 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:43.381Z", + "name": "Delegation to the EU-Kazakhstan, EU-Kyrgyzstan and EU-Uzbekistan Parliamentary Cooperation Committees, and for relations with Tajikistan, Turkmenistan and Mongolia", + "created": "2015-12-27T16:03:43.381Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "17d431a1bc6e86ce67daff28a0e9d2c8c2af5532" + }, + "model": "representatives.group", + "pk": 107 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:43.403Z", + "name": "Delegation for relations with the Maghreb countries and the Arab Maghreb Union (including Libya)", + "created": "2015-12-27T16:03:43.403Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "912abe0e8bfdfcc091072aab169ffd2f77fcaea8" + }, + "model": "representatives.group", + "pk": 108 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:43.736Z", + "name": "Portugal", + "created": "2015-12-27T16:03:43.736Z", + "kind": "country", + "abbreviation": "PT", + "fingerprint": "2b8fffbbc2091ce2b61a552ae68e5633c7715e3e" + }, + "model": "representatives.group", + "pk": 109 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:45.838Z", + "name": "France", + "created": "2015-12-27T16:03:45.838Z", + "kind": "country", + "abbreviation": "FR", + "fingerprint": "b912783fa1b00d123f918549095e7e2a4288c754" + }, + "model": "representatives.group", + "pk": 110 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:47.768Z", + "name": "Delegation to the EU-Former Yugoslav Republic of Macedonia Joint Parliamentary Committee", + "created": "2015-12-27T16:03:47.768Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "fe7cabd2bfa99251e4f9bb2d700ec2a1898c312b" + }, + "model": "representatives.group", + "pk": 111 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:47.797Z", + "name": "Luxembourg", + "created": "2015-12-27T16:03:47.797Z", + "kind": "country", + "abbreviation": "LU", + "fingerprint": "a63c43da1767158ed37423f4ee321a0fdc1260a0" + }, + "model": "representatives.group", + "pk": 112 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:48.083Z", + "name": "Denmark", + "created": "2015-12-27T16:03:48.083Z", + "kind": "country", + "abbreviation": "DK", + "fingerprint": "9b824198b741d174a0fa91c0e8928254e0a538fe" + }, + "model": "representatives.group", + "pk": 113 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:48.666Z", + "name": "Delegation for relations with the Mashreq countries", + "created": "2015-12-27T16:03:48.666Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "baaf3964f8783c71040001d0c35c96201df88ec5" + }, + "model": "representatives.group", + "pk": 114 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:49.415Z", + "name": "Finland", + "created": "2015-12-27T16:03:49.415Z", + "kind": "country", + "abbreviation": "FI", + "fingerprint": "2d49d4737b00ec60d1c09200cf4edd8021a5d304" + }, + "model": "representatives.group", + "pk": 115 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:50.297Z", + "name": "Delegation to the EU-Ukraine Parliamentary Association Committee", + "created": "2015-12-27T16:03:50.297Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "0bdd44704ca5f0cd74f6bf0aeadfd46e9df87b2b" + }, + "model": "representatives.group", + "pk": 116 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:50.309Z", + "name": "Bulgaria", + "created": "2015-12-27T16:03:50.309Z", + "kind": "country", + "abbreviation": "BG", + "fingerprint": "423cd78fb16250f3b83689546daee2cb3f8e7aff" + }, + "model": "representatives.group", + "pk": 117 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:50.986Z", + "name": "Delegation for relations with the NATO Parliamentary Assembly", + "created": "2015-12-27T16:03:50.986Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "7f975789d28b10a65dc89d3e46fc845fa4c5231e" + }, + "model": "representatives.group", + "pk": 118 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:51.709Z", + "name": "Delegation to the EU-Albania Stabilisation and Association Parliamentary Committee", + "created": "2015-12-27T16:03:51.709Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "05e7e79ab77d34fbafe5cb03602e3544bc252263" + }, + "model": "representatives.group", + "pk": 119 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:55.459Z", + "name": "Slovenia", + "created": "2015-12-27T16:03:55.459Z", + "kind": "country", + "abbreviation": "SI", + "fingerprint": "9394905e12f193296e8e5968498908de0d3d917f" + }, + "model": "representatives.group", + "pk": 120 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:58.940Z", + "name": "Delegation for relations with Palestine", + "created": "2015-12-27T16:03:58.940Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6d1f6a5bcc43f05a7cfdee1d2bc7b0d0cc5db6dc" + }, + "model": "representatives.group", + "pk": 121 +}, +{ + "fields": { + "updated": "2015-12-27T16:03:59.630Z", + "name": "Delegation for relations with the Palestinian Legislative Council", + "created": "2015-12-27T16:03:59.630Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "0a8e547137dc5c0c5491eef9a45bc2ea4bd8950e" + }, + "model": "representatives.group", + "pk": 122 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:00.384Z", + "name": "Delegation for relations with the Member States of ASEAN, south-east Asia and the Republic of Korea", + "created": "2015-12-27T16:04:00.384Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "33af01f5ae2b8afbdef0a7ee99b2d34d9c486a02" + }, + "model": "representatives.group", + "pk": 123 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:00.390Z", + "name": "Delegation to the EU-Slovak Republic Joint Parliamentary Committee", + "created": "2015-12-27T16:04:00.390Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "d2a029ff5dec89e1ef1aed6ed40fdf32b4014fc2" + }, + "model": "representatives.group", + "pk": 124 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:00.396Z", + "name": "Delegation for relations with the Member States of ASEAN, South-east Asia and the Republic of Korea", + "created": "2015-12-27T16:04:00.396Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "3d0bc2c9506b90bb22e02e3866c1d14c9be1867e" + }, + "model": "representatives.group", + "pk": 125 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:07.308Z", + "name": "Estonia", + "created": "2015-12-27T16:04:07.308Z", + "kind": "country", + "abbreviation": "EE", + "fingerprint": "d97b767c8db6b3c5de8cac18539e1f4a41e251a9" + }, + "model": "representatives.group", + "pk": 126 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:09.198Z", + "name": "Conference of Presidents", + "created": "2015-12-27T16:04:09.198Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "be8eb1067f1a6641d31154a7553943066cee6850" + }, + "model": "representatives.group", + "pk": 127 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:09.418Z", + "name": "Europe of Nations and Freedom Group", + "created": "2015-12-27T16:04:09.418Z", + "kind": "group", + "abbreviation": "ENF", + "fingerprint": "a2c7d81af6acb936c910d692706ffb8df077826c" + }, + "model": "representatives.group", + "pk": 128 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:10.747Z", + "name": "Delegation to the EU-Moldova Parliamentary Cooperation Committee", + "created": "2015-12-27T16:04:10.747Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b961a55212f1f4264764435b1cab418dd24d8d97" + }, + "model": "representatives.group", + "pk": 129 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:10.783Z", + "name": "Delegation to the EU-Latvia Joint Parliamentary Committee", + "created": "2015-12-27T16:04:10.783Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "c02e7e16ff1dcdb8a241ea35d81830cfd5b5db2b" + }, + "model": "representatives.group", + "pk": 130 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:10.800Z", + "name": "Members from the European Parliament to the Joint Assembly of the Agreement between the African, Caribbean and Pacific States and the European Union (ACP-EU)", + "created": "2015-12-27T16:04:10.800Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "d73af0e95ddbd65c7cb7f63d86d52662c295c646" + }, + "model": "representatives.group", + "pk": 131 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:10.820Z", + "name": "Delegation for relations with Russia", + "created": "2015-12-27T16:04:10.820Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "4235f0ba3b0cea0529565b415e93cf0e3652cc90" + }, + "model": "representatives.group", + "pk": 132 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:14.955Z", + "name": "Delegation to the EU-Armenia, EU-Azerbaijan and EU-Georgia Parliamentary Cooperation Committees", + "created": "2015-12-27T16:04:14.955Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "451e5d35e10e983e3b514b4dc74142d37f0131a5" + }, + "model": "representatives.group", + "pk": 133 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:17.442Z", + "name": "Greece", + "created": "2015-12-27T16:04:17.442Z", + "kind": "country", + "abbreviation": "GR", + "fingerprint": "ae62a38e9d6b431586932605b4644cec9340af0f" + }, + "model": "representatives.group", + "pk": 134 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:19.283Z", + "name": "Delegation to the EU-Serbia Stabilisation and Association Parliamentary Committee", + "created": "2015-12-27T16:04:19.283Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "a24b4e184cf25f0e300c07a1402b65243f5ba93d" + }, + "model": "representatives.group", + "pk": 135 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:21.183Z", + "name": "Delegation to the EU-Bulgaria Joint Parliamentary Committee", + "created": "2015-12-27T16:04:21.182Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "5bdd75e70de4baa05c4816adc3697076a70f8b90" + }, + "model": "representatives.group", + "pk": 136 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:23.646Z", + "name": "Delegation for relations with the countries of Central America and Mexico", + "created": "2015-12-27T16:04:23.646Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "629d1e35b41e9a4d089d3398870fad345ffdf459" + }, + "model": "representatives.group", + "pk": 137 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:23.657Z", + "name": "Delegation to the European Economic Area Joint Parliamentary Committee", + "created": "2015-12-27T16:04:23.657Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "5fafde747f5195c0b49c35936e859cefd1cbf71b" + }, + "model": "representatives.group", + "pk": 138 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:23.673Z", + "name": "Delegation to the EC-European Economic Area Joint Parliamentary Committee", + "created": "2015-12-27T16:04:23.673Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "acc9d5350c3e88980f4e5119418e168030fd75c9" + }, + "model": "representatives.group", + "pk": 139 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:32.704Z", + "name": "Sweden", + "created": "2015-12-27T16:04:32.704Z", + "kind": "country", + "abbreviation": "SE", + "fingerprint": "ea4cacc64af470d01e5b4da150b8b9d3a9dc4bfe" + }, + "model": "representatives.group", + "pk": 140 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:34.387Z", + "name": "Delegation to the EU-Malta Joint Parliamentary Committee", + "created": "2015-12-27T16:04:34.387Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "920d936c976ee2b6fff4ce760dfb154d926dc2d1" + }, + "model": "representatives.group", + "pk": 141 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:38.789Z", + "name": "Delegation to the European Economic Area Joint Parliamentary Committee (EEA)", + "created": "2015-12-27T16:04:38.789Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "e6ecd9e6628daddc401df8ead30c7298b1b4d2d0" + }, + "model": "representatives.group", + "pk": 142 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:38.836Z", + "name": "Delegation for relations with the Mashreq countries and the Gulf States", + "created": "2015-12-27T16:04:38.836Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "4c1fc10c90dea7a543ae906e11ff50baeefb49ba" + }, + "model": "representatives.group", + "pk": 143 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:38.861Z", + "name": "Group of the European Liberal, Democrat and Reform Party", + "created": "2015-12-27T16:04:38.861Z", + "kind": "group", + "abbreviation": "ELDR", + "fingerprint": "4ee64aca0737961bd787c145224d0b1347f6b85b" + }, + "model": "representatives.group", + "pk": 144 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:40.553Z", + "name": "Lithuania", + "created": "2015-12-27T16:04:40.553Z", + "kind": "country", + "abbreviation": "LT", + "fingerprint": "2f13a73e617aaf97dbc618b61e2b3505cb0fe98c" + }, + "model": "representatives.group", + "pk": 145 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:42.405Z", + "name": "Delegation for relations with the Member States of ASEAN and the ASEAN Interparliamentary Organisation (AIPO) and the Republic of Korea", + "created": "2015-12-27T16:04:42.405Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "181e795ce80c3e81bdeec444273bd76add8bd4aa" + }, + "model": "representatives.group", + "pk": 146 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:42.541Z", + "name": "Quaestors", + "created": "2015-12-27T16:04:42.541Z", + "kind": "organization", + "abbreviation": "", + "fingerprint": "5b9792db0eb0697fc5812e1c6a9a91842ef77f28" + }, + "model": "representatives.group", + "pk": 147 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:44.926Z", + "name": "Delegation to the EU-Kazakhstan, EU-Kyrgyzstan and EU-Uzbekistan Parliamentary Cooperation Committees and Delegation for relations with Tadjikistan, Turkmenistan and Mongolia", + "created": "2015-12-27T16:04:44.926Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "db2654f2b0f242ae65ab701bf0f0043c650c8f7e" + }, + "model": "representatives.group", + "pk": 148 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:50.770Z", + "name": "Delegation to the EU-Cyprus Joint Parliamentary Committee", + "created": "2015-12-27T16:04:50.770Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "35588fd232a2f314c16242334bad5f5190b4efae" + }, + "model": "representatives.group", + "pk": 150 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:50.785Z", + "name": "Delegation for relations with Albania, Bulgaria and Romania", + "created": "2015-12-27T16:04:50.785Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "451d798994c47b4b1fccfa5850aa90fe3eaee3c8" + }, + "model": "representatives.group", + "pk": 151 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:50.791Z", + "name": "Delegation for relations with the Republics of the Commonwealth of Independent States (CIS)", + "created": "2015-12-27T16:04:50.791Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "8ae92f9ec1b732b35dbe014f04652ade1dd2e332" + }, + "model": "representatives.group", + "pk": 152 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:50.859Z", + "name": "Liberal and Democratic Reformist Group", + "created": "2015-12-27T16:04:50.859Z", + "kind": "group", + "abbreviation": "LDR", + "fingerprint": "d867a41ee864ac6caefcaceeb3a5db532a94c335" + }, + "model": "representatives.group", + "pk": 153 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:53.492Z", + "name": "Delegation to the EU-Ukraine and the EU-Moldova Parliamentary Cooperation Committees and Delegation for relations with Belarus", + "created": "2015-12-27T16:04:53.492Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b7b3ef3b34728ede8422aa8546e70c423637e589" + }, + "model": "representatives.group", + "pk": 154 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:53.535Z", + "name": "Delegation to the EC-Malta Joint Parliamentary Committee", + "created": "2015-12-27T16:04:53.535Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "f47a56fafeb4807ca4c6d7c534196514aa358a15" + }, + "model": "representatives.group", + "pk": 156 +}, +{ + "fields": { + "updated": "2015-12-27T16:04:55.794Z", + "name": "Group of the European Democratic Alliance", + "created": "2015-12-27T16:04:55.794Z", + "kind": "group", + "abbreviation": "EDA", + "fingerprint": "dcb69ba06c6566e832d9d70947053a4946035d2c" + }, + "model": "representatives.group", + "pk": 162 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:00.943Z", + "name": "Delegation for relations with the countries of South Asia and the South Asian Association for Regional Cooperation (SAARC)", + "created": "2015-12-27T16:05:00.943Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "b265b84cad681fbccca44bdfcab0321800bc1716" + }, + "model": "representatives.group", + "pk": 163 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:00.958Z", + "name": "Delegation for relations with the Czech Republic and the Slovak Republic", + "created": "2015-12-27T16:05:00.958Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "d761392121763e6f9c7813d60b7c8f185a06f5b9" + }, + "model": "representatives.group", + "pk": 164 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:00.967Z", + "name": "Delegation for relations with Czechoslovakia", + "created": "2015-12-27T16:05:00.967Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "01a5edd340eddd20aff629b1efe823e39738447d" + }, + "model": "representatives.group", + "pk": 165 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:03.576Z", + "name": "Delegation for relations with Switzerland, Iceland and Norway and to the European Economic Area (EEA) Joint Parliamentary Committee", + "created": "2015-12-27T16:05:03.576Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "fb0cca941803a2ed54970dd91308dcf593826694" + }, + "model": "representatives.group", + "pk": 166 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:03.607Z", + "name": "Delegation to the EU-Czech Republic Joint Parliamentary Committee", + "created": "2015-12-27T16:05:03.607Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6731702fe94dfb2162c98ae8f9fd97cab1b4f77c" + }, + "model": "representatives.group", + "pk": 167 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:06.510Z", + "name": "Socialist Group", + "created": "2015-12-27T16:05:06.510Z", + "kind": "group", + "abbreviation": "SOC", + "fingerprint": "d15c543360712349fb6b87b7e126dd4af41291a1" + }, + "model": "representatives.group", + "pk": 168 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:31.664Z", + "name": "Slovakia", + "created": "2015-12-27T16:05:31.664Z", + "kind": "country", + "abbreviation": "SK", + "fingerprint": "0ca95a837c8a4b081f3ccab175a3ffca07ebc568" + }, + "model": "representatives.group", + "pk": 169 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:40.521Z", + "name": "Delegations to the parliamentary cooperation committees and delegations for relations with Ukraine, Belarus and Moldova", + "created": "2015-12-27T16:05:40.521Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "97700162d80c0d6c99cb02942c740b40aa2dfb52" + }, + "model": "representatives.group", + "pk": 170 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:44.901Z", + "name": "Group for a Europe of Democracies and Diversities", + "created": "2015-12-27T16:05:44.901Z", + "kind": "group", + "abbreviation": "EDD", + "fingerprint": "eb5f5c79ec291098a6b0fbe617acf250561c80d6" + }, + "model": "representatives.group", + "pk": 171 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:02.273Z", + "name": "Delegation to the EU-Estonia Joint Parliamentary Committee", + "created": "2015-12-27T16:06:02.273Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "90c7c3467995162b6b9cc3860b99264e74a63715" + }, + "model": "representatives.group", + "pk": 173 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:04.066Z", + "name": "Group of Independents for a Europe of Nations", + "created": "2015-12-27T16:06:04.066Z", + "kind": "group", + "abbreviation": "ER", + "fingerprint": "0797d178cf531399d3c8db188a4e0a54b0c03f84" + }, + "model": "representatives.group", + "pk": 174 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:06.560Z", + "name": "Delegation for relations with Bulgaria and Romania", + "created": "2015-12-27T16:06:06.560Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6aa86abd70c5f86691f29b23baa427f891594836" + }, + "model": "representatives.group", + "pk": 175 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:06.617Z", + "name": "Liberal and Democratic Group", + "created": "2015-12-27T16:06:06.617Z", + "kind": "group", + "abbreviation": "LD", + "fingerprint": "578aa2847878fa82dc9962e6ec9bf5e61328e693" + }, + "model": "representatives.group", + "pk": 176 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:18.024Z", + "name": "Group of the European Radical Alliance", + "created": "2015-12-27T16:06:18.024Z", + "kind": "group", + "abbreviation": "ERA", + "fingerprint": "470e8139a4f8245741658aab1bb9ded61df5f1c3" + }, + "model": "representatives.group", + "pk": 177 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:28.934Z", + "name": "Delegation for relations with Switzerland, Iceland and Norway", + "created": "2015-12-27T16:06:28.934Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "dfdd5c3c33256ce1b7c0f9a3596454cfc91ee2c6" + }, + "model": "representatives.group", + "pk": 178 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:31.232Z", + "name": "Delegation for relations with the Mashreq countries and the Gulf", + "created": "2015-12-27T16:06:31.232Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "f77ae45d24ddcf30e31d564845371daae70ae745" + }, + "model": "representatives.group", + "pk": 179 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:41.488Z", + "name": "Delegation for relations with Lithuania", + "created": "2015-12-27T16:06:41.488Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "124c5841d0c6a9f3dbfab303d6f5076e7bc7b370" + }, + "model": "representatives.group", + "pk": 180 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:41.535Z", + "name": "Group Union for Europe", + "created": "2015-12-27T16:06:41.535Z", + "kind": "group", + "abbreviation": "UFE", + "fingerprint": "91601c5958018a8b3ee8179683059593152d08dd" + }, + "model": "representatives.group", + "pk": 181 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:41.548Z", + "name": "Ireland", + "created": "2015-12-27T16:06:41.548Z", + "kind": "country", + "abbreviation": "IE", + "fingerprint": "4c6a6bf1707f3df3756b475dd84f7c3c412ad4a2" + }, + "model": "representatives.group", + "pk": 182 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:51.030Z", + "name": "Delegation to the EU-Slovenia Joint Parliamentary Committee", + "created": "2015-12-27T16:06:51.030Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "009c8ae5630697fac7bd4e3da66af1cc76a4035a" + }, + "model": "representatives.group", + "pk": 183 +}, +{ + "fields": { + "updated": "2015-12-27T16:07:18.488Z", + "name": "Cyprus", + "created": "2015-12-27T16:07:18.488Z", + "kind": "country", + "abbreviation": "CY", + "fingerprint": "8d2f1e4d0976fa72efdb143c01950d2b2fedca17" + }, + "model": "representatives.group", + "pk": 184 +}, +{ + "fields": { + "updated": "2015-12-27T16:07:49.899Z", + "name": "Delegation for relations with the countries of South America", + "created": "2015-12-27T16:07:49.899Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "7abc286a00fca26192b303b9335702d239ca05a3" + }, + "model": "representatives.group", + "pk": 185 +}, +{ + "fields": { + "updated": "2015-12-27T16:08:15.625Z", + "name": "Malta", + "created": "2015-12-27T16:08:15.625Z", + "kind": "country", + "abbreviation": "MT", + "fingerprint": "e5789a9bdf3dade9adb0dae90e640e290a01d1e5" + }, + "model": "representatives.group", + "pk": 186 +}, +{ + "fields": { + "updated": "2015-12-27T16:08:35.840Z", + "name": "Delegation to the EC-Cyprus Joint Parliamentary Committee", + "created": "2015-12-27T16:08:35.840Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "e5cb69ea462068e481e6b5f7c2575e34a517c454" + }, + "model": "representatives.group", + "pk": 188 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.259Z", + "name": "Delegation to the European Parliament/Portuguese Piarliament Joint Committee", + "created": "2015-12-27T16:09:03.259Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "f4ab8081ddcbacf4f55dc96f357b5a8c241c5e39" + }, + "model": "representatives.group", + "pk": 189 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.091Z", + "name": "Delegation for relations with Estonia", + "created": "2015-12-27T16:09:08.091Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "afe5e44b92216845c533dd54902b1e91a7f52e2f" + }, + "model": "representatives.group", + "pk": 190 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.101Z", + "name": "Delegation for relations with Estonia, Lithuania and Latvia", + "created": "2015-12-27T16:09:08.101Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "50521d98a464614d73e241c2052b26ab73260d9a" + }, + "model": "representatives.group", + "pk": 191 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.112Z", + "name": "Delegation to the EU-Sweden Joint Parliamentary Committee", + "created": "2015-12-27T16:09:08.112Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "7a8f0efca25f142a1921962f78d331ed59c0ed51" + }, + "model": "representatives.group", + "pk": 192 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.125Z", + "name": "Delegation to the EC-Sweden Joint Parliamentary Committee", + "created": "2015-12-27T16:09:08.125Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "6a1970a6762e4fa5c06edf063b2f5365d4739ee9" + }, + "model": "representatives.group", + "pk": 193 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.136Z", + "name": "Delegation for relations with Sweden", + "created": "2015-12-27T16:09:08.136Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "a13d4f671a279e893fbc1f6f80c6efc30247582f" + }, + "model": "representatives.group", + "pk": 194 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:08.147Z", + "name": "Delegation for relations with Sweden, Finland, Iceland and the Nordic Council", + "created": "2015-12-27T16:09:08.147Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "09d61ada18ec3e8374a0a472d27f6efd8dbec062" + }, + "model": "representatives.group", + "pk": 195 +}, +{ + "fields": { + "updated": "2015-12-27T16:10:29.021Z", + "name": "Delegations to the parliamentary cooperation committees for relations with Armenia, Azerbaijan and Georgia", + "created": "2015-12-27T16:10:29.021Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "fc4a54b604e4032178129bea60a7a22b83a4d793" + }, + "model": "representatives.group", + "pk": 197 +}, +{ + "fields": { + "updated": "2015-12-27T16:10:55.139Z", + "name": "Delegations to the parliamentary cooperation committees and delegations for relations with Kazakhstan, Kyrgyzstan, Uzbekistan, Tajikistan, Turkmenistan and Mongolia", + "created": "2015-12-27T16:10:55.139Z", + "kind": "delegation", + "abbreviation": "", + "fingerprint": "9950bd8c809cf6d99da6b822b33140e35c11e2d1" + }, + "model": "representatives.group", + "pk": 198 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:11.150Z", + "name": "Confederal Group of the European United Left", + "created": "2015-12-27T16:11:11.150Z", + "kind": "group", + "abbreviation": "GUE/NGL", + "fingerprint": "79224b1529ffb46736b23ee2f64749bfdcbf1cc5" + }, + "model": "representatives.group", + "pk": 199 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:23.253Z", + "name": "The Green Group in the European Parliament", + "created": "2015-12-27T16:11:23.253Z", + "kind": "group", + "abbreviation": "Greens/EFA", + "fingerprint": "143c61fa1e87543916b86d5d4b62c1147679437e" + }, + "model": "representatives.group", + "pk": 200 +}, +{ + "fields": { + "country": null, + "updated": "2015-12-27T16:03:05.604Z", + "fingerprint": "bc0c3668435accfa5da4479c80478fe68d15ddb1", + "name": "European Parliament", + "created": "2015-12-27T16:03:05.603Z" + }, + "model": "representatives.constituency", + "pk": 1 +}, +{ + "fields": { + "country": 1120, + "updated": "2015-12-27T16:12:55.699Z", + "fingerprint": "228505f85662d947dfd09fcfb9c5416638b8b2ae", + "name": "Independent", + "created": "2015-12-27T16:03:31.187Z" + }, + "model": "representatives.constituency", + "pk": 3 +}, +{ + "fields": { + "country": 1182, + "updated": "2015-12-27T16:03:31.194Z", + "fingerprint": "8a0814f537dfb19e210fe2093a8ccdf7aaf39a4f", + "name": "Partidul Na\u0163ional Liberal", + "created": "2015-12-27T16:03:31.194Z" + }, + "model": "representatives.constituency", + "pk": 4 +}, +{ + "fields": { + "country": 1101, + "updated": "2015-12-27T16:03:31.410Z", + "fingerprint": "d30e71bae343c80da081a513451daa58f210d5eb", + "name": "Sozialdemokratische Partei Deutschlands", + "created": "2015-12-27T16:03:31.410Z" + }, + "model": "representatives.constituency", + "pk": 5 +}, +{ + "fields": { + "country": 1101, + "updated": "2015-12-27T16:03:31.578Z", + "fingerprint": "6fb9264ba998ac78ea3eb827dab04f60841f76b2", + "name": "Christlich Demokratische Union Deutschlands", + "created": "2015-12-27T16:03:31.578Z" + }, + "model": "representatives.constituency", + "pk": 6 +}, +{ + "fields": { + "country": 1120, + "updated": "2015-12-27T16:14:54.207Z", + "fingerprint": "50d8b4a941c26b89482c94ab324b5a274f9ced66", + "name": "unknown", + "created": "2015-12-27T16:03:35.770Z" + }, + "model": "representatives.constituency", + "pk": 14 +}, +{ + "fields": { + "country": 1115, + "updated": "2015-12-27T16:03:36.908Z", + "fingerprint": "3d6eb75d3a7fc6f07c9fadc27c5fc7cf13f85901", + "name": "Fidesz-Magyar Polg\u00e1ri Sz\u00f6vets\u00e9g-Kereszt\u00e9ny Demokrata N\u00e9pp\u00e1rt", + "created": "2015-12-27T16:03:36.908Z" + }, + "model": "representatives.constituency", + "pk": 16 +}, +{ + "fields": { + "country": 1218, + "updated": "2015-12-27T16:11:32.621Z", + "fingerprint": "1fae044a475096192745808b5dfe00e8a04ce172", + "name": "Labour Party", + "created": "2015-12-27T16:03:38.998Z" + }, + "model": "representatives.constituency", + "pk": 21 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:03:45.839Z", + "fingerprint": "06f2d7fda257e56a1044482697ee9f1ae7eb2d9a", + "name": "Les R\u00e9publicains", + "created": "2015-12-27T16:03:45.839Z" + }, + "model": "representatives.constituency", + "pk": 29 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:03:45.846Z", + "fingerprint": "ff8db87ec6496cbe80a290d2d8d1d73172fa7d64", + "name": "Union pour un Mouvement Populaire", + "created": "2015-12-27T16:03:45.846Z" + }, + "model": "representatives.constituency", + "pk": 30 +}, +{ + "fields": { + "country": 1178, + "updated": "2015-12-27T16:03:47.279Z", + "fingerprint": "d51ffc68d8a5da621b3e4bcb3206b75acf208c2d", + "name": "Polskie Stronnictwo Ludowe", + "created": "2015-12-27T16:03:47.279Z" + }, + "model": "representatives.constituency", + "pk": 33 +}, +{ + "fields": { + "country": 1059, + "updated": "2015-12-27T16:03:50.310Z", + "fingerprint": "26b0d941d5cd3ef32ec6e031ea9c9116cc7f8abb", + "name": "Bulgarian Socialist Party", + "created": "2015-12-27T16:03:50.310Z" + }, + "model": "representatives.constituency", + "pk": 38 +}, +{ + "fields": { + "country": 1218, + "updated": "2015-12-27T16:03:51.131Z", + "fingerprint": "1b8cad7ba6051a96accac7e70f7e5433d6640316", + "name": "Conservative Party", + "created": "2015-12-27T16:03:51.131Z" + }, + "model": "representatives.constituency", + "pk": 39 +}, +{ + "fields": { + "country": 1218, + "updated": "2015-12-27T16:03:51.145Z", + "fingerprint": "75cd499a9c98b8d49a083b44dc62ae32fb8e580f", + "name": "Conservative and Unionist Party", + "created": "2015-12-27T16:03:51.145Z" + }, + "model": "representatives.constituency", + "pk": 40 +}, +{ + "fields": { + "country": 1115, + "updated": "2015-12-27T16:03:54.749Z", + "fingerprint": "2a71ef7dca6e93673d6a3497dca3b751cde4b7db", + "name": "Fidesz-Magyar Polg\u00e1ri Sz\u00f6vets\u00e9g", + "created": "2015-12-27T16:03:54.749Z" + }, + "model": "representatives.constituency", + "pk": 42 +}, +{ + "fields": { + "country": 1101, + "updated": "2015-12-27T16:04:08.383Z", + "fingerprint": "bcff4b5fc927515d0e777eff4eb57f30849309c5", + "name": "B\u00fcndnis 90/Die Gr\u00fcnen", + "created": "2015-12-27T16:04:08.383Z" + }, + "model": "representatives.constituency", + "pk": 53 +}, +{ + "fields": { + "country": 1182, + "updated": "2015-12-27T16:04:43.252Z", + "fingerprint": "6a775a22b1eebd1a50a1f6393dfa5499f1633870", + "name": "Partidul Social Democrat", + "created": "2015-12-27T16:04:43.252Z" + }, + "model": "representatives.constituency", + "pk": 73 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:04:50.900Z", + "fingerprint": "e6cc608ab4600c04734ad0fb6fbccea0078b3df0", + "name": "Union pour la d\u00e9mocratie fran\u00e7aise", + "created": "2015-12-27T16:04:50.899Z" + }, + "model": "representatives.constituency", + "pk": 81 +}, +{ + "fields": { + "country": 1094, + "updated": "2015-12-27T16:05:37.293Z", + "fingerprint": "8c3e0df7d29d1bbcc058179ac26b10a09ac11428", + "name": "Suomen Sosialidemokraattinen Puolue/Finlands Socialdemokratiska Parti", + "created": "2015-12-27T16:05:37.293Z" + }, + "model": "representatives.constituency", + "pk": 109 +}, +{ + "fields": { + "country": 1192, + "updated": "2015-12-27T16:05:37.602Z", + "fingerprint": "8687616cd65ae63e61cd62c74e6d67c645651d8d", + "name": "SMER-Soci\u00e1lna demokracia", + "created": "2015-12-27T16:05:37.602Z" + }, + "model": "representatives.constituency", + "pk": 110 +}, +{ + "fields": { + "country": 1094, + "updated": "2015-12-27T16:05:39.702Z", + "fingerprint": "921046278c8b43daee1401841aca7d43d59b0cac", + "name": "Kansallinen Kokoomus", + "created": "2015-12-27T16:05:39.702Z" + }, + "model": "representatives.constituency", + "pk": 112 +}, +{ + "fields": { + "country": 1104, + "updated": "2015-12-27T16:05:52.835Z", + "fingerprint": "b73767932549a059e9eab0b200c709844b6ac396", + "name": "Coalition of the Radical Left", + "created": "2015-12-27T16:05:52.835Z" + }, + "model": "representatives.constituency", + "pk": 120 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:05:55.904Z", + "fingerprint": "9fe390ba59a411b2319db8775098f85fed0b8668", + "name": "Europe \u00c9cologie", + "created": "2015-12-27T16:05:55.904Z" + }, + "model": "representatives.constituency", + "pk": 123 +}, +{ + "fields": { + "country": 1202, + "updated": "2015-12-27T16:06:18.608Z", + "fingerprint": "a8fa2ff595aedee63954c3b5ad6e1dcd5dfac910", + "name": "Arbetarepartiet- Socialdemokraterna", + "created": "2015-12-27T16:06:18.608Z" + }, + "model": "representatives.constituency", + "pk": 137 +}, +{ + "fields": { + "country": 1179, + "updated": "2015-12-27T16:06:30.392Z", + "fingerprint": "b342ecf4aa0e8ba3ed0fbff269e60d82a79ef2c1", + "name": "Partido Social Democrata", + "created": "2015-12-27T16:06:30.392Z" + }, + "model": "representatives.constituency", + "pk": 144 +}, +{ + "fields": { + "country": 1192, + "updated": "2015-12-27T16:06:38.181Z", + "fingerprint": "b79a0d6ca60023fef25f43ce15a7e65943c37819", + "name": "Smer", + "created": "2015-12-27T16:06:38.181Z" + }, + "model": "representatives.constituency", + "pk": 152 +}, +{ + "fields": { + "country": 1059, + "updated": "2015-12-27T16:06:57.695Z", + "fingerprint": "1ca7504c648f2119a2a123fe5f7cd1f0524774c9", + "name": "Citizens for European Development of Bulgaria", + "created": "2015-12-27T16:06:57.695Z" + }, + "model": "representatives.constituency", + "pk": 164 +}, +{ + "fields": { + "country": 1202, + "updated": "2015-12-27T16:07:09.221Z", + "fingerprint": "65ec4782f3dfa336ba2dda6a2196a8d752769926", + "name": "Liberalerna", + "created": "2015-12-27T16:07:09.221Z" + }, + "model": "representatives.constituency", + "pk": 172 +}, +{ + "fields": { + "country": 1197, + "updated": "2015-12-27T16:07:17.825Z", + "fingerprint": "08116f89b804b9ec6e2414fb8ee3e410170e4cc8", + "name": "Partido Socialista Obrero Espa\u00f1ol", + "created": "2015-12-27T16:07:17.825Z" + }, + "model": "representatives.constituency", + "pk": 173 +}, +{ + "fields": { + "country": 1143, + "updated": "2015-12-27T16:09:25.286Z", + "fingerprint": "f76ed21ae8d863b9b02b4457e89495cbb18b65c0", + "name": "Partit Nazzjonalista", + "created": "2015-12-27T16:09:25.286Z" + }, + "model": "representatives.constituency", + "pk": 213 +}, +{ + "fields": { + "country": 1050, + "updated": "2015-12-27T16:10:49.708Z", + "fingerprint": "0075791e9523ecd078a9e8a6e5c1e84edb7a8269", + "name": "Mouvement R\u00e9formateur", + "created": "2015-12-27T16:10:49.708Z" + }, + "model": "representatives.constituency", + "pk": 237 +}, +{ + "fields": { + "country": 1159, + "updated": "2015-12-27T16:10:56.565Z", + "fingerprint": "f11255d1d02b802f819e7944f8807276c26ec3bf", + "name": "GroenLinks", + "created": "2015-12-27T16:10:56.565Z" + }, + "model": "representatives.constituency", + "pk": 241 +}, +{ + "fields": { + "country": 1202, + "updated": "2015-12-27T16:11:41.932Z", + "fingerprint": "6389297a95736ef74d61a89ca9fcacf06cea642c", + "name": "Folkpartiet liberalerna", + "created": "2015-12-27T16:11:41.932Z" + }, + "model": "representatives.constituency", + "pk": 263 +}, +{ + "fields": { + "country": 1059, + "updated": "2015-12-27T16:12:04.011Z", + "fingerprint": "0cbed1128a51976f423405df6ccd09c399fb3c9d", + "name": "Coalition for Bulgaria", + "created": "2015-12-27T16:12:04.010Z" + }, + "model": "representatives.constituency", + "pk": 275 +}, +{ + "fields": { + "country": 1059, + "updated": "2015-12-27T16:12:04.017Z", + "fingerprint": "5f15ef1424ead4b847364a66e3f1295a609e11d5", + "name": "Platform European Socialists", + "created": "2015-12-27T16:12:04.017Z" + }, + "model": "representatives.constituency", + "pk": 276 +}, +{ + "fields": { + "country": 1050, + "updated": "2015-12-27T16:12:07.741Z", + "fingerprint": "2d94a377bcd39a18b30c88a759e96b8ffda20b2e", + "name": "Parti r\u00e9formateur lib\u00e9ral/Front d\u00e9mocratique des francophones", + "created": "2015-12-27T16:12:07.741Z" + }, + "model": "representatives.constituency", + "pk": 277 +}, +{ + "fields": { + "country": 1197, + "updated": "2015-12-27T16:12:22.037Z", + "fingerprint": "f595bd4b1a964fbeb18ebb58fda70841c885df50", + "name": "Converg\u00e8ncia Democr\u00e0tica de Catalunya", + "created": "2015-12-27T16:12:22.037Z" + }, + "model": "representatives.constituency", + "pk": 281 +}, +{ + "fields": { + "country": 1197, + "updated": "2015-12-27T16:12:22.043Z", + "fingerprint": "44aade274e9c58540ed65468c14676e417ab32b4", + "name": "Coalici\u00f3n por Europa", + "created": "2015-12-27T16:12:22.043Z" + }, + "model": "representatives.constituency", + "pk": 282 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.693Z", + "fingerprint": "16f5651bac18963a62537de33d04d6f1b4c353ed", + "name": "G\u00e9n\u00e9ration Citoyens", + "created": "2015-12-27T16:12:47.693Z" + }, + "model": "representatives.constituency", + "pk": 285 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.708Z", + "fingerprint": "298e3d4682919fc0f80aa6dcd715a7a99476c514", + "name": "Nous Citoyens", + "created": "2015-12-27T16:12:47.708Z" + }, + "model": "representatives.constituency", + "pk": 286 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.716Z", + "fingerprint": "e80be60e805ab1476351c646e7dfb2a84437298a", + "name": "Nouveau Centre-UDI", + "created": "2015-12-27T16:12:47.716Z" + }, + "model": "representatives.constituency", + "pk": 287 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.723Z", + "fingerprint": "b3800f445af705a62782c729082e54a2b5830b41", + "name": "Nouveau Centre", + "created": "2015-12-27T16:12:47.723Z" + }, + "model": "representatives.constituency", + "pk": 288 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.730Z", + "fingerprint": "276618c1f3adf9d8b36bada9149b1b587b4ad706", + "name": "Avenir D\u00e9mocrate", + "created": "2015-12-27T16:12:47.730Z" + }, + "model": "representatives.constituency", + "pk": 289 +}, +{ + "fields": { + "country": 1095, + "updated": "2015-12-27T16:12:47.738Z", + "fingerprint": "cbed68923f741c8787689a5b0381b81fed4e50c4", + "name": "Alliance Citoyenne pour la D\u00e9mocratie en Europe", + "created": "2015-12-27T16:12:47.738Z" + }, + "model": "representatives.constituency", + "pk": 290 +}, +{ + "fields": { + "country": 1104, + "updated": "2015-12-27T16:12:51.110Z", + "fingerprint": "107afc4c6ed5dec7d590e198d7fa866806c47a15", + "name": "Popular Unity", + "created": "2015-12-27T16:12:51.110Z" + }, + "model": "representatives.constituency", + "pk": 291 +}, +{ + "fields": { + "country": 1104, + "updated": "2015-12-27T16:12:51.129Z", + "fingerprint": "abad7a636a3256818b539b3cac402435f9d89a24", + "name": "Synaspismos tis Aristeras kai tis Proodou", + "created": "2015-12-27T16:12:51.129Z" + }, + "model": "representatives.constituency", + "pk": 292 +}, +{ + "fields": { + "country": 1193, + "updated": "2015-12-27T16:13:05.451Z", + "fingerprint": "151003f2aac121c6d90c374cb0c1d2b51f0b35a8", + "name": "DeSUS - Demokrati\u010dna Stranka Upokojencev Slovenije", + "created": "2015-12-27T16:13:05.451Z" + }, + "model": "representatives.constituency", + "pk": 296 +}, +{ + "fields": { + "country": 1193, + "updated": "2015-12-27T16:13:05.461Z", + "fingerprint": "531259f3aa827c7c9076c58b722f707100a7093f", + "name": "ZARES-Nova Politika", + "created": "2015-12-27T16:13:05.461Z" + }, + "model": "representatives.constituency", + "pk": 297 +}, +{ + "fields": { + "country": 1136, + "updated": "2015-12-27T16:13:48.733Z", + "fingerprint": "3db74defa84306937f90d214a6a07015ac9f9a75", + "name": "Lietuvos socialdemokrat\u0173 partija", + "created": "2015-12-27T16:13:48.733Z" + }, + "model": "representatives.constituency", + "pk": 301 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.213Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.213Z", + "role": "Member", + "representative": 160, + "fingerprint": "3e27ddc2a03ae3e46486559f18c6fa79f6f073fc", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3287 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.218Z", + "group": 9, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.218Z", + "role": "Member", + "representative": 160, + "fingerprint": "4f954af920af7bd2d2fcf4032a7bf17ad256cfd6", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3288 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.223Z", + "group": 20, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.223Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "64725eafb08a172af88d6bfca27f1873e1e8e712", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3289 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.229Z", + "group": 77, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.228Z", + "role": "Member", + "representative": 160, + "fingerprint": "bba85aa92d24693bc71de5c8a39c6954913cbdec", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3290 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.233Z", + "group": 20, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.233Z", + "role": "Member", + "representative": 160, + "fingerprint": "87c6f21c59d89374f12671ea1eea7fb6f041bbce", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3291 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.238Z", + "group": 9, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.238Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "7e407006eb3066ee67b55b4573d176daeb9aef6c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3292 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.244Z", + "group": 77, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.244Z", + "role": "Member", + "representative": 160, + "fingerprint": "14e44f282c0e7c727e7d4d3419570c6cbbcde153", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3293 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.248Z", + "group": 20, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.248Z", + "role": "Member", + "representative": 160, + "fingerprint": "bdd2841c54da20685855881b0d5ab2a533a48824", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3294 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.253Z", + "group": 9, + "end_date": "2012-01-18", + "created": "2015-12-27T16:05:08.253Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "b5dc7889c922b88d386d11cdb634c3858dd3ac27", + "link": "", + "begin_date": "2010-09-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3295 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.258Z", + "group": 24, + "end_date": "2010-09-19", + "created": "2015-12-27T16:05:08.258Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "984397862c0a64e995ce1a0194726543f56fa017", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3296 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.263Z", + "group": 23, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.263Z", + "role": "Member", + "representative": 160, + "fingerprint": "6c8e6e4b91cf18e09eca545a662d832f90238f86", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3297 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.268Z", + "group": 20, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.268Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "59213d472d4022edafa03dbf0a0c8164ae37fad2", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3298 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.274Z", + "group": 77, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.274Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "0e6f6ec034595c44a1e3404dd924215c8604c504", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3299 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.279Z", + "group": 48, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.279Z", + "role": "Member", + "representative": 160, + "fingerprint": "8ba5d46442df153c17a6d691e99339db92d178e0", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3300 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.284Z", + "group": 77, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.283Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "b362be416369a5798a4f39e8c071ac5f6ad59ec1", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3301 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.288Z", + "group": 20, + "end_date": "2007-01-30", + "created": "2015-12-27T16:05:08.288Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "ffbb2ab83dd43369215c2d79bf9be177dbe247f6", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3302 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.293Z", + "group": 48, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.293Z", + "role": "Member", + "representative": 160, + "fingerprint": "0cb7ee1883626dbd5228c279d5621327f271d786", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3303 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.298Z", + "group": 77, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.298Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "9db1fc8d28feeee3f7dc14136426fe26f3df8d3a", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3304 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.302Z", + "group": 20, + "end_date": "2007-01-14", + "created": "2015-12-27T16:05:08.302Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "a7ee142c48158483a12dc300e83e562f7552717f", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3305 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.307Z", + "group": 30, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.307Z", + "role": "Member", + "representative": 160, + "fingerprint": "f7ab1b25eed25a6f577886d7ce2a89c5da877fab", + "link": "", + "begin_date": "2002-01-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3306 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.313Z", + "group": 3, + "end_date": "2002-01-14", + "created": "2015-12-27T16:05:08.313Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "ed100b9f3db921cd180295391d416b49ed799641", + "link": "", + "begin_date": "2000-03-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3307 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.318Z", + "group": 64, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.318Z", + "role": "Member", + "representative": 160, + "fingerprint": "b64dc41dd0d357720738c7efb46849caf60ec14d", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3308 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.322Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.322Z", + "role": "Member", + "representative": 160, + "fingerprint": "c2b6824cf3b29f77da6fc7c02d29ff95f78c622c", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3309 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.328Z", + "group": 121, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.328Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "77ea8b27c3aac210c2352d9469cb5e5dccda681f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3310 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.332Z", + "group": 86, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.332Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "f617bbbdcc14f0eb7e84fe80f63c9b127d8c6441", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3311 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.337Z", + "group": 111, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.337Z", + "role": "Member", + "representative": 160, + "fingerprint": "e4b7462f237417fb7654725e63dc8ff6306d6f06", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3312 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.342Z", + "group": 79, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.342Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "76a4b0814908a0dc15fec2eadd18de8344902222", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3313 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.348Z", + "group": 101, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.348Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "8cfe1ab42ee6b094fb26aecfad5ca68bee37c307", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3314 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.352Z", + "group": 150, + "end_date": "2004-04-30", + "created": "2015-12-27T16:05:08.352Z", + "role": "Member", + "representative": 160, + "fingerprint": "a3910f55303b76c08fdbb46be9707b71d20bc618", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3315 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.357Z", + "group": 141, + "end_date": "2004-04-30", + "created": "2015-12-27T16:05:08.357Z", + "role": "Substitute", + "representative": 160, + "fingerprint": "8ed925d938dd2196228db9e8bfe9635c81e9c563", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3316 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.363Z", + "group": 150, + "end_date": "2002-01-14", + "created": "2015-12-27T16:05:08.363Z", + "role": "Member", + "representative": 160, + "fingerprint": "e840b8192789f083b0ce07d04a850349ce3ce3fe", + "link": "", + "begin_date": "2000-04-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3317 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.368Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.368Z", + "role": "Member", + "representative": 160, + "fingerprint": "e1521b961d18f8b2ed5254a6bdd0e90f32bb4481", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3318 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.373Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.373Z", + "role": "Member", + "representative": 160, + "fingerprint": "d97dfd44f2e19ea2a71af9c96c211db06fb1ff94", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3319 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.378Z", + "group": 41, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.378Z", + "role": "Member", + "representative": 160, + "fingerprint": "c6ff4291f008ae6636765819ce203b1068cb77f5", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3320 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.383Z", + "group": 67, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.383Z", + "role": "Member", + "representative": 160, + "fingerprint": "07e323ac8bfc7caf30b66966b9ffaf22104d02ad", + "link": "", + "begin_date": "2000-02-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 3321 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.389Z", + "group": 33, + "end_date": "9999-12-31", + "created": "2015-12-27T16:05:08.389Z", + "role": "", + "representative": 160, + "fingerprint": "73c6575b59a2b165f5bd921aa1ae9a08d4a5b980", + "link": "", + "begin_date": "2014-07-01", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3322 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.395Z", + "group": 33, + "end_date": "2014-06-30", + "created": "2015-12-27T16:05:08.395Z", + "role": "", + "representative": 160, + "fingerprint": "1059f328912485c62db49fdc082d351dae775cea", + "link": "", + "begin_date": "2009-07-14", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3323 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.402Z", + "group": 33, + "end_date": "2009-07-13", + "created": "2015-12-27T16:05:08.402Z", + "role": "", + "representative": 160, + "fingerprint": "aca5e73cc97f7b3726ded9cf8b3c0aa3ad303485", + "link": "", + "begin_date": "2004-07-20", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3324 +}, +{ + "fields": { + "updated": "2015-12-27T16:05:08.408Z", + "group": 33, + "end_date": "2004-07-19", + "created": "2015-12-27T16:05:08.408Z", + "role": "", + "representative": 160, + "fingerprint": "cca1fca42f5d43291fdc014126bc0b76f3c8ba14", + "link": "", + "begin_date": "2000-02-17", + "constituency": 21 + }, + "model": "representatives.mandate", + "pk": 3325 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.236Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.236Z", + "role": "Member", + "representative": 282, + "fingerprint": "bf2b3c2312daf02ff6fcc55c3bde6fa8dc524a8a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5521 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.241Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.241Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "a91c595fabb909c982e152ec66fb90894952b4cd", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5522 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.246Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.246Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "4fbb7e1a0502db518e5f364c7da2a1c6a4abcc4d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5523 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.250Z", + "group": 58, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.250Z", + "role": "Vice-Chair", + "representative": 282, + "fingerprint": "a2be2e891e597970c46fb1188867d7d58acfdae8", + "link": "", + "begin_date": "2012-03-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5524 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.255Z", + "group": 77, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.255Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "d97fddce50073a15495b4f16b838196dd417e029", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5525 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.260Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.260Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "c5214a48f7df36ebc0750f4a415e12ea0a19c4d6", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5526 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.265Z", + "group": 58, + "end_date": "2012-03-18", + "created": "2015-12-27T16:06:26.265Z", + "role": "Member", + "representative": 282, + "fingerprint": "8831f681ef8011b87297c3c2ddf10c12330a43b3", + "link": "", + "begin_date": "2012-03-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5527 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.271Z", + "group": 48, + "end_date": "2012-03-11", + "created": "2015-12-27T16:06:26.270Z", + "role": "Member", + "representative": 282, + "fingerprint": "a46fcbef863d3a42ae983580653e9f834b876ea3", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5528 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.275Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:06:26.275Z", + "role": "Member", + "representative": 282, + "fingerprint": "dff4dfed9f647e96cb45f7e95ee5deac2c2e8baa", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5529 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.280Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:06:26.280Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "389f4b4283f8a2c9c310487a5acf53e003f3af53", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5530 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.286Z", + "group": 77, + "end_date": "2012-01-18", + "created": "2015-12-27T16:06:26.285Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "36ba154decb4b0775d79b5742c973efbaed49452", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5531 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.291Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:06:26.291Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "398f0e42b83048db09fde515aa780e08fbfc7c9d", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5532 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.296Z", + "group": 4, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.296Z", + "role": "Member", + "representative": 282, + "fingerprint": "5ae5cb9264e0b705a48278b04256c47365c4d454", + "link": "", + "begin_date": "2008-07-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5533 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.302Z", + "group": 30, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.302Z", + "role": "Member", + "representative": 282, + "fingerprint": "307998599b664aa2a52d4fd18b943fe86533c20a", + "link": "", + "begin_date": "2008-07-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5534 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.308Z", + "group": 49, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.308Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "baf73bd1a11f1ca1bdecfc11e0ffea8364f9b5fe", + "link": "", + "begin_date": "2008-04-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5535 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.313Z", + "group": 37, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.313Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "700378b1202d007fd94aff991a2d534846c5ce3e", + "link": "", + "begin_date": "2008-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5536 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.318Z", + "group": 58, + "end_date": "2008-07-08", + "created": "2015-12-27T16:06:26.318Z", + "role": "Member", + "representative": 282, + "fingerprint": "ac40073074035ee3baf72e39c9602421bf3ebf80", + "link": "", + "begin_date": "2008-06-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5537 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.323Z", + "group": 39, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.323Z", + "role": "Member", + "representative": 282, + "fingerprint": "4feb5c88d872a87b97ea08901343718952224d50", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5538 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.328Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.328Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "244550d36273a047d09a94ec2b8a6863f8db822c", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5539 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.333Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.333Z", + "role": "Member", + "representative": 282, + "fingerprint": "54f835e48f556e86a6690413396c3eb05d182fc8", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5540 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.339Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.339Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "e4f2f9e5de7ce6ae5c969f25d677f48ddf24e119", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5541 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.343Z", + "group": 133, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.343Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "f5292ab66af325f6d622e07555bafa30737dbfbf", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5542 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.348Z", + "group": 99, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.348Z", + "role": "Member", + "representative": 282, + "fingerprint": "e7ea03f5ee859b1b4e27176128a977cf5d95d529", + "link": "", + "begin_date": "2008-07-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5543 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.353Z", + "group": 79, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.353Z", + "role": "Substitute", + "representative": 282, + "fingerprint": "877f03fd0e90711a7ac2a93e58ad56981d3af3f2", + "link": "", + "begin_date": "2008-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5544 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.358Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.358Z", + "role": "Member", + "representative": 282, + "fingerprint": "a43c1fe7dc08f0e5b0bce0e73804dab371695e53", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5545 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.365Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.365Z", + "role": "Member", + "representative": 282, + "fingerprint": "933eda618485fdbc7fdb6e756386a2910b3f6fc4", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5546 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.374Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.374Z", + "role": "Member", + "representative": 282, + "fingerprint": "0a8687334a712fc060a0b69f382caa38d4e588b6", + "link": "", + "begin_date": "2008-04-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 5547 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.383Z", + "group": 115, + "end_date": "9999-12-31", + "created": "2015-12-27T16:06:26.383Z", + "role": "", + "representative": 282, + "fingerprint": "702b8dae35cf70abd2c91296a649ff0e261d0773", + "link": "", + "begin_date": "2014-07-01", + "constituency": 112 + }, + "model": "representatives.mandate", + "pk": 5548 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.393Z", + "group": 115, + "end_date": "2014-06-30", + "created": "2015-12-27T16:06:26.393Z", + "role": "", + "representative": 282, + "fingerprint": "613725c74c950660105268c2ac07eed880442060", + "link": "", + "begin_date": "2009-07-14", + "constituency": 112 + }, + "model": "representatives.mandate", + "pk": 5549 +}, +{ + "fields": { + "updated": "2015-12-27T16:06:26.408Z", + "group": 115, + "end_date": "2009-07-13", + "created": "2015-12-27T16:06:26.408Z", + "role": "", + "representative": 282, + "fingerprint": "10de7ee0a40ac6169dac98ad9eb1d70af4eb5650", + "link": "", + "begin_date": "2008-04-04", + "constituency": 112 + }, + "model": "representatives.mandate", + "pk": 5550 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.971Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:02.971Z", + "role": "Chair", + "representative": 439, + "fingerprint": "da1d7698650177a5e9cea3a325deec0b7e02aa75", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8328 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.977Z", + "group": 37, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:02.977Z", + "role": "Member", + "representative": 439, + "fingerprint": "694d9655ce00fa1cea2dc1ade9ad6225073865e0", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8329 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.982Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:02.982Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "59d74b6b9f6753f0334159b48cf55df99753d965", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8330 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.987Z", + "group": 5, + "end_date": "2014-07-06", + "created": "2015-12-27T16:09:02.987Z", + "role": "Member", + "representative": 439, + "fingerprint": "c9a7ada49fa7a47561327a091266024a96ae8aa4", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8331 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.992Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:02.992Z", + "role": "Chair", + "representative": 439, + "fingerprint": "a15f4bea1ad08194776ff125a0a8e61ac9d4b09d", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8332 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:02.997Z", + "group": 37, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:02.997Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "cae890f6b47aa0ba3e71e9878ddcb54ce209bc2f", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8333 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.003Z", + "group": 5, + "end_date": "2012-01-22", + "created": "2015-12-27T16:09:03.003Z", + "role": "Member", + "representative": 439, + "fingerprint": "3fafdaed3560007ca8a1b024f7bb893052eff2e3", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8334 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.008Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:09:03.008Z", + "role": "Member", + "representative": 439, + "fingerprint": "5b78806822e3830fd625bd9d2336e1e323b8c442", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8335 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.013Z", + "group": 37, + "end_date": "2012-01-18", + "created": "2015-12-27T16:09:03.013Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "d1c65911e1f07f789fde10dcb30ec4cf8a8f39e1", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8336 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.018Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:09:03.018Z", + "role": "Member", + "representative": 439, + "fingerprint": "f961d3113a3745853846350c73edb5820ff61770", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8337 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.023Z", + "group": 37, + "end_date": "2009-07-13", + "created": "2015-12-27T16:09:03.023Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "0811c8a1e3533058ace52dc14867496e4d82dcd7", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8338 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.029Z", + "group": 5, + "end_date": "2007-01-30", + "created": "2015-12-27T16:09:03.029Z", + "role": "Chair", + "representative": 439, + "fingerprint": "0c435994d3b7245f2f519c6b3271a0b6f9877199", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8339 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.035Z", + "group": 37, + "end_date": "2007-01-30", + "created": "2015-12-27T16:09:03.035Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "17c53c4ed2b1d1165dce587b09691355088ebc02", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8340 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.040Z", + "group": 5, + "end_date": "2007-01-14", + "created": "2015-12-27T16:09:03.040Z", + "role": "Chair", + "representative": 439, + "fingerprint": "4d6764528ad74a32808a97a157907b605170fefb", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8341 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.044Z", + "group": 37, + "end_date": "2007-01-14", + "created": "2015-12-27T16:09:03.044Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "b2777621e253fae2183c59732fb98dfb843e8cc7", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8342 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.049Z", + "group": 5, + "end_date": "2004-07-21", + "created": "2015-12-27T16:09:03.049Z", + "role": "Member", + "representative": 439, + "fingerprint": "c8e3810d0a798bea6a1ba935c0c30295143bd610", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8343 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.055Z", + "group": 37, + "end_date": "2004-07-19", + "created": "2015-12-27T16:09:03.055Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "ead13252493ce3d0d6b3c60a89b8de065b93316f", + "link": "", + "begin_date": "2002-01-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8344 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.060Z", + "group": 37, + "end_date": "2002-01-14", + "created": "2015-12-27T16:09:03.060Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "6eea117e8ebdd353db523a56bd1a4b8fbec55de5", + "link": "", + "begin_date": "1999-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8345 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.066Z", + "group": 34, + "end_date": "1987-01-20", + "created": "2015-12-27T16:09:03.066Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "8b3d364b8ce1f08ee01c7c737e3ac124a6354b30", + "link": "", + "begin_date": "1984-07-26", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8346 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.071Z", + "group": 73, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:03.071Z", + "role": "Member", + "representative": 439, + "fingerprint": "783260e7210b68d115e59948ec0e15cf4aa1eac8", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8347 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.076Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:03.076Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "b11389b8caecff4a06f27895332d2300808a1523", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8348 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.081Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.081Z", + "role": "Member", + "representative": 439, + "fingerprint": "fd5a26eaa5a36fea642bda69f4aca8a60ef3799a", + "link": "", + "begin_date": "2012-02-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8349 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.086Z", + "group": 118, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.086Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "c193b0898edf58bb9923ddb91a3de3cd4d4a7a2d", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8350 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.092Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.092Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "7d83161d3809ceb2fce1d1735202b034608ee90b", + "link": "", + "begin_date": "2012-02-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8351 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.098Z", + "group": 13, + "end_date": "2012-02-12", + "created": "2015-12-27T16:09:03.098Z", + "role": "Chair", + "representative": 439, + "fingerprint": "20b2460be9497379b41403866bfcd0dcb59677bb", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8352 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.104Z", + "group": 79, + "end_date": "2012-02-12", + "created": "2015-12-27T16:09:03.104Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "14360b938b8bc3a0b824c4902472fbdd50ddaf46", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8353 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.111Z", + "group": 13, + "end_date": "2009-07-13", + "created": "2015-12-27T16:09:03.111Z", + "role": "Member", + "representative": 439, + "fingerprint": "990c38bc82c0005c83d4692a3167d0609533cd5a", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8354 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.116Z", + "group": 13, + "end_date": "2007-03-13", + "created": "2015-12-27T16:09:03.116Z", + "role": "Member", + "representative": 439, + "fingerprint": "0d191517ccfc67fa40eef45c61049ebfabbf93e0", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8355 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.129Z", + "group": 13, + "end_date": "2004-07-19", + "created": "2015-12-27T16:09:03.129Z", + "role": "Member", + "representative": 439, + "fingerprint": "988ece68a8ea9b99989a5824f741cab011a8ae98", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8356 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.137Z", + "group": 13, + "end_date": "2002-01-14", + "created": "2015-12-27T16:09:03.137Z", + "role": "Member", + "representative": 439, + "fingerprint": "b706da5f38a33dbb417a3bcde191b44bde1be989", + "link": "", + "begin_date": "1999-10-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8357 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.145Z", + "group": 13, + "end_date": "1999-07-19", + "created": "2015-12-27T16:09:03.145Z", + "role": "Member", + "representative": 439, + "fingerprint": "06093f5176fd14b605a19317e81012d0ea3afeff", + "link": "", + "begin_date": "1999-02-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8358 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.152Z", + "group": 13, + "end_date": "1999-02-23", + "created": "2015-12-27T16:09:03.152Z", + "role": "Member", + "representative": 439, + "fingerprint": "f5f35d74f8ea44e41a42515f86b01f4dc5fd9632", + "link": "", + "begin_date": "1997-10-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8359 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.160Z", + "group": 13, + "end_date": "1997-10-13", + "created": "2015-12-27T16:09:03.160Z", + "role": "Member", + "representative": 439, + "fingerprint": "58fd967671820bdb4cf66b25155e03e2dc72845d", + "link": "", + "begin_date": "1997-01-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8360 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.167Z", + "group": 13, + "end_date": "1997-01-15", + "created": "2015-12-27T16:09:03.167Z", + "role": "Member", + "representative": 439, + "fingerprint": "ea3434c4cea05142d1fbd5a3294b336929daecc2", + "link": "", + "begin_date": "1995-07-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8361 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.173Z", + "group": 13, + "end_date": "1995-07-11", + "created": "2015-12-27T16:09:03.173Z", + "role": "Member", + "representative": 439, + "fingerprint": "c7173e2d4daab403e044478b8d1e58038a608181", + "link": "", + "begin_date": "1994-11-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8362 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.180Z", + "group": 13, + "end_date": "1994-07-18", + "created": "2015-12-27T16:09:03.180Z", + "role": "Member", + "representative": 439, + "fingerprint": "e75146abf320cef867947e6152321f6f1a432b17", + "link": "", + "begin_date": "1994-02-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8363 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.187Z", + "group": 164, + "end_date": "1994-07-18", + "created": "2015-12-27T16:09:03.187Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "44674dba466a8804e33484a43b23f0488013e794", + "link": "", + "begin_date": "1994-02-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8364 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.195Z", + "group": 13, + "end_date": "1994-01-31", + "created": "2015-12-27T16:09:03.195Z", + "role": "Member", + "representative": 439, + "fingerprint": "b99a98d6e38eb52461b8d3a36a1daf4981e9cfff", + "link": "", + "begin_date": "1993-02-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8365 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.203Z", + "group": 164, + "end_date": "1994-01-31", + "created": "2015-12-27T16:09:03.203Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "aa705a535cf00ee3f04770d41ab4affcf566f689", + "link": "", + "begin_date": "1993-02-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8366 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.210Z", + "group": 13, + "end_date": "1993-02-10", + "created": "2015-12-27T16:09:03.210Z", + "role": "Member", + "representative": 439, + "fingerprint": "ebeba5acade039c367574f11864d3802bbf972c1", + "link": "", + "begin_date": "1992-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8367 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.217Z", + "group": 165, + "end_date": "1993-02-10", + "created": "2015-12-27T16:09:03.217Z", + "role": "Substitute", + "representative": 439, + "fingerprint": "19fb396bcf7f69a41872009e85f857d29117e8c0", + "link": "", + "begin_date": "1992-02-25", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8368 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.226Z", + "group": 13, + "end_date": "1992-01-14", + "created": "2015-12-27T16:09:03.226Z", + "role": "Member", + "representative": 439, + "fingerprint": "16d0a57dacccc91c12a1c508963496e0732eb589", + "link": "", + "begin_date": "1989-07-26", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8369 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.233Z", + "group": 13, + "end_date": "1989-07-24", + "created": "2015-12-27T16:09:03.233Z", + "role": "Member", + "representative": 439, + "fingerprint": "5ef16b974ba8f644faa3cfc541ae80e6b6fa6fbe", + "link": "", + "begin_date": "1989-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8370 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.241Z", + "group": 13, + "end_date": "1989-03-13", + "created": "2015-12-27T16:09:03.241Z", + "role": "Member", + "representative": 439, + "fingerprint": "fc6939616e65a28bd18687c0ac9e4456cebec33d", + "link": "", + "begin_date": "1987-01-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8371 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.248Z", + "group": 13, + "end_date": "1987-01-20", + "created": "2015-12-27T16:09:03.248Z", + "role": "Member", + "representative": 439, + "fingerprint": "bbf8d2f177e775216a8c716caed5a276f81195a8", + "link": "", + "begin_date": "1986-03-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8372 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.255Z", + "group": 13, + "end_date": "1986-03-09", + "created": "2015-12-27T16:09:03.255Z", + "role": "Member", + "representative": 439, + "fingerprint": "629603d61197003bfe6f71cf3952dcc60678941b", + "link": "", + "begin_date": "1985-02-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8373 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.264Z", + "group": 189, + "end_date": "1984-07-23", + "created": "2015-12-27T16:09:03.264Z", + "role": "Member", + "representative": 439, + "fingerprint": "96d20499b20c6001bf392cd3db0333a537e674a4", + "link": "", + "begin_date": "1983-04-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8374 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.272Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:03.271Z", + "role": "Member", + "representative": 439, + "fingerprint": "6be1d58b6c74ea95b65f478620bdb31191c3293c", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8375 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.280Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.280Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "8d98720dddc51e217a9441b8aac993dad06b1077", + "link": "", + "begin_date": "2009-07-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8376 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.289Z", + "group": 18, + "end_date": "2009-07-23", + "created": "2015-12-27T16:09:03.289Z", + "role": "Member", + "representative": 439, + "fingerprint": "ffc28bb259198981b40a8dc0352156b36d15737e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8377 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.296Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:09:03.296Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "710bfffda22d249d5fc9afb75f849859220c2a10", + "link": "", + "begin_date": "2004-08-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8378 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.303Z", + "group": 54, + "end_date": "2004-08-30", + "created": "2015-12-27T16:09:03.303Z", + "role": "Member", + "representative": 439, + "fingerprint": "9bf54c606ccb3d1ea7642b486b6bea42bdbe0451", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8379 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.310Z", + "group": 54, + "end_date": "2004-07-19", + "created": "2015-12-27T16:09:03.310Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "0760655c9ebd6b73a4b1710ccf7b266f7a10aa22", + "link": "", + "begin_date": "2002-03-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8380 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.319Z", + "group": 54, + "end_date": "2002-03-07", + "created": "2015-12-27T16:09:03.319Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "46ae73b087fd5db8ce2c9463f1fc8f20ce313b5e", + "link": "", + "begin_date": "1999-10-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8381 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.326Z", + "group": 54, + "end_date": "1999-10-11", + "created": "2015-12-27T16:09:03.326Z", + "role": "Member", + "representative": 439, + "fingerprint": "e5d702f71220414138d87f207bc6253961354810", + "link": "", + "begin_date": "1999-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8382 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.334Z", + "group": 104, + "end_date": "1999-07-19", + "created": "2015-12-27T16:09:03.334Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "76dd27e368bd95ad3e1aeedea5630129487f8c84", + "link": "", + "begin_date": "1994-11-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8383 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.341Z", + "group": 104, + "end_date": "1994-11-28", + "created": "2015-12-27T16:09:03.341Z", + "role": "Member", + "representative": 439, + "fingerprint": "30dbca9014c9c336028ae6c463d8295d5469b909", + "link": "", + "begin_date": "1994-07-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8384 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.349Z", + "group": 104, + "end_date": "1994-07-18", + "created": "2015-12-27T16:09:03.349Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "ffddc93fadbf3a4b8565d465f0a15e6a0a0b2c0b", + "link": "", + "begin_date": "1992-02-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8385 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.356Z", + "group": 104, + "end_date": "1992-02-11", + "created": "2015-12-27T16:09:03.356Z", + "role": "Member", + "representative": 439, + "fingerprint": "52437ca0120bb1055665ad9baec576312908f5e6", + "link": "", + "begin_date": "1992-01-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8386 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.364Z", + "group": 104, + "end_date": "1992-01-20", + "created": "2015-12-27T16:09:03.364Z", + "role": "Member of the Bureau", + "representative": 439, + "fingerprint": "140b3f4c83837518a92da3f3506105adff31d186", + "link": "", + "begin_date": "1989-07-25", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8387 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.371Z", + "group": 104, + "end_date": "1989-07-24", + "created": "2015-12-27T16:09:03.371Z", + "role": "Member", + "representative": 439, + "fingerprint": "4c991ab744f98c40698e0e1755da018d663604a4", + "link": "", + "begin_date": "1984-07-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8388 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.380Z", + "group": 104, + "end_date": "1984-07-23", + "created": "2015-12-27T16:09:03.380Z", + "role": "Member", + "representative": 439, + "fingerprint": "89864aecccaf5d56361c38506a84d70642c08c61", + "link": "", + "begin_date": "1980-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8389 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.392Z", + "group": 22, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:03.391Z", + "role": "", + "representative": 439, + "fingerprint": "27c3a0af4a9a0f9a1a7556a5bfeb8e9568a49259", + "link": "", + "begin_date": "2014-07-01", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8390 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.400Z", + "group": 22, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.400Z", + "role": "", + "representative": 439, + "fingerprint": "8aeca39ebf97fc642f7dc0da8d69d387827bd910", + "link": "", + "begin_date": "2009-07-14", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8391 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.409Z", + "group": 22, + "end_date": "2009-07-13", + "created": "2015-12-27T16:09:03.409Z", + "role": "", + "representative": 439, + "fingerprint": "70b7b378910d96fe1332a252bc670dbea56913f1", + "link": "", + "begin_date": "2004-07-20", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8392 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.420Z", + "group": 22, + "end_date": "2004-07-19", + "created": "2015-12-27T16:09:03.420Z", + "role": "", + "representative": 439, + "fingerprint": "140611197eeab3c3fed5a301b394907ca6b9777c", + "link": "", + "begin_date": "1999-07-20", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8393 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.429Z", + "group": 22, + "end_date": "1999-07-19", + "created": "2015-12-27T16:09:03.429Z", + "role": "", + "representative": 439, + "fingerprint": "8b6643ac6d851a1932608dfb0f2b7a10bb65d467", + "link": "", + "begin_date": "1994-07-19", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8394 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.442Z", + "group": 22, + "end_date": "1994-07-18", + "created": "2015-12-27T16:09:03.442Z", + "role": "", + "representative": 439, + "fingerprint": "b0c3cfc56561323b043638a301c25d46135d50ea", + "link": "", + "begin_date": "1989-07-25", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8395 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.451Z", + "group": 22, + "end_date": "1989-07-24", + "created": "2015-12-27T16:09:03.451Z", + "role": "", + "representative": 439, + "fingerprint": "d843056a3d2a4a5517a2d55390b9ba5890f37dce", + "link": "", + "begin_date": "1984-07-24", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8396 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.461Z", + "group": 22, + "end_date": "1984-07-23", + "created": "2015-12-27T16:09:03.461Z", + "role": "", + "representative": 439, + "fingerprint": "828fc8a7c31953711a39b7c6c1c87555ad28692f", + "link": "", + "begin_date": "1980-06-17", + "constituency": 6 + }, + "model": "representatives.mandate", + "pk": 8397 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.468Z", + "group": 80, + "end_date": "9999-12-31", + "created": "2015-12-27T16:09:03.468Z", + "role": "Member", + "representative": 439, + "fingerprint": "3720dca7187d5e1e1cb1db2fd3afe3eb3390634f", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8398 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.477Z", + "group": 80, + "end_date": "2014-06-30", + "created": "2015-12-27T16:09:03.477Z", + "role": "Member", + "representative": 439, + "fingerprint": "cd28781ca24e78f3e4631ed987021b7c75ffce4f", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8399 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.486Z", + "group": 70, + "end_date": "2012-02-12", + "created": "2015-12-27T16:09:03.486Z", + "role": "Member", + "representative": 439, + "fingerprint": "2d236d4ca06696924e8a154839cc1c88e2d1e9e0", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8400 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.493Z", + "group": 70, + "end_date": "2007-01-30", + "created": "2015-12-27T16:09:03.493Z", + "role": "Member", + "representative": 439, + "fingerprint": "034c84995844b29d97147563db6cb8e6989ef6a4", + "link": "", + "begin_date": "2004-09-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8401 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.500Z", + "group": 80, + "end_date": "2007-01-15", + "created": "2015-12-27T16:09:03.500Z", + "role": "Member", + "representative": 439, + "fingerprint": "eb665a66b9ff0133e9864487b87fe76278fbb267", + "link": "", + "begin_date": "2004-07-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8402 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.508Z", + "group": 80, + "end_date": "2004-07-19", + "created": "2015-12-27T16:09:03.508Z", + "role": "Member", + "representative": 439, + "fingerprint": "0bb1d73de483bd8ce54b6392534b5dc0ca3483b5", + "link": "", + "begin_date": "2002-01-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8403 +}, +{ + "fields": { + "updated": "2015-12-27T16:09:03.515Z", + "group": 80, + "end_date": "2002-01-14", + "created": "2015-12-27T16:09:03.515Z", + "role": "Member", + "representative": 439, + "fingerprint": "0f169d96fd7c71e179f41bc80def81b976ea2994", + "link": "", + "begin_date": "1999-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 8404 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.834Z", + "group": 6, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.834Z", + "role": "Chair", + "representative": 614, + "fingerprint": "51e76d9f28b58a47db623fe76c2aefe87f1e9d72", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11480 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.839Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.839Z", + "role": "Member", + "representative": 614, + "fingerprint": "a424e39e6d60ec29fa7cb41e37bfbd46d2f9d6b1", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11481 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.844Z", + "group": 9, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.844Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "71fd29e3120d37bddc8edf7007353423727fde28", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11482 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.850Z", + "group": 6, + "end_date": "2014-07-06", + "created": "2015-12-27T16:11:41.850Z", + "role": "Member", + "representative": 614, + "fingerprint": "d5b2e3cae1246d635373bdf7714e483fde8db19b", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11483 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.855Z", + "group": 9, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.855Z", + "role": "Member", + "representative": 614, + "fingerprint": "1cee6f763cb9476b72f02f9cf6945f3cddbd9834", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11484 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.860Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.859Z", + "role": "Member", + "representative": 614, + "fingerprint": "906c613ea0dc129c8781ee558cfda7f5e60e4cd6", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11485 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.866Z", + "group": 6, + "end_date": "2012-03-13", + "created": "2015-12-27T16:11:41.866Z", + "role": "Member", + "representative": 614, + "fingerprint": "9bb7cd0a009bad3692d7bb774eb55cde79aa6fa1", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11486 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.871Z", + "group": 9, + "end_date": "2012-01-18", + "created": "2015-12-27T16:11:41.871Z", + "role": "Member", + "representative": 614, + "fingerprint": "c4f56ae891fb4d5889881d6c523b7be72c53a472", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11487 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.876Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:11:41.876Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "e0b09b09cd7228af2761423d7d0cf37a148ea519", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11488 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.881Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:11:41.881Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "b1d61f99507f5a9a4bffd21ea9d5ab0c37695598", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11489 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.886Z", + "group": 72, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.886Z", + "role": "Member", + "representative": 614, + "fingerprint": "6bb09885924a6459b9f9734f5d3749c35f4a66c5", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11490 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.891Z", + "group": 73, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.891Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "fb707e952010661ae9396a25375d7c3655dd17cf", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11491 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.896Z", + "group": 16, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.896Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "25b685bf861845db7eaae510eba9a27f46f241f3", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11492 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.901Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.901Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "a90522691d89c56a41aace74ef0429ac0830b924", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11493 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.906Z", + "group": 129, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.906Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "61e14b6100e1fd0d7b106fb1a2afc28b758f50ac", + "link": "", + "begin_date": "2012-12-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11494 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.911Z", + "group": 107, + "end_date": "2012-12-09", + "created": "2015-12-27T16:11:41.911Z", + "role": "Substitute", + "representative": 614, + "fingerprint": "434a09da9b8c3f5041ca7790f186da09114fd765", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11495 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.916Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.916Z", + "role": "Member", + "representative": 614, + "fingerprint": "23db37a8809c4573c056dab0d3e35991095eb090", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11496 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.921Z", + "group": 17, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.921Z", + "role": "Member", + "representative": 614, + "fingerprint": "3cd989751cb08d9baa5366831fbbca004d128ff7", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11497 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.928Z", + "group": 140, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.928Z", + "role": "", + "representative": 614, + "fingerprint": "412d1c406199f9922e7480a5169bb525ed45d102", + "link": "", + "begin_date": "2014-07-01", + "constituency": 172 + }, + "model": "representatives.mandate", + "pk": 11498 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.935Z", + "group": 140, + "end_date": "2014-06-30", + "created": "2015-12-27T16:11:41.935Z", + "role": "", + "representative": 614, + "fingerprint": "47ca92d064ad575b0805b8099777cbf8f26c2b7b", + "link": "", + "begin_date": "2009-07-14", + "constituency": 263 + }, + "model": "representatives.mandate", + "pk": 11499 +}, +{ + "fields": { + "updated": "2015-12-27T16:11:41.940Z", + "group": 80, + "end_date": "9999-12-31", + "created": "2015-12-27T16:11:41.940Z", + "role": "Member", + "representative": 614, + "fingerprint": "52a5249e5d59a3ec01d2cf9a8b9f07683a8b572a", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11500 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.877Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.877Z", + "role": "Vice-Chair", + "representative": 642, + "fingerprint": "48184cf4ae7b666581013734ef9572a616fdb3a8", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11952 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.881Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.881Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "aed4f52624732c5a2288d1b42905e5af95969259", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11953 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.885Z", + "group": 24, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.885Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "ff6c4621c22e11741cc0799d8048e07b4b594df2", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11954 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.890Z", + "group": 7, + "end_date": "2014-07-06", + "created": "2015-12-27T16:12:03.890Z", + "role": "Member", + "representative": 642, + "fingerprint": "05c72f81d9962e6dfe82cfda4ae514fd57032eea", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11955 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.894Z", + "group": 6, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.894Z", + "role": "Member", + "representative": 642, + "fingerprint": "425750785df8bb351483ddeb331d105ed34a9491", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11956 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.899Z", + "group": 55, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.899Z", + "role": "Member", + "representative": 642, + "fingerprint": "2c07a33c66b73c5de0a2bc851ff59f5d12fd3300", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11957 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.903Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.903Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "4981fb73909dc57d0f3b1a0a2cf6ded80c513d4e", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11958 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.908Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.908Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "436dd90aba8788b2a6ba7aaf609be40fe3375a2e", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11959 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.913Z", + "group": 55, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:03.913Z", + "role": "Member", + "representative": 642, + "fingerprint": "b7738a8966afcf8ec454aee1de49b47fd3e02be0", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11960 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.917Z", + "group": 6, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:03.917Z", + "role": "Member", + "representative": 642, + "fingerprint": "efa30c9ffef627465a81ab20c84ac431d9955d02", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11961 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.921Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:03.921Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "53b47500cb9baed4128854b8e8a3e77448db4055", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11962 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.926Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:03.926Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "f5b8d9f3a88b7527145610cde1a3739a2b88b172", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11963 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.931Z", + "group": 58, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:03.931Z", + "role": "Member", + "representative": 642, + "fingerprint": "4d2b883b06f445b5d89f585117c16b5e5c9f841a", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11964 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.936Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:03.936Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "8fa05c3b4997e4f00fc3cf2bc3cb737448982d68", + "link": "", + "begin_date": "2007-06-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11965 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.941Z", + "group": 37, + "end_date": "2007-06-27", + "created": "2015-12-27T16:12:03.941Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "31e33370a197ae02d922aae9cd15cd1feffbe994", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11966 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.946Z", + "group": 25, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.946Z", + "role": "Vice-Chair", + "representative": 642, + "fingerprint": "c3083c8e026f77b5165d63d2ec8455e29676c3b5", + "link": "", + "begin_date": "2014-10-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11967 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.950Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.950Z", + "role": "Member", + "representative": 642, + "fingerprint": "0923fdc51226dee6105db52c0b5bc78c3496d646", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11968 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.954Z", + "group": 63, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.954Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "ea2359457de5ce72c728b53127ec3a0a66b66fc9", + "link": "", + "begin_date": "2014-10-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11969 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.959Z", + "group": 25, + "end_date": "2014-10-12", + "created": "2015-12-27T16:12:03.959Z", + "role": "Member", + "representative": 642, + "fingerprint": "ad357532ec276d2f54af1238c72409dbbf840dc3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11970 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.963Z", + "group": 129, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.963Z", + "role": "Vice-Chair", + "representative": 642, + "fingerprint": "0be194a2d0781f9b0388bbbadb048e71d4077464", + "link": "", + "begin_date": "2009-09-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11971 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.967Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.967Z", + "role": "Member", + "representative": 642, + "fingerprint": "1c6ad0767d51f739a0f214e9b6019657a08ce6a6", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11972 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.972Z", + "group": 63, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.972Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "dabcd9c547390dabdf8a27ccf0309eb0ce79e1d2", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11973 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.977Z", + "group": 129, + "end_date": "2009-09-16", + "created": "2015-12-27T16:12:03.977Z", + "role": "Member", + "representative": 642, + "fingerprint": "1105edb3cd3b38882cedf1502cd4e3e6bc581be3", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11974 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.981Z", + "group": 86, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:03.981Z", + "role": "Member", + "representative": 642, + "fingerprint": "4065ad3c3abe260bf48e16d40c3da8e2aea68bf3", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11975 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.986Z", + "group": 35, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:03.986Z", + "role": "Substitute", + "representative": 642, + "fingerprint": "d4c9c9680bf234cc351083b8e8b7a1f8b21c6928", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11976 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.991Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:03.991Z", + "role": "Member", + "representative": 642, + "fingerprint": "e42f07ee5ced8797ae51029887ca1454da796e9d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11977 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:03.996Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:03.996Z", + "role": "Member", + "representative": 642, + "fingerprint": "3dc4f9915c13b971c28c849772866c21632e07b7", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11978 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.001Z", + "group": 41, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:04.001Z", + "role": "Member", + "representative": 642, + "fingerprint": "b94b8160e28b6e7aa5240de49959c7e3831a008e", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11979 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.007Z", + "group": 117, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:04.007Z", + "role": "", + "representative": 642, + "fingerprint": "686c3c5a00b91c067dbbe002fcf9e8cb70b2461d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 38 + }, + "model": "representatives.mandate", + "pk": 11980 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.013Z", + "group": 117, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:04.013Z", + "role": "", + "representative": 642, + "fingerprint": "ad29b13a12e5f80af7f330248ba30247f1899b12", + "link": "", + "begin_date": "2009-07-14", + "constituency": 275 + }, + "model": "representatives.mandate", + "pk": 11981 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:04.020Z", + "group": 117, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:04.020Z", + "role": "", + "representative": 642, + "fingerprint": "364360fe17acca840cc8548c95738478f524c3b0", + "link": "", + "begin_date": "2007-06-06", + "constituency": 276 + }, + "model": "representatives.mandate", + "pk": 11982 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.247Z", + "group": 4, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.247Z", + "role": "Member", + "representative": 644, + "fingerprint": "09b447f7b5556cda2c51fae3e5e6990ba251acf5", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11995 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.252Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.252Z", + "role": "Member", + "representative": 644, + "fingerprint": "c4f9e4e0aee97e28cac28d0132ce6b62927fbcb5", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11996 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.256Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.256Z", + "role": "Substitute", + "representative": 644, + "fingerprint": "91dc9aa2d380fef02aadc3ba58c2048af9e57a9f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11997 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.261Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.261Z", + "role": "Vice-Chair", + "representative": 644, + "fingerprint": "d3b90210f7b33f24774ea8dccadb490034fdc7de", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11998 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.265Z", + "group": 24, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.265Z", + "role": "Substitute", + "representative": 644, + "fingerprint": "9334a00f62544074f74f0cf7615d3bfb2084a39a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 11999 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.270Z", + "group": 5, + "end_date": "2012-01-22", + "created": "2015-12-27T16:12:05.270Z", + "role": "Member", + "representative": 644, + "fingerprint": "3bcd262f1e90fd196ec226346304774fe8996150", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12000 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.274Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:05.274Z", + "role": "Member", + "representative": 644, + "fingerprint": "339029628d0c9574e1c16b2c6b6344baef56d69a", + "link": "", + "begin_date": "2009-09-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12001 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.279Z", + "group": 24, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:05.279Z", + "role": "Substitute", + "representative": 644, + "fingerprint": "b8eb867c6423cc01105ede246a21834e2ff49e5a", + "link": "", + "begin_date": "2009-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12002 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.284Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.284Z", + "role": "Member", + "representative": 644, + "fingerprint": "d74da79d2ef9e8e0a04de9d402d2eed5af5d118f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12003 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.289Z", + "group": 111, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.289Z", + "role": "Substitute", + "representative": 644, + "fingerprint": "888e68c4413771eca1052de0fec5aff1de7672f3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12004 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.293Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.293Z", + "role": "Member", + "representative": 644, + "fingerprint": "d574cfff2f62931ce8af8a39d5d8a20afc240c66", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12005 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.298Z", + "group": 72, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.298Z", + "role": "Substitute", + "representative": 644, + "fingerprint": "3b2303a6eef434617b5743383349d27221b6526f", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12006 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.302Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.302Z", + "role": "Member", + "representative": 644, + "fingerprint": "11f365d84c4adac784e6ea61f848f44b6c331c4e", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12007 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.307Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.307Z", + "role": "Member of the Bureau", + "representative": 644, + "fingerprint": "11834e61468343c3c2fbee7e644956ebfef23dcb", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12008 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.312Z", + "group": 18, + "end_date": "2009-09-15", + "created": "2015-12-27T16:12:05.312Z", + "role": "Member", + "representative": 644, + "fingerprint": "4752db0f1d62ececc063bff1bba033783cfe8408", + "link": "", + "begin_date": "2009-08-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12009 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.319Z", + "group": 117, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.319Z", + "role": "", + "representative": 644, + "fingerprint": "5798c9c7ce6fe3713b6f586265d6f7417b849edc", + "link": "", + "begin_date": "2014-07-01", + "constituency": 164 + }, + "model": "representatives.mandate", + "pk": 12010 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.325Z", + "group": 117, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:05.325Z", + "role": "", + "representative": 644, + "fingerprint": "cbd747c1fb7e8c4f46292f89f2082c432594883c", + "link": "", + "begin_date": "2009-08-24", + "constituency": 164 + }, + "model": "representatives.mandate", + "pk": 12011 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.330Z", + "group": 45, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.330Z", + "role": "Quaestor", + "representative": 644, + "fingerprint": "ee45c85a062c4133c88ad5ab0d061cebb61762e1", + "link": "", + "begin_date": "2014-07-02", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12012 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.334Z", + "group": 46, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.334Z", + "role": "Member", + "representative": 644, + "fingerprint": "21c7f4273da273ea49c746c619837d16e2aa0d1c", + "link": "", + "begin_date": "2014-07-02", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12013 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:05.339Z", + "group": 147, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:05.339Z", + "role": "Member", + "representative": 644, + "fingerprint": "0f2eb14aba03790c5987d83080a8fb440b7e20a8", + "link": "", + "begin_date": "2014-07-02", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12014 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.027Z", + "group": 58, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.027Z", + "role": "Member", + "representative": 645, + "fingerprint": "1b03e249c108691810e652c1253090f5b7386412", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12015 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.031Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.031Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "923a3bc967ce1555a3ed3c5d9c9d0b9e3b03fc52", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12016 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.036Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.036Z", + "role": "Member", + "representative": 645, + "fingerprint": "e1a7b7b3cb64b86b408d541361c069c5d4d7628e", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12017 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.042Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.041Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "a21b3b880c247f1a7d59192196a13558255558e1", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12018 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.046Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:06.046Z", + "role": "Member", + "representative": 645, + "fingerprint": "b37ffb9cd7e53c61932fa64c2d029ef06d21312a", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12019 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.051Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:06.051Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "ec4d8378365a909167b5bdcc3338242f901067f4", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12020 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.056Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:12:06.056Z", + "role": "Vice-Chair", + "representative": 645, + "fingerprint": "9a6ffd4723f163e48c76e787971ff66441224b51", + "link": "", + "begin_date": "2009-10-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12021 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.060Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:12:06.060Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "b991a64c1cdf473785999aea38b010e12a9fba54", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12022 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.065Z", + "group": 61, + "end_date": "2009-10-14", + "created": "2015-12-27T16:12:06.065Z", + "role": "Member", + "representative": 645, + "fingerprint": "a0955e184f50d81c9aa4b9f4eb4d72566425e5dc", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12023 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.069Z", + "group": 56, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.069Z", + "role": "Vice-Chair", + "representative": 645, + "fingerprint": "8419f4a1dcf5ee6f1a01352bf64f79371caa8733", + "link": "", + "begin_date": "2014-10-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12024 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.074Z", + "group": 90, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.074Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "ec593aab78065a435548dbe7471462c670424e5c", + "link": "", + "begin_date": "2014-09-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12025 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.078Z", + "group": 56, + "end_date": "2014-10-12", + "created": "2015-12-27T16:12:06.078Z", + "role": "Member", + "representative": 645, + "fingerprint": "97827156ee07f5415c5d5a32882f7fddd04f8b05", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12026 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.082Z", + "group": 90, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.082Z", + "role": "Vice-Chair", + "representative": 645, + "fingerprint": "d329ad20951f9acb665b32efe9ad2d028862e4c2", + "link": "", + "begin_date": "2009-09-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12027 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.087Z", + "group": 79, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.087Z", + "role": "Member", + "representative": 645, + "fingerprint": "e340c0a5d6fc61b285dc00283f60b3adf9c5149c", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12028 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.091Z", + "group": 64, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.091Z", + "role": "Substitute", + "representative": 645, + "fingerprint": "c60b92d8fac7e32e83685a141e2ce4ae083ca5fd", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12029 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.096Z", + "group": 90, + "end_date": "2009-09-28", + "created": "2015-12-27T16:12:06.096Z", + "role": "Member", + "representative": 645, + "fingerprint": "d2d41c927c10de3279c0b06c038bf42b37d0bfab", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12030 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.100Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.100Z", + "role": "Member", + "representative": 645, + "fingerprint": "e3ba9a35d31254865f2b171858bc16ae3e7cc7d7", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12031 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.105Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.105Z", + "role": "Member", + "representative": 645, + "fingerprint": "63b2a07566055d2d283b26d1f6b534972047d4da", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12032 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.111Z", + "group": 115, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.111Z", + "role": "", + "representative": 645, + "fingerprint": "c68b0ce0618bc2a73ec15267ac23d71b7ce829d1", + "link": "", + "begin_date": "2014-07-01", + "constituency": 109 + }, + "model": "representatives.mandate", + "pk": 12033 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.117Z", + "group": 115, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.117Z", + "role": "", + "representative": 645, + "fingerprint": "146a30bde19f194a4ef36dde0170d01a2d3cf44b", + "link": "", + "begin_date": "2009-07-14", + "constituency": 109 + }, + "model": "representatives.mandate", + "pk": 12034 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.744Z", + "group": 23, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.744Z", + "role": "Member", + "representative": 646, + "fingerprint": "f8ebe8b640453c12c2014a97c3f21b3be4de4311", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12035 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.749Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.749Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "ba34d1f080bdeb15b32733fba3ea853f6c6927e1", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12036 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.754Z", + "group": 48, + "end_date": "2014-11-11", + "created": "2015-12-27T16:12:06.754Z", + "role": "Member", + "representative": 646, + "fingerprint": "70980b92bdff996ffca2ae9e49f14416fc8e1fdc", + "link": "", + "begin_date": "2014-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12037 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.758Z", + "group": 37, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.758Z", + "role": "Vice-Chair", + "representative": 646, + "fingerprint": "9fb11134ebe1135a5a85fc749c29c505c4203b9f", + "link": "", + "begin_date": "2012-01-25", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12038 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.763Z", + "group": 58, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.763Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "4fee9dc638131583a8787a6a82ad644e8f931080", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12039 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.767Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.767Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "d658245ccd0db04cba39e9f4e2cc4a94631ded22", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12040 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.771Z", + "group": 37, + "end_date": "2012-01-24", + "created": "2015-12-27T16:12:06.771Z", + "role": "Member", + "representative": 646, + "fingerprint": "4e44a3ec08d44c3e0d25f61a7238a29320d96128", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12041 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.776Z", + "group": 37, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:06.776Z", + "role": "Vice-Chair", + "representative": 646, + "fingerprint": "1d40992ec7dfa0b33fdf78a795ef1b6eb79166bc", + "link": "", + "begin_date": "2011-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12042 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.781Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:06.781Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "4f374e3a71c1d91f9479cbf1486dfbadd0f8c81e", + "link": "", + "begin_date": "2009-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12043 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.786Z", + "group": 58, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:06.786Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "0b39303e95c69ec2459379218e7133317d028fa8", + "link": "", + "begin_date": "2009-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12044 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.790Z", + "group": 37, + "end_date": "2011-02-06", + "created": "2015-12-27T16:12:06.790Z", + "role": "Member", + "representative": 646, + "fingerprint": "0e35704affaa11d44be372ff7ad599b30ac60f14", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12045 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.794Z", + "group": 62, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.794Z", + "role": "Member", + "representative": 646, + "fingerprint": "d4e116cbf403e78ec5b2d257209e2eb6969b6954", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12046 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.799Z", + "group": 11, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.799Z", + "role": "Member", + "representative": 646, + "fingerprint": "14201bff7430ea00c819af529cafc2b2ac9babf7", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12047 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.803Z", + "group": 53, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.803Z", + "role": "Member", + "representative": 646, + "fingerprint": "882a489a8266b7922909285cb991f29277a94fdf", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12048 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.808Z", + "group": 78, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.808Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "12043047fa87551eecdc2f242637124163c3b10d", + "link": "", + "begin_date": "2014-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12049 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.814Z", + "group": 78, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.814Z", + "role": "Member", + "representative": 646, + "fingerprint": "cd29f11e4e89a387b32341282dcbdb8c64d5bfd7", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12050 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.819Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.819Z", + "role": "Substitute", + "representative": 646, + "fingerprint": "267566a411cf4f374df366dcb9d001a2b7c82ed7", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12051 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.823Z", + "group": 1, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.823Z", + "role": "Member of the Bureau", + "representative": 646, + "fingerprint": "7e395631e78ceb6ebe9856df08cfcac23747efc8", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12052 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.828Z", + "group": 1, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.828Z", + "role": "Member of the Bureau", + "representative": 646, + "fingerprint": "e276337573ccd486c13b475178a0e7a0d24a4e39", + "link": "", + "begin_date": "2011-03-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12053 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.832Z", + "group": 1, + "end_date": "2011-03-08", + "created": "2015-12-27T16:12:06.832Z", + "role": "Member", + "representative": 646, + "fingerprint": "1e34032d577dc72bfe65dab4f424c8d98b5fe0d1", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12054 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.839Z", + "group": 33, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:06.839Z", + "role": "", + "representative": 646, + "fingerprint": "f9b502b43906aa3f17a948f1f2fcbfe74d642409", + "link": "", + "begin_date": "2014-07-01", + "constituency": 39 + }, + "model": "representatives.mandate", + "pk": 12055 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:06.844Z", + "group": 33, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:06.844Z", + "role": "", + "representative": 646, + "fingerprint": "bc830be9e09c8a59c34671d8cad9f02d10490d6e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 39 + }, + "model": "representatives.mandate", + "pk": 12056 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.549Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.549Z", + "role": "Member", + "representative": 647, + "fingerprint": "32a9e8c82cf8199105248e57d3d6bdc873d925b0", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12057 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.554Z", + "group": 89, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.554Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "6253c362a3bf2f1c379a87a8083727dbfaf9df69", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12058 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.558Z", + "group": 49, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.558Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "fdc68a1c224a325c4f99c653e766802caa3d6a70", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12059 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.563Z", + "group": 48, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.563Z", + "role": "Member", + "representative": 647, + "fingerprint": "cc8397f2fd55615b4821f45994c3b234c2bc9cb0", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12060 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.567Z", + "group": 23, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.567Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "e1a9b4eafd222ec7605c578aa95153cb19c4e1ba", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12061 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.572Z", + "group": 77, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:07.572Z", + "role": "Member", + "representative": 647, + "fingerprint": "cc2362b0ffdf5315aa535ef28381c754639b72ce", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12062 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.576Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:07.576Z", + "role": "Member", + "representative": 647, + "fingerprint": "f8f6255842b4f43bfa9d2fe37f57d177a5551d76", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12063 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.581Z", + "group": 23, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:07.581Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "63080ac8c831e1b2b3bd718de3d1cbaba0d53f72", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12064 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.586Z", + "group": 4, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.586Z", + "role": "Member", + "representative": 647, + "fingerprint": "97860b1295ac5d4f8a5471d0c5f09b9536fb5a94", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12065 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.590Z", + "group": 48, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.590Z", + "role": "Member", + "representative": 647, + "fingerprint": "6e1e59066018b2d8093d5a2cf3118d5968b186a9", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12066 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.595Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.595Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "9b6f1c9ab1f1b876448f6f6b81639838448004da", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12067 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.599Z", + "group": 4, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:07.599Z", + "role": "Member", + "representative": 647, + "fingerprint": "fcd86b0925f1eed489ec3d404a6b502cddf86e3e", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12068 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.603Z", + "group": 48, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:07.603Z", + "role": "Member", + "representative": 647, + "fingerprint": "bc4884e7be0b28f3b286b7dde0e8d48fd91f9b2f", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12069 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.608Z", + "group": 5, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:07.608Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "3595ef237fc6740f1754e88506d955263362a6e2", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12070 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.612Z", + "group": 4, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:07.612Z", + "role": "Member", + "representative": 647, + "fingerprint": "c093eb010cbed1118ac8c5c78f79c6a652e83f07", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12071 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.617Z", + "group": 48, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:07.617Z", + "role": "Member", + "representative": 647, + "fingerprint": "37a23e5d71b683074b2564d564f5965770859f68", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12072 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.622Z", + "group": 5, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:07.622Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "0ae816ca9e5628a36cd1e3463522e6cc6f8184da", + "link": "", + "begin_date": "2004-07-30", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12073 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.626Z", + "group": 12, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.626Z", + "role": "Member", + "representative": 647, + "fingerprint": "f34283b7c61361c10b7c91a62c2f971cb26f8d40", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12074 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.630Z", + "group": 97, + "end_date": "2014-10-19", + "created": "2015-12-27T16:12:07.630Z", + "role": "Member", + "representative": 647, + "fingerprint": "f1027b33dd6bb80a1a2cf28bc3df2b65ff6d433a", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12075 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.635Z", + "group": 10, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.635Z", + "role": "Member", + "representative": 647, + "fingerprint": "48a850c542a0d921956ef273f62349c211865106", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12076 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.639Z", + "group": 12, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.639Z", + "role": "Member", + "representative": 647, + "fingerprint": "4fde8ef22e32b469ed3873e30b99e520f57b8851", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12077 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.644Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.644Z", + "role": "Member", + "representative": 647, + "fingerprint": "5627e369d41ffce43c001dce54067e4ce98a06f4", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12078 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.648Z", + "group": 11, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.648Z", + "role": "Member", + "representative": 647, + "fingerprint": "bcead052803832f2bbdc3d1eded8be4649e7188e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12079 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.653Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.653Z", + "role": "Member", + "representative": 647, + "fingerprint": "058488ddc7545ea5f4ce91ba7a654263f4bcb574", + "link": "", + "begin_date": "2012-12-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12080 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.658Z", + "group": 12, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.658Z", + "role": "Member", + "representative": 647, + "fingerprint": "c93c7e3597652d88407df1512f0fd032d6128b52", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12081 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.662Z", + "group": 14, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.662Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "56bd7684f166f94b24b5d06b9e7f127c2c7e9678", + "link": "", + "begin_date": "2007-03-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12082 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.666Z", + "group": 53, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.666Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "39911e1a1ab350f238aa404488554ec036b47172", + "link": "", + "begin_date": "2007-03-26", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12083 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.670Z", + "group": 16, + "end_date": "2007-03-14", + "created": "2015-12-27T16:12:07.670Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "939074267fbfcdf92694eba6a8337cf2ecda5f7a", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12084 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.675Z", + "group": 86, + "end_date": "2007-03-14", + "created": "2015-12-27T16:12:07.675Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "b67731672953e872278893edd27f87bbeb4bc679", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12085 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.680Z", + "group": 12, + "end_date": "2007-03-13", + "created": "2015-12-27T16:12:07.680Z", + "role": "Member", + "representative": 647, + "fingerprint": "9484c580aab91b84e6e46a1cf82bcdb6080ed4cf", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12086 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.685Z", + "group": 86, + "end_date": "2007-03-13", + "created": "2015-12-27T16:12:07.685Z", + "role": "Substitute", + "representative": 647, + "fingerprint": "2c596d8825649b29f6eab2f591a3f0813d6b49d3", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12087 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.690Z", + "group": 12, + "end_date": "2004-02-11", + "created": "2015-12-27T16:12:07.690Z", + "role": "Member", + "representative": 647, + "fingerprint": "b158d4a087bb90a299d6915e2e30797a91c41149", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12088 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.694Z", + "group": 12, + "end_date": "2002-01-14", + "created": "2015-12-27T16:12:07.694Z", + "role": "Member", + "representative": 647, + "fingerprint": "a4a5d00b0158119d3956135ab631c1316cbb5b13", + "link": "", + "begin_date": "1999-09-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12089 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.698Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.698Z", + "role": "Member", + "representative": 647, + "fingerprint": "a6793e5e9cc33986667268e34d6e8550a349f5b3", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12090 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.702Z", + "group": 17, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.702Z", + "role": "Member", + "representative": 647, + "fingerprint": "97b50f5ec75f1546b703476f503371856dc4ae1c", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12091 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.708Z", + "group": 17, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.708Z", + "role": "Member of the Bureau", + "representative": 647, + "fingerprint": "d1049240c53e0c542279d25f243cc6e7b9f22d75", + "link": "", + "begin_date": "2006-02-27", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12092 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.712Z", + "group": 17, + "end_date": "2007-02-26", + "created": "2015-12-27T16:12:07.712Z", + "role": "Member", + "representative": 647, + "fingerprint": "635096e0f528517cee733009718263131389bb7d", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12093 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.716Z", + "group": 144, + "end_date": "2004-02-11", + "created": "2015-12-27T16:12:07.716Z", + "role": "Member of the Bureau", + "representative": 647, + "fingerprint": "167ad9737717b3118f24411bc39f970c36436b0f", + "link": "", + "begin_date": "2003-06-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12094 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.721Z", + "group": 144, + "end_date": "2003-06-11", + "created": "2015-12-27T16:12:07.721Z", + "role": "Member", + "representative": 647, + "fingerprint": "4e905d78a4f15c9e6a738ecabb045958cd490ef7", + "link": "", + "begin_date": "1999-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12095 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.726Z", + "group": 98, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:07.726Z", + "role": "", + "representative": 647, + "fingerprint": "3cc7206eb820f59c7632c40bcf4a45167c1d3347", + "link": "", + "begin_date": "2014-07-01", + "constituency": 237 + }, + "model": "representatives.mandate", + "pk": 12096 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.732Z", + "group": 98, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:07.732Z", + "role": "", + "representative": 647, + "fingerprint": "abd858015047b5add442f35233280f1ac53d5ac8", + "link": "", + "begin_date": "2009-07-14", + "constituency": 237 + }, + "model": "representatives.mandate", + "pk": 12097 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.738Z", + "group": 98, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:07.738Z", + "role": "", + "representative": 647, + "fingerprint": "4e4074a07fa9b1fc49ca70dfbf79b3d664a01e87", + "link": "", + "begin_date": "2004-07-20", + "constituency": 237 + }, + "model": "representatives.mandate", + "pk": 12098 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:07.744Z", + "group": 98, + "end_date": "2004-02-11", + "created": "2015-12-27T16:12:07.744Z", + "role": "", + "representative": 647, + "fingerprint": "022cbc9be760ed89e1a850ea337ed6f613cb7ade", + "link": "", + "begin_date": "1999-07-20", + "constituency": 277 + }, + "model": "representatives.mandate", + "pk": 12099 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.314Z", + "group": 49, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.314Z", + "role": "Vice-Chair", + "representative": 650, + "fingerprint": "724d4b59b411da2bf27c4bd972849bb83f75b5ba", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12120 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.319Z", + "group": 23, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.319Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "5df43e4a2a993061b8189830eb9c883e81fe52c6", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12121 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.323Z", + "group": 55, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.323Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "a16a65712de81a056cfc4fb7834e8b406ab43295", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12122 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.328Z", + "group": 49, + "end_date": "2014-07-06", + "created": "2015-12-27T16:12:10.328Z", + "role": "Member", + "representative": 650, + "fingerprint": "e8f118c652eada32206a4fdbae582ea1d24e572a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12123 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.332Z", + "group": 49, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.332Z", + "role": "Vice-Chair", + "representative": 650, + "fingerprint": "3ce1a61340ef2006e06fe105efe084a1bb13ee1c", + "link": "", + "begin_date": "2012-01-25", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12124 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.336Z", + "group": 23, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.336Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "d70903a9fb64ff78a8ea38da84627f171e3453ce", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12125 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.341Z", + "group": 49, + "end_date": "2012-01-24", + "created": "2015-12-27T16:12:10.341Z", + "role": "Member", + "representative": 650, + "fingerprint": "d88b7a18ecb01552d2f62fea8dae03f4a1324666", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12126 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.346Z", + "group": 49, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:10.346Z", + "role": "Vice-Chair", + "representative": 650, + "fingerprint": "3ced99fd4627354b2f50410846e35521f6892f83", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12127 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.350Z", + "group": 23, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:10.350Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "0a574827e01399e2d84c26f5231c8590731f1929", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12128 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.355Z", + "group": 72, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.355Z", + "role": "Member", + "representative": 650, + "fingerprint": "46da37084f15391fdc9b66046f1666d38daeb76d", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12129 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.360Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.360Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "e4694bc46253b42efd0d8cd7b910ee65e84b4cad", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12130 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.364Z", + "group": 51, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.364Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "789c14596fc91fb559eba8f7c6aae6c7c446fe69", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12131 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.368Z", + "group": 51, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.368Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "9f6360f22877f89d0f3541d00d68a467179cde88", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12132 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.373Z", + "group": 95, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.373Z", + "role": "Substitute", + "representative": 650, + "fingerprint": "6c1529bda17e69706f3aafbbdacb236c29a3a39a", + "link": "", + "begin_date": "2011-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12133 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.377Z", + "group": 16, + "end_date": "2011-09-14", + "created": "2015-12-27T16:12:10.377Z", + "role": "Member", + "representative": 650, + "fingerprint": "036489aa0d02dff21ee08e0f1729d195bd489e5a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12134 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.382Z", + "group": 84, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.382Z", + "role": "Member", + "representative": 650, + "fingerprint": "a093cf813ea27c0ef25d9a45a2c9cd1f36389ad5", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12135 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.387Z", + "group": 84, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.386Z", + "role": "Member", + "representative": 650, + "fingerprint": "e41fe0e327bb896f7471c32497833a8b962b06ce", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12136 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.392Z", + "group": 110, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.392Z", + "role": "", + "representative": 650, + "fingerprint": "b862bfecb19cfa027c78f284ae9ef968b6f9ec1b", + "link": "", + "begin_date": "2014-07-01", + "constituency": 123 + }, + "model": "representatives.mandate", + "pk": 12137 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.398Z", + "group": 110, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.398Z", + "role": "", + "representative": 650, + "fingerprint": "489cc575b274dfac23aa5e3f8732d236b364382e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 123 + }, + "model": "representatives.mandate", + "pk": 12138 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.566Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.566Z", + "role": "Member", + "representative": 651, + "fingerprint": "e6e6adbba1af46675e1bfd5b281defaccca11195", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12139 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.571Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.571Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "afca1e03af8af2cb2ad35751eeef220d542ce8e5", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12140 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.575Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.575Z", + "role": "Member", + "representative": 651, + "fingerprint": "59f8aaaa6383887b74f063e0e332f9a358d2f208", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12141 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.580Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.580Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "41c64f71d3628896172e769342cce6dc4e2171a6", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12142 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.584Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:10.584Z", + "role": "Member", + "representative": 651, + "fingerprint": "f94c273b2ab3adac637ea767ebb7cbbd20c9de4c", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12143 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.589Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:10.589Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "516985256ed93dd2b8433a902969c85351010c5c", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12144 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.593Z", + "group": 114, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.593Z", + "role": "Member", + "representative": 651, + "fingerprint": "c8fd9748401bfcfe1afcbf58b41ac0968f401dd3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12145 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.598Z", + "group": 63, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.598Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "d619e49582bf2bc1658484f785633b9dc9ea62c3", + "link": "", + "begin_date": "2014-10-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12146 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.602Z", + "group": 51, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.602Z", + "role": "Member", + "representative": 651, + "fingerprint": "3d21813a72e6cc504a5b765942da5fe432a68202", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12147 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.607Z", + "group": 94, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.607Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "942d4b90a16a7d7773cc107f7b6ed9a05474e4fd", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12148 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.611Z", + "group": 86, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.611Z", + "role": "Substitute", + "representative": 651, + "fingerprint": "2262b9af5adfbf0626c36445b4f0d7f795528e24", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12149 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.616Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.616Z", + "role": "Member", + "representative": 651, + "fingerprint": "0d0f11fac208efa3167ccc30327e028233b99cdc", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12150 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.620Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.620Z", + "role": "Member", + "representative": 651, + "fingerprint": "0b883f3ff55d282efc58d23b799af163b2545b8d", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12151 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.627Z", + "group": 22, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:10.627Z", + "role": "", + "representative": 651, + "fingerprint": "6f7ed277176eb7ced847a9101de9c36bca2abd11", + "link": "", + "begin_date": "2014-07-01", + "constituency": 5 + }, + "model": "representatives.mandate", + "pk": 12152 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:10.633Z", + "group": 22, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:10.633Z", + "role": "", + "representative": 651, + "fingerprint": "bcbca080c5a938ed0be10d4273a5ca893fb7ed6a", + "link": "", + "begin_date": "2009-07-14", + "constituency": 5 + }, + "model": "representatives.mandate", + "pk": 12153 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.045Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.045Z", + "role": "Member", + "representative": 653, + "fingerprint": "0fd5465217bf930e035c3122675c70c2a59bc543", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12160 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.050Z", + "group": 4, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.050Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "7788e4e1129d34d59b3d9081cf59af4a0fc194a7", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12161 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.054Z", + "group": 4, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.054Z", + "role": "Member", + "representative": 653, + "fingerprint": "e598d76f2b86a8027673fb0ff34fd4f67486264b", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12162 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.059Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.059Z", + "role": "Member", + "representative": 653, + "fingerprint": "16863d0902ee32333cdfd966e717b9c9475c208c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12163 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.064Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:13.064Z", + "role": "Member", + "representative": 653, + "fingerprint": "20d29de389626cd73a585f0a8c1be289643965cc", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12164 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.069Z", + "group": 4, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:13.068Z", + "role": "Member", + "representative": 653, + "fingerprint": "04c225c095098ebce90eaad740545b9d2bafd21b", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12165 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.074Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.074Z", + "role": "Member", + "representative": 653, + "fingerprint": "962162cf7806efa18b8c66dccf0c289881116445", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12166 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.078Z", + "group": 4, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.078Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "026af94660fc01e12fa520c476a9281b76d71958", + "link": "", + "begin_date": "2007-02-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12167 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.083Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.083Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "ae9eaf0e1c596093a48f1126bc410279264a43ac", + "link": "", + "begin_date": "2008-06-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12168 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.087Z", + "group": 30, + "end_date": "2008-06-03", + "created": "2015-12-27T16:12:13.087Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "404275a8150e3e3a8c83636b94e5350630ec59bb", + "link": "", + "begin_date": "2007-02-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12169 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.092Z", + "group": 4, + "end_date": "2007-02-11", + "created": "2015-12-27T16:12:13.092Z", + "role": "Member", + "representative": 653, + "fingerprint": "da380af7a3f614b89ea716e71f1c9776865e1e70", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12170 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.096Z", + "group": 4, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:13.096Z", + "role": "Vice-Chair", + "representative": 653, + "fingerprint": "e71bc363c59047a2b4040f1aef922876f50ad8dd", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12171 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.101Z", + "group": 5, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:13.101Z", + "role": "Member", + "representative": 653, + "fingerprint": "f5d37494239e263d0930300a797139e33a2803c0", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12172 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.108Z", + "group": 30, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:13.108Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "e9951d93a6de63018cec6e0aa73e787d77ac5b3a", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12173 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.112Z", + "group": 4, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:13.112Z", + "role": "Vice-Chair", + "representative": 653, + "fingerprint": "82ee61ea33006a6e45a7909d66deb02853eeb464", + "link": "", + "begin_date": "2004-09-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12174 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.117Z", + "group": 5, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:13.117Z", + "role": "Member", + "representative": 653, + "fingerprint": "cc7e9159196fc1e2166a12acd16792a16c8f1f33", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12175 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.122Z", + "group": 30, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:13.122Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "7e1b325bb26d6cad28f4e03627eddb231ebf7be8", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12176 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.126Z", + "group": 4, + "end_date": "2004-08-31", + "created": "2015-12-27T16:12:13.126Z", + "role": "Member", + "representative": 653, + "fingerprint": "912c1a3dbe7bed2aae52e1ce4b0ca550218ff729", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12177 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.131Z", + "group": 30, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:13.131Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "96870773eb8ba1125ee873bd059d8ddf38fef4bd", + "link": "", + "begin_date": "2002-01-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12178 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.136Z", + "group": 30, + "end_date": "2002-01-14", + "created": "2015-12-27T16:12:13.136Z", + "role": "Member", + "representative": 653, + "fingerprint": "a705cfcdf5f67066674aad8fcded5090b91d4324", + "link": "", + "begin_date": "1999-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12179 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.140Z", + "group": 14, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.140Z", + "role": "Member", + "representative": 653, + "fingerprint": "02dcb6ed50e58e1b4427c0523fbfb10cfd41c397", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12180 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.145Z", + "group": 11, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.145Z", + "role": "Member", + "representative": 653, + "fingerprint": "1b2277e9507cd22a6fe8c76369af53c6b7e2c7a3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12181 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.150Z", + "group": 135, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.149Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "31f142033121a14b214e158d63a954e77cbda296", + "link": "", + "begin_date": "2014-10-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12182 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.154Z", + "group": 118, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.154Z", + "role": "Vice-Chair", + "representative": 653, + "fingerprint": "99ea1bf12e911bd760158a3520103328dbf732ee", + "link": "", + "begin_date": "2009-09-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12183 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.158Z", + "group": 11, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.158Z", + "role": "Member", + "representative": 653, + "fingerprint": "0f14eca66d50af46a9ed629cb4420c874171fced", + "link": "", + "begin_date": "2012-03-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12184 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.163Z", + "group": 10, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.163Z", + "role": "Member", + "representative": 653, + "fingerprint": "5627ec5486f002ed392b20cd4643c5badf4b3147", + "link": "", + "begin_date": "2012-03-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12185 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.167Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.167Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "9ac6728b1b229b07183c968b3a77be318aab44e3", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12186 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.172Z", + "group": 28, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.172Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "e59a895faf8a1536aef54af5db50c1bba46933cd", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12187 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.176Z", + "group": 73, + "end_date": "2012-03-27", + "created": "2015-12-27T16:12:13.176Z", + "role": "Member", + "representative": 653, + "fingerprint": "6d0a3a3b698fa29cb967499e894ecd2e010780bb", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12188 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.181Z", + "group": 118, + "end_date": "2009-09-28", + "created": "2015-12-27T16:12:13.181Z", + "role": "Member", + "representative": 653, + "fingerprint": "faef9301b3147dca8aa256d4ae2666fea48b6cbb", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12189 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.185Z", + "group": 28, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.185Z", + "role": "Vice-Chair", + "representative": 653, + "fingerprint": "d0e0501ed8995729e9727e967db8580d612e8358", + "link": "", + "begin_date": "2004-09-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12190 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.190Z", + "group": 73, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.190Z", + "role": "Member", + "representative": 653, + "fingerprint": "e347c600946b298a9c19fa99329ed0570cbf75a5", + "link": "", + "begin_date": "2007-09-03", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12191 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.195Z", + "group": 11, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.195Z", + "role": "Member", + "representative": 653, + "fingerprint": "245945831b54edb552bdc89fa91e61f40a1f4e8d", + "link": "", + "begin_date": "2008-02-18", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12192 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.200Z", + "group": 56, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.200Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "71373c33c9f22e19f4c8a8bbd65ec77fb66a8ccb", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12193 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.204Z", + "group": 12, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.204Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "926d97aefb367f31d0e3a9492e7831c8e7ea7ddd", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12194 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.209Z", + "group": 73, + "end_date": "2007-09-02", + "created": "2015-12-27T16:12:13.209Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "6d333c6d6c92e2e56b17499edb61224c6c31af9b", + "link": "", + "begin_date": "2007-03-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12195 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.213Z", + "group": 12, + "end_date": "2007-03-13", + "created": "2015-12-27T16:12:13.213Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "6818d00d9502fa1947cbef8e3e01a9f8b37bc19e", + "link": "", + "begin_date": "2004-09-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12196 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.218Z", + "group": 28, + "end_date": "2004-09-20", + "created": "2015-12-27T16:12:13.218Z", + "role": "Member", + "representative": 653, + "fingerprint": "febf2e0b9535c5a2fb6d6d1301f83ff6a9d69ad9", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12197 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.222Z", + "group": 154, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:13.222Z", + "role": "Member", + "representative": 653, + "fingerprint": "03f47680fa5c1cc0be64c355959c110ed8bc53a0", + "link": "", + "begin_date": "2002-10-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12198 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.227Z", + "group": 56, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:13.227Z", + "role": "Member", + "representative": 653, + "fingerprint": "6d1fcf23e06d0f94eafee56a3ae9761e5753c084", + "link": "", + "begin_date": "2003-09-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12199 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.232Z", + "group": 124, + "end_date": "2004-04-30", + "created": "2015-12-27T16:12:13.231Z", + "role": "Member", + "representative": 653, + "fingerprint": "bf901d5d7606c49f0aab3a534717a011e42e2725", + "link": "", + "begin_date": "2002-02-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12200 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.236Z", + "group": 173, + "end_date": "2004-04-30", + "created": "2015-12-27T16:12:13.236Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "1f83e625d3af6600514cde51e720a64dcb344b49", + "link": "", + "begin_date": "2002-03-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12201 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.241Z", + "group": 136, + "end_date": "2002-10-20", + "created": "2015-12-27T16:12:13.241Z", + "role": "Member", + "representative": 653, + "fingerprint": "ac9a8dc20f8c9a40fc9351c670eef737c1358019", + "link": "", + "begin_date": "2002-03-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12202 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.245Z", + "group": 124, + "end_date": "2002-01-14", + "created": "2015-12-27T16:12:13.245Z", + "role": "Member", + "representative": 653, + "fingerprint": "5b89c86e16226a01f622b4e5dcd38dde0c99bc28", + "link": "", + "begin_date": "1999-10-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12203 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.250Z", + "group": 105, + "end_date": "2002-01-14", + "created": "2015-12-27T16:12:13.250Z", + "role": "Substitute", + "representative": 653, + "fingerprint": "ff23da3a37198a8123fefcf91ac30c6906ee7435", + "link": "", + "begin_date": "1999-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12204 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.254Z", + "group": 1, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.254Z", + "role": "Member", + "representative": 653, + "fingerprint": "4a800e1d6338ec909c8cc621ed00ed138dcf12fa", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12205 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.259Z", + "group": 1, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.259Z", + "role": "Member", + "representative": 653, + "fingerprint": "b089bae5011df3c7865660a35b64cf4a34bcdbc4", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12206 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.264Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.264Z", + "role": "Member", + "representative": 653, + "fingerprint": "6f727d8d76fb230784e5606c15ca0f6e76199117", + "link": "", + "begin_date": "2008-01-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12207 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.269Z", + "group": 54, + "end_date": "2008-01-07", + "created": "2015-12-27T16:12:13.269Z", + "role": "Member of the Bureau", + "representative": 653, + "fingerprint": "2f6ad569b87909be00db5ca72f76f20930ca3fd8", + "link": "", + "begin_date": "2006-02-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12208 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.273Z", + "group": 54, + "end_date": "2006-02-05", + "created": "2015-12-27T16:12:13.273Z", + "role": "Member", + "representative": 653, + "fingerprint": "5635c3e731959a6d50ce54e77bce0db94e347d76", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12209 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.278Z", + "group": 54, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:13.278Z", + "role": "Member", + "representative": 653, + "fingerprint": "26d9833d27f6927c997f6cb9f36c9f673ad8b0e0", + "link": "", + "begin_date": "1999-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12210 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.284Z", + "group": 33, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:13.284Z", + "role": "", + "representative": 653, + "fingerprint": "b138d7909035a5b5ac2915c943350deb35186af3", + "link": "", + "begin_date": "2014-07-01", + "constituency": 39 + }, + "model": "representatives.mandate", + "pk": 12211 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.290Z", + "group": 33, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:13.290Z", + "role": "", + "representative": 653, + "fingerprint": "bca3c8580ea5914095a3f20e0afc33c7516a5de1", + "link": "", + "begin_date": "2009-07-14", + "constituency": 39 + }, + "model": "representatives.mandate", + "pk": 12212 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.296Z", + "group": 33, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:13.296Z", + "role": "", + "representative": 653, + "fingerprint": "f726ecf92c707aa622f4841d2e7b42306e7a8f48", + "link": "", + "begin_date": "2004-07-20", + "constituency": 40 + }, + "model": "representatives.mandate", + "pk": 12213 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:13.302Z", + "group": 33, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:13.302Z", + "role": "", + "representative": 653, + "fingerprint": "78db12f47f2a909ef2a2d3a41495fc4871cda0c8", + "link": "", + "begin_date": "1999-07-20", + "constituency": 40 + }, + "model": "representatives.mandate", + "pk": 12214 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.380Z", + "group": 34, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.380Z", + "role": "Member", + "representative": 655, + "fingerprint": "d3ec61285eae231d8f13be670ffe3a5cae031665", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12220 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.386Z", + "group": 20, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.386Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "38414caaa4439a4f363b1c51f45773d5a5d1504a", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12221 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.391Z", + "group": 8, + "end_date": "2015-09-07", + "created": "2015-12-27T16:12:15.390Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "2809af61101b331f354400336ad040c72cfe28d9", + "link": "", + "begin_date": "2015-05-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12222 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.395Z", + "group": 34, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.395Z", + "role": "Vice-Chair", + "representative": 655, + "fingerprint": "29680f26487e92c5d372b2ee26e01942a2bd4433", + "link": "", + "begin_date": "2013-02-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12223 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.400Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.400Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "9116a1cd6a7e2c28ffdd16516b5ddbebd297be0b", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12224 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.404Z", + "group": 34, + "end_date": "2013-02-19", + "created": "2015-12-27T16:12:15.404Z", + "role": "Member", + "representative": 655, + "fingerprint": "7a89b76a84c1a0d67f7b9d99ee96b71e71c8a6d3", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12225 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.409Z", + "group": 34, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:15.409Z", + "role": "Member", + "representative": 655, + "fingerprint": "1e1eda354f5165d06f7d1bfa37122742f774bafe", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12226 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.414Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:15.414Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "734be2a354acb5f7689a3dd2d7ab5cef469544fd", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12227 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.420Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:12:15.420Z", + "role": "Member", + "representative": 655, + "fingerprint": "d5c49cf28c7717fdb7efde011414daebcee0f5eb", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12228 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.425Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.425Z", + "role": "Member", + "representative": 655, + "fingerprint": "49d4e3f9cf2a06b7b9d7a0d6604cf5f2cd6b23a0", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12229 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.430Z", + "group": 73, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.430Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "24006ccfab11ca5d51ceecfc7c4c82f79f6842ea", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12230 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.436Z", + "group": 73, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.436Z", + "role": "Member", + "representative": 655, + "fingerprint": "943c750b014602d6375409785f0328f2bbb969f4", + "link": "", + "begin_date": "2011-12-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12231 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.442Z", + "group": 107, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.442Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "f5c3b1692a047c8a319df4ae34dbad649aec315d", + "link": "", + "begin_date": "2012-02-02", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12232 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.448Z", + "group": 51, + "end_date": "2012-02-01", + "created": "2015-12-27T16:12:15.448Z", + "role": "Substitute", + "representative": 655, + "fingerprint": "5188187b56127a7d4b7faa5e7c65cb5a04fce6c5", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12233 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.454Z", + "group": 64, + "end_date": "2011-12-13", + "created": "2015-12-27T16:12:15.454Z", + "role": "Member", + "representative": 655, + "fingerprint": "7818400920e6ad0bfc2becf4af0211b26069ffd1", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12234 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.459Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.459Z", + "role": "Member", + "representative": 655, + "fingerprint": "faeabc3de22590143ea4720c2d2bcc3005f3e623", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12235 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.464Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.464Z", + "role": "Member", + "representative": 655, + "fingerprint": "cc7992feb00f53c4e36d792e9033f06cae4fcf6b", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12236 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.470Z", + "group": 91, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:15.470Z", + "role": "", + "representative": 655, + "fingerprint": "497907fdd0fb7e12b4a436b24dab87bbfff865ec", + "link": "", + "begin_date": "2014-07-01", + "constituency": 173 + }, + "model": "representatives.mandate", + "pk": 12237 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:15.477Z", + "group": 91, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:15.477Z", + "role": "", + "representative": 655, + "fingerprint": "ca7f8c6aa0c0bcea3be0110b0f2473cf65b441b1", + "link": "", + "begin_date": "2009-07-14", + "constituency": 173 + }, + "model": "representatives.mandate", + "pk": 12238 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.957Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:21.957Z", + "role": "Member", + "representative": 661, + "fingerprint": "c44c5a224ff103671b39ec4ab2c1684cc15a5321", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12287 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.964Z", + "group": 49, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:21.964Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "16ee8701eba873920723a829a96b6d61a560f4e0", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12288 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.971Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:21.971Z", + "role": "Member", + "representative": 661, + "fingerprint": "2fe6c0a4288c43b9aa86fcd3b801a7206224a7f6", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12289 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.979Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:21.979Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "1da93ef44ec7ab01c819edcfbbf7e43302bec14c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12290 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.984Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:21.984Z", + "role": "Member", + "representative": 661, + "fingerprint": "dac373f011223906c8dff9ec98612cd8e944e908", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12291 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.989Z", + "group": 68, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:21.989Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "de056a43f07be584d2bbae006f4b9bcc83ec363a", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12292 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.993Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:12:21.993Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "1902f0de58a0f1eed65932e51953f52130e169c2", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12293 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:21.997Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:21.997Z", + "role": "Member", + "representative": 661, + "fingerprint": "33f9651001e4438a2ccd11704ab0ddfb499e6d6b", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12294 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.002Z", + "group": 12, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:22.002Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "2c4ea29ebde2a95a12b1614d60ada1225fbf00f7", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12295 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.006Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:22.006Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "9857bd66a3f4da1c61063ffea3bfc632dff13642", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12296 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.011Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:22.011Z", + "role": "Member", + "representative": 661, + "fingerprint": "df3d96355e1e740a206bec3b0497fbadb7b9ef2a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12297 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.015Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:22.015Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "80722ab16060d9eded4659b8c811d674d69c3c69", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12298 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.019Z", + "group": 12, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:22.019Z", + "role": "Substitute", + "representative": 661, + "fingerprint": "4ea9bd52259ea2515962174e8bb0166e197404f1", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12299 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.024Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:22.024Z", + "role": "Member", + "representative": 661, + "fingerprint": "a8892307caf798bb86ea01e85aacd8ff6650e2af", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12300 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.028Z", + "group": 17, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:22.028Z", + "role": "Member of the Bureau", + "representative": 661, + "fingerprint": "9627a3978b87bdd582ad39b6e411c909b7a9cd06", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12301 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.033Z", + "group": 17, + "end_date": "2009-07-19", + "created": "2015-12-27T16:12:22.033Z", + "role": "Member", + "representative": 661, + "fingerprint": "e6007459c5ba142047e38c7905441c7b7df88aef", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12302 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.040Z", + "group": 91, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:22.040Z", + "role": "", + "representative": 661, + "fingerprint": "5a69cf3830b9e95657e6916dc9b8b40e5e37c401", + "link": "", + "begin_date": "2014-07-21", + "constituency": 281 + }, + "model": "representatives.mandate", + "pk": 12303 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.046Z", + "group": 91, + "end_date": "2014-07-20", + "created": "2015-12-27T16:12:22.046Z", + "role": "", + "representative": 661, + "fingerprint": "f696bfc9627c2c1bd40485966a4b489baa0fdf3d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 282 + }, + "model": "representatives.mandate", + "pk": 12304 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.052Z", + "group": 91, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:22.052Z", + "role": "", + "representative": 661, + "fingerprint": "2f8565f9cf2107d3316c0558e6a4d6afac86ec26", + "link": "", + "begin_date": "2009-09-25", + "constituency": 281 + }, + "model": "representatives.mandate", + "pk": 12305 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:22.058Z", + "group": 91, + "end_date": "2009-09-24", + "created": "2015-12-27T16:12:22.058Z", + "role": "", + "representative": 661, + "fingerprint": "0a8dabbd331dfee091327485beb35083429a7800", + "link": "", + "begin_date": "2009-07-14", + "constituency": 282 + }, + "model": "representatives.mandate", + "pk": 12306 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.292Z", + "group": 23, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.292Z", + "role": "Member", + "representative": 666, + "fingerprint": "9e1aa6f5a380f2664163790b3bf82397de61980e", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12354 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.297Z", + "group": 47, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.297Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "e2af2ea8c76bebf572e4215eaa328485c49a1794", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12355 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.302Z", + "group": 23, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.302Z", + "role": "Member", + "representative": 666, + "fingerprint": "9851737b39f7284658516bcb3992f70718955cda", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12356 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.307Z", + "group": 48, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.307Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "f317916a7c520fad83e2864bed21738142e32bff", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12357 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.312Z", + "group": 23, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:32.312Z", + "role": "Member", + "representative": 666, + "fingerprint": "68e7ed154cdac1e0d64afac89df60082cbc12196", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12358 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.317Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:32.317Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "7cc90d505aa32a711bab44697fe4ff058a58ea9a", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12359 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.323Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:12:32.323Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "41651f7cf17ce4e13bab232066914fd0366a7c4d", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12360 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.328Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.328Z", + "role": "Member", + "representative": 666, + "fingerprint": "17404c48a54f41f368c46d1f161829306fe3361b", + "link": "", + "begin_date": "2007-06-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12361 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.333Z", + "group": 23, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.333Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "77bc3a241b45cc528765e0edf83957a4bbdd7441", + "link": "", + "begin_date": "2007-06-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12362 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.337Z", + "group": 56, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.337Z", + "role": "Member", + "representative": 666, + "fingerprint": "476ee3188a7502fa3b02d3bdb712266adfd4519f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12363 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.343Z", + "group": 119, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.343Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "ed90331afe845c326de28d82a27d0a442b48275a", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12364 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.348Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.348Z", + "role": "Vice-Chair", + "representative": 666, + "fingerprint": "6e8f28f3739cc3babd38f030eeaf396fedc82723", + "link": "", + "begin_date": "2013-01-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12365 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.353Z", + "group": 133, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.353Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "d859fad2ce7a816aed732b79c4f492756effb696", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12366 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.358Z", + "group": 39, + "end_date": "2013-01-15", + "created": "2015-12-27T16:12:32.358Z", + "role": "Member", + "representative": 666, + "fingerprint": "f9c69580eece80833bcec7a8b19c74df05ec0d47", + "link": "", + "begin_date": "2012-12-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12367 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.363Z", + "group": 56, + "end_date": "2012-12-10", + "created": "2015-12-27T16:12:32.363Z", + "role": "Member", + "representative": 666, + "fingerprint": "a7bcfc1347696331bb59009ab55f4316d8a1471a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12368 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.367Z", + "group": 29, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.367Z", + "role": "Member", + "representative": 666, + "fingerprint": "1f03a1fdda44ee9cfd2850699aac99725d189d1b", + "link": "", + "begin_date": "2007-07-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12369 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.372Z", + "group": 133, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.372Z", + "role": "Substitute", + "representative": 666, + "fingerprint": "09422b2bb5b7792e13aa9a2542bcd905378831e9", + "link": "", + "begin_date": "2007-07-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12370 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.376Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.376Z", + "role": "Member", + "representative": 666, + "fingerprint": "d3cf7941728911ffbc61412e08aa3bfe214455f7", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12371 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.381Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.381Z", + "role": "Member", + "representative": 666, + "fingerprint": "841f8754f2520b0564d82d82aba277b176fe3868", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12372 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.386Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.386Z", + "role": "Member", + "representative": 666, + "fingerprint": "128e96fca76bdbcc6144de5ead4a12a84b024760", + "link": "", + "begin_date": "2007-06-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12373 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.393Z", + "group": 117, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:32.393Z", + "role": "", + "representative": 666, + "fingerprint": "e93b83ee3d2579a755726e1af6567af5bb8e9613", + "link": "", + "begin_date": "2014-07-01", + "constituency": 164 + }, + "model": "representatives.mandate", + "pk": 12374 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.399Z", + "group": 117, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:32.398Z", + "role": "", + "representative": 666, + "fingerprint": "282355f5c090162a0b8e8a68fc159667f5a7de74", + "link": "", + "begin_date": "2009-07-14", + "constituency": 164 + }, + "model": "representatives.mandate", + "pk": 12375 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:32.404Z", + "group": 117, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:32.404Z", + "role": "", + "representative": 666, + "fingerprint": "3ae5790039e60b46079ce7c63d13d9a5192f7686", + "link": "", + "begin_date": "2007-06-06", + "constituency": 164 + }, + "model": "representatives.mandate", + "pk": 12376 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.490Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.490Z", + "role": "Member", + "representative": 670, + "fingerprint": "3724bfaa4cfa77ba16f5f829412613a91193fd7f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12399 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.495Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.495Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "1bddf2876f9ee509be9dbdfe968b468ab3f98430", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12400 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.500Z", + "group": 8, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.500Z", + "role": "Chair", + "representative": 670, + "fingerprint": "593f9063178540979f1709bffcd0a0d66046109d", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12401 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.507Z", + "group": 89, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.507Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "40b78e45711b004b1071983612ac1895434d00e7", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12402 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.513Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.513Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "7d08901e2080d7fdb8cd58bae73ad89fe2906dee", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12403 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.523Z", + "group": 8, + "end_date": "2012-01-22", + "created": "2015-12-27T16:12:35.523Z", + "role": "Member", + "representative": 670, + "fingerprint": "e43bf7d678f59dba6a3eb0035446b662a7f28e03", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12404 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.531Z", + "group": 8, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:35.531Z", + "role": "Chair", + "representative": 670, + "fingerprint": "dfe519cf88f5e2973fb9c17ee34eaeb87f808815", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12405 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.536Z", + "group": 89, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:35.536Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "4273890ec3c69d492f29c11f696133140496c3a8", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12406 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.541Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:35.541Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "8355d80e9c7f380fdfc18a52c702664420c706ae", + "link": "", + "begin_date": "2010-09-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12407 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.545Z", + "group": 30, + "end_date": "2010-09-19", + "created": "2015-12-27T16:12:35.545Z", + "role": "Member", + "representative": 670, + "fingerprint": "b3682cfaa75f7a84f873e28ae2484125a9dac740", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12408 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.551Z", + "group": 8, + "end_date": "2009-07-19", + "created": "2015-12-27T16:12:35.551Z", + "role": "Member", + "representative": 670, + "fingerprint": "b963277d64a4c5428c6b872e6c6f782fb61d76a7", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12409 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.557Z", + "group": 95, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.557Z", + "role": "Vice-Chair", + "representative": 670, + "fingerprint": "adef957078f6ae8154a90b4d4269be96853c2a3e", + "link": "", + "begin_date": "2014-10-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12410 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.562Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.562Z", + "role": "Member", + "representative": 670, + "fingerprint": "3c9b1cc2c7713b666098db0cdfd32597a2c63185", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12411 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.567Z", + "group": 114, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.567Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "f0b959a58b3ecd181bb40a82188bc0e8bc1b2afa", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12412 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.572Z", + "group": 95, + "end_date": "2014-10-15", + "created": "2015-12-27T16:12:35.572Z", + "role": "Member", + "representative": 670, + "fingerprint": "7e7eefd840733d981335a53e6f9de7668eb2b0de", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12413 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.578Z", + "group": 16, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.578Z", + "role": "Member", + "representative": 670, + "fingerprint": "ae82888346a00dc34de59ef654a725941e5f5e50", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12414 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.585Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.585Z", + "role": "Substitute", + "representative": 670, + "fingerprint": "7d2c824735381456e0d991f17bc89c4da00b7f91", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12415 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.591Z", + "group": 84, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.591Z", + "role": "Member", + "representative": 670, + "fingerprint": "ec44e6da0121fbedc10f95a69f9e054e5e9fc34c", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12416 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.598Z", + "group": 84, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.598Z", + "role": "Member", + "representative": 670, + "fingerprint": "9dcb7f279ad6dfffd675f8c497fd541d5a39deac", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12417 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.606Z", + "group": 110, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:35.606Z", + "role": "", + "representative": 670, + "fingerprint": "09ee33631b33fd3b7473c20c991c686d46c007da", + "link": "", + "begin_date": "2014-07-01", + "constituency": 123 + }, + "model": "representatives.mandate", + "pk": 12418 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.614Z", + "group": 110, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.614Z", + "role": "", + "representative": 670, + "fingerprint": "743634dcf76eb53758e00f5d0a8b2db0e2d9df36", + "link": "", + "begin_date": "2009-07-14", + "constituency": 123 + }, + "model": "representatives.mandate", + "pk": 12419 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.620Z", + "group": 80, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:35.620Z", + "role": "Member", + "representative": 670, + "fingerprint": "9adfe57c38caf4fdcfe9306a9af1588472191aa0", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12420 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:35.625Z", + "group": 80, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:35.624Z", + "role": "Member", + "representative": 670, + "fingerprint": "b4c3d2800f28947b883cda49860c8adc0dbc9939", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12421 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.699Z", + "group": 24, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.699Z", + "role": "Member", + "representative": 678, + "fingerprint": "11dd27c00410f69c7d8a6a559acfc67eb0e8020e", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12481 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.703Z", + "group": 89, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.703Z", + "role": "Member", + "representative": 678, + "fingerprint": "bb4f5eda222be2230c229e4f630ba9b6a6b57e1d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12482 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.708Z", + "group": 34, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.708Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "0b8a49b9eae8da256c337aed7dccf7217971ec76", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12483 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.713Z", + "group": 89, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.713Z", + "role": "Vice-Chair", + "representative": 678, + "fingerprint": "c5b3e2917d41aab24b633765ad03c9eaa562930d", + "link": "", + "begin_date": "2013-01-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12484 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.717Z", + "group": 24, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.717Z", + "role": "Member", + "representative": 678, + "fingerprint": "a09b4f7add25aeaa046c7a2b0bb678ad0e40b975", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12485 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.722Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.722Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "47876cedbf7f2332202cd117247df3de86ba9faf", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12486 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.727Z", + "group": 89, + "end_date": "2013-01-21", + "created": "2015-12-27T16:12:43.726Z", + "role": "Member", + "representative": 678, + "fingerprint": "f6185806c8fa59e79c25c7bdb79abe09a3fcc951", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12487 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.731Z", + "group": 89, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:43.731Z", + "role": "Vice-Chair", + "representative": 678, + "fingerprint": "422a159becadd8b567ca6556c87fff3e8b114fb3", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12488 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.736Z", + "group": 24, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:43.736Z", + "role": "Member", + "representative": 678, + "fingerprint": "45eb38ccc090eea15d7fded526ffa21f5396c3bc", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12489 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.741Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:43.741Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "d5db6345009fb2f18eacc827218f613eff175580", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12490 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.746Z", + "group": 6, + "end_date": "2011-02-14", + "created": "2015-12-27T16:12:43.746Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "1bab173266d977e538d6b200851f74de2df5459b", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12491 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.751Z", + "group": 89, + "end_date": "2009-07-19", + "created": "2015-12-27T16:12:43.751Z", + "role": "Member", + "representative": 678, + "fingerprint": "4c875a835004efc2f0e8ad7b78f4eb48438395fe", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12492 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.755Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.755Z", + "role": "Member", + "representative": 678, + "fingerprint": "005db886c396a49a783efce30b552acb3825f56f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12493 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.760Z", + "group": 12, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.760Z", + "role": "Member", + "representative": 678, + "fingerprint": "ed7ab6ff9f23e6318d930bbdc477460f8214d751", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12494 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.765Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.765Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "800a12829e37733e8f71c3ed3616ca17a38a5c4f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12495 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.770Z", + "group": 56, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.770Z", + "role": "Member", + "representative": 678, + "fingerprint": "59544e2bd8adafb7a31cc358ad993bb98f8ca47d", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12496 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.774Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.774Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "67c92a3ae37874385783375920ebe29dff25ca2c", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12497 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.779Z", + "group": 28, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.779Z", + "role": "Substitute", + "representative": 678, + "fingerprint": "83ad224747e075a094066c6d68217234ea39d768", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12498 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.783Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.783Z", + "role": "Member", + "representative": 678, + "fingerprint": "3e2cc507a54169909d712d2ade92ea25f1dcca6d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12499 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.788Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.788Z", + "role": "Member", + "representative": 678, + "fingerprint": "e8c2aa6bf5cec8b1e4466f215c4cf03da21f3268", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12500 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.794Z", + "group": 85, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:43.794Z", + "role": "", + "representative": 678, + "fingerprint": "e9bcff3f84d1fb33e8883ae29965383e77d0cef9", + "link": "", + "begin_date": "2014-07-01", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12501 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:43.800Z", + "group": 85, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:43.800Z", + "role": "", + "representative": 678, + "fingerprint": "47282cbbf54f799308a2c96a1cb38ee1e4b42aad", + "link": "", + "begin_date": "2009-07-14", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12502 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.685Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:44.685Z", + "role": "Vice-Chair", + "representative": 679, + "fingerprint": "e65726bdb29243e0ee7426e439c58126bdf921d6", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12503 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.690Z", + "group": 4, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:44.690Z", + "role": "Member", + "representative": 679, + "fingerprint": "c1a5001be7896991cf21eb76cf3e2c6029a41b31", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12504 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.695Z", + "group": 8, + "end_date": "2014-07-08", + "created": "2015-12-27T16:12:44.695Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "d4be91888928a8a3b56a03a98b6ac46f44073de2", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12505 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.700Z", + "group": 7, + "end_date": "2014-07-06", + "created": "2015-12-27T16:12:44.700Z", + "role": "Member", + "representative": 679, + "fingerprint": "e5ce9176fc91c352e2fb18dff72af04dbc6cde74", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12506 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.705Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.705Z", + "role": "Vice-Chair", + "representative": 679, + "fingerprint": "63940400acb2a8b6aa12ad9bfa4b15eba4950d8c", + "link": "", + "begin_date": "2012-01-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12507 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.711Z", + "group": 4, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.711Z", + "role": "Member", + "representative": 679, + "fingerprint": "b814a369fc45077dc818f8c59e3278185aedbe3a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12508 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.717Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.717Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "ae4e8e09ff295805b6292c0cdef065250595e94c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12509 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.721Z", + "group": 7, + "end_date": "2012-01-22", + "created": "2015-12-27T16:12:44.721Z", + "role": "Member", + "representative": 679, + "fingerprint": "9175f596aca75055d720ce60b92f2e3424dd35d1", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12510 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.726Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:44.726Z", + "role": "Vice-Chair", + "representative": 679, + "fingerprint": "7a88eee0c1be729c4e8e756a5e369c13e89cf043", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12511 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.736Z", + "group": 4, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:44.736Z", + "role": "Member", + "representative": 679, + "fingerprint": "7023a472d2705dd8a2d5a6bb4c1ce839da2c421f", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12512 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.741Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:44.741Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "f8caa744122d40091edd8b4603c446c63e66a91f", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12513 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.748Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.748Z", + "role": "Vice-Chair", + "representative": 679, + "fingerprint": "ac78fd9915d2a496d011f763a16f379f40e04782", + "link": "", + "begin_date": "2007-02-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12514 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.754Z", + "group": 4, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.754Z", + "role": "Member", + "representative": 679, + "fingerprint": "e33aec4100c0b66b092527fa6f6cbc9d877a11a7", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12515 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.760Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.760Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "bfc1c5039558bd7ab159442b08edbd3b117dfd64", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12516 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.766Z", + "group": 7, + "end_date": "2007-01-31", + "created": "2015-12-27T16:12:44.766Z", + "role": "Member", + "representative": 679, + "fingerprint": "b2fbecb6a9b41207b81c54f8ad7cf06d0dbcf770", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12517 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.773Z", + "group": 7, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:44.773Z", + "role": "Member", + "representative": 679, + "fingerprint": "238123855f21b1cd2b6f924d9628cd1bfb7d57c3", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12518 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.782Z", + "group": 4, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:44.782Z", + "role": "Member", + "representative": 679, + "fingerprint": "787df4aa5a87a6f79ba5dc6b227be1bcca9f868a", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12519 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.787Z", + "group": 5, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:44.787Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "d530af958c7b7b209d00bb86113798e28723a799", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12520 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.792Z", + "group": 7, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:44.792Z", + "role": "Member", + "representative": 679, + "fingerprint": "50902293238581a83d474621d5cff1c963e139c5", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12521 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.797Z", + "group": 4, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:44.797Z", + "role": "Member", + "representative": 679, + "fingerprint": "310cc074505a22c92c135a16dca34e23e2a97238", + "link": "", + "begin_date": "2004-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12522 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.803Z", + "group": 5, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:44.803Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "b1cd696e81d0b0acc9a2543a0553f137a24eb701", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12523 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.808Z", + "group": 9, + "end_date": "2004-09-15", + "created": "2015-12-27T16:12:44.808Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "3188a726b61e01af92368704a52585b4ac825a07", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12524 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.814Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:44.814Z", + "role": "Member", + "representative": 679, + "fingerprint": "98ca7aad14e965089a453c80c7233e0e409f7ac8", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12525 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.819Z", + "group": 82, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.819Z", + "role": "Member", + "representative": 679, + "fingerprint": "42ef8e35f06329364fa9ac88afa42a7de0dd6ad8", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12526 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.824Z", + "group": 73, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.824Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "987b9bf7404f40e0cc4f73b23e6ac79446c7d0b8", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12527 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.830Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.830Z", + "role": "Substitute", + "representative": 679, + "fingerprint": "64d9c34dd6ec72b5bb3fd1a657b9d82eb7775d6e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12528 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.835Z", + "group": 111, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.835Z", + "role": "Member", + "representative": 679, + "fingerprint": "300075855f4240387ee5a1ed7f23914c1149f037", + "link": "", + "begin_date": "2007-03-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12529 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.840Z", + "group": 96, + "end_date": "2006-12-31", + "created": "2015-12-27T16:12:44.840Z", + "role": "Vice-Chair", + "representative": 679, + "fingerprint": "8c9875e7aa61c9988dd7bb685e5ae6560622040c", + "link": "", + "begin_date": "2004-09-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12530 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.846Z", + "group": 96, + "end_date": "2004-09-19", + "created": "2015-12-27T16:12:44.846Z", + "role": "Member", + "representative": 679, + "fingerprint": "23f33513dfd8c8b706ef5eb9065a070867b40c87", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12531 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.851Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:44.851Z", + "role": "Member", + "representative": 679, + "fingerprint": "5c9cdd4e2255930cb8e0b4a22c1e86a89319dc0d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12532 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.856Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.856Z", + "role": "Member", + "representative": 679, + "fingerprint": "46bd72a96937398bfe75d89e41fd873d4f2d78d8", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12533 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.861Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.861Z", + "role": "Member", + "representative": 679, + "fingerprint": "875fe87dfb2386f505623a6c5a7b3b9b1bae0759", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12534 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.866Z", + "group": 85, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:44.866Z", + "role": "", + "representative": 679, + "fingerprint": "c9356e487aa10b555a9505979a21b59d1c63488f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12535 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.872Z", + "group": 85, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:44.872Z", + "role": "", + "representative": 679, + "fingerprint": "2f4e8555a029f5038be6bf13ba3884b1d6a27e1f", + "link": "", + "begin_date": "2009-07-14", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12536 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:44.879Z", + "group": 85, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:44.879Z", + "role": "", + "representative": 679, + "fingerprint": "3324d36daba4f8f0e827afa4fb4cda1299c95a20", + "link": "", + "begin_date": "2004-07-20", + "constituency": 42 + }, + "model": "representatives.mandate", + "pk": 12537 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.551Z", + "group": 9, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.551Z", + "role": "Vice-Chair", + "representative": 681, + "fingerprint": "8118e1cf1b3b688d3e8f1c4a33e10015abf74b6f", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12546 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.556Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.556Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "b74936c31d2a6e5cfeeb797ff11b797b3812baf0", + "link": "", + "begin_date": "2015-09-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12547 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.560Z", + "group": 20, + "end_date": "2015-08-31", + "created": "2015-12-27T16:12:47.560Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "1ab641d9595b2aa756abd7715b0f293e27478a6d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12548 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.565Z", + "group": 9, + "end_date": "2014-07-06", + "created": "2015-12-27T16:12:47.565Z", + "role": "Member", + "representative": 681, + "fingerprint": "f7dc5482703dc2857014fd49a6ca11f8849e8cbd", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12549 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.570Z", + "group": 20, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.570Z", + "role": "Member", + "representative": 681, + "fingerprint": "85ce8578470061f89815dce5d8ac1e65142df7c5", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12550 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.574Z", + "group": 9, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.574Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "7a8d334a5d958b9f423822563638da9ec40ddbb5", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12551 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.580Z", + "group": 20, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:47.580Z", + "role": "Member", + "representative": 681, + "fingerprint": "d3258dac19643a2343d22588155fb7e288027822", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12552 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.586Z", + "group": 9, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:47.586Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "7ea3b943aa49cf794a2eb8d3b22db6eefc6b9d24", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12553 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.591Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:47.591Z", + "role": "Member", + "representative": 681, + "fingerprint": "1244d4e4799069ab0f21ea6fe8fd0b44097b1988", + "link": "", + "begin_date": "2008-01-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12554 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.595Z", + "group": 20, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:47.595Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "0e431be49a76938d022a5ff2031f7777be5759bc", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12555 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.600Z", + "group": 7, + "end_date": "2008-01-21", + "created": "2015-12-27T16:12:47.600Z", + "role": "Chair", + "representative": 681, + "fingerprint": "6ce3019df02f2af173dff957a80e1c6438495c56", + "link": "", + "begin_date": "2007-02-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12556 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.605Z", + "group": 7, + "end_date": "2007-01-31", + "created": "2015-12-27T16:12:47.605Z", + "role": "Member", + "representative": 681, + "fingerprint": "d503445f7e4e870e6944309afbde738d15a03430", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12557 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.609Z", + "group": 7, + "end_date": "2007-01-30", + "created": "2015-12-27T16:12:47.609Z", + "role": "Chair", + "representative": 681, + "fingerprint": "b373d7c3d2f765c166802cfbff4aca793bc88a81", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12558 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.614Z", + "group": 7, + "end_date": "2007-01-14", + "created": "2015-12-27T16:12:47.614Z", + "role": "Chair", + "representative": 681, + "fingerprint": "d4fb7a11f389947c4c070df92cbb6fe4c1915a24", + "link": "", + "begin_date": "2005-02-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12559 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.619Z", + "group": 30, + "end_date": "2005-05-24", + "created": "2015-12-27T16:12:47.619Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "3cfda11d9cc4a1b35485943c5444ce5597ed2b45", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12560 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.624Z", + "group": 49, + "end_date": "2005-02-23", + "created": "2015-12-27T16:12:47.624Z", + "role": "Vice-Chair", + "representative": 681, + "fingerprint": "bb8d740677416188f782cd286248d865f01e8044", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12561 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.628Z", + "group": 7, + "end_date": "2005-02-20", + "created": "2015-12-27T16:12:47.628Z", + "role": "Member", + "representative": 681, + "fingerprint": "f34c57e433adf36273e5b086600eea4978774c29", + "link": "", + "begin_date": "2005-01-26", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12562 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.633Z", + "group": 49, + "end_date": "2004-07-21", + "created": "2015-12-27T16:12:47.633Z", + "role": "Member", + "representative": 681, + "fingerprint": "31c23e58fdc0ca8aee0f58b6e9afeb8c4308e4ef", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12563 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.638Z", + "group": 114, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.638Z", + "role": "Member", + "representative": 681, + "fingerprint": "197a2754765b658a5c60b58a0880bfa7da3e3fcc", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12564 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.642Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.642Z", + "role": "Member", + "representative": 681, + "fingerprint": "fa95afb51b2f5c7944494770d96630558a01c057", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12565 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.648Z", + "group": 14, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.648Z", + "role": "Member", + "representative": 681, + "fingerprint": "24bbd90dcdc8d1eddfa028f45e1bf3c68113d29b", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12566 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.652Z", + "group": 11, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.652Z", + "role": "Member", + "representative": 681, + "fingerprint": "3817ccfef1be908dba8ac2a84aa7f5b0ff9f242e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12567 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.657Z", + "group": 10, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.657Z", + "role": "Substitute", + "representative": 681, + "fingerprint": "6474ec1318e6087387e346d8270ab7378e14091e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12568 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.661Z", + "group": 56, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:47.661Z", + "role": "Member", + "representative": 681, + "fingerprint": "70cef72bbf72b53a330776abf276f3beafa80b6a", + "link": "", + "begin_date": "2007-03-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12569 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.666Z", + "group": 96, + "end_date": "2006-12-31", + "created": "2015-12-27T16:12:47.666Z", + "role": "Member", + "representative": 681, + "fingerprint": "f2e5657c8b23bd96cff59d7105168c8b31fa1267", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12570 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.670Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.670Z", + "role": "Member", + "representative": 681, + "fingerprint": "13c954896191900b8860dd919b04562bcb70ad6d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12571 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.676Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.676Z", + "role": "Member of the Bureau", + "representative": 681, + "fingerprint": "119e0bfcbebf360ad3d636b405837370f9370441", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12572 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.680Z", + "group": 18, + "end_date": "2009-09-15", + "created": "2015-12-27T16:12:47.680Z", + "role": "Member", + "representative": 681, + "fingerprint": "db8bb3543ceb0b4033e0ee2c55c2da5362c09aee", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12573 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.685Z", + "group": 17, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:47.685Z", + "role": "Member of the Bureau", + "representative": 681, + "fingerprint": "0cb1fd09998be5911455f164c1c9a5317b52d79e", + "link": "", + "begin_date": "2005-05-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12574 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.690Z", + "group": 17, + "end_date": "2005-05-08", + "created": "2015-12-27T16:12:47.690Z", + "role": "Member", + "representative": 681, + "fingerprint": "3aa8aa43f7d86863de71eff761c5d69be4638d23", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12575 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.697Z", + "group": 110, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:47.697Z", + "role": "", + "representative": 681, + "fingerprint": "b95bc00722a7e45d08ec115eb96336bc779f0740", + "link": "", + "begin_date": "2015-09-02", + "constituency": 285 + }, + "model": "representatives.mandate", + "pk": 12576 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.704Z", + "group": 110, + "end_date": "2015-09-01", + "created": "2015-12-27T16:12:47.704Z", + "role": "", + "representative": 681, + "fingerprint": "200e3c06c58d830449143f5cddf133e8d15f5a71", + "link": "", + "begin_date": "2015-07-01", + "constituency": 14 + }, + "model": "representatives.mandate", + "pk": 12577 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.711Z", + "group": 110, + "end_date": "2015-06-30", + "created": "2015-12-27T16:12:47.711Z", + "role": "", + "representative": 681, + "fingerprint": "39d54120ab57f20e0830ebc9bfeec7560df2a23b", + "link": "", + "begin_date": "2015-01-22", + "constituency": 286 + }, + "model": "representatives.mandate", + "pk": 12578 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.720Z", + "group": 110, + "end_date": "2015-01-21", + "created": "2015-12-27T16:12:47.720Z", + "role": "", + "representative": 681, + "fingerprint": "b0152978722efa3a0a70730168df9163379374f4", + "link": "", + "begin_date": "2014-07-01", + "constituency": 287 + }, + "model": "representatives.mandate", + "pk": 12579 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.726Z", + "group": 110, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:47.726Z", + "role": "", + "representative": 681, + "fingerprint": "816b7814fc040865f403964803f10eefe3e1c365", + "link": "", + "begin_date": "2009-07-14", + "constituency": 288 + }, + "model": "representatives.mandate", + "pk": 12580 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.734Z", + "group": 110, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:47.734Z", + "role": "", + "representative": 681, + "fingerprint": "52f30c7cfcd84292196ba854012ec02ace447a93", + "link": "", + "begin_date": "2008-07-16", + "constituency": 289 + }, + "model": "representatives.mandate", + "pk": 12581 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.741Z", + "group": 110, + "end_date": "2008-07-15", + "created": "2015-12-27T16:12:47.741Z", + "role": "", + "representative": 681, + "fingerprint": "15fbc497f6a4cf5a3ad8cca5a911d6e1885b894f", + "link": "", + "begin_date": "2008-03-28", + "constituency": 290 + }, + "model": "representatives.mandate", + "pk": 12582 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.749Z", + "group": 110, + "end_date": "2008-03-27", + "created": "2015-12-27T16:12:47.749Z", + "role": "", + "representative": 681, + "fingerprint": "a0b3eecd3bcd52a59978bafd3acd9e74b315762e", + "link": "", + "begin_date": "2004-07-20", + "constituency": 81 + }, + "model": "representatives.mandate", + "pk": 12583 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.754Z", + "group": 80, + "end_date": "2008-01-21", + "created": "2015-12-27T16:12:47.754Z", + "role": "Member", + "representative": 681, + "fingerprint": "b25363e2274d3d830a4054b5917fc9bc7300f0de", + "link": "", + "begin_date": "2007-02-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12584 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:47.759Z", + "group": 80, + "end_date": "2007-01-15", + "created": "2015-12-27T16:12:47.759Z", + "role": "Member", + "representative": 681, + "fingerprint": "9ef9ae3be4151a1eb25b5ef828abef3d48db4ac7", + "link": "", + "begin_date": "2005-02-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12585 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.030Z", + "group": 20, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.030Z", + "role": "Member", + "representative": 684, + "fingerprint": "9b40bc606f8d9a553472db8f057e3f3f7c847181", + "link": "", + "begin_date": "2015-09-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12601 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.035Z", + "group": 47, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.035Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "8055aefe231e7550588f56a8a958ae45d529531f", + "link": "", + "begin_date": "2015-08-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12602 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.040Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.040Z", + "role": "Member", + "representative": 684, + "fingerprint": "167a745f0fb3773da6bfb3e22f74a9e73b084e9a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12603 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.044Z", + "group": 6, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.044Z", + "role": "Member", + "representative": 684, + "fingerprint": "552908abe4f5aafe7d0ee65f53da68bd86d99e90", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12604 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.049Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.049Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "87f265fe11a1692e11ee128156e6218ea37ad37f", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12605 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.054Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:51.054Z", + "role": "Member", + "representative": 684, + "fingerprint": "3032ea971ca53ec95534775f8e6904e6d1cce938", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12606 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.059Z", + "group": 6, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:51.059Z", + "role": "Member", + "representative": 684, + "fingerprint": "86860cabec30f6fc2a74abacf172389e42f6aa21", + "link": "", + "begin_date": "2012-01-18", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12607 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.064Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:51.064Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "87d20d9830806e646413c684c269c6d2632a20fe", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12608 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.070Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:12:51.070Z", + "role": "Member", + "representative": 684, + "fingerprint": "9bfc24b281955242f4fba92cd8e03dfef264825e", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12609 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.075Z", + "group": 135, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.075Z", + "role": "Member", + "representative": 684, + "fingerprint": "361de748a7ed578fd6b66c52a3d356d09d7f0dac", + "link": "", + "begin_date": "2015-09-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12610 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.079Z", + "group": 92, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.079Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "d204ce4ed33885809af219dbf3bde88b1b022e56", + "link": "", + "begin_date": "2015-08-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12611 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.084Z", + "group": 82, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.084Z", + "role": "Member", + "representative": 684, + "fingerprint": "9c4e404715ed55e2c15d48c05420a73513588c4b", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12612 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.088Z", + "group": 28, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.088Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "386a2c1ce4705b6c94476fba8226bbbcfc86988c", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12613 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.093Z", + "group": 56, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.093Z", + "role": "Substitute", + "representative": 684, + "fingerprint": "015fd0dec6c44ec7ad2e430939db54f7caedb6ee", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12614 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.098Z", + "group": 42, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.098Z", + "role": "Member", + "representative": 684, + "fingerprint": "9fe15fdc08f6b339b2350560dbab5bc7b079abc2", + "link": "", + "begin_date": "2015-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12615 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.102Z", + "group": 42, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.102Z", + "role": "Member of the Bureau", + "representative": 684, + "fingerprint": "ce0c968d6e3ccfd593d763a53927987c9c507f22", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12616 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.107Z", + "group": 43, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:51.107Z", + "role": "Member", + "representative": 684, + "fingerprint": "36748291a3400b7afa8428cbdaa3e64c24aca5f9", + "link": "", + "begin_date": "2004-04-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12617 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.113Z", + "group": 134, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:51.113Z", + "role": "", + "representative": 684, + "fingerprint": "b3aff6938d4eeca5bab552f8e90756cf0c4e9cc3", + "link": "", + "begin_date": "2015-09-02", + "constituency": 291 + }, + "model": "representatives.mandate", + "pk": 12618 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.119Z", + "group": 134, + "end_date": "2015-09-01", + "created": "2015-12-27T16:12:51.119Z", + "role": "", + "representative": 684, + "fingerprint": "5d30bfa02a12a509e230a7b59f656f89e8bda3d0", + "link": "", + "begin_date": "2015-07-20", + "constituency": 120 + }, + "model": "representatives.mandate", + "pk": 12619 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.126Z", + "group": 134, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:51.126Z", + "role": "", + "representative": 684, + "fingerprint": "b7c591ed8f0a98eed8cf5dd78aeffd0c02bb067b", + "link": "", + "begin_date": "2009-07-14", + "constituency": 120 + }, + "model": "representatives.mandate", + "pk": 12620 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:51.132Z", + "group": 134, + "end_date": "2004-07-19", + "created": "2015-12-27T16:12:51.132Z", + "role": "", + "representative": 684, + "fingerprint": "3f1ed4504037e41c0b23229011fbe15ef5bcaabb", + "link": "", + "begin_date": "2004-04-15", + "constituency": 292 + }, + "model": "representatives.mandate", + "pk": 12621 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.842Z", + "group": 47, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.842Z", + "role": "Vice-Chair", + "representative": 692, + "fingerprint": "46b1bc7e65f979311a40d6401c829f8de4e9c878", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12686 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.847Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.847Z", + "role": "Member", + "representative": 692, + "fingerprint": "7bfaa1214a8ccc34c9ff7162bcb0b88d1bbb6403", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12687 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.851Z", + "group": 24, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.851Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "a6a24df0180c615b054f0a56d71f95ff0a2ebdad", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12688 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.856Z", + "group": 47, + "end_date": "2014-07-06", + "created": "2015-12-27T16:12:59.856Z", + "role": "Member", + "representative": 692, + "fingerprint": "31d44e44aff8be074de0e215da0bea0a22b623ef", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12689 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.861Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.861Z", + "role": "Member", + "representative": 692, + "fingerprint": "2efcaabe1be67ce4768d8e0bbeed95c0c06b2eba", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12690 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.866Z", + "group": 24, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.866Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "6d0e1a0f56b4f103226e3e2dc975c237e2326263", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12691 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.871Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:59.871Z", + "role": "Member", + "representative": 692, + "fingerprint": "332063e5e5aa217fbac4590dd9dcdb1ffd633339", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12692 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.876Z", + "group": 24, + "end_date": "2012-01-18", + "created": "2015-12-27T16:12:59.876Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "77107277c1e8f652202c090f4dfa5098be427652", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12693 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.881Z", + "group": 34, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.881Z", + "role": "Member", + "representative": 692, + "fingerprint": "b5bffffe3a3998acdb6ba2c2e75e96a551594742", + "link": "", + "begin_date": "2009-02-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12694 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.886Z", + "group": 89, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.886Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "860f0a49dea1c238715503a3e9b68327c26e5e2e", + "link": "", + "begin_date": "2009-02-03", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12695 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.890Z", + "group": 78, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.890Z", + "role": "Member", + "representative": 692, + "fingerprint": "6fba1d899722bd6fae54065a4c0ee2b14e1a087f", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12696 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.894Z", + "group": 39, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.894Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "c04851cd05e16590e253d6710fc4d83112a614b6", + "link": "", + "begin_date": "2014-09-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12697 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.899Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.899Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "653f0a0ed28a2ed8dcb6928dcc845f894d1aeca1", + "link": "", + "begin_date": "2015-03-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12698 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.904Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.904Z", + "role": "Member", + "representative": 692, + "fingerprint": "efd6ffe1e7f25b14751f9c4c56fe1ae8dfd21d3f", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12699 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.908Z", + "group": 114, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.908Z", + "role": "Member", + "representative": 692, + "fingerprint": "c8e163b052a594951ce6ec79210b480e852dc909", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12700 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.913Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.913Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "d4149ce58a0bb42984397a961f5fb0cc3f94f577", + "link": "", + "begin_date": "2010-05-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12701 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.918Z", + "group": 129, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.918Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "caf424a4e424a94aa3dcdd5be98081100e8188a2", + "link": "", + "begin_date": "2012-05-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12702 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.922Z", + "group": 133, + "end_date": "2012-05-20", + "created": "2015-12-27T16:12:59.922Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "ec09c26d89204f90f495596f3d3481525691f2eb", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12703 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.926Z", + "group": 12, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.926Z", + "role": "Member", + "representative": 692, + "fingerprint": "3c428845826678864e237b0dac5e9dc8e00e7936", + "link": "", + "begin_date": "2009-02-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12704 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.931Z", + "group": 114, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.931Z", + "role": "Substitute", + "representative": 692, + "fingerprint": "5723f6370dac9bbd188a78903ec1fa620a463baf", + "link": "", + "begin_date": "2009-02-03", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12705 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.936Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.936Z", + "role": "Member", + "representative": 692, + "fingerprint": "ff67a5425fb62cb02b4440e8d51dec0a1064fc48", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12706 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.941Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.941Z", + "role": "Member", + "representative": 692, + "fingerprint": "b77729cae6a4f60050fc1e6cc1b3918433fca340", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12707 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.946Z", + "group": 41, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.946Z", + "role": "Member", + "representative": 692, + "fingerprint": "dfda901a3cc22b0cfbaf95656c6db7cc30d5a85a", + "link": "", + "begin_date": "2009-01-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12708 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.952Z", + "group": 19, + "end_date": "9999-12-31", + "created": "2015-12-27T16:12:59.952Z", + "role": "", + "representative": 692, + "fingerprint": "9c17590f54a6ba17428f9f873514e91749972ad8", + "link": "", + "begin_date": "2014-07-01", + "constituency": 73 + }, + "model": "representatives.mandate", + "pk": 12709 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.958Z", + "group": 19, + "end_date": "2014-06-30", + "created": "2015-12-27T16:12:59.958Z", + "role": "", + "representative": 692, + "fingerprint": "da97d8a25551abe9ee14db5b0b4e7380d07e045e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 73 + }, + "model": "representatives.mandate", + "pk": 12710 +}, +{ + "fields": { + "updated": "2015-12-27T16:12:59.965Z", + "group": 19, + "end_date": "2009-07-13", + "created": "2015-12-27T16:12:59.965Z", + "role": "", + "representative": 692, + "fingerprint": "ed6ed402aa51ce0b464637906c01addc32e2112c", + "link": "", + "begin_date": "2009-01-21", + "constituency": 73 + }, + "model": "representatives.mandate", + "pk": 12711 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.360Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.360Z", + "role": "Member", + "representative": 697, + "fingerprint": "bab70a6c22e81f9b50c6f7e9441fb566045dc82e", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12755 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.365Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.365Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "48709bdb57232aa9c449b1e11c3b352fa8fa9b2c", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12756 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.370Z", + "group": 8, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.370Z", + "role": "Member", + "representative": 697, + "fingerprint": "202168bd6ffb1a9ea4bf21e4117cc1fa927f5ffb", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12757 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.375Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.375Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "8c28054a89cbb70820ea8779383581384202428a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12758 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.380Z", + "group": 8, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:05.380Z", + "role": "Member", + "representative": 697, + "fingerprint": "3cab75123aa4bb9b4c35dc412fb11d3aed1961e1", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12759 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.385Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:05.385Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "d613a422db81da40f75b65887662f0be14fbc605", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12760 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.392Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:13:05.392Z", + "role": "Member", + "representative": 697, + "fingerprint": "52895267e9b990ab63724237fa7d82e366bac53f", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12761 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.397Z", + "group": 135, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.397Z", + "role": "Member", + "representative": 697, + "fingerprint": "1e5a9e75294a38fda219f4acb06dc486172397f1", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12762 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.402Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.402Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "18e72b8256f96815b24af7f37ca57a85a73e5e24", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12763 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.407Z", + "group": 114, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.407Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "2fe2ac55ddf6d92623df36aea4bcd127309f09b7", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12764 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.413Z", + "group": 121, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.413Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "a218669e7d813e96a0bc124af402a57c678c8cd4", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12765 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.418Z", + "group": 114, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.418Z", + "role": "Member", + "representative": 697, + "fingerprint": "f39fdce4e81a12682e3779df06680d935842c078", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12766 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.425Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.425Z", + "role": "Member", + "representative": 697, + "fingerprint": "78f1d272cc4b3a34bce67f097e1be4e720aa7733", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12767 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.430Z", + "group": 79, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.430Z", + "role": "Substitute", + "representative": 697, + "fingerprint": "5357292b8856d0ed54c6fc37a185492c4c2f270a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12768 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.436Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.435Z", + "role": "Member", + "representative": 697, + "fingerprint": "f05ce1ee7707179d8554ec9ee9f26577c904305b", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12769 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.441Z", + "group": 17, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.441Z", + "role": "Member of the Bureau", + "representative": 697, + "fingerprint": "653ed2637927cc4c1c9c299ed7db30d01a25bd62", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12770 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.447Z", + "group": 17, + "end_date": "2009-07-19", + "created": "2015-12-27T16:13:05.447Z", + "role": "Member", + "representative": 697, + "fingerprint": "e5722e7d79804632102c8dfb3de22fb5b9f4f338", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12771 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.456Z", + "group": 120, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:05.456Z", + "role": "", + "representative": 697, + "fingerprint": "8627e793b0ca72fbbc1e6df003af9d2d3b3dc766", + "link": "", + "begin_date": "2014-07-01", + "constituency": 296 + }, + "model": "representatives.mandate", + "pk": 12772 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:05.466Z", + "group": 120, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:05.466Z", + "role": "", + "representative": 697, + "fingerprint": "9b21b084d8183c48c5762eb40588d0bea012c16a", + "link": "", + "begin_date": "2009-07-14", + "constituency": 297 + }, + "model": "representatives.mandate", + "pk": 12773 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.186Z", + "group": 34, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.186Z", + "role": "Member", + "representative": 699, + "fingerprint": "33847c902e7cb37fdf45acb55876d3d2c8f4aaaa", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12783 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.192Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.191Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "50dbce480cd5e0fe7dfc04cb1ad16118ec096970", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12784 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.196Z", + "group": 34, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.196Z", + "role": "Member", + "representative": 699, + "fingerprint": "506c0272d7c454b568d915345695319ca25a407e", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12785 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.201Z", + "group": 48, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.201Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "7a8dd0766db8a0c48376e948852dbeecb4133285", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12786 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.206Z", + "group": 34, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:09.206Z", + "role": "Member", + "representative": 699, + "fingerprint": "f9985bcd4296f6f464ac1ee738b9f7f60e232dcf", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12787 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.210Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:09.210Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "dddcfdbd65b5ba7f1ad6347b2fa08e95c2084b83", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12788 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.215Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:13:09.215Z", + "role": "Member", + "representative": 699, + "fingerprint": "dfe612d5ff5401924f9d42717cfe6473a44f5db6", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12789 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.220Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.220Z", + "role": "Member", + "representative": 699, + "fingerprint": "0c79ddb43eff3dea4d87ca48871488402d4266cf", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12790 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.224Z", + "group": 63, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.224Z", + "role": "Member", + "representative": 699, + "fingerprint": "b9f369eaab0789b4b3dca0e603bad9c3045fa3d1", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12791 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.229Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.229Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "4b9ff1ce6a476ae8a8185d8631139b7d42a64dc3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12792 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.233Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.233Z", + "role": "Member", + "representative": 699, + "fingerprint": "9990d302a4e903da8af6548588a7f530edd94792", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12793 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.238Z", + "group": 73, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.238Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "4b25042373082fc480ec66d5d17dc8ef63d9e08a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12794 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.242Z", + "group": 16, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.242Z", + "role": "Substitute", + "representative": 699, + "fingerprint": "e1e6754b38ed2cce38c4903312c02266352c0df3", + "link": "", + "begin_date": "2010-03-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12795 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.247Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.247Z", + "role": "Member", + "representative": 699, + "fingerprint": "c6954d826b00479a014a2d8d3178785f104d0739", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12796 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.252Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.252Z", + "role": "Member", + "representative": 699, + "fingerprint": "d516d3db034968fb163215275b037bfe4e6b109c", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12797 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.257Z", + "group": 109, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:09.257Z", + "role": "", + "representative": 699, + "fingerprint": "3c0ea4aa85714872f33f5acb4f07399ac2633d50", + "link": "", + "begin_date": "2014-07-01", + "constituency": 144 + }, + "model": "representatives.mandate", + "pk": 12798 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:09.263Z", + "group": 109, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:09.263Z", + "role": "", + "representative": 699, + "fingerprint": "564c5a627c2d33d39a5c1143b4c4a7190a30474e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 144 + }, + "model": "representatives.mandate", + "pk": 12799 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.447Z", + "group": 58, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.447Z", + "role": "Member", + "representative": 705, + "fingerprint": "17282399d7c787d1d322c797414e4acaf1d9695a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12876 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.451Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.451Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "81ca6c0a9bb82c15c035ce585a26b9654451131a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12877 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.455Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.455Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "b6bfc22d4a4b84b004fa3166cabf16436a27d0f2", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12878 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.460Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.460Z", + "role": "Member", + "representative": 705, + "fingerprint": "6a5f5872ee092f24bfca3bca32a12035c7e9edd3", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12879 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.464Z", + "group": 58, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.464Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "72d3a91c0d5be0a856683dc3a83da1a8e1210b41", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12880 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.469Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:25.469Z", + "role": "Member", + "representative": 705, + "fingerprint": "94b7f290aef723ac479e1cc8c39a82b382ee4477", + "link": "", + "begin_date": "2010-10-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12881 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.473Z", + "group": 58, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:25.473Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "b6aea28a082f5fdaac96dfb7f583a2598d928548", + "link": "", + "begin_date": "2011-12-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12882 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.478Z", + "group": 3, + "end_date": "2011-12-13", + "created": "2015-12-27T16:13:25.478Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "1e67438f897add475a4520beb402a3c17863d1d6", + "link": "", + "begin_date": "2010-09-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12883 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.483Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:13:25.483Z", + "role": "Member", + "representative": 705, + "fingerprint": "fb32061e4410005e0d93cc46b9261f20e90acb02", + "link": "", + "begin_date": "2010-10-06", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12884 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.487Z", + "group": 20, + "end_date": "2010-10-05", + "created": "2015-12-27T16:13:25.487Z", + "role": "Member", + "representative": 705, + "fingerprint": "80a8baf8d088a2881f201055afd4f4291ad20e6c", + "link": "", + "begin_date": "2010-07-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12885 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.491Z", + "group": 72, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.491Z", + "role": "Member", + "representative": 705, + "fingerprint": "292cbbe1b8c26e1bf95bc5db577e5bb2b089af6a", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12886 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.495Z", + "group": 64, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.495Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "891279e4bb2e3859c3de48da97f82e38fc6d7c4b", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12887 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.500Z", + "group": 72, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.500Z", + "role": "Member", + "representative": 705, + "fingerprint": "90abfd1209e1546e07de7d6325181ac1b32a29c1", + "link": "", + "begin_date": "2013-10-09", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12888 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.505Z", + "group": 38, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.505Z", + "role": "Substitute", + "representative": 705, + "fingerprint": "b41bb120cee8dc12d682e4f77b95b5409ea2db01", + "link": "", + "begin_date": "2010-06-30", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12889 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.509Z", + "group": 60, + "end_date": "2013-06-30", + "created": "2015-12-27T16:13:25.509Z", + "role": "Member", + "representative": 705, + "fingerprint": "4cee4d4d3d8a90216b6336096a5a9b01c4d27415", + "link": "", + "begin_date": "2010-07-05", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12890 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.514Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.514Z", + "role": "Member", + "representative": 705, + "fingerprint": "b4fe369201f3ce1e413cc32d3247c040c5bce0a3", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12891 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.518Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.518Z", + "role": "Member of the Bureau", + "representative": 705, + "fingerprint": "868889179de34a603df6d0ab186c3b61d6d8ef34", + "link": "", + "begin_date": "2010-11-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12892 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.523Z", + "group": 18, + "end_date": "2010-11-15", + "created": "2015-12-27T16:13:25.523Z", + "role": "Member", + "representative": 705, + "fingerprint": "02e544de54cfe629c02106ea7ed334a469a351b0", + "link": "", + "begin_date": "2010-06-02", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12893 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.528Z", + "group": 85, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.528Z", + "role": "", + "representative": 705, + "fingerprint": "79e3b31187c829105df8746f30f97de069a9b04f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12894 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.535Z", + "group": 85, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:25.535Z", + "role": "", + "representative": 705, + "fingerprint": "e32074a0adbaf1154697c0b7a4aba3a5811adad6", + "link": "", + "begin_date": "2010-06-02", + "constituency": 16 + }, + "model": "representatives.mandate", + "pk": 12895 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.539Z", + "group": 45, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.539Z", + "role": "Vice-President", + "representative": 705, + "fingerprint": "7003b6fd1dc0abb1cf27145e01ec966a9d8046c5", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12896 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:25.544Z", + "group": 46, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:25.544Z", + "role": "Member", + "representative": 705, + "fingerprint": "4960629a7b2908c9b9aa7117e2ac42e1e8afd732", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12897 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.066Z", + "group": 68, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.066Z", + "role": "Member", + "representative": 708, + "fingerprint": "acfab76dd031089ed3d9b26deef15ee7d3f6de38", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12929 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.071Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.071Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "001b500ed989d6dcbd14a39e092eb201f7614125", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12930 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.078Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.078Z", + "role": "Member", + "representative": 708, + "fingerprint": "aea045643872c1c71152c90ceaadc5a250ff2539", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12931 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.084Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.084Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "bd3e3e982bab372b1fa696138d37b095b42ed87b", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12932 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.089Z", + "group": 68, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:28.089Z", + "role": "Member", + "representative": 708, + "fingerprint": "c1d3669baf775408384b7fcb1620af463e8b10a9", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12933 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.095Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:28.095Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "7307b2a4131f6de82000e8ba735d9e5f1b44f249", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12934 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.101Z", + "group": 26, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.101Z", + "role": "Member", + "representative": 708, + "fingerprint": "6e4b6dcd60cc9ac14fdf5527823fbbe608c065ba", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12935 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.106Z", + "group": 72, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.106Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "fea14a61b5dff9fc0e9888e718426168822b9cc3", + "link": "", + "begin_date": "2014-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12936 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.111Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.111Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "2733c3dd0993d5c6402eb7471e6835ab8f6c3a29", + "link": "", + "begin_date": "2015-06-11", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12937 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.117Z", + "group": 79, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.117Z", + "role": "Member", + "representative": 708, + "fingerprint": "e1545b14ca46f92617d793f24e01498c4cef00ff", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12938 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.123Z", + "group": 12, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.123Z", + "role": "Substitute", + "representative": 708, + "fingerprint": "cd49bce8e8adc4e0e04b3c61736c32a70e9e55f7", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12939 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.129Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.129Z", + "role": "Member", + "representative": 708, + "fingerprint": "bde8c671def38cd9ef916114ce89927dfc6e7f82", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12940 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.137Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.137Z", + "role": "Member", + "representative": 708, + "fingerprint": "f2c125f019383b3c09545b04b8470eae4e5e6ba8", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 12941 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.145Z", + "group": 22, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:28.145Z", + "role": "", + "representative": 708, + "fingerprint": "ea97d75228bddf5fbd1fb72a4b45e4632ecf33e2", + "link": "", + "begin_date": "2014-07-01", + "constituency": 5 + }, + "model": "representatives.mandate", + "pk": 12942 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:28.154Z", + "group": 22, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:28.154Z", + "role": "", + "representative": 708, + "fingerprint": "f5ca36bbb65309594a669aee71bf56eb1aca5b8d", + "link": "", + "begin_date": "2009-07-14", + "constituency": 5 + }, + "model": "representatives.mandate", + "pk": 12943 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.636Z", + "group": 89, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.636Z", + "role": "Member", + "representative": 717, + "fingerprint": "9cf82584958ff68a02235c9f3e13e51422d6e992", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13002 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.641Z", + "group": 23, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.641Z", + "role": "Member", + "representative": 717, + "fingerprint": "bf3a081b42e34288f35cdfe1b4492018cc82a32e", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13003 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.645Z", + "group": 5, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.645Z", + "role": "Substitute", + "representative": 717, + "fingerprint": "0ab97126584563f1f7022c01622f896980bb7c1d", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13004 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.654Z", + "group": 23, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.654Z", + "role": "Member", + "representative": 717, + "fingerprint": "846db86fe1c8a2320f455e4706c2451f62e73255", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13005 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.661Z", + "group": 89, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.661Z", + "role": "Member", + "representative": 717, + "fingerprint": "0b60b5a9b266b2e27609a79c03c88eb8de858134", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13006 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.669Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.669Z", + "role": "Substitute", + "representative": 717, + "fingerprint": "a2428638b242efc543c42309f32a3b526e91ba0c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13007 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.676Z", + "group": 23, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:48.676Z", + "role": "Member", + "representative": 717, + "fingerprint": "c78ec8eae69c14549efdd1efa0b6bfb067bb2f23", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13008 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.681Z", + "group": 89, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:48.681Z", + "role": "Member", + "representative": 717, + "fingerprint": "4842689ea68eab670520feecda3a00c971db30c0", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13009 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.685Z", + "group": 68, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:48.685Z", + "role": "Substitute", + "representative": 717, + "fingerprint": "43c601ed5aecda43cf0c460aa4a6bd5fdb2477ea", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13010 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.690Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:13:48.690Z", + "role": "Substitute", + "representative": 717, + "fingerprint": "aa3eb3075739ac8c9115d92bf36f33dc9c08cc47", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13011 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.699Z", + "group": 27, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.699Z", + "role": "Vice-Chair", + "representative": 717, + "fingerprint": "208f6f856508db0a579fa753e59559454f37a5e1", + "link": "", + "begin_date": "2014-09-04", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13012 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.704Z", + "group": 39, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.704Z", + "role": "Member", + "representative": 717, + "fingerprint": "9cfdae482ec7e6639ef11e4504169f6dd3a8c0bb", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13013 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.708Z", + "group": 27, + "end_date": "2014-09-03", + "created": "2015-12-27T16:13:48.708Z", + "role": "Member", + "representative": 717, + "fingerprint": "e6f9a81406c5ce776fc8eff0ed8e73827b65a245", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13014 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.714Z", + "group": 39, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.714Z", + "role": "Member", + "representative": 717, + "fingerprint": "bdda4f747bc9404bba81de8353970663124ab645", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13015 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.719Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.719Z", + "role": "Substitute", + "representative": 717, + "fingerprint": "5c12a16db5e546039e3c34103265f6583118395b", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13016 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.724Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.724Z", + "role": "Member", + "representative": 717, + "fingerprint": "62690feb93d91beba60a10a4f94517221b4304a7", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13017 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.729Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.728Z", + "role": "Member", + "representative": 717, + "fingerprint": "cece300f6f9d3541fe2979cab1d52c88ceca57a1", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13018 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.736Z", + "group": 145, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:48.736Z", + "role": "", + "representative": 717, + "fingerprint": "123b36a38f22d0644e5e34645139f1cd89584d4f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 301 + }, + "model": "representatives.mandate", + "pk": 13019 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:48.742Z", + "group": 145, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:48.742Z", + "role": "", + "representative": 717, + "fingerprint": "eec39106b39485065c1eecebcecce94f15f67b22", + "link": "", + "begin_date": "2009-07-14", + "constituency": 301 + }, + "model": "representatives.mandate", + "pk": 13020 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.081Z", + "group": 77, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.081Z", + "role": "Vice-Chair", + "representative": 718, + "fingerprint": "c0a2ba2ad7af29b91ad6da5d1493853939feac2a", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13021 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.086Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.086Z", + "role": "Member", + "representative": 718, + "fingerprint": "fd0eaf876a007e1fa3a0a1ca3cf8d93e7d86b6ca", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13022 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.090Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.090Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "0bd357f3427950b5f7e6f54dcf9feb3a4ab10723", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13023 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.095Z", + "group": 77, + "end_date": "2014-07-06", + "created": "2015-12-27T16:13:52.095Z", + "role": "Member", + "representative": 718, + "fingerprint": "6d3f286d3f42a69800a9587dab7fa97ab4f9627f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13024 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.100Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.100Z", + "role": "Member", + "representative": 718, + "fingerprint": "b970697ce434759cd40941ae2c92bec6bfdc88cb", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13025 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.104Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.104Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "70baac049250447ae8f940e1edbb0f45a3eee929", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13026 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.109Z", + "group": 77, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.108Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "1f8b5e7518c260b8e6cc60c24800058be362318c", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13027 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.114Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:52.114Z", + "role": "Member", + "representative": 718, + "fingerprint": "2a9c7236f44d5b9b394d5bdb0eea352d77caa444", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13028 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.119Z", + "group": 77, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:52.119Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "f9bb14ad0fde8b29a35879c6c1ec97294983f35c", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13029 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.123Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:52.123Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "b73a7c1b7b7e733d15767b48cbd8b94568fd48af", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13030 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.127Z", + "group": 27, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.127Z", + "role": "Member", + "representative": 718, + "fingerprint": "3531c0a8a69d01636f291832803552fb6d3896b7", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13031 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.132Z", + "group": 72, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.132Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "b20f24f8355293d214a2cdccfb53a9ce6eef5bc4", + "link": "", + "begin_date": "2014-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13032 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.137Z", + "group": 28, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.137Z", + "role": "Vice-Chair", + "representative": 718, + "fingerprint": "934bfd9906aa1520cc0abd6e5527b07ba517f90c", + "link": "", + "begin_date": "2009-09-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13033 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.141Z", + "group": 27, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.141Z", + "role": "Member", + "representative": 718, + "fingerprint": "25c8993cb7b91a417fe89ec9ca371791e15a2ebd", + "link": "", + "begin_date": "2009-10-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13034 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.146Z", + "group": 107, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.146Z", + "role": "Substitute", + "representative": 718, + "fingerprint": "8a929df6b170ae8feb39f8191a0ea14397b102b2", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13035 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.150Z", + "group": 28, + "end_date": "2009-09-28", + "created": "2015-12-27T16:13:52.150Z", + "role": "Member", + "representative": 718, + "fingerprint": "e97651089857f861058bd47412f2206e72a61f7d", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13036 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.154Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.154Z", + "role": "Member", + "representative": 718, + "fingerprint": "47a118af12c34e18b206957df33729a142e283a4", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13037 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.159Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.159Z", + "role": "Member", + "representative": 718, + "fingerprint": "95a0d9569f10a22cf60ca3a94509b307bae1fd63", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13038 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.165Z", + "group": 145, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.165Z", + "role": "", + "representative": 718, + "fingerprint": "25b9be23d1fe5abda86d0bbe7e437028a7de1ca9", + "link": "", + "begin_date": "2014-07-01", + "constituency": 301 + }, + "model": "representatives.mandate", + "pk": 13039 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.171Z", + "group": 145, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.171Z", + "role": "", + "representative": 718, + "fingerprint": "dbaed455022b24568ce212a349eb0e990bfe0697", + "link": "", + "begin_date": "2009-07-14", + "constituency": 301 + }, + "model": "representatives.mandate", + "pk": 13040 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.560Z", + "group": 68, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.560Z", + "role": "Chair", + "representative": 719, + "fingerprint": "7cd5c1a6f423fe0b0e092b94de5dec774827b888", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13041 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.565Z", + "group": 68, + "end_date": "2014-07-06", + "created": "2015-12-27T16:13:52.565Z", + "role": "Member", + "representative": 719, + "fingerprint": "864e0b8abc54a25681c2efe3073f5edb73b9496d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13042 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.571Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.571Z", + "role": "Member", + "representative": 719, + "fingerprint": "e243e3519ea63299ad4156c3c5beaab76c92985b", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13043 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.576Z", + "group": 68, + "end_date": "2012-01-18", + "created": "2015-12-27T16:13:52.576Z", + "role": "Member", + "representative": 719, + "fingerprint": "5f35b1e27a14e609aef9b1230a8ad832b894412f", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13044 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.581Z", + "group": 68, + "end_date": "2009-07-13", + "created": "2015-12-27T16:13:52.581Z", + "role": "Member", + "representative": 719, + "fingerprint": "1054c1770125a65f79e74e124b067565634bfaa1", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13045 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.585Z", + "group": 20, + "end_date": "2008-05-19", + "created": "2015-12-27T16:13:52.585Z", + "role": "Substitute", + "representative": 719, + "fingerprint": "cdcb064836b833ca9bf9bf0bf4ba4b6fcb783bb2", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13046 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.591Z", + "group": 68, + "end_date": "2007-01-30", + "created": "2015-12-27T16:13:52.591Z", + "role": "Member", + "representative": 719, + "fingerprint": "8acc5b19c2018361ef66fcef2adffd7a7d2a5994", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13047 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.595Z", + "group": 20, + "end_date": "2007-01-30", + "created": "2015-12-27T16:13:52.595Z", + "role": "Substitute", + "representative": 719, + "fingerprint": "ace1fa94c7a491a0172a10e7aee1d5640a90f031", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13048 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.602Z", + "group": 68, + "end_date": "2007-01-14", + "created": "2015-12-27T16:13:52.602Z", + "role": "Member", + "representative": 719, + "fingerprint": "0cd571dd555e5f4f0b4d5bdb85aa7d6a00821e76", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13049 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.607Z", + "group": 20, + "end_date": "2007-01-14", + "created": "2015-12-27T16:13:52.607Z", + "role": "Substitute", + "representative": 719, + "fingerprint": "70f9b45c5a5206010ea2bdbdacb798d9853ad722", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13050 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.611Z", + "group": 111, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.611Z", + "role": "Member", + "representative": 719, + "fingerprint": "975cd1929d10b9c71de44ae88443058fc5f2f5cc", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13051 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.618Z", + "group": 35, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.618Z", + "role": "Member", + "representative": 719, + "fingerprint": "e137b4e4f314bd68bbf211a884921e99031c728e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13052 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.623Z", + "group": 111, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.623Z", + "role": "Member", + "representative": 719, + "fingerprint": "57dda74ed00c7916ad808dbed665b67a28b512fe", + "link": "", + "begin_date": "2009-10-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13053 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.629Z", + "group": 64, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.629Z", + "role": "Substitute", + "representative": 719, + "fingerprint": "2c6d1eb7def5cd258e7f834cd04c326ce418f1bc", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13054 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.634Z", + "group": 35, + "end_date": "2009-07-13", + "created": "2015-12-27T16:13:52.634Z", + "role": "Member", + "representative": 719, + "fingerprint": "834911d5202d033dcc26b76d652c9d72f8fa99c4", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13055 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.638Z", + "group": 35, + "end_date": "2007-03-13", + "created": "2015-12-27T16:13:52.638Z", + "role": "Member", + "representative": 719, + "fingerprint": "4a2ffdc9b3c91d36c7f1f66658a520fc65cdcb9d", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13056 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.643Z", + "group": 84, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.643Z", + "role": "Member", + "representative": 719, + "fingerprint": "f494ec473e5f38bf7ef272e0fb343d7d52a79964", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13057 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.648Z", + "group": 84, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.648Z", + "role": "Member", + "representative": 719, + "fingerprint": "3f606a817bb9d961cfeba721bcd1eeaee7a70e06", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13058 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.653Z", + "group": 84, + "end_date": "2009-07-13", + "created": "2015-12-27T16:13:52.653Z", + "role": "Member", + "representative": 719, + "fingerprint": "32c475b04d35639191d56edf10962c21595dce74", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13059 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.659Z", + "group": 22, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.659Z", + "role": "", + "representative": 719, + "fingerprint": "7dcba18fda7750978da691460f5dd5282809632a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 53 + }, + "model": "representatives.mandate", + "pk": 13060 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.666Z", + "group": 22, + "end_date": "2014-06-30", + "created": "2015-12-27T16:13:52.666Z", + "role": "", + "representative": 719, + "fingerprint": "775c7a87162d92e989005d744fead5901d8724d8", + "link": "", + "begin_date": "2009-07-14", + "constituency": 53 + }, + "model": "representatives.mandate", + "pk": 13061 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.672Z", + "group": 22, + "end_date": "2009-07-13", + "created": "2015-12-27T16:13:52.672Z", + "role": "", + "representative": 719, + "fingerprint": "f7bac5b9aebbb3cf92f1cbff152f9c8deaed48cf", + "link": "", + "begin_date": "2004-07-20", + "constituency": 53 + }, + "model": "representatives.mandate", + "pk": 13062 +}, +{ + "fields": { + "updated": "2015-12-27T16:13:52.677Z", + "group": 80, + "end_date": "9999-12-31", + "created": "2015-12-27T16:13:52.677Z", + "role": "Member", + "representative": 719, + "fingerprint": "e3a28732e3a952ebe1afa855e3bcdf25e45994e4", + "link": "", + "begin_date": "2014-07-07", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13063 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.820Z", + "group": 47, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.820Z", + "role": "Member", + "representative": 736, + "fingerprint": "771ad082681ba245fa91d031b6d8e9a96fde6c72", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13206 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.824Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.824Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "bc5ec61374bb79164dbf76fe14bd33a94aa0263b", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13207 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.829Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.829Z", + "role": "Member", + "representative": 736, + "fingerprint": "4645b23193b1122f3094ecd37e57349af1f65e6c", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13208 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.834Z", + "group": 68, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.834Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "ce544e2cebe8986278039aef2e16cd6c1f71b083", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13209 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.839Z", + "group": 47, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.839Z", + "role": "Member", + "representative": 736, + "fingerprint": "1a1fd8761960420026f05ec407c2589f843d91e7", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13210 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.843Z", + "group": 68, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.843Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "27ac1917f95c369a4e1efd29069dd9f514e3810f", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13211 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.848Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:35.848Z", + "role": "Member", + "representative": 736, + "fingerprint": "5c8cc4f7e2ab1835f365fd9d88bd3bb053f91d9a", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13212 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.852Z", + "group": 68, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:35.852Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "d81cd9faff482ed9eaffdf0fc57a7b0b34b97724", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13213 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.857Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:14:35.857Z", + "role": "Member", + "representative": 736, + "fingerprint": "3e4fcfcd4778fa916d14ff285682e572b22026be", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13214 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.861Z", + "group": 59, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.861Z", + "role": "Member", + "representative": 736, + "fingerprint": "0707754283fdfbb5df28cb934fed8705617de8af", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13215 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.865Z", + "group": 114, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.865Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "1f4fa92e15520f12900ea0f7d6f092d774222b8b", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13216 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.870Z", + "group": 97, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.870Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "9e2e6df9d9199d738b3db5dbf64ff6b7d0a408fa", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13217 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.874Z", + "group": 107, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.874Z", + "role": "Member", + "representative": 736, + "fingerprint": "8f84987fa280c0f8ed421de1d005826ee34e096a", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13218 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.878Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.878Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "b9f7482c78f9c0ef29649f50a0620402e33f2c23", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13219 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.883Z", + "group": 59, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.883Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "ea62a80a01d8e88771b016eae646c8de4d939d69", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13220 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.888Z", + "group": 107, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.888Z", + "role": "Member", + "representative": 736, + "fingerprint": "bd1615c44e96188e895c912dba6a777919d7bc0b", + "link": "", + "begin_date": "2012-03-29", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13221 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.892Z", + "group": 97, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.892Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "d40d82eae4affcca66bd8f61509985257b527636", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13222 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.896Z", + "group": 59, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.896Z", + "role": "Substitute", + "representative": 736, + "fingerprint": "dc5ed57ddd0b589f2566b5e9c757638bfeafd796", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13223 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.900Z", + "group": 72, + "end_date": "2012-03-28", + "created": "2015-12-27T16:14:35.900Z", + "role": "Member", + "representative": 736, + "fingerprint": "3e6837227b4fe6573f29adf636ee50897c8c7d3f", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13224 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.905Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.905Z", + "role": "Member", + "representative": 736, + "fingerprint": "942faa928916b35bd767611231bf3a2b67de3c03", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13225 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.909Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.909Z", + "role": "Member", + "representative": 736, + "fingerprint": "8a3fdae4c9fa2d10a035195c2f704bfaec6d9140", + "link": "", + "begin_date": "2012-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13226 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.914Z", + "group": 18, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.914Z", + "role": "Member", + "representative": 736, + "fingerprint": "e8896f2753ba4ff3f79aac8866438df46b91b3aa", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13227 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.920Z", + "group": 110, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:35.920Z", + "role": "", + "representative": 736, + "fingerprint": "fbb307710911f064e5cfca12a37d6b90cf4d708d", + "link": "", + "begin_date": "2015-05-30", + "constituency": 29 + }, + "model": "representatives.mandate", + "pk": 13228 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.925Z", + "group": 110, + "end_date": "2015-05-29", + "created": "2015-12-27T16:14:35.925Z", + "role": "", + "representative": 736, + "fingerprint": "e3f15b3b4598da83cd85677d6fa282b7995f2111", + "link": "", + "begin_date": "2014-07-01", + "constituency": 30 + }, + "model": "representatives.mandate", + "pk": 13229 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.931Z", + "group": 110, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:35.931Z", + "role": "", + "representative": 736, + "fingerprint": "e4723de278882ea2756e38b1e36942ef11801fcb", + "link": "", + "begin_date": "2012-06-17", + "constituency": 30 + }, + "model": "representatives.mandate", + "pk": 13230 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:35.937Z", + "group": 110, + "end_date": "2012-06-15", + "created": "2015-12-27T16:14:35.937Z", + "role": "", + "representative": 736, + "fingerprint": "459752787f07e069ccd7a6967ff4f2a8c5eb1d66", + "link": "", + "begin_date": "2009-07-14", + "constituency": 30 + }, + "model": "representatives.mandate", + "pk": 13231 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.364Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.364Z", + "role": "Member", + "representative": 738, + "fingerprint": "315800cdde8190319d7f845d71d5961aaa0b5c3f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13241 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.369Z", + "group": 68, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.369Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "6612e69ecb68c946b7095869b344cad013c5a7f8", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13242 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.374Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.374Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "b0bb681d9011568de9d07994907c5588b5e5a60c", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13243 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.379Z", + "group": 48, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.379Z", + "role": "Member", + "representative": 738, + "fingerprint": "c86af01497e7d82d49bcb387ca97dea4fdad8eea", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13244 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.384Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.384Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "5d8b9cc8bfeb7944393928644b1b24eef6a8ce74", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13245 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.388Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.388Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "a9b48cec3cd6187ffced686ef0ee36ab0145ff90", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13246 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.394Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:39.394Z", + "role": "Member", + "representative": 738, + "fingerprint": "6c1ae636f25cb052a0f8ab2503fcbefbe34cca52", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13247 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.398Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:39.398Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "f257515c557ce777fe0fa2e5065a386ad878a7da", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13248 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.403Z", + "group": 61, + "end_date": "2011-07-31", + "created": "2015-12-27T16:14:39.403Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "d7ed4eda9630d01a68393622712f8680ef924d5c", + "link": "", + "begin_date": "2009-10-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13249 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.408Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:14:39.408Z", + "role": "Member", + "representative": 738, + "fingerprint": "34b32d044d1442a70891a4c89eaa933cf08c380f", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13250 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.413Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.413Z", + "role": "Member", + "representative": 738, + "fingerprint": "7ca7cb0a8fb2d7562e9a69fbdf826ecc78f649cf", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13251 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.418Z", + "group": 39, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.418Z", + "role": "Substitute", + "representative": 738, + "fingerprint": "c55f8638f7467a4939991e213a032a341c5efa5b", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13252 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.423Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.423Z", + "role": "Member", + "representative": 738, + "fingerprint": "effcd69d8d1b9b6e8891cb56285626a532f5e74a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13253 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.427Z", + "group": 84, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.427Z", + "role": "Treasurer", + "representative": 738, + "fingerprint": "b2c8e1ec0aa3657b20caea0c54c4720d2b271f57", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13254 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.432Z", + "group": 84, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.432Z", + "role": "Treasurer", + "representative": 738, + "fingerprint": "9c1da5f634e5b638ecd21052344f8810d021c107", + "link": "", + "begin_date": "2012-11-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13255 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.436Z", + "group": 84, + "end_date": "2012-11-20", + "created": "2015-12-27T16:14:39.436Z", + "role": "Member", + "representative": 738, + "fingerprint": "6a2c35c3b1d6c689a9fe7783f8d90687a14c155b", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13256 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.444Z", + "group": 57, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:39.444Z", + "role": "", + "representative": 738, + "fingerprint": "13097721f0548ac9ef24583e11659f01560868da", + "link": "", + "begin_date": "2014-07-01", + "constituency": 241 + }, + "model": "representatives.mandate", + "pk": 13257 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:39.451Z", + "group": 57, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:39.451Z", + "role": "", + "representative": 738, + "fingerprint": "485ab5f064863bec45178332a4b7139cb894340c", + "link": "", + "begin_date": "2009-07-14", + "constituency": 241 + }, + "model": "representatives.mandate", + "pk": 13258 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.234Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.234Z", + "role": "Member", + "representative": 743, + "fingerprint": "3900091e0b878378a682a02df688b1c8826b95da", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13300 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.239Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.239Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "fd1bc1efdad8a0110947521e4700ee865d7bcf9a", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13301 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.243Z", + "group": 7, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:46.243Z", + "role": "Member", + "representative": 743, + "fingerprint": "d3801a341c09e35f3b41b46f9106654ba6153a31", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13302 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.248Z", + "group": 5, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:46.248Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "96df2f03892e9cc25cd0837d8a271444cb781d11", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13303 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.252Z", + "group": 7, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:46.252Z", + "role": "Member", + "representative": 743, + "fingerprint": "c9065c779630279caa394a9f28a80e3bcac90763", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13304 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.257Z", + "group": 5, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:46.257Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "5cb9283fa789320da5e60068db6e4da649f9668b", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13305 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.261Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:46.261Z", + "role": "Member", + "representative": 743, + "fingerprint": "f6b1c07267f2cf8d8d4527b6f5477fd88360162f", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13306 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.267Z", + "group": 7, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:46.267Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "3c71d23cc2c2f217684bdc1157e7fefaf2a06b56", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13307 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.271Z", + "group": 5, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:46.271Z", + "role": "Member", + "representative": 743, + "fingerprint": "a129769bc281121f0aaa6a8d4538e6d59fe37faa", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13308 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.276Z", + "group": 7, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:46.276Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "5d71543121f1093a13aba0ce87d26aacfdb81bee", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13309 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.281Z", + "group": 5, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:46.281Z", + "role": "Member", + "representative": 743, + "fingerprint": "3b6f3dca118220f7711f1cbeadc96668579c5377", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13310 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.285Z", + "group": 7, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:46.285Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "d30e72922fc89ca094085db4ac5ffc69c0b210eb", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13311 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.290Z", + "group": 3, + "end_date": "2004-07-19", + "created": "2015-12-27T16:14:46.290Z", + "role": "Member", + "representative": 743, + "fingerprint": "63090e2461b3773f8b40f25d38c44cd8e44f58e5", + "link": "", + "begin_date": "2004-05-03", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13312 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.296Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.296Z", + "role": "Member", + "representative": 743, + "fingerprint": "1cbab3a462bbb83ed070894ee04fb346786551b2", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13313 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.300Z", + "group": 11, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.300Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "8dea646320fd32dbc8c46628535f4024841c07fd", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13314 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.305Z", + "group": 12, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.305Z", + "role": "Substitute", + "representative": 743, + "fingerprint": "bb6efb73591bc0f84203e597262d0c0ef36009e3", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13315 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.310Z", + "group": 12, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:46.310Z", + "role": "Member", + "representative": 743, + "fingerprint": "4b71da135bfabc64f740264e0c96888358e86054", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13316 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.314Z", + "group": 12, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:46.314Z", + "role": "Vice-Chair", + "representative": 743, + "fingerprint": "d11f955748a78f5778b8a5b2fe597b0f7bfedb10", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13317 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.319Z", + "group": 12, + "end_date": "2007-03-13", + "created": "2015-12-27T16:14:46.319Z", + "role": "Vice-Chair", + "representative": 743, + "fingerprint": "3faf3250c9923517d9aa6d4b8f44ae7b853c77f1", + "link": "", + "begin_date": "2004-09-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13318 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.323Z", + "group": 12, + "end_date": "2004-09-19", + "created": "2015-12-27T16:14:46.323Z", + "role": "Member", + "representative": 743, + "fingerprint": "41b570ae1f5a2dfa4b2fdd1765002b27c46f1e49", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13319 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.329Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.329Z", + "role": "Member", + "representative": 743, + "fingerprint": "221280ca944dc4ad0af950fe4786b86aef5132b2", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13320 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.333Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:46.333Z", + "role": "Member", + "representative": 743, + "fingerprint": "dac7eb4daf780efa6a56b308734b1f688c59db6a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13321 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.338Z", + "group": 21, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:46.338Z", + "role": "Vice-Chair", + "representative": 743, + "fingerprint": "caa674b2cec87843424279e8fabf4d3f8fe7a23f", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13322 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.342Z", + "group": 41, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:46.342Z", + "role": "Member", + "representative": 743, + "fingerprint": "eb609e04801e0f5d7b2e028d40a9168e7e53c5c1", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13323 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.347Z", + "group": 67, + "end_date": "2004-07-19", + "created": "2015-12-27T16:14:46.347Z", + "role": "Member", + "representative": 743, + "fingerprint": "29966a3e32c5ef3abee1612a0de418acd083105c", + "link": "", + "begin_date": "2004-05-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13324 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.352Z", + "group": 67, + "end_date": "2004-04-30", + "created": "2015-12-27T16:14:46.352Z", + "role": "", + "representative": 743, + "fingerprint": "6508561c47822e1df1a954b75fc3586d910ebb52", + "link": "", + "begin_date": "2003-04-30", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13325 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.358Z", + "group": 169, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:46.358Z", + "role": "", + "representative": 743, + "fingerprint": "20cef9c3a174157d07ffdb9ba106aa2510c47cde", + "link": "", + "begin_date": "2014-07-01", + "constituency": 110 + }, + "model": "representatives.mandate", + "pk": 13326 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.364Z", + "group": 169, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:46.364Z", + "role": "", + "representative": 743, + "fingerprint": "26c4f2eef076db7f7f45f6e1c8029d1e28da01af", + "link": "", + "begin_date": "2009-07-14", + "constituency": 110 + }, + "model": "representatives.mandate", + "pk": 13327 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.370Z", + "group": 169, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:46.370Z", + "role": "", + "representative": 743, + "fingerprint": "99c5a185975e5ea704e0f43c843498257f61065c", + "link": "", + "begin_date": "2004-07-20", + "constituency": 152 + }, + "model": "representatives.mandate", + "pk": 13328 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:46.376Z", + "group": 169, + "end_date": "2004-07-19", + "created": "2015-12-27T16:14:46.376Z", + "role": "", + "representative": 743, + "fingerprint": "e4dac54b85684fd466c6c40c40bbdd71a76e2631", + "link": "", + "begin_date": "2004-05-01", + "constituency": 152 + }, + "model": "representatives.mandate", + "pk": 13329 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.281Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.281Z", + "role": "Member", + "representative": 744, + "fingerprint": "96e58a347e13934974c260a2038c32677d1e14ca", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13330 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.286Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.286Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "a1a1b5a900702573439ef911b730543dbab7cd21", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13331 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.291Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.291Z", + "role": "Member", + "representative": 744, + "fingerprint": "2766f04952c5fcd7707b814095feab8daad7f5c8", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13332 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.296Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.296Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "0b4a7931f003a9c73d00cf005a82a3149780ce9e", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13333 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.303Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:48.303Z", + "role": "Member", + "representative": 744, + "fingerprint": "65b64f1d004d00beea81ae049fb13d9917119437", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13334 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.309Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:48.309Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "b27e06c23fa97a12cdc265177f94895131dd148d", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13335 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.317Z", + "group": 50, + "end_date": "2011-06-30", + "created": "2015-12-27T16:14:48.317Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "40c6b91f4c4de2b63c39a8550d56a76281583837", + "link": "", + "begin_date": "2010-06-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13336 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.326Z", + "group": 55, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.326Z", + "role": "Member", + "representative": 744, + "fingerprint": "3ed477ecf23f7a6934b8546776e33f8b6b30cac6", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13337 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.334Z", + "group": 30, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.334Z", + "role": "Member", + "representative": 744, + "fingerprint": "5f0051e2ff7725ae1fd319fb9da1e96d5a0f32c7", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13338 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.339Z", + "group": 48, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.339Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "7a040feb2c3920c6bbd58c7bf525575eb2a14b98", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13339 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.349Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.349Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "4e369e2da55f302d81792b324eff2ed51f5f4138", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13340 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.357Z", + "group": 55, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:48.357Z", + "role": "Member", + "representative": 744, + "fingerprint": "cad88afe7559dd61db2930c42cc45b758262823a", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13341 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.362Z", + "group": 30, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:48.362Z", + "role": "Member", + "representative": 744, + "fingerprint": "6b5cf33ce9daa7eace37d7d135909ce9b384dca3", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13342 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.368Z", + "group": 48, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:48.368Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "af2e7d06eed4a54e87298d263fa93f7a787e1e59", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13343 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.376Z", + "group": 55, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:48.376Z", + "role": "Member", + "representative": 744, + "fingerprint": "6c95d6e6d4f9fd93e7eda8a237ff9836a42763fb", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13344 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.383Z", + "group": 30, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:48.383Z", + "role": "Member", + "representative": 744, + "fingerprint": "2264d758523db26b9c73d3e86bbcdc58f7cc0870", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13345 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.391Z", + "group": 48, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:48.391Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "1ca17bf7d972998260ae4ac5348f865669bc581b", + "link": "", + "begin_date": "2004-07-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13346 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.396Z", + "group": 16, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.396Z", + "role": "Member", + "representative": 744, + "fingerprint": "9de1434e84cd50f0edcd0e9160a926513c0183c6", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13347 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.400Z", + "group": 79, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.400Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "2abad04faacee9934927518fb241e5341d2df086", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13348 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.411Z", + "group": 16, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.411Z", + "role": "Member", + "representative": 744, + "fingerprint": "64d078d9063d60cad41e98ef3acdf2d0000203ea", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13349 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.416Z", + "group": 97, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.416Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "35a482a034dc7f886684821f2c1370d75946a61e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13350 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.422Z", + "group": 79, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.422Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "358adce937855f1d5850c8e4d28e85e4f531eae6", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13351 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.426Z", + "group": 65, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.426Z", + "role": "Member", + "representative": 744, + "fingerprint": "6e659704faa68df5145cb4b1cb2b35cf23f4f29a", + "link": "", + "begin_date": "2007-03-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13352 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.434Z", + "group": 79, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.434Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "d1283fcf7db26727360acac319ac4873daf86b20", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13353 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.443Z", + "group": 11, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.443Z", + "role": "Substitute", + "representative": 744, + "fingerprint": "9d47bea999f9bd188697cf7a75d992fb11d1ceb9", + "link": "", + "begin_date": "2007-05-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13354 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.448Z", + "group": 136, + "end_date": "2006-12-31", + "created": "2015-12-27T16:14:48.448Z", + "role": "Member", + "representative": 744, + "fingerprint": "30925777ac9e810e7ae6e58baf6d6b7e23fdedb4", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13355 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.452Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.452Z", + "role": "Member", + "representative": 744, + "fingerprint": "905469cb0f8849f9f3279203eaf1bd3152d42235", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13356 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.457Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.457Z", + "role": "Member of the Bureau", + "representative": 744, + "fingerprint": "d76cd14223ed9282a3ff47073109eb63dac150b6", + "link": "", + "begin_date": "2013-05-22", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13357 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.461Z", + "group": 18, + "end_date": "2013-05-21", + "created": "2015-12-27T16:14:48.461Z", + "role": "Member", + "representative": 744, + "fingerprint": "c88d32732cce0636e8f7458e16737e1d0d6ae74c", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13358 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.466Z", + "group": 54, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.466Z", + "role": "Member", + "representative": 744, + "fingerprint": "00635ca93209d70d37122608b64a87d3045d8a0c", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13359 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.473Z", + "group": 186, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:48.473Z", + "role": "", + "representative": 744, + "fingerprint": "8b01c93ec2571a811190bb4686dbf49d304330f2", + "link": "", + "begin_date": "2014-07-01", + "constituency": 213 + }, + "model": "representatives.mandate", + "pk": 13360 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.479Z", + "group": 186, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:48.479Z", + "role": "", + "representative": 744, + "fingerprint": "982a293be90b3f0c3ed9d66b735e7e7fe0d7afaf", + "link": "", + "begin_date": "2009-07-14", + "constituency": 213 + }, + "model": "representatives.mandate", + "pk": 13361 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:48.486Z", + "group": 186, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:48.486Z", + "role": "", + "representative": 744, + "fingerprint": "6e3e6755c1f74446e38aa199f06e326edc8c63f4", + "link": "", + "begin_date": "2004-07-20", + "constituency": 213 + }, + "model": "representatives.mandate", + "pk": 13362 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.052Z", + "group": 3, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.052Z", + "role": "Member", + "representative": 746, + "fingerprint": "cd86f9fba95bc3d466349d0aff18800052b64e78", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13373 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.058Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.057Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "b09e9466335cd01b3181277f821f95c99ba1fdf0", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13374 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.063Z", + "group": 6, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.062Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "89b48ec2e3ba4cac61997aa166a156b9f4b96477", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13375 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.068Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.067Z", + "role": "Member", + "representative": 746, + "fingerprint": "49804c9c8175c4c49ec5a9d04a810050479d5a7a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13376 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.072Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.072Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "b460030361873c3f2976b3a04ddae80b4082442d", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13377 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.077Z", + "group": 6, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.077Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "dfc2d36363265d0cc6a17e96d14e09eff600441a", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13378 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.082Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:54.082Z", + "role": "Member", + "representative": 746, + "fingerprint": "87d9c8640168dbb17dad1c62486f5ebb1d7ea96c", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13379 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.088Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:54.088Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "42bcff7c4bd701f6e1a0d98f24451f7bd04e6660", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13380 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.093Z", + "group": 6, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:54.093Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "f17f5d888100eec33f129c554a0871056a7b08d5", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13381 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.098Z", + "group": 24, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.097Z", + "role": "Member", + "representative": 746, + "fingerprint": "64cafc361306ac0e7533c2bd2970dcbeae226af9", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13382 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.102Z", + "group": 6, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.102Z", + "role": "Member", + "representative": 746, + "fingerprint": "b833df2b26cc90477ee7b66d2770e45db2caffbb", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13383 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.107Z", + "group": 20, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.107Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "4373d08dd4d61d348b48c03679334b36962a8906", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13384 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.112Z", + "group": 3, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.112Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "9fe6b845589e53f144cd3c207c40a861cf19968e", + "link": "", + "begin_date": "2007-01-31", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13385 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.117Z", + "group": 24, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:54.117Z", + "role": "Member", + "representative": 746, + "fingerprint": "28c84d685c1a2a47e752f6fbe6e66676dfd7e4be", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13386 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.121Z", + "group": 3, + "end_date": "2007-01-30", + "created": "2015-12-27T16:14:54.121Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "d130b19f71e2b80f9582fab416b5d2e2faff49c6", + "link": "", + "begin_date": "2007-01-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13387 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.126Z", + "group": 24, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:54.126Z", + "role": "Member", + "representative": 746, + "fingerprint": "36d1922db3bfcbf48863926328b2e7174a64ecb9", + "link": "", + "begin_date": "2004-07-21", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13388 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.130Z", + "group": 3, + "end_date": "2007-01-14", + "created": "2015-12-27T16:14:54.130Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "f7640cf0fd6605c85463d651b1a5d1fec48834ea", + "link": "", + "begin_date": "2004-09-03", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13389 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.134Z", + "group": 13, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.134Z", + "role": "Member", + "representative": 746, + "fingerprint": "d2333620f9692bfe9c6874b92291a31b1aed53ea", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13390 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.139Z", + "group": 35, + "end_date": "2015-09-01", + "created": "2015-12-27T16:14:54.139Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "3450b6be41e51bcdadab919d67340e129a78808e", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13391 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.145Z", + "group": 13, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.145Z", + "role": "Member", + "representative": 746, + "fingerprint": "9ac463cb94688d7ebfe91bfd34c2106e6074afc9", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13392 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.152Z", + "group": 35, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.152Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "6af8224fc525ce111aa2c2501c90f973ebab9805", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13393 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.157Z", + "group": 86, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.157Z", + "role": "Member", + "representative": 746, + "fingerprint": "70c1001a477957d1c29e15e69a9f44f986d4d408", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13394 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.162Z", + "group": 13, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.162Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "9e38aec9b4cf47ec62f50970245b050fc65ec2d2", + "link": "", + "begin_date": "2007-03-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13395 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.168Z", + "group": 86, + "end_date": "2007-03-13", + "created": "2015-12-27T16:14:54.168Z", + "role": "Member", + "representative": 746, + "fingerprint": "578c162e847042953f021bc0331cdf0d8dafd950", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13396 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.173Z", + "group": 13, + "end_date": "2007-03-13", + "created": "2015-12-27T16:14:54.173Z", + "role": "Substitute", + "representative": 746, + "fingerprint": "f46d486a0ad08a46eac26a560e676a08a985402f", + "link": "", + "begin_date": "2004-09-15", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13397 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.179Z", + "group": 17, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.179Z", + "role": "Member", + "representative": 746, + "fingerprint": "d06af6bdeae87b6b4323cbca48cb295aa09cda07", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13398 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.184Z", + "group": 17, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.184Z", + "role": "Member of the Bureau", + "representative": 746, + "fingerprint": "6a63f479593f0a22b3851a1ef475eb9705935366", + "link": "", + "begin_date": "2009-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13399 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.189Z", + "group": 17, + "end_date": "2009-07-19", + "created": "2015-12-27T16:14:54.189Z", + "role": "Member", + "representative": 746, + "fingerprint": "6ddda08dc8161c9cfb7d0b716523a32ff71dfa00", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13400 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.198Z", + "group": 17, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.198Z", + "role": "Member of the Bureau", + "representative": 746, + "fingerprint": "4a3e7a6973baedc85a5cf9bbed247221c933009b", + "link": "", + "begin_date": "2004-07-20", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13401 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.204Z", + "group": 182, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.204Z", + "role": "", + "representative": 746, + "fingerprint": "71db68788de0f5f572eed1f70a58728cefd7d5e3", + "link": "", + "begin_date": "2014-07-01", + "constituency": 3 + }, + "model": "representatives.mandate", + "pk": 13402 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.211Z", + "group": 182, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.211Z", + "role": "", + "representative": 746, + "fingerprint": "03339b28c38f9c89aed11dae55513dc52a0fe11e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 14 + }, + "model": "representatives.mandate", + "pk": 13403 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.217Z", + "group": 182, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:54.217Z", + "role": "", + "representative": 746, + "fingerprint": "f2bee6b5076c5c9a904f6644892a83a5bd14632d", + "link": "", + "begin_date": "2004-07-20", + "constituency": 14 + }, + "model": "representatives.mandate", + "pk": 13404 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.793Z", + "group": 47, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.793Z", + "role": "Member", + "representative": 747, + "fingerprint": "7de3302814feac5e6dfe0a196a298ec7419dbed4", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13405 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.798Z", + "group": 7, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.798Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "5ce810b54186ca7ddef9ebe4e1e40130c483228d", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13406 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.803Z", + "group": 47, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.803Z", + "role": "Member", + "representative": 747, + "fingerprint": "084f2093dd16bacc1bcaeb3538df45ef9a5533bc", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13407 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.807Z", + "group": 48, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.807Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "20286fb457f9a4456e5e8f9243d7682b35c12530", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13408 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.812Z", + "group": 47, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:54.812Z", + "role": "Member", + "representative": 747, + "fingerprint": "f8d52d6a650e68ba9f3c376fb1a73522a828b14c", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13409 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.816Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:54.816Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "3a54e51f91dbd59b41dbdec5eab11e08a4307b50", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13410 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.820Z", + "group": 26, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.820Z", + "role": "Member", + "representative": 747, + "fingerprint": "95a729e274ce8670b0dd35976b581478b23b5dea", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13411 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.825Z", + "group": 135, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.825Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "b8f4d756e8391afe98c07bf2ebfed89f535f33f6", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13412 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.830Z", + "group": 94, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.830Z", + "role": "Member", + "representative": 747, + "fingerprint": "c534bcb4768722a978b0eb0246f7033d00ea74b1", + "link": "", + "begin_date": "2012-03-28", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13413 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.834Z", + "group": 107, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.834Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "5408a42b88074b15e7a7235dcc76372219f89cae", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13414 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.838Z", + "group": 90, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.838Z", + "role": "Substitute", + "representative": 747, + "fingerprint": "18e868da1a3b32bdd623fa2cb9e39bf3d364290d", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13415 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.842Z", + "group": 29, + "end_date": "2012-03-27", + "created": "2015-12-27T16:14:54.842Z", + "role": "Member", + "representative": 747, + "fingerprint": "47e4f32566432cada2501b8c4104b10cc0d3a948", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13416 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.849Z", + "group": 27, + "end_date": "2012-03-27", + "created": "2015-12-27T16:14:54.849Z", + "role": "Member", + "representative": 747, + "fingerprint": "ef8204ed81afc468a60998664cced911f75c4a48", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13417 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.854Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.854Z", + "role": "Member", + "representative": 747, + "fingerprint": "28226302b7d87efee75f0a2c96dc4a192bbab2db", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13418 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.858Z", + "group": 18, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.858Z", + "role": "Member", + "representative": 747, + "fingerprint": "7f9dce46fccf68935883caddee8a44b2fe5deffe", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13419 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.864Z", + "group": 2, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:54.864Z", + "role": "", + "representative": 747, + "fingerprint": "88e9245d373588616bf1900711df129cb5039977", + "link": "", + "begin_date": "2014-07-01", + "constituency": 33 + }, + "model": "representatives.mandate", + "pk": 13420 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:54.870Z", + "group": 2, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:54.870Z", + "role": "", + "representative": 747, + "fingerprint": "07aeb633059f80048a02629a7c61c9f371c165c3", + "link": "", + "begin_date": "2009-07-14", + "constituency": 33 + }, + "model": "representatives.mandate", + "pk": 13421 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.745Z", + "group": 48, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.744Z", + "role": "Member", + "representative": 748, + "fingerprint": "68d3d0f379dd8480c15c2505cfa0d79c075b7841", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13422 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.749Z", + "group": 58, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.749Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "29d4ce94426ad6b972ca7e1579dd7a748b953569", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13423 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.754Z", + "group": 58, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.754Z", + "role": "Member", + "representative": 748, + "fingerprint": "615d6bb34058590377938b305978108ec3078d05", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13424 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.758Z", + "group": 9, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.758Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "b862520da25dde43d80aafcadb05e53ce8ef8c86", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13425 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.763Z", + "group": 48, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.763Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "2375e0d5aa0635d18e51460fdf545276d6cd5a7b", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13426 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.770Z", + "group": 58, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:55.770Z", + "role": "Member", + "representative": 748, + "fingerprint": "889be829a5ab10235bc643535915bac953b9afd9", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13427 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.777Z", + "group": 48, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:55.777Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "2973f1ce4f235a25c7a78e18a48eab6bdf3ba859", + "link": "", + "begin_date": "2011-11-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13428 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.783Z", + "group": 9, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:55.783Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "7c09c3bef74a1c0fc2422d6be33390e3d05856b1", + "link": "", + "begin_date": "2011-11-30", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13429 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.789Z", + "group": 34, + "end_date": "2011-11-29", + "created": "2015-12-27T16:14:55.789Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "dc1b86ee68c877ec5baf5fa461315d4d6590d521", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13430 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.794Z", + "group": 9, + "end_date": "2011-11-15", + "created": "2015-12-27T16:14:55.794Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "4a8623768c2bad07719ee97072f99c4c2baf5107", + "link": "", + "begin_date": "2011-11-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13431 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.800Z", + "group": 48, + "end_date": "2011-11-07", + "created": "2015-12-27T16:14:55.800Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "19c1d9480c3adf77987ea4555bba27ef71696e7b", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13432 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.806Z", + "group": 58, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.806Z", + "role": "Member", + "representative": 748, + "fingerprint": "96c745175ba11df536bfed972a6cc0b3a43782c3", + "link": "", + "begin_date": "2007-12-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13433 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.811Z", + "group": 5, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.811Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "fdec584ad9c9736f43e0dd0555ac4a13ff7dc893", + "link": "", + "begin_date": "2007-12-12", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13434 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.816Z", + "group": 48, + "end_date": "2007-12-11", + "created": "2015-12-27T16:14:55.816Z", + "role": "Member", + "representative": 748, + "fingerprint": "279c84f24122c8fbb3a59f666f1937a99bcd22ad", + "link": "", + "begin_date": "2007-12-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13435 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.821Z", + "group": 5, + "end_date": "2007-12-09", + "created": "2015-12-27T16:14:55.821Z", + "role": "Member", + "representative": 748, + "fingerprint": "cfa5b295f96e6b8a9c693ac57a805d63ca09b653", + "link": "", + "begin_date": "2007-05-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13436 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.826Z", + "group": 116, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.826Z", + "role": "Member", + "representative": 748, + "fingerprint": "b628360905439a6d9fbf0e717dea4587aa361480", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13437 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.830Z", + "group": 27, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.830Z", + "role": "Member", + "representative": 748, + "fingerprint": "6147ed3857160fbce1187a186e1c46ad7fd325d8", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13438 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.835Z", + "group": 79, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.835Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "421d4a80cf69cab715d2e4a9b9b40ec598255b4e", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13439 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.840Z", + "group": 73, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.840Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "4a8cfc76ad748121079c1e5bd481f3f3515555ed", + "link": "", + "begin_date": "2014-09-23", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13440 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.844Z", + "group": 129, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.844Z", + "role": "Member", + "representative": 748, + "fingerprint": "e7e3e9c74e5a9de8ee774b772154481334238b16", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13441 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.849Z", + "group": 27, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.849Z", + "role": "Member", + "representative": 748, + "fingerprint": "a930efc63d62b60f2dc4e74d0a3a8092fb381d13", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13442 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.854Z", + "group": 16, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.854Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "facca1ef00dbfd150b5346f596d584417f446f1a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13443 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.859Z", + "group": 90, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.859Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "b2edf3e3258cf6ba211e5e069789be404a45c40a", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13444 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.864Z", + "group": 39, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.864Z", + "role": "Member", + "representative": 748, + "fingerprint": "6e934657d07eae9f6fcd288a09063cf59b825939", + "link": "", + "begin_date": "2007-12-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13445 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.869Z", + "group": 13, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.869Z", + "role": "Substitute", + "representative": 748, + "fingerprint": "a6e068b7f953200bf20f2aa0455de22b394636c9", + "link": "", + "begin_date": "2007-12-13", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13446 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.873Z", + "group": 13, + "end_date": "2007-12-12", + "created": "2015-12-27T16:14:55.873Z", + "role": "Member", + "representative": 748, + "fingerprint": "a67f31372ffadbffc0065fa8abc0b52606fa881c", + "link": "", + "begin_date": "2007-12-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13447 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.878Z", + "group": 13, + "end_date": "2007-12-09", + "created": "2015-12-27T16:14:55.878Z", + "role": "Member", + "representative": 748, + "fingerprint": "d6956d64cc42cb6cd45a78f4601b7771b544ddbe", + "link": "", + "begin_date": "2007-05-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13448 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.884Z", + "group": 18, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.884Z", + "role": "Member", + "representative": 748, + "fingerprint": "21914ee16d03c4496db9d87b2ef4e359a16f0798", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13449 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.888Z", + "group": 17, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.888Z", + "role": "Member", + "representative": 748, + "fingerprint": "83c21b6e6bd7136cb3297c2a6065c8b4326fa362", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13450 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.893Z", + "group": 17, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.893Z", + "role": "Member", + "representative": 748, + "fingerprint": "cc79704a6626934bdc84b62fc44cc3f412735e6e", + "link": "", + "begin_date": "2007-12-10", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13451 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.898Z", + "group": 17, + "end_date": "2007-12-09", + "created": "2015-12-27T16:14:55.898Z", + "role": "Member", + "representative": 748, + "fingerprint": "e199ff13e9a29139a022613ad6c29a17dbfd3d5f", + "link": "", + "begin_date": "2007-04-24", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13452 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.905Z", + "group": 19, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:55.905Z", + "role": "", + "representative": 748, + "fingerprint": "cb2bbe4fbfd5b2052cf4c196fa9d222b3c7265dc", + "link": "", + "begin_date": "2014-07-01", + "constituency": 4 + }, + "model": "representatives.mandate", + "pk": 13453 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.912Z", + "group": 19, + "end_date": "2013-06-27", + "created": "2015-12-27T16:14:55.912Z", + "role": "", + "representative": 748, + "fingerprint": "6a14e85bdf4abdc4c77a7198c4f19650cf0fbc34", + "link": "", + "begin_date": "2009-07-14", + "constituency": 4 + }, + "model": "representatives.mandate", + "pk": 13454 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.918Z", + "group": 19, + "end_date": "2009-07-13", + "created": "2015-12-27T16:14:55.918Z", + "role": "", + "representative": 748, + "fingerprint": "68a947e5d5a189a85515d5e6b004289c7014b8ea", + "link": "", + "begin_date": "2007-12-10", + "constituency": 4 + }, + "model": "representatives.mandate", + "pk": 13455 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:55.924Z", + "group": 19, + "end_date": "2007-12-09", + "created": "2015-12-27T16:14:55.924Z", + "role": "", + "representative": 748, + "fingerprint": "502301258c2d33a0adca842f9d830e46bada6fc4", + "link": "", + "begin_date": "2007-04-24", + "constituency": 4 + }, + "model": "representatives.mandate", + "pk": 13456 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.692Z", + "group": 30, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.692Z", + "role": "Member", + "representative": 750, + "fingerprint": "5323fd311cf0cb24122be532666fabb7ef23fa0c", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13471 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.697Z", + "group": 23, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.697Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "9d57bd7941ddda428728446908f8dd7aa642c764", + "link": "", + "begin_date": "2014-07-08", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13472 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.702Z", + "group": 3, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:58.702Z", + "role": "Member", + "representative": 750, + "fingerprint": "45604b8c329dfcfa383717524b35e648f14fac46", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13473 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.707Z", + "group": 30, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:58.707Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "25bd7160a260116a366290b62cb7085a4c3a7494", + "link": "", + "begin_date": "2012-01-19", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13474 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.712Z", + "group": 3, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:58.712Z", + "role": "Member", + "representative": 750, + "fingerprint": "7cb92ad1f3df2bf06a02edd06d2cc5b63ccafead", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13475 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.716Z", + "group": 30, + "end_date": "2012-01-18", + "created": "2015-12-27T16:14:58.716Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "5953eb229dd3c0993c1af3654fa7dfc052614002", + "link": "", + "begin_date": "2009-07-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13476 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.721Z", + "group": 135, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.721Z", + "role": "Member", + "representative": 750, + "fingerprint": "20a93b100a172b29f9ec6c6f94a8faeb1754a075", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13477 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.726Z", + "group": 81, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.726Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "b65a685d8e4144e36aff12b64bf6d835af1b95a5", + "link": "", + "begin_date": "2015-05-18", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13478 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.730Z", + "group": 111, + "end_date": "2015-05-17", + "created": "2015-12-27T16:14:58.730Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "926a867dc7455b9a636053198025e87727c93bfa", + "link": "", + "begin_date": "2014-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13479 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.735Z", + "group": 111, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:58.735Z", + "role": "Member", + "representative": 750, + "fingerprint": "5b3c92419b42372cc8a521f53749d11b0b81b14e", + "link": "", + "begin_date": "2009-09-16", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13480 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.739Z", + "group": 35, + "end_date": "2013-01-10", + "created": "2015-12-27T16:14:58.739Z", + "role": "Substitute", + "representative": 750, + "fingerprint": "681dac891286446feb02863db19826f079cfed12", + "link": "", + "begin_date": "2009-09-17", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13481 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.744Z", + "group": 21, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.744Z", + "role": "Member", + "representative": 750, + "fingerprint": "f5c73825add38bb2c5f8de70d88b9effa6d6527f", + "link": "", + "begin_date": "2014-07-01", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13482 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.749Z", + "group": 21, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:58.749Z", + "role": "Member", + "representative": 750, + "fingerprint": "5765a17282ede4b110bedd2af0b1e5cc87673e6e", + "link": "", + "begin_date": "2009-07-14", + "constituency": 1 + }, + "model": "representatives.mandate", + "pk": 13483 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.755Z", + "group": 140, + "end_date": "9999-12-31", + "created": "2015-12-27T16:14:58.755Z", + "role": "", + "representative": 750, + "fingerprint": "6058eddb2a4542a23de70a2528993eba09b5817a", + "link": "", + "begin_date": "2014-07-01", + "constituency": 137 + }, + "model": "representatives.mandate", + "pk": 13484 +}, +{ + "fields": { + "updated": "2015-12-27T16:14:58.761Z", + "group": 140, + "end_date": "2014-06-30", + "created": "2015-12-27T16:14:58.761Z", + "role": "", + "representative": 750, + "fingerprint": "4d9c58327c6b94bdf8a01e5c4d1fbcf751abaf8f", + "link": "", + "begin_date": "2009-07-14", + "constituency": 137 + }, + "model": "representatives.mandate", + "pk": 13485 +}, +{ + "fields": { + "updated": "2015-12-27T17:40:18.700Z", + "reference": "2010/2935(RSP)", + "title": "Resolution on the Anti-Counterfeiting Trade Agreement (ACTA)", + "text": "", + "created": "2015-12-27T17:40:18.700Z", + "link": "http://www.europarl.europa.eu/oeil/popups/ficheprocedure.do?reference=2010/2935(RSP)", + "fingerprint": "30ca011fd2991db0e6de50aef0d76e83530003a6" + }, + "model": "representatives_votes.dossier", + "pk": 28147 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:52.645Z", + "total_for": 329, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - Consid\u00e9rant X", + "dossier": 28147, + "created": "2015-12-27T17:53:17.771Z", + "kind": "Consid\u00e9rant X", + "datetime": "2010-11-24T11:48:48Z", + "total_against": 249, + "fingerprint": "d07e0a7f35d385a04fcff7ec08976bfa2d74a510", + "total_abstain": 75 + }, + "model": "representatives_votes.proposal", + "pk": 5744 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:53.335Z", + "total_for": 315, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - Consid\u00e9rant CC", + "dossier": 28147, + "created": "2015-12-27T17:53:17.847Z", + "kind": "Consid\u00e9rant CC", + "datetime": "2010-11-24T11:49:01Z", + "total_against": 312, + "fingerprint": "c32565895a10dd6c145d56593ecc6e5ee8e6c69e", + "total_abstain": 14 + }, + "model": "representatives_votes.proposal", + "pk": 5745 +}, +{ + "fields": { + "updated": "2015-12-27T18:03:53.999Z", + "total_for": 306, + "description": "", + "reference": "B7-0617/2010", + "title": "RC-B7-0617/2010 - Accord commercial anti-contrefa\u00e7on (ACAC) - R\u00e9solution", + "dossier": 28147, + "created": "2015-12-27T17:53:17.920Z", + "kind": "R\u00e9solution", + "datetime": "2010-11-24T11:49:18Z", + "total_against": 322, + "fingerprint": "be07f4680af54c8c43ea4ca19194fee88873c8cc", + "total_abstain": 26 + }, + "model": "representatives_votes.proposal", + "pk": 5746 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 748 + }, + "model": "representatives_votes.vote", + "pk": 24689 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 746 + }, + "model": "representatives_votes.vote", + "pk": 24695 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 647 + }, + "model": "representatives_votes.vote", + "pk": 24704 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 661 + }, + "model": "representatives_votes.vote", + "pk": 24709 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 697 + }, + "model": "representatives_votes.vote", + "pk": 24711 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 614 + }, + "model": "representatives_votes.vote", + "pk": 24715 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 684 + }, + "model": "representatives_votes.vote", + "pk": 24716 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 282 + }, + "model": "representatives_votes.vote", + "pk": 24731 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 717 + }, + "model": "representatives_votes.vote", + "pk": 24732 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 718 + }, + "model": "representatives_votes.vote", + "pk": 24734 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 692 + }, + "model": "representatives_votes.vote", + "pk": 24740 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 708 + }, + "model": "representatives_votes.vote", + "pk": 24742 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 743 + }, + "model": "representatives_votes.vote", + "pk": 24744 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 655 + }, + "model": "representatives_votes.vote", + "pk": 24747 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 24758 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 642 + }, + "model": "representatives_votes.vote", + "pk": 24759 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 645 + }, + "model": "representatives_votes.vote", + "pk": 24761 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 750 + }, + "model": "representatives_votes.vote", + "pk": 24769 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 651 + }, + "model": "representatives_votes.vote", + "pk": 24786 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 719 + }, + "model": "representatives_votes.vote", + "pk": 24801 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 738 + }, + "model": "representatives_votes.vote", + "pk": 24803 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 650 + }, + "model": "representatives_votes.vote", + "pk": 24810 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5744, + "representative": 670 + }, + "model": "representatives_votes.vote", + "pk": 24811 +}, +{ + "fields": { + "representative_name": "", + "position": "abstain", + "proposal": 5744, + "representative": 646 + }, + "model": "representatives_votes.vote", + "pk": 24830 +}, +{ + "fields": { + "representative_name": "", + "position": "abstain", + "proposal": 5744, + "representative": 653 + }, + "model": "representatives_votes.vote", + "pk": 24842 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 439 + }, + "model": "representatives_votes.vote", + "pk": 24867 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 744 + }, + "model": "representatives_votes.vote", + "pk": 24870 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 681 + }, + "model": "representatives_votes.vote", + "pk": 24873 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 736 + }, + "model": "representatives_votes.vote", + "pk": 24877 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 678 + }, + "model": "representatives_votes.vote", + "pk": 24879 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 699 + }, + "model": "representatives_votes.vote", + "pk": 24885 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 679 + }, + "model": "representatives_votes.vote", + "pk": 24889 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 705 + }, + "model": "representatives_votes.vote", + "pk": 24890 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 747 + }, + "model": "representatives_votes.vote", + "pk": 24904 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 644 + }, + "model": "representatives_votes.vote", + "pk": 24913 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5744, + "representative": 666 + }, + "model": "representatives_votes.vote", + "pk": 24957 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 748 + }, + "model": "representatives_votes.vote", + "pk": 24974 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 746 + }, + "model": "representatives_votes.vote", + "pk": 24980 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 647 + }, + "model": "representatives_votes.vote", + "pk": 24988 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 661 + }, + "model": "representatives_votes.vote", + "pk": 24993 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 697 + }, + "model": "representatives_votes.vote", + "pk": 24995 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 684 + }, + "model": "representatives_votes.vote", + "pk": 24999 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 717 + }, + "model": "representatives_votes.vote", + "pk": 25014 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 718 + }, + "model": "representatives_votes.vote", + "pk": 25016 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 692 + }, + "model": "representatives_votes.vote", + "pk": 25021 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 743 + }, + "model": "representatives_votes.vote", + "pk": 25024 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 655 + }, + "model": "representatives_votes.vote", + "pk": 25027 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 642 + }, + "model": "representatives_votes.vote", + "pk": 25038 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 645 + }, + "model": "representatives_votes.vote", + "pk": 25040 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 750 + }, + "model": "representatives_votes.vote", + "pk": 25048 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 651 + }, + "model": "representatives_votes.vote", + "pk": 25065 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 719 + }, + "model": "representatives_votes.vote", + "pk": 25080 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 738 + }, + "model": "representatives_votes.vote", + "pk": 25082 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 650 + }, + "model": "representatives_votes.vote", + "pk": 25089 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5745, + "representative": 670 + }, + "model": "representatives_votes.vote", + "pk": 25090 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 614 + }, + "model": "representatives_votes.vote", + "pk": 25110 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 646 + }, + "model": "representatives_votes.vote", + "pk": 25116 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 653 + }, + "model": "representatives_votes.vote", + "pk": 25129 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 744 + }, + "model": "representatives_votes.vote", + "pk": 25145 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 681 + }, + "model": "representatives_votes.vote", + "pk": 25148 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 736 + }, + "model": "representatives_votes.vote", + "pk": 25152 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 678 + }, + "model": "representatives_votes.vote", + "pk": 25154 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 699 + }, + "model": "representatives_votes.vote", + "pk": 25161 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 679 + }, + "model": "representatives_votes.vote", + "pk": 25165 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 705 + }, + "model": "representatives_votes.vote", + "pk": 25166 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 747 + }, + "model": "representatives_votes.vote", + "pk": 25180 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 644 + }, + "model": "representatives_votes.vote", + "pk": 25189 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 282 + }, + "model": "representatives_votes.vote", + "pk": 25213 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 666 + }, + "model": "representatives_votes.vote", + "pk": 25233 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5745, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 25246 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 748 + }, + "model": "representatives_votes.vote", + "pk": 25257 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 746 + }, + "model": "representatives_votes.vote", + "pk": 25263 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 661 + }, + "model": "representatives_votes.vote", + "pk": 25273 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 697 + }, + "model": "representatives_votes.vote", + "pk": 25275 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 684 + }, + "model": "representatives_votes.vote", + "pk": 25279 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 282 + }, + "model": "representatives_votes.vote", + "pk": 25291 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 717 + }, + "model": "representatives_votes.vote", + "pk": 25292 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 718 + }, + "model": "representatives_votes.vote", + "pk": 25294 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 692 + }, + "model": "representatives_votes.vote", + "pk": 25300 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 708 + }, + "model": "representatives_votes.vote", + "pk": 25302 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 743 + }, + "model": "representatives_votes.vote", + "pk": 25304 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 655 + }, + "model": "representatives_votes.vote", + "pk": 25307 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 642 + }, + "model": "representatives_votes.vote", + "pk": 25318 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 645 + }, + "model": "representatives_votes.vote", + "pk": 25320 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 750 + }, + "model": "representatives_votes.vote", + "pk": 25328 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 651 + }, + "model": "representatives_votes.vote", + "pk": 25345 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 719 + }, + "model": "representatives_votes.vote", + "pk": 25360 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 738 + }, + "model": "representatives_votes.vote", + "pk": 25362 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 650 + }, + "model": "representatives_votes.vote", + "pk": 25369 +}, +{ + "fields": { + "representative_name": "", + "position": "for", + "proposal": 5746, + "representative": 670 + }, + "model": "representatives_votes.vote", + "pk": 25370 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 647 + }, + "model": "representatives_votes.vote", + "pk": 25393 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 614 + }, + "model": "representatives_votes.vote", + "pk": 25396 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 646 + }, + "model": "representatives_votes.vote", + "pk": 25402 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 653 + }, + "model": "representatives_votes.vote", + "pk": 25415 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 439 + }, + "model": "representatives_votes.vote", + "pk": 25431 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 744 + }, + "model": "representatives_votes.vote", + "pk": 25434 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 681 + }, + "model": "representatives_votes.vote", + "pk": 25437 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 736 + }, + "model": "representatives_votes.vote", + "pk": 25441 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 678 + }, + "model": "representatives_votes.vote", + "pk": 25443 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 699 + }, + "model": "representatives_votes.vote", + "pk": 25450 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 679 + }, + "model": "representatives_votes.vote", + "pk": 25454 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 705 + }, + "model": "representatives_votes.vote", + "pk": 25455 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 747 + }, + "model": "representatives_votes.vote", + "pk": 25469 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 644 + }, + "model": "representatives_votes.vote", + "pk": 25478 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 666 + }, + "model": "representatives_votes.vote", + "pk": 25522 +}, +{ + "fields": { + "representative_name": "", + "position": "against", + "proposal": 5746, + "representative": 160 + }, + "model": "representatives_votes.vote", + "pk": 25535 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 717 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 718 +}, +{ + "fields": { + "score": -10 + }, + "model": "representatives_recommendations.representativescore", + "pk": 439 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 748 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 744 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 681 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 684 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 719 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 692 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 736 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 678 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 738 +}, +{ + "fields": { + "score": 10 + }, + "model": "representatives_recommendations.representativescore", + "pk": 708 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 699 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 743 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 646 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 679 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 705 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 655 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 746 +}, +{ + "fields": { + "score": -7 + }, + "model": "representatives_recommendations.representativescore", + "pk": 160 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 642 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 645 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 650 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 670 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 747 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 644 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 750 +}, +{ + "fields": { + "score": 5 + }, + "model": "representatives_recommendations.representativescore", + "pk": 282 +}, +{ + "fields": { + "score": 3 + }, + "model": "representatives_recommendations.representativescore", + "pk": 647 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 651 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 653 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 661 +}, +{ + "fields": { + "score": -15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 666 +}, +{ + "fields": { + "score": 15 + }, + "model": "representatives_recommendations.representativescore", + "pk": 697 +}, +{ + "fields": { + "score": -7 + }, + "model": "representatives_recommendations.representativescore", + "pk": 614 +}, +{ + "fields": { + "proposal": 5744, + "title": "Stop acta !", + "description": "", + "weight": 4, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 45 +}, +{ + "fields": { + "proposal": 5745, + "title": "Stop acta !", + "description": "", + "weight": 5, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 46 +}, +{ + "fields": { + "proposal": 5746, + "title": "Stop acta !", + "description": "", + "weight": 6, + "recommendation": "for" + }, + "model": "representatives_recommendations.recommendation", + "pk": 47 +} +] diff --git a/memopol/settings.py b/memopol/settings.py index ec5779f057454f3f52483d2d7b7e597b89e4a38d..24a7ca03c96d593273ed0860980761bff34ad057 100644 --- a/memopol/settings.py +++ b/memopol/settings.py @@ -9,89 +9,98 @@ https://docs.djangoproject.com/en/1.7/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) -import json import os -import django +from socket import gethostname -# Normally you should not import ANYTHING from Django directly -# into your settings, but ImproperlyConfigured is an exception. -from django.core.exceptions import ImproperlyConfigured -from django.conf import settings +from django.conf import global_settings +from django.utils.crypto import get_random_string -# BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config.json') +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -with open(config_file) as f: - config = json.loads(f.read()) +DATA_DIR = os.environ.get('OPENSHIFT_DATA_DIR', 'data') +if not os.path.exists(DATA_DIR): + os.makedirs(DATA_DIR) -def get_param(setting, config=config, default=None): - """Get the secret variable or return explicit exception.""" - try: - return config[setting] - except KeyError: - if default: - return default - error_msg = "Set the {0} config variable".format(setting) - raise ImproperlyConfigured(error_msg) - -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) +LOG_DIR = os.environ.get('OPENSHIFT_LOG_DIR', 'log') +if not os.path.exists(LOG_DIR): + os.makedirs(LOG_DIR) +PUBLIC_DIR = os.path.join( + os.environ.get( + 'OPENSHIFT_REPO_DIR', + ''), + 'wsgi/static') # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = get_param('secret_key') +SECRET_FILE = os.path.join(DATA_DIR, 'secret.txt') + +if not os.path.exists(SECRET_FILE): + chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)' + with open(SECRET_FILE, 'w+') as f: + f.write(get_random_string(50, chars)) + +with open(SECRET_FILE, 'r') as f: + SECRET_KEY = f.read() + -DEBUG = get_param('debug') +DEBUG = os.environ.get('DJANGO_DEBUG', False) TEMPLATE_DEBUG = DEBUG +LOG_LEVEL = os.environ.get('DJANGO_LOG_LEVEL', 'DEBUG' if DEBUG else 'INFO') -ALLOWED_HOSTS = [] +if SECRET_KEY == 'notsecret' and not DEBUG: + raise Exception('Please export DJANGO_SECRET_KEY or DEBUG') -COMPOTISTA_SERVER = get_param('compotista_server') -TOUTATIS_SERVER = get_param('toutatis_server') -REDIS_DB = get_param('redis_db') -ORGANIZATION_NAME = get_param('organization') +ALLOWED_HOSTS = [ + gethostname(), +] -# Application definition +DNS = os.environ.get('OPENSHIFT_APP_DNS', None), +if DNS: + ALLOWED_HOSTS += DNS + +if 'DJANGO_ALLOWED_HOSTS' in os.environ: + ALLOWED_HOSTS += os.environ.get('DJANGO_ALLOWED_HOSTS').split(',') + +REDIS_DB = os.environ.get('REDIS_DB', 1) +ORGANIZATION_NAME = os.environ.get('ORGANIZATION', 'Memopol Demo') INSTALLED_APPS = ( # 'django.contrib.admin', - # Instead of contrib.admin to use Django-Admin-Plus - 'django.contrib.admin.apps.SimpleAdminConfig', + 'autocomplete_light', + 'suit', + 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', + 'django.contrib.sites', # 3rd party apps 'compressor', - 'adminplus', - 'constance', 'bootstrap3', 'datetimewidget', 'django_filters', 'taggit', # --- 'core', + 'memopol', 'representatives', 'representatives_votes', - 'legislature', - 'votes', - 'positions' + 'representatives_recommendations', + 'representatives_positions', ) if DEBUG: - INSTALLED_APPS += ( - 'django_extensions', - ) - -if get_param('local'): - INSTALLED_APPS += ( - 'debug_toolbar', - ) - + try: + import debug_toolbar # noqa + except: + pass + else: + INSTALLED_APPS += ('debug_toolbar',) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', @@ -101,6 +110,7 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.contrib.sites.middleware.CurrentSiteMiddleware', ) ROOT_URLCONF = 'memopol.urls' @@ -113,25 +123,34 @@ WSGI_APPLICATION = 'memopol.wsgi.application' DATABASES = { 'default': { - 'NAME': get_param('database_name'), - 'USER': get_param('database_user'), - 'PASSWORD': get_param('database_password'), - 'HOST': get_param('database_host'), - 'PORT': get_param('database_port'), + 'NAME': os.environ.get('DJANGO_DATABASE_DEFAULT_NAME', 'db.sqlite'), + 'USER': os.environ.get('DJANGO_DATABASE_DEFAULT_USER', ''), + 'PASSWORD': os.environ.get('DJANGO_DATABASE_DEFAULT_PASSWORD', ''), + 'HOST': os.environ.get('DJANGO_DATABASE_DEFAULT_HOST', ''), + 'PORT': os.environ.get('DJANGO_DATABASE_DEFAULT_PORT', ''), + 'ENGINE': os.environ.get('DJANGO_DATABASE_DEFAULT_ENGINE', + 'django.db.backends.sqlite3'), + } } -if get_param('local'): - DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3' -elif get_param('database_server') == 'mysql': - DATABASES['default']['ENGINE'] = 'django.db.backends.mysql' -elif get_param('database_server') == 'postgresql': +if 'OPENSHIFT_DATA_DIR' in os.environ: + DATABASES['default']['NAME'] = os.path.join(DATA_DIR, 'db.sqlite') + +if 'OPENSHIFT_POSTGRESQL_DB_HOST' in os.environ: + DATABASES['default']['NAME'] = os.environ['OPENSHIFT_APP_NAME'] + DATABASES['default']['USER'] = os.environ[ + 'OPENSHIFT_POSTGRESQL_DB_USERNAME'] + DATABASES['default']['PASSWORD'] = os.environ[ + 'OPENSHIFT_POSTGRESQL_DB_PASSWORD'] + DATABASES['default']['HOST'] = os.environ['OPENSHIFT_POSTGRESQL_DB_HOST'] + DATABASES['default']['PORT'] = os.environ['OPENSHIFT_POSTGRESQL_DB_PORT'] DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2' # Internationalization # https://docs.djangoproject.com/en/1.7/topics/i18n/ -LANGUAGE_CODE = get_param('language_code', default='en-us') +LANGUAGE_CODE = os.environ.get('DJANGO_LANGUAGE_CODE', 'en-us') TIME_ZONE = 'UTC' @@ -145,15 +164,25 @@ USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/1.7/howto/static-files/ +STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] + STATIC_URL = '/static/' +COMPRESS_ROOT = 'static/' + +if DATA_DIR: + MEDIA_URL = '/static/media/' + MEDIA_ROOT = os.path.join(DATA_DIR, 'media') + COMPRESS_ROOT = os.path.join(DATA_DIR, 'compress') + +if PUBLIC_DIR: + STATIC_URL = '/static/collected/' + STATIC_ROOT = os.path.join(PUBLIC_DIR, 'collected') # HAML Templates # https://github.com/jessemiller/hamlpy +HAMLPY_ATTR_WRAPPER = '"' -TEMPLATE_DIRS = ( - 'core/templates', - os.path.dirname(django.__file__) -) +TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')] TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', @@ -162,10 +191,6 @@ TEMPLATE_LOADERS = ( 'hamlpy.template.loaders.HamlPyAppDirectoriesLoader', ) -TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS + ( - 'constance.context_processors.config', -) - """ TEMPLATE_LOADERS = ( ('django.template.loaders.cached.Loader', ( @@ -175,10 +200,12 @@ TEMPLATE_LOADERS = ( ) """ +TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + ( + 'django.template.context_processors.request', +) + # Static files finders -STATIC_URL = '/static/' -COMPRESS_ROOT = 'static/' STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', @@ -190,11 +217,16 @@ STATICFILES_FINDERS = ( # Use compressor even in debug COMPRESS_ENABLED = False +if os.environ.get('OPENSHIFT_LOG_DIR', None): + # Enable offline compression on openshift + COMPRESS_ENABLED = True + COMPRESS_OFFLINE = True + COMPRESS_PRECOMPILERS = ( # ('text/coffeescript', 'coffee --compile --stdio'), - ('text/less', 'lessc {infile} {outfile}'), - ('text/x-sass', 'sass {infile} {outfile}'), - ('text/x-scss', 'sass --scss {infile} {outfile}'), + ('text/less', 'lesscpy {infile}'), + # ('text/x-sass', 'sass {infile} {outfile}'), + # ('text/x-scss', 'sass --scss {infile} {outfile}'), # ('text/stylus', 'stylus < {infile} > {outfile}'), # ('text/foobar', 'path.to.MyPrecompilerFilter'), ) @@ -204,21 +236,13 @@ LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { - 'verbose': { - 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' - }, 'simple': { 'format': '%(levelname)s[%(module)s]: %(message)s' }, }, 'handlers': { - 'file': { - 'level': 'DEBUG', - 'class': 'logging.FileHandler', - 'filename': '/tmp/compotista-debug.log', - }, 'console': { - 'level': 'DEBUG', + 'level': LOG_LEVEL, 'class': 'logging.StreamHandler', 'formatter': 'simple' }, @@ -226,29 +250,50 @@ LOGGING = { 'loggers': { 'memopol': { 'handlers': ['console'], - 'level': 'DEBUG' + 'level': LOG_LEVEL, }, 'representatives': { 'handlers': ['console'], - 'level': 'DEBUG' + 'level': LOG_LEVEL, }, 'representatives_votes': { 'handlers': ['console'], - 'level': 'DEBUG' + 'level': LOG_LEVEL, } }, } -CONSTANCE_BACKEND = 'constance.backends.redisd.RedisBackend' -CONSTANCE_REDIS_CONNECTION = { - 'host': 'localhost', - 'port': 6379, - 'db': 0, -} +if DEBUG: + LOGGING['handlers']['debug'] = { + 'level': 'DEBUG', + 'class': 'logging.FileHandler', + 'filename': os.path.join(LOG_DIR, 'debug.log'), + } -CONSTANCE_CONFIG = { - 'USE_COUNTRY': (True, 'Use country for representative'), - 'MAIN_GROUP_KIND': ('group', 'Main group kind'), - 'ORGANIZATION_NAME': ('La Quadrature du Net', 'Organization name'), - 'POSITION_PUBLISHED': (False, 'Default position published status') -} + for logger in LOGGING['loggers'].values(): + logger['handlers'].append('debug') + +RAVEN_FILE = os.path.join(DATA_DIR, 'sentry') +if os.path.exists(RAVEN_FILE): + INSTALLED_APPS += ('raven.contrib.django.raven_compat',) + + LOGGING['handlers']['sentry'] = { + 'level': 'INFO', + 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', + } + LOGGING['loggers']['sentry.errors'] = LOGGING['loggers']['raven'] = { + 'level': 'INFO', + 'handlers': ['console'], + 'propagate': False, + } + + with open(RAVEN_FILE, 'r') as f: + RAVEN_CONFIG = { + 'dsn': f.read().strip() + } + +SITE_ID = 1 +SITE_NAME = os.environ.get('DJANGO_SITE_NAME', 'La Quadrature du Net') +SITE_DOMAIN = os.environ.get('OPENSHIFT_APP_DNS', 'localhost:8000') + +SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' diff --git a/memopol/settings.py.example b/memopol/settings.py.example deleted file mode 100644 index 46558a7a63bf4478aaf042d86f4521452c042569..0000000000000000000000000000000000000000 --- a/memopol/settings.py.example +++ /dev/null @@ -1,146 +0,0 @@ -""" -Django settings for memopol project. - -For more information on this file, see -https://docs.djangoproject.com/en/1.7/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/1.7/ref/settings/ -""" - -# Build paths inside the project like this: os.path.join(BASE_DIR, ...) -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'zbzzs+8wkdnbo-l9x6+r38)$%h)!&22c^di$^6ap_+9oza#irr' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -TEMPLATE_DEBUG = True - -ALLOWED_HOSTS = [] - - -# Application definition - -INSTALLED_APPS = ( - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # --- - 'compressor', - 'chronograph', - # --- - 'core', - 'representatives', - 'memopol_representatives', -) - -# App settings - -REPRESENTATIVES_COMPOTISTA_SERVER = 'http://pi2.octopuce.fr:8081' - -MIDDLEWARE_CLASSES = ( - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'memopol.urls' - -WSGI_APPLICATION = 'memopol.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/1.7/ref/settings/#databases - -DATABASES = { - 'sqlite': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - }, - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'memopol_dev', - 'USER': 'dj', - 'PASSWORD': "test", - 'HOST': 'localhost', - 'PORT': '', - } -} - -# Internationalization -# https://docs.djangoproject.com/en/1.7/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/1.7/howto/static-files/ - -STATIC_URL = '/static/' - -# HAML Templates -# https://github.com/jessemiller/hamlpy - -TEMPLATE_DIRS = ( - 'core/templates', -) - -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - 'hamlpy.template.loaders.HamlPyFilesystemLoader', - 'hamlpy.template.loaders.HamlPyAppDirectoriesLoader', -) - -""" -TEMPLATE_LOADERS = ( - ('django.template.loaders.cached.Loader', ( - 'hamlpy.template.loaders.HamlPyFilesystemLoader', - 'hamlpy.template.loaders.HamlPyAppDirectoriesLoader', - )), -) -""" - -# Static files finders - -STATIC_URL = '/static/' -COMPRESS_ROOT = 'static/' - -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', - # other finders.. - 'compressor.finders.CompressorFinder', -) - -COMPRESS_PRECOMPILERS = ( - # ('text/coffeescript', 'coffee --compile --stdio'), - ('text/less', 'lessc {infile} {outfile}'), - ('text/x-sass', 'sass {infile} {outfile}'), - ('text/x-scss', 'sass --scss {infile} {outfile}'), - # ('text/stylus', 'stylus < {infile} > {outfile}'), - # ('text/foobar', 'path.to.MyPrecompilerFilter'), -) diff --git a/memopol/tests/RepresentativeDetailTest/test_mandates_display.html b/memopol/tests/RepresentativeDetailTest/test_mandates_display.html new file mode 100644 index 0000000000000000000000000000000000000000..ed53edd6c410724b9958da1d19f3dd8432c5b83e --- /dev/null +++ b/memopol/tests/RepresentativeDetailTest/test_mandates_display.html @@ -0,0 +1,610 @@ + <h2>Mandates</h2> + + <table class='table table-condensed mandates'> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>01/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Legal%20Affairs/'> + Committee on Legal Affairs + + JURI + + </a> + </td> + <td>01/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>08/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20for%20relations%20with%20South%20Africa/'> + Delegation for relations with South Africa + + </a> + </td> + <td>14/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20Parliamentary%20Assembly%20of%20the%20Union%20for%20the%20Mediterranean/'> + Delegation to the Parliamentary Assembly of the Union for the Mediterranean + + </a> + </td> + <td>14/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20for%20relations%20with%20Palestine/'> + Delegation for relations with Palestine + + </a> + </td> + <td>14/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + Group of the Progressive Alliance of Socialists and Democrats in the European Parliament + + SD + + </a> + </td> + <td>01/07/2014</td> + <td>present</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td></td> + <td> + <a href='/legislature/representative/country/United%20Kingdom/'> + United Kingdom + + GB + + </a> + </td> + <td>01/07/2014</td> + <td>present</td> + <td>Labour Party</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>19/01/2012</td> + <td>30/06/2014</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>19/01/2012</td> + <td>30/06/2014</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Legal%20Affairs/'> + Committee on Legal Affairs + + JURI + + </a> + </td> + <td>19/01/2012</td> + <td>30/06/2014</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20for%20relations%20with%20Canada/'> + Delegation for relations with Canada + + </a> + </td> + <td>16/09/2009</td> + <td>30/06/2014</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + Group of the Progressive Alliance of Socialists and Democrats in the European Parliament + + SD + + </a> + </td> + <td>14/07/2009</td> + <td>30/06/2014</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td></td> + <td> + <a href='/legislature/representative/country/United%20Kingdom/'> + United Kingdom + + GB + + </a> + </td> + <td>14/07/2009</td> + <td>30/06/2014</td> + <td>Labour Party</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>16/07/2009</td> + <td>18/01/2012</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>16/07/2009</td> + <td>18/01/2012</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Legal%20Affairs/'> + Committee on Legal Affairs + + JURI + + </a> + </td> + <td>20/09/2010</td> + <td>18/01/2012</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Regional%20Development/'> + Committee on Regional Development + + REGI + + </a> + </td> + <td>16/07/2009</td> + <td>19/09/2010</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Industry,%20Research%20and%20Energy/'> + Committee on Industry, Research and Energy + + ITRE + + </a> + </td> + <td>31/01/2007</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>31/01/2007</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>31/01/2007</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20EU-Former%20Yugoslav%20Republic%20of%20Macedonia%20Joint%20Parliamentary%20Committee/'> + Delegation to the EU-Former Yugoslav Republic of Macedonia Joint Parliamentary Committee + + </a> + </td> + <td>15/09/2004</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20EU-Turkey%20Joint%20Parliamentary%20Committee/'> + Delegation to the EU-Turkey Joint Parliamentary Committee + + </a> + </td> + <td>15/09/2004</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20Euro-Mediterranean%20Parliamentary%20Assembly/'> + Delegation to the Euro-Mediterranean Parliamentary Assembly + + </a> + </td> + <td>15/09/2004</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/group/Socialist%20Group%20in%20the%20European%20Parliament/'> + Socialist Group in the European Parliament + + PSE + + </a> + </td> + <td>20/07/2004</td> + <td>13/07/2009</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td></td> + <td> + <a href='/legislature/representative/country/United%20Kingdom/'> + United Kingdom + + GB + + </a> + </td> + <td>20/07/2004</td> + <td>13/07/2009</td> + <td>Labour Party</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20the%20Environment,%20Public%20Health%20and%20Food%20Safety/'> + Committee on the Environment, Public Health and Food Safety + + ENVI + + </a> + </td> + <td>15/01/2007</td> + <td>30/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>15/01/2007</td> + <td>30/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>15/01/2007</td> + <td>30/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20the%20Environment,%20Public%20Health%20and%20Food%20Safety/'> + Committee on the Environment, Public Health and Food Safety + + ENVI + + </a> + </td> + <td>21/07/2004</td> + <td>14/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Women's%20Rights%20and%20Gender%20Equality/'> + Committee on Women's Rights and Gender Equality + + FEMM + + </a> + </td> + <td>21/07/2004</td> + <td>14/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Culture%20and%20Education/'> + Committee on Culture and Education + + CULT + + </a> + </td> + <td>21/07/2004</td> + <td>14/01/2007</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Economic%20and%20Monetary%20Affairs/'> + Committee on Economic and Monetary Affairs + + ECON + + </a> + </td> + <td>17/01/2002</td> + <td>19/07/2004</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Party%20of%20European%20Socialists/'> + Group of the Party of European Socialists + + PSE + + </a> + </td> + <td>17/02/2000</td> + <td>19/07/2004</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td></td> + <td> + <a href='/legislature/representative/country/United%20Kingdom/'> + United Kingdom + + GB + + </a> + </td> + <td>17/02/2000</td> + <td>19/07/2004</td> + <td>Labour Party</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20EU-Cyprus%20Joint%20Parliamentary%20Committee/'> + Delegation to the EU-Cyprus Joint Parliamentary Committee + + </a> + </td> + <td>07/02/2002</td> + <td>30/04/2004</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20EU-Malta%20Joint%20Parliamentary%20Committee/'> + Delegation to the EU-Malta Joint Parliamentary Committee + + </a> + </td> + <td>07/02/2002</td> + <td>30/04/2004</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Substitute</td> + <td> + <a href='/legislature/representative/committee/Committee%20on%20Employment%20and%20Social%20Affairs/'> + Committee on Employment and Social Affairs + + EMPL + + </a> + </td> + <td>01/03/2000</td> + <td>14/01/2002</td> + <td>European Parliament</td> + + </tr> + + <tr class='mandate'> + <td>Member</td> + <td> + <a href='/legislature/representative/delegation/Delegation%20to%20the%20EU-Cyprus%20Joint%20Parliamentary%20Committee/'> + Delegation to the EU-Cyprus Joint Parliamentary Committee + + </a> + </td> + <td>11/04/2000</td> + <td>14/01/2002</td> + <td>European Parliament</td> + + </tr> + + </table> + diff --git a/memopol/tests/RepresentativeDetailTest/test_positions_display.html b/memopol/tests/RepresentativeDetailTest/test_positions_display.html new file mode 100644 index 0000000000000000000000000000000000000000..309bf0a63f7da3915c029b69c477a3dfd2b347dd --- /dev/null +++ b/memopol/tests/RepresentativeDetailTest/test_positions_display.html @@ -0,0 +1,54 @@ + <div class='positions'> + <h2>Public positions</h2> + + <table class='table table-condensed'> + + <tr class='position'> + <td>24/11/2010</td> + <td> + <a href='/positions/position/2/'> + first-validated + </a> + </td> + <td> + + <span class='label label-default'> + acta + </span> + + <span class='label label-default'> + bar + </span> + + </td> + <td> + <a href='http://example.com/first-validated'> + http://example.com/first-validated + + </a> + </td> + </tr> + + <tr class='position'> + <td>24/11/2010</td> + <td> + <a href='/positions/position/3/'> + other-validated + </a> + </td> + <td> + + <span class='label label-default'> + acta + </span> + + </td> + <td> + <a href='http://example.com/second-validated'> + http://example.com/second-validated + + </a> + </td> + </tr> + + diff --git a/memopol/tests/RepresentativeDetailTest/test_score_display.html b/memopol/tests/RepresentativeDetailTest/test_score_display.html new file mode 100644 index 0000000000000000000000000000000000000000..fda9ced59c1890d873c91ef27d71da8603e93d8f --- /dev/null +++ b/memopol/tests/RepresentativeDetailTest/test_score_display.html @@ -0,0 +1,5 @@ + <th>Score</th> + <td> + <span class="label label-danger">-7</span> + </td> + diff --git a/memopol/tests/RepresentativeDetailTest/test_votes_display.html b/memopol/tests/RepresentativeDetailTest/test_votes_display.html new file mode 100644 index 0000000000000000000000000000000000000000..a87fb555481a12e2e2b2b8d348f74103a8a71634 --- /dev/null +++ b/memopol/tests/RepresentativeDetailTest/test_votes_display.html @@ -0,0 +1,63 @@ + <h2 id='votes'>Votes</h2> + + <table class='table table-condensed votes'> + <tr> + <th>Title</th> + <th class='icon-cell'> + Memopol recommendation + </th> + <th class='icon-cell'> + Representative vote + </th> + <th class='icon-cell'> + Score + + </th> + </tr> + + <tr> + <td>Stop acta !</td> + <td class='icon-cell'> + <i aria-label="for" class="fa fa-thumbs-up vote_positive" title="for" ></i> + </td> + <td class='icon-cell'> + <i aria-label="for" class="fa fa-thumbs-up vote_positive" title="for" ></i> + </td> + <td class='icon-cell'> + <span class="label label-success">4</span> + + + </td> + </tr> + + <tr> + <td>Stop acta !</td> + <td class='icon-cell'> + <i aria-label="for" class="fa fa-thumbs-up vote_positive" title="for" ></i> + </td> + <td class='icon-cell'> + <i aria-label="against" class="fa fa-thumbs-down vote_negative" title="against" ></i> + </td> + <td class='icon-cell'> + <span class="label label-danger">-5</span> + + + </td> + </tr> + + <tr> + <td>Stop acta !</td> + <td class='icon-cell'> + <i aria-label="for" class="fa fa-thumbs-up vote_positive" title="for" ></i> + </td> + <td class='icon-cell'> + <i aria-label="against" class="fa fa-thumbs-down vote_negative" title="against" ></i> + </td> + <td class='icon-cell'> + <span class="label label-danger">-6</span> + + + </td> + </tr> + + </table> diff --git a/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist.html b/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist.html new file mode 100644 index 0000000000000000000000000000000000000000..062f06780bfdff03691278e64721fe92fed16202 --- /dev/null +++ b/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist.html @@ -0,0 +1,584 @@ + <div class="container-fluid main-container"> + + + + + <form action='' method='get'> + <label for='search'> + Search + </label> + <input id='search' type='text' name='search' /> + <input type='submit' value='Go' /> + + </form> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + + <li class='active'> + <a href=''> + 1 + </a> + </li> + + + + + + <li> + <a href='?&page=2'> + 2 + + </a> + </li> + + + + + + <li> + <a href='?&page=3'> + 3 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + + + + <table class='table'> + <tr> + <th> + Photo + </th> + <th> + Name + </th> + <th> + Country + </th> + <th> + Group + </th> + <th> + Score + + </th> + </tr> + + <tr> + <td> + <a href='/legislature/representative/zigmantas-balcytis/'> + <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/zigmantas-balcytis/'> + Zigmantas BALÄŒYTIS + + </a> + </td> + <td> + Lithuania [LT] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/vilija-blinkeviciute/'> + <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/vilija-blinkeviciute/'> + Vilija BLINKEVIÄŒIŪTÄ– + + </a> + </td> + <td> + Lithuania [LT] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/elmar-brok/'> + <img src='http://www.europarl.europa.eu/mepphoto/1263.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/elmar-brok/'> + Elmar BROK + + </a> + </td> + <td> + Germany [DE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-10</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/cristian-silviu-busoi/'> + <img src='http://www.europarl.europa.eu/mepphoto/38420.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/cristian-silviu-busoi/'> + Cristian-Silviu BUÅžOI + + </a> + </td> + <td> + Romania [RO] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/david-casa/'> + <img src='http://www.europarl.europa.eu/mepphoto/28122.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/david-casa/'> + David CASA + + </a> + </td> + <td> + Malta [MT] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/jean-marie-cavada/'> + <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/jean-marie-cavada/'> + Jean-Marie CAVADA + + </a> + </td> + <td> + France [FR] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/nikolaos-chountis/'> + <img src='http://www.europarl.europa.eu/mepphoto/26851.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/nikolaos-chountis/'> + Nikolaos CHOUNTIS + + </a> + </td> + <td> + Greece [GR] + + </td> + <td> + <a href='/legislature/representative/group/Confederal%20Group%20of%20the%20European%20United%20Left%20-%20Nordic%20Green%20Left/'> + GUE/NGL + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/michael-cramer/'> + <img src='http://www.europarl.europa.eu/mepphoto/28238.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/michael-cramer/'> + Michael CRAMER + + </a> + </td> + <td> + Germany [DE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/michel-dantin/'> + <img src='http://www.europarl.europa.eu/mepphoto/97296.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/michel-dantin/'> + Michel DANTIN + + </a> + </td> + <td> + France [FR] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/tamas-deutsch/'> + <img src='http://www.europarl.europa.eu/mepphoto/96826.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/tamas-deutsch/'> + Tamás DEUTSCH + + </a> + </td> + <td> + Hungary [HU] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/viorica-dancila/'> + <img src='http://www.europarl.europa.eu/mepphoto/95281.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/viorica-dancila/'> + Viorica DÄ‚NCILÄ‚ + + </a> + </td> + <td> + Romania [RO] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/bas-eickhout/'> + <img src='http://www.europarl.europa.eu/mepphoto/96725.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/bas-eickhout/'> + Bas EICKHOUT + + </a> + </td> + <td> + Netherlands [NL] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + </table> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + + <li class='active'> + <a href=''> + 1 + </a> + </li> + + + + + + <li> + <a href='?&page=2'> + 2 + + </a> + </li> + + + + + + <li> + <a href='?&page=3'> + 3 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> diff --git a/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist_searchjoly.html b/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist_searchjoly.html new file mode 100644 index 0000000000000000000000000000000000000000..2bc1c5946a4b2fc1b1bd111b558dabaec3b4934a --- /dev/null +++ b/memopol/tests/RepresentativeListTest/test_page1_paginateby12_displaylist_searchjoly.html @@ -0,0 +1,188 @@ + <div class="container-fluid main-container"> + + + + + <form action='' method='get'> + <label for='search'> + Search + </label> + <input id='search' type='text' name='search' /> + <input type='submit' value='Go' /> + + </form> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + </ul> + </nav> + <div class='count'> + Number of results : 1 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + + + + <table class='table'> + <tr> + <th> + Photo + </th> + <th> + Name + </th> + <th> + Country + </th> + <th> + Group + </th> + <th> + Score + + </th> + </tr> + + <tr> + <td> + <a href='/legislature/representative/eva-joly/'> + <img src='http://www.europarl.europa.eu/mepphoto/96883.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/eva-joly/'> + Eva JOLY + + </a> + </td> + <td> + France [FR] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + </table> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + </ul> + </nav> + <div class='count'> + Number of results : 1 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + diff --git a/memopol/tests/RepresentativeListTest/test_page1_paginateby24_displaygrid.html b/memopol/tests/RepresentativeListTest/test_page1_paginateby24_displaygrid.html new file mode 100644 index 0000000000000000000000000000000000000000..084289225fd5dc7efca1850b2e0d2235c8ee6159 --- /dev/null +++ b/memopol/tests/RepresentativeListTest/test_page1_paginateby24_displaygrid.html @@ -0,0 +1,904 @@ + <div class="container-fluid main-container"> + + + + + <form action='' method='get'> + <label for='search'> + Search + </label> + <input id='search' type='text' name='search' /> + <input type='submit' value='Go' /> + + </form> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + + <li class='active'> + <a href=''> + 1 + </a> + </li> + + + + + + <li> + <a href='?&page=2'> + 2 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 24 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + + + + <div class='representative_grid'> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/zigmantas-balcytis/'> + <img src='http://www.europarl.europa.eu/mepphoto/96680.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/zigmantas-balcytis/'> + Zigmantas BALÄŒYTIS + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/LT/'> + <span class="flag-icon flag-icon-lt"></span> Lithuania + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/vilija-blinkeviciute/'> + <img src='http://www.europarl.europa.eu/mepphoto/96681.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/vilija-blinkeviciute/'> + Vilija BLINKEVIÄŒIŪTÄ– + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/LT/'> + <span class="flag-icon flag-icon-lt"></span> Lithuania + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/elmar-brok/'> + <img src='http://www.europarl.europa.eu/mepphoto/1263.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/elmar-brok/'> + Elmar BROK + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/DE/'> + <span class="flag-icon flag-icon-de"></span> Germany + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-10</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/cristian-silviu-busoi/'> + <img src='http://www.europarl.europa.eu/mepphoto/38420.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/cristian-silviu-busoi/'> + Cristian-Silviu BUÅžOI + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/RO/'> + <span class="flag-icon flag-icon-ro"></span> Romania + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/david-casa/'> + <img src='http://www.europarl.europa.eu/mepphoto/28122.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/david-casa/'> + David CASA + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/MT/'> + <span class="flag-icon flag-icon-mt"></span> Malta + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/jean-marie-cavada/'> + <img src='http://www.europarl.europa.eu/mepphoto/28206.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/jean-marie-cavada/'> + Jean-Marie CAVADA + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/FR/'> + <span class="flag-icon flag-icon-fr"></span> France + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/nikolaos-chountis/'> + <img src='http://www.europarl.europa.eu/mepphoto/26851.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/nikolaos-chountis/'> + Nikolaos CHOUNTIS + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/GR/'> + <span class="flag-icon flag-icon-gr"></span> Greece + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Confederal%20Group%20of%20the%20European%20United%20Left%20-%20Nordic%20Green%20Left/'> + GUE/NGL + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/michael-cramer/'> + <img src='http://www.europarl.europa.eu/mepphoto/28238.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/michael-cramer/'> + Michael CRAMER + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/DE/'> + <span class="flag-icon flag-icon-de"></span> Germany + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/michel-dantin/'> + <img src='http://www.europarl.europa.eu/mepphoto/97296.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/michel-dantin/'> + Michel DANTIN + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/FR/'> + <span class="flag-icon flag-icon-fr"></span> France + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/tamas-deutsch/'> + <img src='http://www.europarl.europa.eu/mepphoto/96826.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/tamas-deutsch/'> + Tamás DEUTSCH + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/HU/'> + <span class="flag-icon flag-icon-hu"></span> Hungary + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/viorica-dancila/'> + <img src='http://www.europarl.europa.eu/mepphoto/95281.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/viorica-dancila/'> + Viorica DÄ‚NCILÄ‚ + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/RO/'> + <span class="flag-icon flag-icon-ro"></span> Romania + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/bas-eickhout/'> + <img src='http://www.europarl.europa.eu/mepphoto/96725.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/bas-eickhout/'> + Bas EICKHOUT + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/NL/'> + <span class="flag-icon flag-icon-nl"></span> Netherlands + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/ismail-ertug/'> + <img src='http://www.europarl.europa.eu/mepphoto/96842.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/ismail-ertug/'> + Ismail ERTUG + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/DE/'> + <span class="flag-icon flag-icon-de"></span> Germany + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">10</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/jose-manuel-fernandes/'> + <img src='http://www.europarl.europa.eu/mepphoto/96899.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/jose-manuel-fernandes/'> + José Manuel FERNANDES + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/PT/'> + <span class="flag-icon flag-icon-pt"></span> Portugal + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/monika-flasikova-benova/'> + <img src='http://www.europarl.europa.eu/mepphoto/23868.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/monika-flasikova-benova/'> + Monika FLAÅ ÃKOVà BEŇOVà + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/SK/'> + <span class="flag-icon flag-icon-sk"></span> Slovakia + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/ashley-fox/'> + <img src='http://www.europarl.europa.eu/mepphoto/96957.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/ashley-fox/'> + Ashley FOX + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/GB/'> + <span class="flag-icon flag-icon-gb"></span> United Kingdom + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/European%20Conservatives%20and%20Reformists%20Group/'> + ECR + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/eider-gardiazabal-rubial/'> + <img src='http://www.europarl.europa.eu/mepphoto/96991.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/eider-gardiazabal-rubial/'> + Eider GARDIAZABAL RUBIAL + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/ES/'> + <span class="flag-icon flag-icon-es"></span> Spain + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/kinga-gal/'> + <img src='http://www.europarl.europa.eu/mepphoto/28150.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/kinga-gal/'> + Kinga GÃL + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/HU/'> + <span class="flag-icon flag-icon-hu"></span> Hungary + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/ildiko-gall-pelcz/'> + <img src='http://www.europarl.europa.eu/mepphoto/102886.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/ildiko-gall-pelcz/'> + Ildikó GÃLL-PELCZ + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/HU/'> + <span class="flag-icon flag-icon-hu"></span> Hungary + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </li> + <li class='score'> + <span class="label label-danger">-15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/marian-harkin/'> + <img src='http://www.europarl.europa.eu/mepphoto/28116.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/marian-harkin/'> + Marian HARKIN + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/IE/'> + <span class="flag-icon flag-icon-ie"></span> Ireland + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/mary-honeyball/'> + <img src='http://www.europarl.europa.eu/mepphoto/5846.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/mary-honeyball/'> + Mary HONEYBALL + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/GB/'> + <span class="flag-icon flag-icon-gb"></span> United Kingdom + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-danger">-7</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/iliana-iotova/'> + <img src='http://www.europarl.europa.eu/mepphoto/38605.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/iliana-iotova/'> + Iliana IOTOVA + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/BG/'> + <span class="flag-icon flag-icon-bg"></span> Bulgaria + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/liisa-jaakonsaari/'> + <img src='http://www.europarl.europa.eu/mepphoto/96684.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/liisa-jaakonsaari/'> + Liisa JAAKONSAARI + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/FI/'> + <span class="flag-icon flag-icon-fi"></span> Finland + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + <div class='representative_item'> + <p class='photo'> + <a href='/legislature/representative/yannick-jadot/'> + <img src='http://www.europarl.europa.eu/mepphoto/96740.jpg' width='80' /> + </a> + </p> + <ul> + <li class='name'> + <a href='/legislature/representative/yannick-jadot/'> + Yannick JADOT + </a> + </li> + <li class='country'> + <a href='/legislature/representative/country/FR/'> + <span class="flag-icon flag-icon-fr"></span> France + </a> + </li> + <li class='mandate'> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </li> + <li class='score'> + <span class="label label-success">15</span> + + </li> + </ul> + </div> + + </div> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + + + + <li class='active'> + <a href=''> + 1 + </a> + </li> + + + + + + <li> + <a href='?&page=2'> + 2 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=2'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 24 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> diff --git a/memopol/tests/RepresentativeListTest/test_page2_paginateby12_displaylist.html b/memopol/tests/RepresentativeListTest/test_page2_paginateby12_displaylist.html new file mode 100644 index 0000000000000000000000000000000000000000..4f59ddf50a0f318be3e38ce771b15bf24ded933a --- /dev/null +++ b/memopol/tests/RepresentativeListTest/test_page2_paginateby12_displaylist.html @@ -0,0 +1,612 @@ + <div class="container-fluid main-container"> + + + + + <form action='' method='get'> + <label for='search'> + Search + </label> + <input id='search' type='text' name='search' /> + <input type='submit' value='Go' /> + + </form> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + <li> + <a aria-label='First' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-circle-left"></i> + + </a> + </li> + <li> + <a aria-label='Previous' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-left"></i> + + </a> + </li> + + + + + <li> + <a href='?&page=1'> + 1 + + </a> + </li> + + + + + + <li class='active'> + <a href=''> + 2 + </a> + </li> + + + + + + <li> + <a href='?&page=3'> + 3 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + + + + <table class='table'> + <tr> + <th> + Photo + </th> + <th> + Name + </th> + <th> + Country + </th> + <th> + Group + </th> + <th> + Score + + </th> + </tr> + + <tr> + <td> + <a href='/legislature/representative/ismail-ertug/'> + <img src='http://www.europarl.europa.eu/mepphoto/96842.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/ismail-ertug/'> + Ismail ERTUG + + </a> + </td> + <td> + Germany [DE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">10</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/jose-manuel-fernandes/'> + <img src='http://www.europarl.europa.eu/mepphoto/96899.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/jose-manuel-fernandes/'> + José Manuel FERNANDES + + </a> + </td> + <td> + Portugal [PT] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/monika-flasikova-benova/'> + <img src='http://www.europarl.europa.eu/mepphoto/23868.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/monika-flasikova-benova/'> + Monika FLAÅ ÃKOVà BEŇOVà + + </a> + </td> + <td> + Slovakia [SK] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/ashley-fox/'> + <img src='http://www.europarl.europa.eu/mepphoto/96957.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/ashley-fox/'> + Ashley FOX + + </a> + </td> + <td> + United Kingdom [GB] + + </td> + <td> + <a href='/legislature/representative/group/European%20Conservatives%20and%20Reformists%20Group/'> + ECR + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/eider-gardiazabal-rubial/'> + <img src='http://www.europarl.europa.eu/mepphoto/96991.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/eider-gardiazabal-rubial/'> + Eider GARDIAZABAL RUBIAL + + </a> + </td> + <td> + Spain [ES] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/kinga-gal/'> + <img src='http://www.europarl.europa.eu/mepphoto/28150.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/kinga-gal/'> + Kinga GÃL + + </a> + </td> + <td> + Hungary [HU] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/ildiko-gall-pelcz/'> + <img src='http://www.europarl.europa.eu/mepphoto/102886.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/ildiko-gall-pelcz/'> + Ildikó GÃLL-PELCZ + + </a> + </td> + <td> + Hungary [HU] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/marian-harkin/'> + <img src='http://www.europarl.europa.eu/mepphoto/28116.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/marian-harkin/'> + Marian HARKIN + + </a> + </td> + <td> + Ireland [IE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/mary-honeyball/'> + <img src='http://www.europarl.europa.eu/mepphoto/5846.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/mary-honeyball/'> + Mary HONEYBALL + + </a> + </td> + <td> + United Kingdom [GB] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-danger">-7</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/iliana-iotova/'> + <img src='http://www.europarl.europa.eu/mepphoto/38605.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/iliana-iotova/'> + Iliana IOTOVA + + </a> + </td> + <td> + Bulgaria [BG] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/liisa-jaakonsaari/'> + <img src='http://www.europarl.europa.eu/mepphoto/96684.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/liisa-jaakonsaari/'> + Liisa JAAKONSAARI + + </a> + </td> + <td> + Finland [FI] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/yannick-jadot/'> + <img src='http://www.europarl.europa.eu/mepphoto/96740.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/yannick-jadot/'> + Yannick JADOT + + </a> + </td> + <td> + France [FR] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + </table> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + <li> + <a aria-label='First' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-circle-left"></i> + + </a> + </li> + <li> + <a aria-label='Previous' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-left"></i> + + </a> + </li> + + + + + <li> + <a href='?&page=1'> + 1 + + </a> + </li> + + + + + + <li class='active'> + <a href=''> + 2 + </a> + </li> + + + + + + <li> + <a href='?&page=3'> + 3 + + </a> + </li> + + + + + <li> + <a aria-label='Next' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-right"></i> + + </a> + </li> + <li> + <a aria-label='Last' href='?&page=3'> + <i aria-hidden="true" class="fa fa-chevron-circle-right"></i> + + </a> + </li> + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 12 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + diff --git a/memopol/tests/RepresentativeListTest/test_page2_paginateby24_displaylist.html b/memopol/tests/RepresentativeListTest/test_page2_paginateby24_displaylist.html new file mode 100644 index 0000000000000000000000000000000000000000..b495b308d167664b0c04d2f72f433e574eee7d00 --- /dev/null +++ b/memopol/tests/RepresentativeListTest/test_page2_paginateby24_displaylist.html @@ -0,0 +1,562 @@ + <div class="container-fluid main-container"> + + + + + <form action='' method='get'> + <label for='search'> + Search + </label> + <input id='search' type='text' name='search' /> + <input type='submit' value='Go' /> + + </form> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + <li> + <a aria-label='First' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-circle-left"></i> + + </a> + </li> + <li> + <a aria-label='Previous' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-left"></i> + + </a> + </li> + + + + + <li> + <a href='?&page=1'> + 1 + + </a> + </li> + + + + + + <li class='active'> + <a href=''> + 2 + </a> + </li> + + + + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 24 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> + + + + + <table class='table'> + <tr> + <th> + Photo + </th> + <th> + Name + </th> + <th> + Country + </th> + <th> + Group + </th> + <th> + Score + + </th> + </tr> + + <tr> + <td> + <a href='/legislature/representative/eva-joly/'> + <img src='http://www.europarl.europa.eu/mepphoto/96883.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/eva-joly/'> + Eva JOLY + + </a> + </td> + <td> + France [FR] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Greens/European%20Free%20Alliance/'> + Greens/EFA + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/jarosaw-kalinowski/'> + <img src='http://www.europarl.europa.eu/mepphoto/96771.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/jarosaw-kalinowski/'> + JarosÅ‚aw KALINOWSKI + + </a> + </td> + <td> + Poland [PL] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/andrey-kovatchev/'> + <img src='http://www.europarl.europa.eu/mepphoto/97968.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/andrey-kovatchev/'> + Andrey KOVATCHEV + + </a> + </td> + <td> + Bulgaria [BG] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/olle-ludvigsson/'> + <img src='http://www.europarl.europa.eu/mepphoto/96673.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/olle-ludvigsson/'> + Olle LUDVIGSSON + + </a> + </td> + <td> + Sweden [SE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/sirpa-pietikainen/'> + <img src='http://www.europarl.europa.eu/mepphoto/40599.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/sirpa-pietikainen/'> + Sirpa PIETIKÄINEN + + </a> + </td> + <td> + Finland [FI] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-success">5</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/frederique-ries/'> + <img src='http://www.europarl.europa.eu/mepphoto/4253.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/frederique-ries/'> + Frédérique RIES + + </a> + </td> + <td> + Belgium [BE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-success">3</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/birgit-sippel/'> + <img src='http://www.europarl.europa.eu/mepphoto/96932.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/birgit-sippel/'> + Birgit SIPPEL + + </a> + </td> + <td> + Germany [DE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'> + SD + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/charles-tannock/'> + <img src='http://www.europarl.europa.eu/mepphoto/4521.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/charles-tannock/'> + Charles TANNOCK + + </a> + </td> + <td> + United Kingdom [GB] + + </td> + <td> + <a href='/legislature/representative/group/European%20Conservatives%20and%20Reformists%20Group/'> + ECR + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/ramon-tremosa-i-balcells/'> + <img src='http://www.europarl.europa.eu/mepphoto/97203.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/ramon-tremosa-i-balcells/'> + Ramon TREMOSA i BALCELLS + + </a> + </td> + <td> + Spain [ES] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/vladimir-urutchev/'> + <img src='http://www.europarl.europa.eu/mepphoto/38601.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/vladimir-urutchev/'> + Vladimir URUTCHEV + + </a> + </td> + <td> + Bulgaria [BG] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20European%20People's%20Party%20(Christian%20Democrats)/'> + EPP + </a> + </td> + <td> + <span class="label label-danger">-15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/ivo-vajgl/'> + <img src='http://www.europarl.europa.eu/mepphoto/97019.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/ivo-vajgl/'> + Ivo VAJGL + + </a> + </td> + <td> + Slovenia [SI] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-success">15</span> + + </td> + </tr> + + <tr> + <td> + <a href='/legislature/representative/cecilia-wikstrom/'> + <img src='http://www.europarl.europa.eu/mepphoto/96677.jpg' width='80' /> + + </a> + </td> + <td> + <a href='/legislature/representative/cecilia-wikstrom/'> + Cecilia WIKSTRÖM + + </a> + </td> + <td> + Sweden [SE] + + </td> + <td> + <a href='/legislature/representative/group/Group%20of%20the%20Alliance%20of%20Liberals%20and%20Democrats%20for%20Europe/'> + ALDE + </a> + </td> + <td> + <span class="label label-danger">-7</span> + + </td> + </tr> + + </table> + + + <div class='pagination-block'> + + <nav> + <ul class='pagination pagination-sm'> + + <li> + <a aria-label='First' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-circle-left"></i> + + </a> + </li> + <li> + <a aria-label='Previous' href='?&page=1'> + <i aria-hidden="true" class="fa fa-chevron-left"></i> + + </a> + </li> + + + + + <li> + <a href='?&page=1'> + 1 + + </a> + </li> + + + + + + <li class='active'> + <a href=''> + 2 + </a> + </li> + + + + + </ul> + </nav> + <div class='count'> + Number of results : 36 + <br /> + Number of displayed results : + 24 + ( + + <a href='?paginate_by=12'> + 12 + </a> + + / + + + <a href='?paginate_by=24'> + 24 + </a> + + / + + + <a href='?paginate_by=48'> + 48 + </a> + + / + + + <a href='?paginate_by=96'> + 96 + </a> + + + ) + + <span class='grid-list-selector'> + <a href='?display=grid'> + <i class="fa fa-th"></i> + </a> + <a href='?display=list'> + <i class="fa fa-th-list"></i> + + </a> +</span> + + + + </div> +</div> diff --git a/legislature/templatetags/__init__.py b/memopol/tests/__init__.py similarity index 100% rename from legislature/templatetags/__init__.py rename to memopol/tests/__init__.py diff --git a/memopol/tests/base.py b/memopol/tests/base.py new file mode 100644 index 0000000000000000000000000000000000000000..1c4fe97be5cf93eeb10781aae5cc68572d0efe2e --- /dev/null +++ b/memopol/tests/base.py @@ -0,0 +1,37 @@ +import re +import os.path + +from django.test import Client + + +class UrlGetTestMixin(object): + url = None + + def setUp(self): + self.client = Client() + + if not hasattr(type(self), 'response'): + # Do it once and for all, note that this also caches content types + # so the contenttype query used by taggit won't be counted in + # test_num_queries. + self.__class__.response = self.client.get(self.url) + self.response = self.__class__.response + + def assertHtmlInResult(self, expected): + compare = re.sub('[\s"\']', '', expected) + result = re.sub('[\s"\']', '', self.response.content) + self.assertIn(compare, result) + + def assertExpectedHtmlInResult(self): + """ + For test_votes_display, it is: + /positions/tests/test_representatives_detail_test_votes_display_expected.html + """ + expected = os.path.join( + os.path.dirname(__file__), + type(self).__name__, + '%s.html' % self._testMethodName + ) + + with open(expected, 'r') as f: + self.assertHtmlInResult(f.read()) diff --git a/memopol/tests/test_representatives_detail.py b/memopol/tests/test_representatives_detail.py new file mode 100644 index 0000000000000000000000000000000000000000..2ba31f3ced10eda04e8e62b3f8fcd982394c5105 --- /dev/null +++ b/memopol/tests/test_representatives_detail.py @@ -0,0 +1,54 @@ +# -*- coding: utf8 -*- +from django.test import TestCase + +from .base import UrlGetTestMixin + + +class RepresentativeDetailTest(UrlGetTestMixin, TestCase): + fixtures = ['one_representative'] + url = '/legislature/representative/mary-honeyball/' + + def test_num_queries(self): + # Ensure one-time cached queries occur before the actual test + self.client.get(self.url) + + with self.assertNumQueries(5): + """ + - One query for the rep details and foreign key (profile) + - One query for reverse relation on votes + - One query for reverse relation on mandates + - One query for reverse relation positions + - One query for reverse relation tags on positions + """ + self.client.get(self.url) + + def test_name_display(self): + # When HAMLPY_ATTR_WRAPPER works, use double quotes in HTML attrs ! + self.assertHtmlInResult("<h1 class='name'>Mary HONEYBALL</h1>") + + def test_score_display(self): + self.assertExpectedHtmlInResult() + + def test_country_display(self): + self.assertHtmlInResult( + '<span class="flag-icon flag-icon-gb"></span> United Kingdom') + + def test_current_mandate_display(self): + expected = ''.join(( + "<a href='/legislature/representative/group/Group%20of%20the%20Progressive%20Alliance%20of%20Socialists%20and%20Democrats%20in%20the%20European%20Parliament/'>", # noqa + "Member of Group of the Progressive Alliance of Socialists and Democrats in the European Parliament", # noqa + "</a>", + )) + self.assertHtmlInResult(expected) + + def test_biography_display(self): + self.assertHtmlInResult('Born in Weymouth the 12/11/1952 (F)') + + def test_votes_display(self): + self.assertExpectedHtmlInResult() + + def test_mandates_display(self): + self.assertExpectedHtmlInResult() + + def test_positions_display(self): + self.assertExpectedHtmlInResult() diff --git a/memopol/tests/test_representatives_list.py b/memopol/tests/test_representatives_list.py new file mode 100644 index 0000000000000000000000000000000000000000..20938611e5a2796cffd4438537ac3bd947699cab --- /dev/null +++ b/memopol/tests/test_representatives_list.py @@ -0,0 +1,41 @@ +# -*- coding: utf8 -*- +from django.test import TestCase + +from .base import UrlGetTestMixin + + +class RepresentativeListTest(UrlGetTestMixin, TestCase): + fixtures = ['smaller_sample.json'] + url = '/legislature/representative/' + + def functional_test(self, page, paginate_by, display, search=''): + url = '%s?page=%s&search=%s' % (self.url, page, search) + + # Cancel out one-time queries (session) + self.client.get('%s&paginate_by=%s&display=%s' % + (url, paginate_by, display)) + + with self.assertNumQueries(3): + """ + - A count for pagination + - One query for representative + score + - One query for mandates (including country + main_mandate) + """ + self.response = self.client.get(url) + + self.assertExpectedHtmlInResult() + + def test_page1_paginateby12_displaylist(self): + self.functional_test(1, 12, 'list') + + def test_page1_paginateby24_displaygrid(self): + self.functional_test(1, 24, 'grid') + + def test_page2_paginateby24_displaylist(self): + self.functional_test(2, 24, 'list') + + def test_page1_paginateby12_displaylist_searchjoly(self): + self.functional_test(1, 12, 'list', 'joly') + + def test_page2_paginateby12_displaylist(self): + self.functional_test(2, 12, 'list') diff --git a/memopol/urls.py b/memopol/urls.py index 433abd3736bd8718d95dcbd630f12d67c209a7c7..af56bd92c0e815fae818c1d84cdd300e56189261 100644 --- a/memopol/urls.py +++ b/memopol/urls.py @@ -1,38 +1,38 @@ # coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.conf.urls import patterns, include, url +from django.conf.urls import include, url from django.contrib import admin -from adminplus.sites import AdminSitePlus +from django.views import generic -import core.views +import views -admin.site = AdminSitePlus() admin.autodiscover() -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'memopol.views.home', name='home'), - url(r'^$', core.views.HomeView.as_view(), name='index'), - url(r'^legislature/', include('legislature.urls', namespace='legislature')), - url(r'^votes/', include('votes.urls', namespace='votes')), - url(r'^positions/', include('positions.urls', namespace='positions')), +urlpatterns = [ + # Project-specific overrides + url( + r'^legislature/representative/(?P<group_kind>\w+)/(?P<group>.+)/$', + views.RepresentativeList.as_view(), + ), + url( + r'^legislature/representative/(?P<slug>[-\w]+)/$', + views.RepresentativeDetail.as_view(), + ), + url( + r'legislature/representative/$', + views.RepresentativeList.as_view(), + ), + url( + r'votes/dossier/$', + views.DossierList.as_view(), + ), + + url(r'^autocomplete/', include('autocomplete_light.urls')), url(r'^admin/', include(admin.site.urls)), -) + url(r'legislature/', include('representatives.urls', + namespace='representatives')), + url(r'votes/', include('representatives_votes.urls', + namespace='representatives_votes')), + url(r'positions/', include('representatives_positions.urls', + namespace='representatives_positions')), + url(r'^$', generic.TemplateView.as_view(template_name='home.html')), +] diff --git a/memopol/utils.py b/memopol/utils.py deleted file mode 100644 index cb76ec1073ee1d7f7848c57b1d0f0a097671189a..0000000000000000000000000000000000000000 --- a/memopol/utils.py +++ /dev/null @@ -1,5 +0,0 @@ -import sys - -def progress_bar(n, total): - progress = float(n) / total - sys.stdout.write("\r[{0:30s}] ({1}/{2}) {3}%".format('#' * int(progress * 30), n, total, int(progress * 100))) diff --git a/memopol/views.py b/memopol/views.py new file mode 100644 index 0000000000000000000000000000000000000000..952ec17b106e44758cbaf5385e0b57447344a424 --- /dev/null +++ b/memopol/views.py @@ -0,0 +1,38 @@ +# Project specific "glue" coupling of all apps +from django.db import models + +from core.views import GridListMixin, PaginationMixin +from representatives import views as representatives_views +from representatives.models import Representative +from representatives_votes import views as representatives_votes_views +from representatives_votes.models import Dossier +from representatives_positions.forms import PositionForm +from representatives_recommendations.models import ScoredVote + + +class RepresentativeList(PaginationMixin, GridListMixin, + representatives_views.RepresentativeList): + + queryset = Representative.objects.filter( + active=True).select_related('score') + + +class RepresentativeDetail(representatives_views.RepresentativeDetail): + queryset = Representative.objects.select_related('score') + + def get_queryset(self): + qs = super(RepresentativeDetail, self).get_queryset() + votes = ScoredVote.objects.select_related('proposal__recommendation') + qs = qs.prefetch_related(models.Prefetch('votes', queryset=votes)) + return qs + + def get_context_data(self, **kwargs): + c = super(RepresentativeDetail, self).get_context_data(**kwargs) + c['position_form'] = PositionForm( + initial={'representative': self.object.pk}) + self.add_representative_country_and_main_mandate(c['object']) + return c + + +class DossierList(PaginationMixin, representatives_votes_views.DossierList): + queryset = Dossier.objects.exclude(proposals__recommendation=None) diff --git a/memopol/wsgi.py b/memopol/wsgi.py index 6ae310dc193cfc6a09df62881a23981d56362084..c9b8d1394fc23f4189de2cfa52c66706ccb8f093 100644 --- a/memopol/wsgi.py +++ b/memopol/wsgi.py @@ -8,7 +8,9 @@ https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/ """ import os -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "memopol.settings") from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "memopol.settings") + application = get_wsgi_application() diff --git a/package.json b/package.json deleted file mode 100644 index f13d1a2683639a7c746fcd65be7f14c1c963843a..0000000000000000000000000000000000000000 --- a/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "memopol", - "version": "3.0.0", - "description": "git clone git@github.com:political-memory/django-representatives-votes.git git clone git@github.com:political-memory/django-representatives.git git clone git@github.com:political-memory/political_memory.git", - "main": "manage.py", - "dependencies": { - "gulp-livereload": "^3.8.0", - "gulp-gzip": "^1.1.0", - "gulp-less": "^3.0.3", - "gulp-minify-css": "^1.2.0", - "gulp-rename": "^1.2.2", - "gulp-watch": "^4.3.1", - "gulp": "^3.9.0" - }, - "devDependencies": {}, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git@git.laquadrature.net:memopol/memopol.git" - }, - "author": "", - "license": "ISC" -} diff --git a/positions/admin.py b/positions/admin.py deleted file mode 100644 index 04c49093e77c18c63873d4101e353e97a07642be..0000000000000000000000000000000000000000 --- a/positions/admin.py +++ /dev/null @@ -1,50 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.contrib import admin - -from .models import Position - - -def publish_positions(modeladmin, request, queryset): - """Set published to True for the queryset - doc : https://docs.djangoproject.com/en/1.8/ref/contrib/admin/actions/#adding-actions-to-the-modeladmin""" - queryset.update(published=True) - -publish_positions.short_description = 'Publish selected positions' - - -def unpublish_positions(modeladmin, request, queryset): - """Set published to False for the queryset - doc : https://docs.djangoproject.com/en/1.8/ref/contrib/admin/actions/#adding-actions-to-the-modeladmin""" - queryset.update(published=False) - -unpublish_positions.short_description = 'Unpublish selected positions' - - -class PositionAdmin(admin.ModelAdmin): - list_display = ('representative', 'short_text', 'datetime', 'link', 'published') - list_display_links = ('short_text',) - list_editable = ('published',) - list_filter = ('published',) - actions = (publish_positions, unpublish_positions) - -admin.site.register(Position, PositionAdmin) diff --git a/positions/forms.py b/positions/forms.py deleted file mode 100644 index f582ec2eeff8017e26d81728a0913c4b5b44130a..0000000000000000000000000000000000000000 --- a/positions/forms.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django import forms - -from datetimewidget.widgets import DateWidget - -from .models import Position - -class PositionForm(forms.ModelForm): - class Meta: - model = Position - fields = ['tags', 'datetime', 'text', 'link'] - widgets = { - #Use localization and bootstrap 3 - 'datetime': DateWidget( - attrs={ - 'id':'yourdatetimeid' - }, - usel10n = True, - bootstrap_version=3, - ) - } diff --git a/positions/migrations/0002_auto_20150727_1142.py b/positions/migrations/0002_auto_20150727_1142.py deleted file mode 100644 index ac0718f3a66f1b39dfb9dd0ef3b2e563803cdb9b..0000000000000000000000000000000000000000 --- a/positions/migrations/0002_auto_20150727_1142.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations -import taggit.managers - - -class Migration(migrations.Migration): - - dependencies = [ - ('taggit', '0001_initial'), - ('positions', '0001_initial'), - ] - - operations = [ - migrations.RemoveField( - model_name='position', - name='dossier', - ), - migrations.AddField( - model_name='position', - name='tags', - field=taggit.managers.TaggableManager(to='taggit.Tag', through='taggit.TaggedItem', help_text='A comma-separated list of tags.', verbose_name='Tags'), - ), - ] diff --git a/positions/models.py b/positions/models.py deleted file mode 100644 index 88dec64b77eda98ab002c54063572bddf37de3c5..0000000000000000000000000000000000000000 --- a/positions/models.py +++ /dev/null @@ -1,65 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.db import models -from django.template.defaultfilters import truncatewords - -from constance import config -from taggit.managers import TaggableManager - -from legislature.models import MemopolRepresentative - - -class PositionManager(models.Manager): - """A simple model manager for querying published Positions""" - - # https://docs.djangoproject.com/en/1.8/topics/db/managers/#using-managers-for-related-object-access - use_for_related_fields = True - - def published(self, **kwargs): - return self.filter(published=True, **kwargs) - - -class Position(models.Model): - representative = models.ForeignKey(MemopolRepresentative, related_name='positions') - datetime = models.DateField() - text = models.TextField() - link = models.URLField() - published = models.BooleanField(default=False) - tags = TaggableManager() - - # Adds our custom manager - objects = PositionManager() - - - def save(self, *args, **kwargs): - """ Set published to default value and save the model""" - self.published = config.POSITION_PUBLISHED - super(Position, self).save(*args, **kwargs) - - @property - def short_text(self): - return truncatewords(self.text, 5) - - def publish(self): - self.published = True - - def unpublish(self): - self.published = False diff --git a/positions/templates/positions/position_create_form.haml b/positions/templates/positions/position_create_form.haml deleted file mode 100644 index aafea176d296fe1f3affd02864f52b79fbfbdb55..0000000000000000000000000000000000000000 --- a/positions/templates/positions/position_create_form.haml +++ /dev/null @@ -1,3 +0,0 @@ -- extends 'base.html' - -- block content diff --git a/positions/templates/positions/position_form.haml b/positions/templates/positions/position_form.haml deleted file mode 100644 index 345e6aef713208c8d50cdea23b85e6ad831f0449..0000000000000000000000000000000000000000 --- a/positions/templates/positions/position_form.haml +++ /dev/null @@ -1 +0,0 @@ -Test diff --git a/positions/tests.py b/positions/tests.py deleted file mode 100644 index 7ce503c2dd97ba78597f6ff6e4393132753573f6..0000000000000000000000000000000000000000 --- a/positions/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/positions/urls.py b/positions/urls.py deleted file mode 100644 index 56d6ee674fa5aaa7ad07487bec35c38e03a51584..0000000000000000000000000000000000000000 --- a/positions/urls.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.conf.urls import url - -from views import PositionCreate, PositionDetail - -urlpatterns = [ - # Create a Position - url( - r'^create', - PositionCreate.as_view(), - name='position-create' - ), - url( - r'^(?P<pk>\d+)/$', - PositionDetail.as_view(), - name='position-detail' - ) -] diff --git a/positions/views.py b/positions/views.py deleted file mode 100644 index 35a51714c3666fdeee18ec517bbfc0eb58d2f5f6..0000000000000000000000000000000000000000 --- a/positions/views.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding: utf-8 -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.views.generic import CreateView -from django.views.generic.detail import DetailView - -from django.core.urlresolvers import reverse - -from .models import Position -from .forms import PositionForm - -class PositionCreate(CreateView): - """Create a position""" - model = Position - fields = PositionForm.Meta.fields + ['representative'] - - def get_success_url(self): - return reverse('legislature:representative-detail', - kwargs={'name': self.object.representative.slug}) - - -class PositionDetail(DetailView): - """Display a position""" - model = Position - queryset = Position.objects.filter(published=True) diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000000000000000000000000000000000000..0ea23da77840032793af4df2f96df5462590ac5e --- /dev/null +++ b/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +DJANGO_SETTINGS_MODULE=memopol.settings +addopts = --cov=. --create-db diff --git a/legislature/views/__init__.py b/representatives_positions/__init__.py similarity index 100% rename from legislature/views/__init__.py rename to representatives_positions/__init__.py diff --git a/representatives_positions/admin.py b/representatives_positions/admin.py new file mode 100644 index 0000000000000000000000000000000000000000..879d31c411b79e13a1e1f439910d91c227ac5b84 --- /dev/null +++ b/representatives_positions/admin.py @@ -0,0 +1,32 @@ +from django.contrib import admin + +from .models import Position + + +def publish_positions(modeladmin, request, queryset): + """Set published to True for the queryset""" + queryset.update(published=True) + +publish_positions.short_description = 'Publish selected positions' + + +def unpublish_positions(modeladmin, request, queryset): + """Set published to False for the queryset""" + queryset.update(published=False) + +unpublish_positions.short_description = 'Unpublish selected positions' + + +class PositionAdmin(admin.ModelAdmin): + list_display = ( + 'representative', + 'short_text', + 'datetime', + 'link', + 'published') + list_display_links = ('short_text',) + list_editable = ('published',) + list_filter = ('published',) + actions = (publish_positions, unpublish_positions) + +admin.site.register(Position, PositionAdmin) diff --git a/representatives_positions/forms.py b/representatives_positions/forms.py new file mode 100644 index 0000000000000000000000000000000000000000..89256d55260b8723eda18fa48634d2ead9eb5731 --- /dev/null +++ b/representatives_positions/forms.py @@ -0,0 +1,22 @@ +from django import forms + +from datetimewidget.widgets import DateWidget + +from .models import Position + + +class PositionForm(forms.ModelForm): + class Meta: + model = Position + fields = ['tags', 'datetime', 'text', 'link', 'representative'] + widgets = { + # Use localization and bootstrap 3 + 'datetime': DateWidget( + attrs={ + 'id': 'yourdatetimeid' + }, + usel10n=True, + bootstrap_version=3, + ), + 'representative': forms.HiddenInput + } diff --git a/positions/__init__.py b/representatives_positions/management/__init__.py similarity index 100% rename from positions/__init__.py rename to representatives_positions/management/__init__.py diff --git a/positions/migrations/__init__.py b/representatives_positions/management/commands/__init__.py similarity index 100% rename from positions/migrations/__init__.py rename to representatives_positions/management/commands/__init__.py diff --git a/representatives_positions/management/commands/remove_representatives_without_position.py b/representatives_positions/management/commands/remove_representatives_without_position.py new file mode 100644 index 0000000000000000000000000000000000000000..1e502a223f2cee3a3e1b9fa8b0dcbdc08508a36e --- /dev/null +++ b/representatives_positions/management/commands/remove_representatives_without_position.py @@ -0,0 +1,8 @@ +from representatives.management.remove_command import RemoveCommand + +from representatives.models import Representative + + +class Command(RemoveCommand): + conditions = {'positions': None} + manager = Representative.objects diff --git a/representatives_positions/management/commands/update_score.py b/representatives_positions/management/commands/update_score.py new file mode 100644 index 0000000000000000000000000000000000000000..305d01620cbd3199501ce81b75f71ee5c7dde726 --- /dev/null +++ b/representatives_positions/management/commands/update_score.py @@ -0,0 +1,12 @@ +from django.core.management.base import BaseCommand + +from positions.models import (RepresentativeVoteProfile, + calculate_representative_score) + + +class Command(BaseCommand): + def handle(self, *args, **options): + for profile in RepresentativeVoteProfile.objects.all(): + profile.score = calculate_representative_score( + profile.representative) + profile.save() diff --git a/positions/migrations/0001_initial.py b/representatives_positions/migrations/0001_initial.py similarity index 62% rename from positions/migrations/0001_initial.py rename to representatives_positions/migrations/0001_initial.py index d1d18baf4d37ae0b90f3aad8e5e6400e3fc6081f..4c4fcf51a02bf2c842f58693729eeee83219d026 100644 --- a/positions/migrations/0001_initial.py +++ b/representatives_positions/migrations/0001_initial.py @@ -1,14 +1,15 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations +from django.db import migrations, models +import taggit.managers class Migration(migrations.Migration): dependencies = [ - ('votes', '0003_auto_20150709_1601'), - ('legislature', '0002_memopolrepresentative_main_mandate'), + ('representatives', '0011_auto_20151226_1938'), + ('taggit', '0002_auto_20150616_2121'), ] operations = [ @@ -20,8 +21,8 @@ class Migration(migrations.Migration): ('text', models.TextField()), ('link', models.URLField()), ('published', models.BooleanField(default=False)), - ('dossier', models.ForeignKey(blank=True, to='votes.MemopolDossier', null=True)), - ('representative', models.ForeignKey(related_name='positions', to='legislature.MemopolRepresentative')), + ('representative', models.ForeignKey(related_name='positions', to='representatives.Representative')), + ('tags', taggit.managers.TaggableManager(to='taggit.Tag', through='taggit.TaggedItem', help_text='A comma-separated list of tags.', verbose_name='Tags')), ], ), ] diff --git a/positions/templates/__init__.py b/representatives_positions/migrations/__init__.py similarity index 100% rename from positions/templates/__init__.py rename to representatives_positions/migrations/__init__.py diff --git a/representatives_positions/models.py b/representatives_positions/models.py new file mode 100644 index 0000000000000000000000000000000000000000..491622e5b8fd92febd0b6670ee85469c9c86621e --- /dev/null +++ b/representatives_positions/models.py @@ -0,0 +1,28 @@ +from django.db import models +from django.core.urlresolvers import reverse +from django.template.defaultfilters import truncatewords +from taggit.managers import TaggableManager + + +class Position(models.Model): + representative = models.ForeignKey('representatives.representative', + related_name='positions') + datetime = models.DateField() + text = models.TextField() + link = models.URLField() + published = models.BooleanField(default=False) + tags = TaggableManager() + + @property + def short_text(self): + return truncatewords(self.text, 5) + + def publish(self): + self.published = True + + def unpublish(self): + self.published = False + + def get_absolute_url(self): + return reverse('representatives_positions:position-detail', + args=(self.pk,)) diff --git a/representatives_positions/templates/representatives_positions/_form.haml b/representatives_positions/templates/representatives_positions/_form.haml new file mode 100644 index 0000000000000000000000000000000000000000..2c11c8e36a3ba310c7312a8069783eea9734cd0a --- /dev/null +++ b/representatives_positions/templates/representatives_positions/_form.haml @@ -0,0 +1,12 @@ +- load bootstrap3 + +%form{:action => '{% url "representatives_positions:position-create" %}', + :method => 'post'} + - csrf_token + + - bootstrap_form form + + - buttons + %button{'type': 'submit', 'class': 'btn btn-primary'} + {% bootstrap_icon "star" %} Submit + - endbuttons diff --git a/positions/templates/positions/position_detail.haml b/representatives_positions/templates/representatives_positions/position_detail.haml similarity index 61% rename from positions/templates/positions/position_detail.haml rename to representatives_positions/templates/representatives_positions/position_detail.haml index 6b339ba6e74f59fa288ca256611414c8eff58050..dc83ceafaacbbd4b0a1433fe0af4203f2606ad88 100644 --- a/positions/templates/positions/position_detail.haml +++ b/representatives_positions/templates/representatives_positions/position_detail.haml @@ -3,11 +3,11 @@ - load humanize - block content - - include 'legislature/blocks/representative_block.html' with representative=object.representative + - include 'representatives/_representative_block.html' with representative=object.representative .quote %p.quote-header - {{object.datetime|naturalday:"The d/m/Y"}}, {{object.representative.full_name}} declared : + {{object.datetime|naturalday}}, {{object.representative.full_name}} declared : .long-quote = object.text|linebreaks diff --git a/representatives_positions/templates/representatives_positions/position_form.haml b/representatives_positions/templates/representatives_positions/position_form.haml new file mode 100644 index 0000000000000000000000000000000000000000..deb4b78dc90c3ae196e94b5cef01bf1d9e35adae --- /dev/null +++ b/representatives_positions/templates/representatives_positions/position_form.haml @@ -0,0 +1,7 @@ +- extends 'base.html' + +- block head + {{ form.media }} + +- block content + - include 'representatives_positions/_form.html' diff --git a/positions/templates/positions/__init__.py b/representatives_positions/tests/__init__.py similarity index 100% rename from positions/templates/positions/__init__.py rename to representatives_positions/tests/__init__.py diff --git a/representatives_positions/tests/test_functional.py b/representatives_positions/tests/test_functional.py new file mode 100644 index 0000000000000000000000000000000000000000..28fa0dce7807129f6b97f6f5146a413e7e8ee765 --- /dev/null +++ b/representatives_positions/tests/test_functional.py @@ -0,0 +1,89 @@ +import datetime +import copy + +from django.core.urlresolvers import reverse +from django.test import TestCase, Client + +from representatives.models import Representative +from representatives_positions.models import Position + + +class PositionTest(TestCase): + fixtures = ['one_representative'] + + def setUp(self): + self.client = Client() + self.tags = [u'foo', u'bar'] + self.create_url = reverse('representatives_positions:position-create') + + self.mep = Representative.objects.get(pk=160) + + self.fixture = { + 'tags': ','.join(self.tags), + 'datetime': '2015-12-11', + 'text': '%stext' % self.id(), + 'link': 'http://example.com/%slink' % self.id(), + 'representative': self.mep.pk, + } + + def test_create_position(self): + response = self.client.post(self.create_url, self.fixture) + assert response.status_code == 302 + expected = 'http://testserver%s' % self.mep.get_absolute_url() + assert response['Location'] == expected + + result = Position.objects.get(text='%stext' % self.id()) + assert list(result.tags.values_list('name', flat=True)) == self.tags + assert result.datetime == datetime.date(2015, 12, 11) + assert result.link == self.fixture['link'] + assert result.representative.pk == self.mep.pk + assert result.published is False + + def test_position_publishing(self): + response = self.client.post(self.create_url, self.fixture) + assert response.status_code == 302 + position = Position.objects.get(text='%stext' % self.id()) + + get_response = self.client.get(position.get_absolute_url()) + assert get_response.status_code == 404 + + position.published = True + position.save() + + get_response = self.client.get(position.get_absolute_url()) + assert get_response.status_code == 200 + + def test_create_position_without_field(self): + for key in self.fixture.keys(): + fixture = copy.copy(self.fixture) + fixture.pop(key) + + response = self.client.post(self.create_url, fixture) + assert response.context['form'].is_valid() is False, \ + 'Could submit form without %s' % key + + def test_position_detail(self): + position = Position.objects.create( + published=True, + datetime=self.fixture['datetime'], + text=self.fixture['text'], + link=self.fixture['link'], + representative=self.mep + ) + + position.tags.add('%stag' % self.id()) + + # Trigger irrelevant queries that happen only once ie. constance before + # testing actual page queries. + self.client.get(position.get_absolute_url()) + with self.assertNumQueries(3): + # One for position and rep and score + # One for rep mandates + # One for position tags + response = self.client.get(position.get_absolute_url()) + + assert 'Dec. 11, 2015' in response.content + assert '%stag' % self.id() in response.content + assert self.fixture['link'] in response.content + assert self.fixture['text'] in response.content + assert self.mep.full_name in response.content diff --git a/representatives_positions/urls.py b/representatives_positions/urls.py new file mode 100644 index 0000000000000000000000000000000000000000..9e2d82985c9e060688bbb0626f26b21cf8ee8e52 --- /dev/null +++ b/representatives_positions/urls.py @@ -0,0 +1,16 @@ +from django.conf.urls import url + +import views + +urlpatterns = [ + url( + r'^position/create/$', + views.PositionCreate.as_view(), + name='position-create' + ), + url( + r'^position/(?P<pk>\d+)/$', + views.PositionDetail.as_view(), + name='position-detail' + ), +] diff --git a/representatives_positions/views.py b/representatives_positions/views.py new file mode 100644 index 0000000000000000000000000000000000000000..3b24ef11c15ee4198e366987c8fe8fd2b43a68f8 --- /dev/null +++ b/representatives_positions/views.py @@ -0,0 +1,34 @@ +from django.views import generic +from django.db import models + +from representatives.views import RepresentativeViewMixin +from representatives.models import Mandate + +from .models import Position +from .forms import PositionForm + + +class PositionCreate(generic.CreateView): + model = Position + form_class = PositionForm + + def get_success_url(self): + return self.object.representative.get_absolute_url() + + +class PositionDetail(RepresentativeViewMixin, generic.DetailView): + queryset = Position.objects.filter(published=True).select_related( + 'representative__score') + + def get_queryset(self): + qs = super(PositionDetail, self).get_queryset() + qs = qs.prefetch_related(models.Prefetch( + 'representative__mandates', + Mandate.objects.select_related('constituency__country', 'group') + )) + return qs + + def get_object(self): + obj = super(PositionDetail, self).get_object() + self.add_representative_country_and_main_mandate(obj.representative) + return obj diff --git a/votes/__init__.py b/representatives_recommendations/__init__.py similarity index 100% rename from votes/__init__.py rename to representatives_recommendations/__init__.py diff --git a/representatives_recommendations/admin.py b/representatives_recommendations/admin.py new file mode 100644 index 0000000000000000000000000000000000000000..61b793cc98f3f03b55f2fd5da61e7f3f9c63983a --- /dev/null +++ b/representatives_recommendations/admin.py @@ -0,0 +1,14 @@ +# coding: utf-8 +from __future__ import absolute_import + +from django.contrib import admin + +from .models import Recommendation + + +class RecommendationsAdmin(admin.ModelAdmin): + list_display = ('id', 'title', 'proposal', 'recommendation', 'weight') + search_fields = ('title', 'recommendation', 'proposal') + raw_id_fields = ('proposal',) + +admin.site.register(Recommendation, RecommendationsAdmin) diff --git a/votes/management/__init__.py b/representatives_recommendations/management/__init__.py similarity index 100% rename from votes/management/__init__.py rename to representatives_recommendations/management/__init__.py diff --git a/votes/management/commands/__init__.py b/representatives_recommendations/management/commands/__init__.py similarity index 100% rename from votes/management/commands/__init__.py rename to representatives_recommendations/management/commands/__init__.py diff --git a/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py b/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py new file mode 100644 index 0000000000000000000000000000000000000000..6fc4f2feefa5b0aad7e90041df87d6500cf0abf0 --- /dev/null +++ b/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py @@ -0,0 +1,8 @@ +from representatives.management.remove_command import RemoveCommand + +from representatives_votes.models import Proposal + + +class Command(RemoveCommand): + conditions = {'recommendation': None} + manager = Proposal.objects diff --git a/representatives_recommendations/management/commands/update_score.py b/representatives_recommendations/management/commands/update_score.py new file mode 100644 index 0000000000000000000000000000000000000000..cbf2452fac8922d1bbaf040d4eee5a07f66d85ef --- /dev/null +++ b/representatives_recommendations/management/commands/update_score.py @@ -0,0 +1,12 @@ +from django.core.management.base import BaseCommand + +from representatives_recommendations.models import (RepresentativeScore, + calculate_representative_score) + + +class Command(BaseCommand): + def handle(self, *args, **options): + for score in RepresentativeScore.objects.all(): + score.score = calculate_representative_score( + score.representative) + score.save() diff --git a/votes/migrations/0001_initial.py b/representatives_recommendations/migrations/0001_initial.py similarity index 64% rename from votes/migrations/0001_initial.py rename to representatives_recommendations/migrations/0001_initial.py index deb63342e390ea7ae6c18c1a87ed8ecdd1e2150a..f87350ffc6d2a7be3eb7bccdc9c3faa7890d977d 100644 --- a/votes/migrations/0001_initial.py +++ b/representatives_recommendations/migrations/0001_initial.py @@ -1,29 +1,17 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations +from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ - ('representatives_votes', '0001_initial'), + ('representatives_votes', '0008_unique_proposal_title'), + ('representatives', '0012_index_group_name'), ] operations = [ - migrations.CreateModel( - name='MemopolDossier', - fields=[ - ('dossier_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='representatives_votes.Dossier')), - ('dossier_reference', models.CharField(max_length=200)), - ('name', models.CharField(default=b'', max_length=1000, blank=True)), - ('description', models.TextField(default=b'', blank=True)), - ], - options={ - 'abstract': False, - }, - bases=('representatives_votes.dossier',), - ), migrations.CreateModel( name='Recommendation', fields=[ @@ -34,9 +22,19 @@ class Migration(migrations.Migration): ('weight', models.IntegerField(default=0)), ('proposal', models.OneToOneField(related_name='recommendation', to='representatives_votes.Proposal')), ], + options={ + 'ordering': ['proposal__datetime'], + }, + ), + migrations.CreateModel( + name='RepresentativeScore', + fields=[ + ('representative', models.OneToOneField(related_name='score', primary_key=True, serialize=False, to='representatives.Representative')), + ('score', models.IntegerField(default=0)), + ], ), migrations.CreateModel( - name='MemopolVote', + name='ScoredVote', fields=[ ], options={ diff --git a/votes/migrations/__init__.py b/representatives_recommendations/migrations/__init__.py similarity index 100% rename from votes/migrations/__init__.py rename to representatives_recommendations/migrations/__init__.py diff --git a/representatives_recommendations/models.py b/representatives_recommendations/models.py new file mode 100644 index 0000000000000000000000000000000000000000..3f92d639de7b161947bcc28d5815271f5644a906 --- /dev/null +++ b/representatives_recommendations/models.py @@ -0,0 +1,90 @@ +# coding: utf-8 +from django.db import models +from django.db.models.signals import post_save +from django.utils.functional import cached_property + +from representatives_votes.contrib.parltrack.import_votes import \ + vote_pre_import +from representatives.contrib.parltrack.import_representatives import \ + representative_pre_import +from representatives_votes.models import Dossier, Proposal, Vote +from representatives.models import Representative + + +class RepresentativeScore(models.Model): + representative = models.OneToOneField('representatives.representative', + primary_key=True, related_name='score') + score = models.IntegerField(default=0) + + +class Recommendation(models.Model): + proposal = models.OneToOneField( + Proposal, + related_name='recommendation' + ) + + recommendation = models.CharField(max_length=10, choices=Vote.VOTECHOICES) + title = models.CharField(max_length=1000, blank=True) + description = models.TextField(blank=True) + weight = models.IntegerField(default=0) + + class Meta: + ordering = ['proposal__datetime'] + + +class ScoredVote(Vote): + class Meta: + proxy = True + + @cached_property + def absolute_score(self): + recommendation = self.proposal.recommendation + + if self.position == recommendation.recommendation: + return recommendation.weight + else: + return -recommendation.weight + + +def skip_votes(sender, vote_data=None, **kwargs): + dossiers = getattr(sender, 'memopol_filters', None) + + if dossiers is None: + sender.memopol_filters = dossiers = Dossier.objects.filter( + proposals__recommendation__in=Recommendation.objects.all() + ).values_list('reference', flat=True) + + if vote_data.get('epref', None) not in dossiers: + return False +vote_pre_import.connect(skip_votes) + + +def skip_representatives(sender, representative_data=None, **kwargs): + if not representative_data.get('active', False): + return False +representative_pre_import.connect(skip_representatives) + + +def create_representative_vote_profile(sender, instance=None, created=None, + **kwargs): + + if not created: + return + + RepresentativeScore.objects.create(representative=instance) +post_save.connect(create_representative_vote_profile, sender=Representative) + + +def calculate_representative_score(representative): + score = 0 + + votes = representative.votes.exclude( + proposal__recommendation=None + ).select_related('proposal__recommendation') + + votes = ScoredVote.objects.filter(pk__in=votes.values_list('pk')) + + for vote in votes: + score += vote.absolute_score + + return score diff --git a/votes/templates/__init__.py b/representatives_recommendations/templates/__init__.py similarity index 100% rename from votes/templates/__init__.py rename to representatives_recommendations/templates/__init__.py diff --git a/votes/templates/votes/__init__.py b/representatives_recommendations/templates/positions/__init__.py similarity index 100% rename from votes/templates/votes/__init__.py rename to representatives_recommendations/templates/positions/__init__.py diff --git a/votes/templates/votes/admin/__init__.py b/representatives_recommendations/templates/positions/admin/__init__.py similarity index 100% rename from votes/templates/votes/admin/__init__.py rename to representatives_recommendations/templates/positions/admin/__init__.py diff --git a/representatives_recommendations/templatetags/__init__.py b/representatives_recommendations/templatetags/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/representatives_recommendations/templatetags/representatives_recommendations_tags.py b/representatives_recommendations/templatetags/representatives_recommendations_tags.py new file mode 100644 index 0000000000000000000000000000000000000000..0d596bf1c4e1adb4d95fee665d1cf8c446a89a44 --- /dev/null +++ b/representatives_recommendations/templatetags/representatives_recommendations_tags.py @@ -0,0 +1,18 @@ +# coding: utf-8 +from django import template +from django.utils.safestring import mark_safe + +register = template.Library() + + +@register.filter +def score_label(score): + if score > 0: + return mark_safe( + '<span class="label label-success">{}</span>'.format(score)) + elif score < 0: + return mark_safe( + '<span class="label label-danger">{}</span>'.format(score)) + else: + return mark_safe( + '<span class="label label-default">{}</span>'.format(score)) diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 61f9dbea48864003f510fc9120b60cfd4df7d04a..0000000000000000000000000000000000000000 --- a/requirements.txt +++ /dev/null @@ -1,24 +0,0 @@ -django>=1.8,<1.9 -#django-appconf==1.0.1 -#-e hg+https://bitbucket.org/wnielson/django-chronograph#egg=django-chronograph -django-compressor -hamlpy -python-dateutil -pytz -six -wsgiref -django-adminplus -requests -django-celery -django-denorm -django-constance -django-bootstrap3 -django-filter -django-taggit -django-datetime-widget --e git+https://github.com/political-memory/django-representatives.git#egg=django-representatives --e git+https://github.com/political-memory/django-representatives-votes.git#egg=rdjango-epresentatives-votes -django-extensions -django-debug-toolbar -redis -djangorestframework diff --git a/setup.py b/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..bcd06ab4f5d46e7f37e0954fa8dc41fcd823fd7b --- /dev/null +++ b/setup.py @@ -0,0 +1,39 @@ +from setuptools import setup + +setup(name='political-memory', + version='0.0.1', + description='OpenShift App', + packages=['political_memory'], + package_dir={'political_memory': '.'}, + author='James Pic, Laurent Peuch, Arnaud Fabre', + author_email='cortex@worlddomination.be', + url='http://github.com/political-memory/political_memory/', + install_requires=[ + 'django-autocomplete-light>=2.2,<3.0', + 'django-bootstrap3>=6.2,<6.3', + 'django-coffeescript>=0.7,<0.8', + 'django-compressor>=1.6,<1.7', + 'django-datetime-widget>=0.9,<1.0', + 'django-filter>=0.11,<0.12', + 'django-representatives>=0.0.6', + 'django-representatives-votes>=0.0.7', + 'django-taggit>=0.17,<0.18', + 'django>=1.8,<1.9', + 'hamlpy>=0.82,<0.83', + 'ijson>=2.2,<2.3', + 'lesscpy', + 'python-dateutil>=2.4,<2.5', + 'pytz==2015.7', + 'django-suit', + ], + extras_require={ + 'testing': [ + 'flake8', + 'pep8', + 'pytest', + 'pytest-django', + 'pytest-cov', + 'codecov', + ] + } +) diff --git a/static/less/font.less b/static/less/font.less index baf13a1bb15c8678a999cdc063e3f0f8f005f510..787b2b062310db91f96c74eee856fe1bfebda938 100644 --- a/static/less/font.less +++ b/static/less/font.less @@ -1,21 +1,21 @@ -@font-face{ +@font-face { font-family: 'propagandaregular'; src: url('../fonts/propagan-webfont.eot'); src: url('../fonts/propagan-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/propagan-webfont.woff') format('woff'), url('../fonts/propagan-webfont.ttf') format('truetype'), url('../fonts/propagan-webfont.svg#propagandaregular') format('svg'); font-weight: normal; font-style: normal; } -@font-face{ +@font-face { font-family: 'sansus_webissimoitalic'; src: url('../fonts/sansus_webissimo-italic-webfont-webfont.eot'); src: url('../fonts/sansus_webissimo-italic-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sansus_webissimo-italic-webfont-webfont.woff') format('woff'), url('../fonts/sansus_webissimo-italic-webfont-webfont.ttf') format('truetype'), url('../fonts/sansus_webissimo-italic-webfont-webfont.svg#sansus_webissimoitalic') format('svg'); font-weight: normal; font-style: normal; } -@font-face{ +@font-face { font-family: 'sansus_webissimoregular'; src: url('../fonts/sansus_webissimo-regular-webfont-webfont.eot'); src: url('../fonts/sansus_webissimo-regular-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sansus_webissimo-regular-webfont-webfont.woff') format('woff'), url('../fonts/sansus_webissimo-regular-webfont-webfont.ttf') format('truetype'), url('../fonts/sansus_webissimo-regular-webfont-webfont.svg#sansus_webissimoregular') format('svg'); font-weight: normal; font-style: normal; -} \ No newline at end of file +} diff --git a/static/less/libs.less b/static/less/libs.less deleted file mode 100644 index a381520e2da05467b09554cd38cfa9eb4e189b0c..0000000000000000000000000000000000000000 --- a/static/less/libs.less +++ /dev/null @@ -1,8 +0,0 @@ -@import '../libs/bootstrap/less/bootstrap'; -@import '../libs/fontawesome/less/font-awesome'; - -// Flag icons -@import '../libs/flag-icon-css/less/variabless'; -@flag-icon-css-path: '../libs/flag-icon-css/flags'; -@import '../libs/flag-icon-css/less/flag-icon-base'; -@import '../libs/flag-icon-css/less/flag-icon-list'; diff --git a/static/stylesheets/base.css b/static/stylesheets/base.css deleted file mode 100644 index 03e490f8dc227b6d50be3be4c007b6ccc5e32d22..0000000000000000000000000000000000000000 --- a/static/stylesheets/base.css +++ /dev/null @@ -1,169 +0,0 @@ -@font-face { - font-family: 'propagandaregular'; - src: url('../fonts/propagan-webfont.eot'); - src: url('../fonts/propagan-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/propagan-webfont.woff') format('woff'), url('../fonts/propagan-webfont.ttf') format('truetype'), url('../fonts/propagan-webfont.svg#propagandaregular') format('svg'); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: 'sansus_webissimoitalic'; - src: url('../fonts/sansus_webissimo-italic-webfont-webfont.eot'); - src: url('../fonts/sansus_webissimo-italic-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sansus_webissimo-italic-webfont-webfont.woff') format('woff'), url('../fonts/sansus_webissimo-italic-webfont-webfont.ttf') format('truetype'), url('../fonts/sansus_webissimo-italic-webfont-webfont.svg#sansus_webissimoitalic') format('svg'); - font-weight: normal; - font-style: normal; -} -@font-face { - font-family: 'sansus_webissimoregular'; - src: url('../fonts/sansus_webissimo-regular-webfont-webfont.eot'); - src: url('../fonts/sansus_webissimo-regular-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sansus_webissimo-regular-webfont-webfont.woff') format('woff'), url('../fonts/sansus_webissimo-regular-webfont-webfont.ttf') format('truetype'), url('../fonts/sansus_webissimo-regular-webfont-webfont.svg#sansus_webissimoregular') format('svg'); - font-weight: normal; - font-style: normal; -} -#header { - background: #5B8EDC; - color: white; -} -#header h1 { - font-family: 'propagandaregular'; - margin: 0; - padding-top: 20px; -} -#header a { - color: white; - text-decoration: none; -} -#header .organization { - font-style: italic; -} -#nav { - padding: 0; -} -#nav ul.nav { - clear: both; - display: flex; - font-weight: bold; - border-bottom: #eee 1px solid; -} -#logo { - float: left; -} -#logo img { - width: 100px; -} -#footer { - background: #5B8EDC; - color: white; - text-align: center; - padding: 20px; -} -#footer a { - color: white; - text-decoration: underline; -} -.pagination-block { - margin-bottom: 10px; - color: #999; - font-size: 0.9em; -} -.pagination-block nav { - text-align: center; -} -.pagination-block .count { - text-align: left; -} -table.detail-view > tbody > tr > td, -table.detail-view > tbody > tr > th { - border-top: 0; -} -table.detail-view th { - text-align: right; -} -table.detail-view th:after { - content: ' :'; -} -.icon-cell { - text-align: center; -} -.representative h1 { - text-align: center; -} -.representative p.photo { - text-align: center; -} -.representative tr.score th { - vertical-align: bottom; -} -.representative tr.score td { - font-size: 1.4em; -} -.representative tr.score td .label { - padding: 2px; -} -.positions form { - width: 50%; - margin: auto; -} -.vote_negative { - color: red; -} -.vote_positive { - color: green; -} -.vote_abstain { - color: #333; -} -.representative_grid { - display: flex; - flex-wrap: wrap; - justify-content: center; -} -.representative_grid .representative_item { - width: 300px; - margin: 2px; - padding: 10px; - background: #f5f5f5; -} -.representative_grid .representative_item .photo { - float: left; -} -.representative_grid .representative_item .name { - font-weight: bold; -} -.representative_grid .representative_item ul { - list-style-type: none; - text-indent: 10px; -} -.quote { - width: 70%; - margin: auto; -} -.quote-header { - font-style: italic; -} -.long-quote p:first-child:before { - content: '« '; - font-style: italic; - font-size: 1em; -} -.long-quote p:last-child:after { - content: ' »'; - font-style: italic; - font-size: 1em; - text-align: right; -} -body { - background: #E5E5E5; -} -.container, -.container-fluid { - background: white; -} -.main-container { - padding-top: 15px; -} -.label a { - color: white; -} -.label { - margin: 0 1px; -} diff --git a/static/stylesheets/libs.css b/static/stylesheets/libs.css deleted file mode 100644 index b85932ea029149daea27926588ac72ced28026ac..0000000000000000000000000000000000000000 --- a/static/stylesheets/libs.css +++ /dev/null @@ -1,10083 +0,0 @@ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - box-sizing: content-box; - height: 0; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-appearance: textfield; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, - *:before, - *:after { - background: transparent !important; - color: #000 !important; - box-shadow: none !important; - text-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\2a"; -} -.glyphicon-plus:before { - content: "\2b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -.glyphicon-cd:before { - content: "\e201"; -} -.glyphicon-save-file:before { - content: "\e202"; -} -.glyphicon-open-file:before { - content: "\e203"; -} -.glyphicon-level-up:before { - content: "\e204"; -} -.glyphicon-copy:before { - content: "\e205"; -} -.glyphicon-paste:before { - content: "\e206"; -} -.glyphicon-alert:before { - content: "\e209"; -} -.glyphicon-equalizer:before { - content: "\e210"; -} -.glyphicon-king:before { - content: "\e211"; -} -.glyphicon-queen:before { - content: "\e212"; -} -.glyphicon-pawn:before { - content: "\e213"; -} -.glyphicon-bishop:before { - content: "\e214"; -} -.glyphicon-knight:before { - content: "\e215"; -} -.glyphicon-baby-formula:before { - content: "\e216"; -} -.glyphicon-tent:before { - content: "\26fa"; -} -.glyphicon-blackboard:before { - content: "\e218"; -} -.glyphicon-bed:before { - content: "\e219"; -} -.glyphicon-apple:before { - content: "\f8ff"; -} -.glyphicon-erase:before { - content: "\e221"; -} -.glyphicon-hourglass:before { - content: "\231b"; -} -.glyphicon-lamp:before { - content: "\e223"; -} -.glyphicon-duplicate:before { - content: "\e224"; -} -.glyphicon-piggy-bank:before { - content: "\e225"; -} -.glyphicon-scissors:before { - content: "\e226"; -} -.glyphicon-bitcoin:before { - content: "\e227"; -} -.glyphicon-btc:before { - content: "\e227"; -} -.glyphicon-xbt:before { - content: "\e227"; -} -.glyphicon-yen:before { - content: "\00a5"; -} -.glyphicon-jpy:before { - content: "\00a5"; -} -.glyphicon-ruble:before { - content: "\20bd"; -} -.glyphicon-rub:before { - content: "\20bd"; -} -.glyphicon-scale:before { - content: "\e230"; -} -.glyphicon-ice-lolly:before { - content: "\e231"; -} -.glyphicon-ice-lolly-tasted:before { - content: "\e232"; -} -.glyphicon-education:before { - content: "\e233"; -} -.glyphicon-option-horizontal:before { - content: "\e234"; -} -.glyphicon-option-vertical:before { - content: "\e235"; -} -.glyphicon-menu-hamburger:before { - content: "\e236"; -} -.glyphicon-modal-window:before { - content: "\e237"; -} -.glyphicon-oil:before { - content: "\e238"; -} -.glyphicon-grain:before { - content: "\e239"; -} -.glyphicon-sunglasses:before { - content: "\e240"; -} -.glyphicon-text-size:before { - content: "\e241"; -} -.glyphicon-text-color:before { - content: "\e242"; -} -.glyphicon-text-background:before { - content: "\e243"; -} -.glyphicon-object-align-top:before { - content: "\e244"; -} -.glyphicon-object-align-bottom:before { - content: "\e245"; -} -.glyphicon-object-align-horizontal:before { - content: "\e246"; -} -.glyphicon-object-align-left:before { - content: "\e247"; -} -.glyphicon-object-align-vertical:before { - content: "\e248"; -} -.glyphicon-object-align-right:before { - content: "\e249"; -} -.glyphicon-triangle-right:before { - content: "\e250"; -} -.glyphicon-triangle-left:before { - content: "\e251"; -} -.glyphicon-triangle-bottom:before { - content: "\e252"; -} -.glyphicon-triangle-top:before { - content: "\e253"; -} -.glyphicon-console:before { - content: "\e254"; -} -.glyphicon-superscript:before { - content: "\e255"; -} -.glyphicon-subscript:before { - content: "\e256"; -} -.glyphicon-menu-left:before { - content: "\e257"; -} -.glyphicon-menu-right:before { - content: "\e258"; -} -.glyphicon-menu-down:before { - content: "\e259"; -} -.glyphicon-menu-up:before { - content: "\e260"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333333; - background-color: #ffffff; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #337ab7; - text-decoration: none; -} -a:hover, -a:focus { - color: #23527c; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - max-width: 100%; - height: auto; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -[role="button"] { - cursor: pointer; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 36px; -} -h2, -.h2 { - font-size: 30px; -} -h3, -.h3 { - font-size: 24px; -} -h4, -.h4 { - font-size: 18px; -} -h5, -.h5 { - font-size: 14px; -} -h6, -.h6 { - font-size: 12px; -} -p { - margin: 0 0 10px; -} -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 21px; - } -} -small, -.small { - font-size: 85%; -} -mark, -.mark { - background-color: #fcf8e3; - padding: .2em; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #777777; -} -.text-primary { - color: #337ab7; -} -a.text-primary:hover, -a.text-primary:focus { - color: #286090; -} -.text-success { - color: #3c763d; -} -a.text-success:hover, -a.text-success:focus { - color: #2b542c; -} -.text-info { - color: #31708f; -} -a.text-info:hover, -a.text-info:focus { - color: #245269; -} -.text-warning { - color: #8a6d3b; -} -a.text-warning:hover, -a.text-warning:focus { - color: #66512c; -} -.text-danger { - color: #a94442; -} -a.text-danger:hover, -a.text-danger:focus { - color: #843534; -} -.bg-primary { - color: #fff; - background-color: #337ab7; -} -a.bg-primary:hover, -a.bg-primary:focus { - background-color: #286090; -} -.bg-success { - background-color: #dff0d8; -} -a.bg-success:hover, -a.bg-success:focus { - background-color: #c1e2b3; -} -.bg-info { - background-color: #d9edf7; -} -a.bg-info:hover, -a.bg-info:focus { - background-color: #afd9ee; -} -.bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #f7ecb5; -} -.bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #e4b9b9; -} -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - list-style: none; - margin-left: -5px; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -dl { - margin-top: 0; - margin-bottom: 20px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777777; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eeeeee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; - text-align: right; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #ffffff; - background-color: #333333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #333333; - background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -.row { - margin-left: -15px; - margin-right: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0%; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0%; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} -.table .table { - background-color: #ffffff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -.table-responsive { - overflow-x: auto; - min-height: 0.01%; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #dddddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - padding: 0; - margin: 0; - border: 0; - min-width: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; -} -.form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555555; - background-color: #ffffff; - background-image: none; - border: 1px solid #cccccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); -} -.form-control::-moz-placeholder { - color: #999999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999999; -} -.form-control::-webkit-input-placeholder { - color: #999999; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - background-color: #eeeeee; - opacity: 1; -} -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 34px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm, - .input-group-sm input[type="date"], - .input-group-sm input[type="time"], - .input-group-sm input[type="datetime-local"], - .input-group-sm input[type="month"] { - line-height: 30px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg, - .input-group-lg input[type="date"], - .input-group-lg input[type="time"], - .input-group-lg input[type="datetime-local"], - .input-group-lg input[type="month"] { - line-height: 46px; - } -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; - min-height: 34px; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-left: 0; - padding-right: 0; -} -.input-sm { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 30px; - line-height: 30px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.form-group-sm select.form-control { - height: 30px; - line-height: 30px; -} -.form-group-sm textarea.form-control, -.form-group-sm select[multiple].form-control { - height: auto; -} -.form-group-sm .form-control-static { - height: 30px; - min-height: 32px; - padding: 6px 10px; - font-size: 12px; - line-height: 1.5; -} -.input-lg { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-lg { - height: 46px; - line-height: 46px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.form-group-lg select.form-control { - height: 46px; - line-height: 46px; -} -.form-group-lg textarea.form-control, -.form-group-lg select[multiple].form-control { - height: auto; -} -.form-group-lg .form-control-static { - height: 46px; - min-height: 38px; - padding: 11px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback, -.input-group-lg + .form-control-feedback, -.form-group-lg .form-control + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback, -.input-group-sm + .form-control-feedback, -.form-group-sm .form-control + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #3c763d; -} -.has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; -} -.has-success .input-group-addon { - color: #3c763d; - border-color: #3c763d; - background-color: #dff0d8; -} -.has-success .form-control-feedback { - color: #3c763d; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #8a6d3b; -} -.has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; -} -.has-warning .input-group-addon { - color: #8a6d3b; - border-color: #8a6d3b; - background-color: #fcf8e3; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #a94442; -} -.has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; -} -.has-error .input-group-addon { - color: #a94442; - border-color: #a94442; - background-color: #f2dede; -} -.has-error .form-control-feedback { - color: #a94442; -} -.has-feedback label ~ .form-control-feedback { - top: 25px; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 7px; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; -} -.form-horizontal .form-group { - margin-left: -15px; - margin-right: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - margin-bottom: 0; - padding-top: 7px; - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.333333px; - font-size: 18px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - font-size: 12px; - } -} -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - border-radius: 4px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #333333; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} -.btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default:focus, -.btn-default.focus { - color: #333333; - background-color: #e6e6e6; - border-color: #8c8c8c; -} -.btn-default:hover { - color: #333333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - color: #333333; - background-color: #d4d4d4; - border-color: #8c8c8c; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default .badge { - color: #ffffff; - background-color: #333333; -} -.btn-primary { - color: #ffffff; - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary:focus, -.btn-primary.focus { - color: #ffffff; - background-color: #286090; - border-color: #122b40; -} -.btn-primary:hover { - color: #ffffff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - color: #ffffff; - background-color: #204d74; - border-color: #122b40; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary .badge { - color: #337ab7; - background-color: #ffffff; -} -.btn-success { - color: #ffffff; - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:focus, -.btn-success.focus { - color: #ffffff; - background-color: #449d44; - border-color: #255625; -} -.btn-success:hover { - color: #ffffff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active:hover, -.btn-success.active:hover, -.open > .dropdown-toggle.btn-success:hover, -.btn-success:active:focus, -.btn-success.active:focus, -.open > .dropdown-toggle.btn-success:focus, -.btn-success:active.focus, -.btn-success.active.focus, -.open > .dropdown-toggle.btn-success.focus { - color: #ffffff; - background-color: #398439; - border-color: #255625; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #ffffff; -} -.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:focus, -.btn-info.focus { - color: #ffffff; - background-color: #31b0d5; - border-color: #1b6d85; -} -.btn-info:hover { - color: #ffffff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active:hover, -.btn-info.active:hover, -.open > .dropdown-toggle.btn-info:hover, -.btn-info:active:focus, -.btn-info.active:focus, -.open > .dropdown-toggle.btn-info:focus, -.btn-info:active.focus, -.btn-info.active.focus, -.open > .dropdown-toggle.btn-info.focus { - color: #ffffff; - background-color: #269abc; - border-color: #1b6d85; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #ffffff; -} -.btn-warning { - color: #ffffff; - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:focus, -.btn-warning.focus { - color: #ffffff; - background-color: #ec971f; - border-color: #985f0d; -} -.btn-warning:hover { - color: #ffffff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active:hover, -.btn-warning.active:hover, -.open > .dropdown-toggle.btn-warning:hover, -.btn-warning:active:focus, -.btn-warning.active:focus, -.open > .dropdown-toggle.btn-warning:focus, -.btn-warning:active.focus, -.btn-warning.active.focus, -.open > .dropdown-toggle.btn-warning.focus { - color: #ffffff; - background-color: #d58512; - border-color: #985f0d; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #ffffff; -} -.btn-danger { - color: #ffffff; - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:focus, -.btn-danger.focus { - color: #ffffff; - background-color: #c9302c; - border-color: #761c19; -} -.btn-danger:hover { - color: #ffffff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - color: #ffffff; - background-color: #ac2925; - border-color: #761c19; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #ffffff; -} -.btn-link { - color: #337ab7; - font-weight: normal; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-property: height, visibility; - transition-property: height, visibility; - -webkit-transition-duration: 0.35s; - transition-duration: 0.35s; - -webkit-transition-timing-function: ease; - transition-timing-function: ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropup, -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 14px; - text-align: left; - background-color: #ffffff; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - text-decoration: none; - color: #262626; - background-color: #f5f5f5; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - background-color: #337ab7; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #777777; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - left: auto; - right: 0; -} -.dropdown-menu-left { - left: 0; - right: auto; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777777; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid \9; - content: ""; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - left: auto; - right: 0; - } - .navbar-right .dropdown-menu-left { - left: 0; - right: auto; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn, -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-bottom-left-radius: 4px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555555; - text-align: center; - background-color: #eeeeee; - border: 1px solid #cccccc; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - z-index: 2; - margin-left: -1px; -} -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #777777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777777; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #337ab7; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #dddddd; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #337ab7; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; - height: 50px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - margin-right: 15px; - padding: 9px 10px; - margin-top: 8px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} -.navbar-form { - margin-left: -15px; - margin-right: -15px; - padding: 10px 15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - margin-top: 8px; - margin-bottom: 8px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - margin-bottom: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; -} -.navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; -} -.navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; -} -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-left: 15px; - margin-right: 15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - float: left; - } - .navbar-right { - float: right !important; - float: right; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} -.navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #777777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #dddddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #e7e7e7; - color: #555555; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555555; - background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777777; -} -.navbar-default .navbar-link:hover { - color: #333333; -} -.navbar-default .btn-link { - color: #777777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #cccccc; -} -.navbar-inverse { - background-color: #222222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #080808; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - background-color: #080808; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #9d9d9d; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d; -} -.navbar-inverse .navbar-link:hover { - color: #ffffff; -} -.navbar-inverse .btn-link { - color: #9d9d9d; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #ffffff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444444; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #cccccc; -} -.breadcrumb > .active { - color: #777777; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #337ab7; - background-color: #ffffff; - border: 1px solid #dddddd; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - z-index: 3; - color: #23527c; - background-color: #eeeeee; - border-color: #dddddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777777; - background-color: #ffffff; - border-color: #dddddd; - cursor: not-allowed; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; - line-height: 1.3333333; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 20px 0; - list-style: none; - text-align: center; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777777; - background-color: #ffffff; - cursor: not-allowed; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #777777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} -.label-primary { - background-color: #337ab7; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #286090; -} -.label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} -.label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} -.label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} -.label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - color: #ffffff; - line-height: 1; - vertical-align: middle; - white-space: nowrap; - text-align: center; - background-color: #777777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge, -.btn-group-xs > .btn .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #ffffff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding-top: 30px; - padding-bottom: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eeeeee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron, -.container-fluid .jumbotron { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 4px; - -webkit-transition: border 0.2s ease-in-out; - -o-transition: border 0.2s ease-in-out; - transition: border 0.2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-left: auto; - margin-right: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #337ab7; -} -.thumbnail .caption { - padding: 9px; - color: #333333; -} -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - background-color: #dff0d8; - border-color: #d6e9c6; - color: #3c763d; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #31708f; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - background-color: #fcf8e3; - border-color: #faebcc; - color: #8a6d3b; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - background-color: #f2dede; - border-color: #ebccd1; - color: #a94442; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #ffffff; - text-align: center; - background-color: #337ab7; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #5cb85c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media, -.media-body { - zoom: 1; - overflow: hidden; -} -.media-body { - width: 10000px; -} -.media-object { - display: block; -} -.media-object.img-thumbnail { - max-width: none; -} -.media-right, -.media > .pull-right { - padding-left: 10px; -} -.media-left, -.media > .pull-left { - padding-right: 10px; -} -.media-left, -.media-right, -.media-body { - display: table-cell; - vertical-align: top; -} -.media-middle { - vertical-align: middle; -} -.media-bottom { - vertical-align: bottom; -} -.media-heading { - margin-top: 0; - margin-bottom: 5px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - margin-bottom: 20px; - padding-left: 0; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item, -button.list-group-item { - color: #555555; -} -a.list-group-item .list-group-item-heading, -button.list-group-item .list-group-item-heading { - color: #333333; -} -a.list-group-item:hover, -button.list-group-item:hover, -a.list-group-item:focus, -button.list-group-item:focus { - text-decoration: none; - color: #555555; - background-color: #f5f5f5; -} -button.list-group-item { - width: 100%; - text-align: left; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - background-color: #eeeeee; - color: #777777; - cursor: not-allowed; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777777; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} -.list-group-item-success { - color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success, -button.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info, -button.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} -.list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning, -button.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} -.list-group-item-danger { - color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger, -button.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 20px; - background-color: #ffffff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; -} -.panel-title > a, -.panel-title > small, -.panel-title > .small, -.panel-title > small > a, -.panel-title > .small > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #dddddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-left: 15px; - padding-right: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #dddddd; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - border: 0; - margin-bottom: 0; -} -.panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #dddddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} -.panel-default { - border-color: #dddddd; -} -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #dddddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #dddddd; -} -.panel-primary { - border-color: #337ab7; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #337ab7; -} -.panel-primary > .panel-heading .badge { - color: #337ab7; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7; -} -.panel-success { - border-color: #d6e9c6; -} -.panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; -} -.panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; -} -.panel-info { - border-color: #bce8f1; -} -.panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; -} -.panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; -} -.panel-warning { - border-color: #faebcc; -} -.panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; -} -.panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; -} -.panel-danger { - border-color: #ebccd1; -} -.panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; -} -.panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; -} -.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.modal-open { - overflow: hidden; -} -.modal { - display: none; - overflow: hidden; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); - -webkit-transition: -webkit-transform 0.3s ease-out; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #ffffff; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - background-clip: padding-box; - outline: 0; -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; - min-height: 16.42857143px; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 15px; -} -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - font-size: 12px; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - background-color: #000000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - right: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - font-size: 14px; - background-color: #ffffff; - background-clip: padding-box; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - margin: 0; - padding: 8px 14px; - font-size: 14px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - border-width: 10px; - content: ""; -} -.popover.top > .arrow { - left: 50%; - margin-left: -11px; - border-bottom-width: 0; - border-top-color: #999999; - border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; -} -.popover.top > .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #ffffff; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-left-width: 0; - border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); -} -.popover.right > .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #ffffff; -} -.popover.bottom > .arrow { - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999999; - border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; -} -.popover.bottom > .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #ffffff; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); -} -.popover.left > .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #ffffff; - bottom: -10px; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - -moz-transition: -moz-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - -moz-perspective: 1000px; - perspective: 1000px; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - left: 0; - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - left: 0; - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - left: 0; - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - outline: 0; - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - margin-top: -10px; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - line-height: 1; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - content: " "; - display: table; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table !important; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table !important; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table !important; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table !important; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table !important; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -/*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.3.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0); -} -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-fw { - width: 1.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - margin-left: .3em; -} -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #ffffff; -} -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook-f:before, -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before, -.fa-gratipay:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-genderless:before, -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} -.flag-icon-background { - background-size: contain; - background-position: 50%; - background-repeat: no-repeat; -} -.flag-icon { - background-size: contain; - background-position: 50%; - background-repeat: no-repeat; - position: relative; - display: inline-block; - width: 1.33333333em; - line-height: 1em; -} -.flag-icon:before { - content: "\00a0"; -} -.flag-icon.flag-icon-squared { - width: 1em; -} -.flag-icon-ad { - background-image: url(../libs/flag-icon-css/flags/4x3/ad.svg); -} -.flag-icon-ad.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ad.svg); -} -.flag-icon-ae { - background-image: url(../libs/flag-icon-css/flags/4x3/ae.svg); -} -.flag-icon-ae.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ae.svg); -} -.flag-icon-af { - background-image: url(../libs/flag-icon-css/flags/4x3/af.svg); -} -.flag-icon-af.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/af.svg); -} -.flag-icon-ag { - background-image: url(../libs/flag-icon-css/flags/4x3/ag.svg); -} -.flag-icon-ag.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ag.svg); -} -.flag-icon-ai { - background-image: url(../libs/flag-icon-css/flags/4x3/ai.svg); -} -.flag-icon-ai.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ai.svg); -} -.flag-icon-al { - background-image: url(../libs/flag-icon-css/flags/4x3/al.svg); -} -.flag-icon-al.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/al.svg); -} -.flag-icon-am { - background-image: url(../libs/flag-icon-css/flags/4x3/am.svg); -} -.flag-icon-am.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/am.svg); -} -.flag-icon-ao { - background-image: url(../libs/flag-icon-css/flags/4x3/ao.svg); -} -.flag-icon-ao.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ao.svg); -} -.flag-icon-aq { - background-image: url(../libs/flag-icon-css/flags/4x3/aq.svg); -} -.flag-icon-aq.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/aq.svg); -} -.flag-icon-ar { - background-image: url(../libs/flag-icon-css/flags/4x3/ar.svg); -} -.flag-icon-ar.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ar.svg); -} -.flag-icon-as { - background-image: url(../libs/flag-icon-css/flags/4x3/as.svg); -} -.flag-icon-as.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/as.svg); -} -.flag-icon-at { - background-image: url(../libs/flag-icon-css/flags/4x3/at.svg); -} -.flag-icon-at.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/at.svg); -} -.flag-icon-au { - background-image: url(../libs/flag-icon-css/flags/4x3/au.svg); -} -.flag-icon-au.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/au.svg); -} -.flag-icon-aw { - background-image: url(../libs/flag-icon-css/flags/4x3/aw.svg); -} -.flag-icon-aw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/aw.svg); -} -.flag-icon-ax { - background-image: url(../libs/flag-icon-css/flags/4x3/ax.svg); -} -.flag-icon-ax.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ax.svg); -} -.flag-icon-az { - background-image: url(../libs/flag-icon-css/flags/4x3/az.svg); -} -.flag-icon-az.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/az.svg); -} -.flag-icon-ba { - background-image: url(../libs/flag-icon-css/flags/4x3/ba.svg); -} -.flag-icon-ba.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ba.svg); -} -.flag-icon-bb { - background-image: url(../libs/flag-icon-css/flags/4x3/bb.svg); -} -.flag-icon-bb.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bb.svg); -} -.flag-icon-bd { - background-image: url(../libs/flag-icon-css/flags/4x3/bd.svg); -} -.flag-icon-bd.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bd.svg); -} -.flag-icon-be { - background-image: url(../libs/flag-icon-css/flags/4x3/be.svg); -} -.flag-icon-be.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/be.svg); -} -.flag-icon-bf { - background-image: url(../libs/flag-icon-css/flags/4x3/bf.svg); -} -.flag-icon-bf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bf.svg); -} -.flag-icon-bg { - background-image: url(../libs/flag-icon-css/flags/4x3/bg.svg); -} -.flag-icon-bg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bg.svg); -} -.flag-icon-bh { - background-image: url(../libs/flag-icon-css/flags/4x3/bh.svg); -} -.flag-icon-bh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bh.svg); -} -.flag-icon-bi { - background-image: url(../libs/flag-icon-css/flags/4x3/bi.svg); -} -.flag-icon-bi.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bi.svg); -} -.flag-icon-bj { - background-image: url(../libs/flag-icon-css/flags/4x3/bj.svg); -} -.flag-icon-bj.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bj.svg); -} -.flag-icon-bl { - background-image: url(../libs/flag-icon-css/flags/4x3/bl.svg); -} -.flag-icon-bl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bl.svg); -} -.flag-icon-bm { - background-image: url(../libs/flag-icon-css/flags/4x3/bm.svg); -} -.flag-icon-bm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bm.svg); -} -.flag-icon-bn { - background-image: url(../libs/flag-icon-css/flags/4x3/bn.svg); -} -.flag-icon-bn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bn.svg); -} -.flag-icon-bo { - background-image: url(../libs/flag-icon-css/flags/4x3/bo.svg); -} -.flag-icon-bo.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bo.svg); -} -.flag-icon-bq { - background-image: url(../libs/flag-icon-css/flags/4x3/bq.svg); -} -.flag-icon-bq.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bq.svg); -} -.flag-icon-br { - background-image: url(../libs/flag-icon-css/flags/4x3/br.svg); -} -.flag-icon-br.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/br.svg); -} -.flag-icon-bs { - background-image: url(../libs/flag-icon-css/flags/4x3/bs.svg); -} -.flag-icon-bs.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bs.svg); -} -.flag-icon-bt { - background-image: url(../libs/flag-icon-css/flags/4x3/bt.svg); -} -.flag-icon-bt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bt.svg); -} -.flag-icon-bv { - background-image: url(../libs/flag-icon-css/flags/4x3/bv.svg); -} -.flag-icon-bv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bv.svg); -} -.flag-icon-bw { - background-image: url(../libs/flag-icon-css/flags/4x3/bw.svg); -} -.flag-icon-bw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bw.svg); -} -.flag-icon-by { - background-image: url(../libs/flag-icon-css/flags/4x3/by.svg); -} -.flag-icon-by.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/by.svg); -} -.flag-icon-bz { - background-image: url(../libs/flag-icon-css/flags/4x3/bz.svg); -} -.flag-icon-bz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/bz.svg); -} -.flag-icon-ca { - background-image: url(../libs/flag-icon-css/flags/4x3/ca.svg); -} -.flag-icon-ca.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ca.svg); -} -.flag-icon-cc { - background-image: url(../libs/flag-icon-css/flags/4x3/cc.svg); -} -.flag-icon-cc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cc.svg); -} -.flag-icon-cd { - background-image: url(../libs/flag-icon-css/flags/4x3/cd.svg); -} -.flag-icon-cd.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cd.svg); -} -.flag-icon-cf { - background-image: url(../libs/flag-icon-css/flags/4x3/cf.svg); -} -.flag-icon-cf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cf.svg); -} -.flag-icon-cg { - background-image: url(../libs/flag-icon-css/flags/4x3/cg.svg); -} -.flag-icon-cg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cg.svg); -} -.flag-icon-ch { - background-image: url(../libs/flag-icon-css/flags/4x3/ch.svg); -} -.flag-icon-ch.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ch.svg); -} -.flag-icon-ci { - background-image: url(../libs/flag-icon-css/flags/4x3/ci.svg); -} -.flag-icon-ci.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ci.svg); -} -.flag-icon-ck { - background-image: url(../libs/flag-icon-css/flags/4x3/ck.svg); -} -.flag-icon-ck.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ck.svg); -} -.flag-icon-cl { - background-image: url(../libs/flag-icon-css/flags/4x3/cl.svg); -} -.flag-icon-cl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cl.svg); -} -.flag-icon-cm { - background-image: url(../libs/flag-icon-css/flags/4x3/cm.svg); -} -.flag-icon-cm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cm.svg); -} -.flag-icon-cn { - background-image: url(../libs/flag-icon-css/flags/4x3/cn.svg); -} -.flag-icon-cn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cn.svg); -} -.flag-icon-co { - background-image: url(../libs/flag-icon-css/flags/4x3/co.svg); -} -.flag-icon-co.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/co.svg); -} -.flag-icon-cr { - background-image: url(../libs/flag-icon-css/flags/4x3/cr.svg); -} -.flag-icon-cr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cr.svg); -} -.flag-icon-cu { - background-image: url(../libs/flag-icon-css/flags/4x3/cu.svg); -} -.flag-icon-cu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cu.svg); -} -.flag-icon-cv { - background-image: url(../libs/flag-icon-css/flags/4x3/cv.svg); -} -.flag-icon-cv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cv.svg); -} -.flag-icon-cw { - background-image: url(../libs/flag-icon-css/flags/4x3/cw.svg); -} -.flag-icon-cw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cw.svg); -} -.flag-icon-cx { - background-image: url(../libs/flag-icon-css/flags/4x3/cx.svg); -} -.flag-icon-cx.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cx.svg); -} -.flag-icon-cy { - background-image: url(../libs/flag-icon-css/flags/4x3/cy.svg); -} -.flag-icon-cy.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cy.svg); -} -.flag-icon-cz { - background-image: url(../libs/flag-icon-css/flags/4x3/cz.svg); -} -.flag-icon-cz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/cz.svg); -} -.flag-icon-de { - background-image: url(../libs/flag-icon-css/flags/4x3/de.svg); -} -.flag-icon-de.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/de.svg); -} -.flag-icon-dj { - background-image: url(../libs/flag-icon-css/flags/4x3/dj.svg); -} -.flag-icon-dj.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/dj.svg); -} -.flag-icon-dk { - background-image: url(../libs/flag-icon-css/flags/4x3/dk.svg); -} -.flag-icon-dk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/dk.svg); -} -.flag-icon-dm { - background-image: url(../libs/flag-icon-css/flags/4x3/dm.svg); -} -.flag-icon-dm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/dm.svg); -} -.flag-icon-do { - background-image: url(../libs/flag-icon-css/flags/4x3/do.svg); -} -.flag-icon-do.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/do.svg); -} -.flag-icon-dz { - background-image: url(../libs/flag-icon-css/flags/4x3/dz.svg); -} -.flag-icon-dz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/dz.svg); -} -.flag-icon-ec { - background-image: url(../libs/flag-icon-css/flags/4x3/ec.svg); -} -.flag-icon-ec.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ec.svg); -} -.flag-icon-ee { - background-image: url(../libs/flag-icon-css/flags/4x3/ee.svg); -} -.flag-icon-ee.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ee.svg); -} -.flag-icon-eg { - background-image: url(../libs/flag-icon-css/flags/4x3/eg.svg); -} -.flag-icon-eg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/eg.svg); -} -.flag-icon-eh { - background-image: url(../libs/flag-icon-css/flags/4x3/eh.svg); -} -.flag-icon-eh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/eh.svg); -} -.flag-icon-er { - background-image: url(../libs/flag-icon-css/flags/4x3/er.svg); -} -.flag-icon-er.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/er.svg); -} -.flag-icon-es { - background-image: url(../libs/flag-icon-css/flags/4x3/es.svg); -} -.flag-icon-es.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/es.svg); -} -.flag-icon-et { - background-image: url(../libs/flag-icon-css/flags/4x3/et.svg); -} -.flag-icon-et.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/et.svg); -} -.flag-icon-fi { - background-image: url(../libs/flag-icon-css/flags/4x3/fi.svg); -} -.flag-icon-fi.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fi.svg); -} -.flag-icon-fj { - background-image: url(../libs/flag-icon-css/flags/4x3/fj.svg); -} -.flag-icon-fj.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fj.svg); -} -.flag-icon-fk { - background-image: url(../libs/flag-icon-css/flags/4x3/fk.svg); -} -.flag-icon-fk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fk.svg); -} -.flag-icon-fm { - background-image: url(../libs/flag-icon-css/flags/4x3/fm.svg); -} -.flag-icon-fm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fm.svg); -} -.flag-icon-fo { - background-image: url(../libs/flag-icon-css/flags/4x3/fo.svg); -} -.flag-icon-fo.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fo.svg); -} -.flag-icon-fr { - background-image: url(../libs/flag-icon-css/flags/4x3/fr.svg); -} -.flag-icon-fr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/fr.svg); -} -.flag-icon-ga { - background-image: url(../libs/flag-icon-css/flags/4x3/ga.svg); -} -.flag-icon-ga.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ga.svg); -} -.flag-icon-gb { - background-image: url(../libs/flag-icon-css/flags/4x3/gb.svg); -} -.flag-icon-gb.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gb.svg); -} -.flag-icon-gd { - background-image: url(../libs/flag-icon-css/flags/4x3/gd.svg); -} -.flag-icon-gd.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gd.svg); -} -.flag-icon-ge { - background-image: url(../libs/flag-icon-css/flags/4x3/ge.svg); -} -.flag-icon-ge.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ge.svg); -} -.flag-icon-gf { - background-image: url(../libs/flag-icon-css/flags/4x3/gf.svg); -} -.flag-icon-gf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gf.svg); -} -.flag-icon-gg { - background-image: url(../libs/flag-icon-css/flags/4x3/gg.svg); -} -.flag-icon-gg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gg.svg); -} -.flag-icon-gh { - background-image: url(../libs/flag-icon-css/flags/4x3/gh.svg); -} -.flag-icon-gh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gh.svg); -} -.flag-icon-gi { - background-image: url(../libs/flag-icon-css/flags/4x3/gi.svg); -} -.flag-icon-gi.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gi.svg); -} -.flag-icon-gl { - background-image: url(../libs/flag-icon-css/flags/4x3/gl.svg); -} -.flag-icon-gl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gl.svg); -} -.flag-icon-gm { - background-image: url(../libs/flag-icon-css/flags/4x3/gm.svg); -} -.flag-icon-gm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gm.svg); -} -.flag-icon-gn { - background-image: url(../libs/flag-icon-css/flags/4x3/gn.svg); -} -.flag-icon-gn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gn.svg); -} -.flag-icon-gp { - background-image: url(../libs/flag-icon-css/flags/4x3/gp.svg); -} -.flag-icon-gp.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gp.svg); -} -.flag-icon-gq { - background-image: url(../libs/flag-icon-css/flags/4x3/gq.svg); -} -.flag-icon-gq.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gq.svg); -} -.flag-icon-gr { - background-image: url(../libs/flag-icon-css/flags/4x3/gr.svg); -} -.flag-icon-gr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gr.svg); -} -.flag-icon-gs { - background-image: url(../libs/flag-icon-css/flags/4x3/gs.svg); -} -.flag-icon-gs.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gs.svg); -} -.flag-icon-gt { - background-image: url(../libs/flag-icon-css/flags/4x3/gt.svg); -} -.flag-icon-gt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gt.svg); -} -.flag-icon-gu { - background-image: url(../libs/flag-icon-css/flags/4x3/gu.svg); -} -.flag-icon-gu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gu.svg); -} -.flag-icon-gw { - background-image: url(../libs/flag-icon-css/flags/4x3/gw.svg); -} -.flag-icon-gw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gw.svg); -} -.flag-icon-gy { - background-image: url(../libs/flag-icon-css/flags/4x3/gy.svg); -} -.flag-icon-gy.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/gy.svg); -} -.flag-icon-hk { - background-image: url(../libs/flag-icon-css/flags/4x3/hk.svg); -} -.flag-icon-hk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/hk.svg); -} -.flag-icon-hm { - background-image: url(../libs/flag-icon-css/flags/4x3/hm.svg); -} -.flag-icon-hm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/hm.svg); -} -.flag-icon-hn { - background-image: url(../libs/flag-icon-css/flags/4x3/hn.svg); -} -.flag-icon-hn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/hn.svg); -} -.flag-icon-hr { - background-image: url(../libs/flag-icon-css/flags/4x3/hr.svg); -} -.flag-icon-hr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/hr.svg); -} -.flag-icon-ht { - background-image: url(../libs/flag-icon-css/flags/4x3/ht.svg); -} -.flag-icon-ht.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ht.svg); -} -.flag-icon-hu { - background-image: url(../libs/flag-icon-css/flags/4x3/hu.svg); -} -.flag-icon-hu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/hu.svg); -} -.flag-icon-id { - background-image: url(../libs/flag-icon-css/flags/4x3/id.svg); -} -.flag-icon-id.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/id.svg); -} -.flag-icon-ie { - background-image: url(../libs/flag-icon-css/flags/4x3/ie.svg); -} -.flag-icon-ie.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ie.svg); -} -.flag-icon-il { - background-image: url(../libs/flag-icon-css/flags/4x3/il.svg); -} -.flag-icon-il.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/il.svg); -} -.flag-icon-im { - background-image: url(../libs/flag-icon-css/flags/4x3/im.svg); -} -.flag-icon-im.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/im.svg); -} -.flag-icon-in { - background-image: url(../libs/flag-icon-css/flags/4x3/in.svg); -} -.flag-icon-in.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/in.svg); -} -.flag-icon-io { - background-image: url(../libs/flag-icon-css/flags/4x3/io.svg); -} -.flag-icon-io.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/io.svg); -} -.flag-icon-iq { - background-image: url(../libs/flag-icon-css/flags/4x3/iq.svg); -} -.flag-icon-iq.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/iq.svg); -} -.flag-icon-ir { - background-image: url(../libs/flag-icon-css/flags/4x3/ir.svg); -} -.flag-icon-ir.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ir.svg); -} -.flag-icon-is { - background-image: url(../libs/flag-icon-css/flags/4x3/is.svg); -} -.flag-icon-is.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/is.svg); -} -.flag-icon-it { - background-image: url(../libs/flag-icon-css/flags/4x3/it.svg); -} -.flag-icon-it.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/it.svg); -} -.flag-icon-je { - background-image: url(../libs/flag-icon-css/flags/4x3/je.svg); -} -.flag-icon-je.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/je.svg); -} -.flag-icon-jm { - background-image: url(../libs/flag-icon-css/flags/4x3/jm.svg); -} -.flag-icon-jm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/jm.svg); -} -.flag-icon-jo { - background-image: url(../libs/flag-icon-css/flags/4x3/jo.svg); -} -.flag-icon-jo.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/jo.svg); -} -.flag-icon-jp { - background-image: url(../libs/flag-icon-css/flags/4x3/jp.svg); -} -.flag-icon-jp.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/jp.svg); -} -.flag-icon-ke { - background-image: url(../libs/flag-icon-css/flags/4x3/ke.svg); -} -.flag-icon-ke.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ke.svg); -} -.flag-icon-kg { - background-image: url(../libs/flag-icon-css/flags/4x3/kg.svg); -} -.flag-icon-kg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kg.svg); -} -.flag-icon-kh { - background-image: url(../libs/flag-icon-css/flags/4x3/kh.svg); -} -.flag-icon-kh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kh.svg); -} -.flag-icon-ki { - background-image: url(../libs/flag-icon-css/flags/4x3/ki.svg); -} -.flag-icon-ki.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ki.svg); -} -.flag-icon-km { - background-image: url(../libs/flag-icon-css/flags/4x3/km.svg); -} -.flag-icon-km.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/km.svg); -} -.flag-icon-kn { - background-image: url(../libs/flag-icon-css/flags/4x3/kn.svg); -} -.flag-icon-kn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kn.svg); -} -.flag-icon-kp { - background-image: url(../libs/flag-icon-css/flags/4x3/kp.svg); -} -.flag-icon-kp.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kp.svg); -} -.flag-icon-kr { - background-image: url(../libs/flag-icon-css/flags/4x3/kr.svg); -} -.flag-icon-kr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kr.svg); -} -.flag-icon-kw { - background-image: url(../libs/flag-icon-css/flags/4x3/kw.svg); -} -.flag-icon-kw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kw.svg); -} -.flag-icon-ky { - background-image: url(../libs/flag-icon-css/flags/4x3/ky.svg); -} -.flag-icon-ky.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ky.svg); -} -.flag-icon-kz { - background-image: url(../libs/flag-icon-css/flags/4x3/kz.svg); -} -.flag-icon-kz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/kz.svg); -} -.flag-icon-la { - background-image: url(../libs/flag-icon-css/flags/4x3/la.svg); -} -.flag-icon-la.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/la.svg); -} -.flag-icon-lb { - background-image: url(../libs/flag-icon-css/flags/4x3/lb.svg); -} -.flag-icon-lb.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lb.svg); -} -.flag-icon-lc { - background-image: url(../libs/flag-icon-css/flags/4x3/lc.svg); -} -.flag-icon-lc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lc.svg); -} -.flag-icon-li { - background-image: url(../libs/flag-icon-css/flags/4x3/li.svg); -} -.flag-icon-li.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/li.svg); -} -.flag-icon-lk { - background-image: url(../libs/flag-icon-css/flags/4x3/lk.svg); -} -.flag-icon-lk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lk.svg); -} -.flag-icon-lr { - background-image: url(../libs/flag-icon-css/flags/4x3/lr.svg); -} -.flag-icon-lr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lr.svg); -} -.flag-icon-ls { - background-image: url(../libs/flag-icon-css/flags/4x3/ls.svg); -} -.flag-icon-ls.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ls.svg); -} -.flag-icon-lt { - background-image: url(../libs/flag-icon-css/flags/4x3/lt.svg); -} -.flag-icon-lt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lt.svg); -} -.flag-icon-lu { - background-image: url(../libs/flag-icon-css/flags/4x3/lu.svg); -} -.flag-icon-lu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lu.svg); -} -.flag-icon-lv { - background-image: url(../libs/flag-icon-css/flags/4x3/lv.svg); -} -.flag-icon-lv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/lv.svg); -} -.flag-icon-ly { - background-image: url(../libs/flag-icon-css/flags/4x3/ly.svg); -} -.flag-icon-ly.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ly.svg); -} -.flag-icon-ma { - background-image: url(../libs/flag-icon-css/flags/4x3/ma.svg); -} -.flag-icon-ma.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ma.svg); -} -.flag-icon-mc { - background-image: url(../libs/flag-icon-css/flags/4x3/mc.svg); -} -.flag-icon-mc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mc.svg); -} -.flag-icon-md { - background-image: url(../libs/flag-icon-css/flags/4x3/md.svg); -} -.flag-icon-md.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/md.svg); -} -.flag-icon-me { - background-image: url(../libs/flag-icon-css/flags/4x3/me.svg); -} -.flag-icon-me.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/me.svg); -} -.flag-icon-mf { - background-image: url(../libs/flag-icon-css/flags/4x3/mf.svg); -} -.flag-icon-mf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mf.svg); -} -.flag-icon-mg { - background-image: url(../libs/flag-icon-css/flags/4x3/mg.svg); -} -.flag-icon-mg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mg.svg); -} -.flag-icon-mh { - background-image: url(../libs/flag-icon-css/flags/4x3/mh.svg); -} -.flag-icon-mh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mh.svg); -} -.flag-icon-mk { - background-image: url(../libs/flag-icon-css/flags/4x3/mk.svg); -} -.flag-icon-mk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mk.svg); -} -.flag-icon-ml { - background-image: url(../libs/flag-icon-css/flags/4x3/ml.svg); -} -.flag-icon-ml.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ml.svg); -} -.flag-icon-mm { - background-image: url(../libs/flag-icon-css/flags/4x3/mm.svg); -} -.flag-icon-mm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mm.svg); -} -.flag-icon-mn { - background-image: url(../libs/flag-icon-css/flags/4x3/mn.svg); -} -.flag-icon-mn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mn.svg); -} -.flag-icon-mo { - background-image: url(../libs/flag-icon-css/flags/4x3/mo.svg); -} -.flag-icon-mo.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mo.svg); -} -.flag-icon-mp { - background-image: url(../libs/flag-icon-css/flags/4x3/mp.svg); -} -.flag-icon-mp.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mp.svg); -} -.flag-icon-mq { - background-image: url(../libs/flag-icon-css/flags/4x3/mq.svg); -} -.flag-icon-mq.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mq.svg); -} -.flag-icon-mr { - background-image: url(../libs/flag-icon-css/flags/4x3/mr.svg); -} -.flag-icon-mr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mr.svg); -} -.flag-icon-ms { - background-image: url(../libs/flag-icon-css/flags/4x3/ms.svg); -} -.flag-icon-ms.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ms.svg); -} -.flag-icon-mt { - background-image: url(../libs/flag-icon-css/flags/4x3/mt.svg); -} -.flag-icon-mt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mt.svg); -} -.flag-icon-mu { - background-image: url(../libs/flag-icon-css/flags/4x3/mu.svg); -} -.flag-icon-mu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mu.svg); -} -.flag-icon-mv { - background-image: url(../libs/flag-icon-css/flags/4x3/mv.svg); -} -.flag-icon-mv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mv.svg); -} -.flag-icon-mw { - background-image: url(../libs/flag-icon-css/flags/4x3/mw.svg); -} -.flag-icon-mw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mw.svg); -} -.flag-icon-mx { - background-image: url(../libs/flag-icon-css/flags/4x3/mx.svg); -} -.flag-icon-mx.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mx.svg); -} -.flag-icon-my { - background-image: url(../libs/flag-icon-css/flags/4x3/my.svg); -} -.flag-icon-my.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/my.svg); -} -.flag-icon-mz { - background-image: url(../libs/flag-icon-css/flags/4x3/mz.svg); -} -.flag-icon-mz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/mz.svg); -} -.flag-icon-na { - background-image: url(../libs/flag-icon-css/flags/4x3/na.svg); -} -.flag-icon-na.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/na.svg); -} -.flag-icon-nc { - background-image: url(../libs/flag-icon-css/flags/4x3/nc.svg); -} -.flag-icon-nc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nc.svg); -} -.flag-icon-ne { - background-image: url(../libs/flag-icon-css/flags/4x3/ne.svg); -} -.flag-icon-ne.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ne.svg); -} -.flag-icon-nf { - background-image: url(../libs/flag-icon-css/flags/4x3/nf.svg); -} -.flag-icon-nf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nf.svg); -} -.flag-icon-ng { - background-image: url(../libs/flag-icon-css/flags/4x3/ng.svg); -} -.flag-icon-ng.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ng.svg); -} -.flag-icon-ni { - background-image: url(../libs/flag-icon-css/flags/4x3/ni.svg); -} -.flag-icon-ni.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ni.svg); -} -.flag-icon-nl { - background-image: url(../libs/flag-icon-css/flags/4x3/nl.svg); -} -.flag-icon-nl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nl.svg); -} -.flag-icon-no { - background-image: url(../libs/flag-icon-css/flags/4x3/no.svg); -} -.flag-icon-no.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/no.svg); -} -.flag-icon-np { - background-image: url(../libs/flag-icon-css/flags/4x3/np.svg); -} -.flag-icon-np.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/np.svg); -} -.flag-icon-nr { - background-image: url(../libs/flag-icon-css/flags/4x3/nr.svg); -} -.flag-icon-nr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nr.svg); -} -.flag-icon-nu { - background-image: url(../libs/flag-icon-css/flags/4x3/nu.svg); -} -.flag-icon-nu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nu.svg); -} -.flag-icon-nz { - background-image: url(../libs/flag-icon-css/flags/4x3/nz.svg); -} -.flag-icon-nz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/nz.svg); -} -.flag-icon-om { - background-image: url(../libs/flag-icon-css/flags/4x3/om.svg); -} -.flag-icon-om.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/om.svg); -} -.flag-icon-pa { - background-image: url(../libs/flag-icon-css/flags/4x3/pa.svg); -} -.flag-icon-pa.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pa.svg); -} -.flag-icon-pe { - background-image: url(../libs/flag-icon-css/flags/4x3/pe.svg); -} -.flag-icon-pe.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pe.svg); -} -.flag-icon-pf { - background-image: url(../libs/flag-icon-css/flags/4x3/pf.svg); -} -.flag-icon-pf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pf.svg); -} -.flag-icon-pg { - background-image: url(../libs/flag-icon-css/flags/4x3/pg.svg); -} -.flag-icon-pg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pg.svg); -} -.flag-icon-ph { - background-image: url(../libs/flag-icon-css/flags/4x3/ph.svg); -} -.flag-icon-ph.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ph.svg); -} -.flag-icon-pk { - background-image: url(../libs/flag-icon-css/flags/4x3/pk.svg); -} -.flag-icon-pk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pk.svg); -} -.flag-icon-pl { - background-image: url(../libs/flag-icon-css/flags/4x3/pl.svg); -} -.flag-icon-pl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pl.svg); -} -.flag-icon-pm { - background-image: url(../libs/flag-icon-css/flags/4x3/pm.svg); -} -.flag-icon-pm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pm.svg); -} -.flag-icon-pn { - background-image: url(../libs/flag-icon-css/flags/4x3/pn.svg); -} -.flag-icon-pn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pn.svg); -} -.flag-icon-pr { - background-image: url(../libs/flag-icon-css/flags/4x3/pr.svg); -} -.flag-icon-pr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pr.svg); -} -.flag-icon-ps { - background-image: url(../libs/flag-icon-css/flags/4x3/ps.svg); -} -.flag-icon-ps.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ps.svg); -} -.flag-icon-pt { - background-image: url(../libs/flag-icon-css/flags/4x3/pt.svg); -} -.flag-icon-pt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pt.svg); -} -.flag-icon-pw { - background-image: url(../libs/flag-icon-css/flags/4x3/pw.svg); -} -.flag-icon-pw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/pw.svg); -} -.flag-icon-py { - background-image: url(../libs/flag-icon-css/flags/4x3/py.svg); -} -.flag-icon-py.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/py.svg); -} -.flag-icon-qa { - background-image: url(../libs/flag-icon-css/flags/4x3/qa.svg); -} -.flag-icon-qa.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/qa.svg); -} -.flag-icon-re { - background-image: url(../libs/flag-icon-css/flags/4x3/re.svg); -} -.flag-icon-re.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/re.svg); -} -.flag-icon-ro { - background-image: url(../libs/flag-icon-css/flags/4x3/ro.svg); -} -.flag-icon-ro.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ro.svg); -} -.flag-icon-rs { - background-image: url(../libs/flag-icon-css/flags/4x3/rs.svg); -} -.flag-icon-rs.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/rs.svg); -} -.flag-icon-ru { - background-image: url(../libs/flag-icon-css/flags/4x3/ru.svg); -} -.flag-icon-ru.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ru.svg); -} -.flag-icon-rw { - background-image: url(../libs/flag-icon-css/flags/4x3/rw.svg); -} -.flag-icon-rw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/rw.svg); -} -.flag-icon-sa { - background-image: url(../libs/flag-icon-css/flags/4x3/sa.svg); -} -.flag-icon-sa.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sa.svg); -} -.flag-icon-sb { - background-image: url(../libs/flag-icon-css/flags/4x3/sb.svg); -} -.flag-icon-sb.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sb.svg); -} -.flag-icon-sc { - background-image: url(../libs/flag-icon-css/flags/4x3/sc.svg); -} -.flag-icon-sc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sc.svg); -} -.flag-icon-sd { - background-image: url(../libs/flag-icon-css/flags/4x3/sd.svg); -} -.flag-icon-sd.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sd.svg); -} -.flag-icon-se { - background-image: url(../libs/flag-icon-css/flags/4x3/se.svg); -} -.flag-icon-se.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/se.svg); -} -.flag-icon-sg { - background-image: url(../libs/flag-icon-css/flags/4x3/sg.svg); -} -.flag-icon-sg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sg.svg); -} -.flag-icon-sh { - background-image: url(../libs/flag-icon-css/flags/4x3/sh.svg); -} -.flag-icon-sh.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sh.svg); -} -.flag-icon-si { - background-image: url(../libs/flag-icon-css/flags/4x3/si.svg); -} -.flag-icon-si.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/si.svg); -} -.flag-icon-sj { - background-image: url(../libs/flag-icon-css/flags/4x3/sj.svg); -} -.flag-icon-sj.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sj.svg); -} -.flag-icon-sk { - background-image: url(../libs/flag-icon-css/flags/4x3/sk.svg); -} -.flag-icon-sk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sk.svg); -} -.flag-icon-sl { - background-image: url(../libs/flag-icon-css/flags/4x3/sl.svg); -} -.flag-icon-sl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sl.svg); -} -.flag-icon-sm { - background-image: url(../libs/flag-icon-css/flags/4x3/sm.svg); -} -.flag-icon-sm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sm.svg); -} -.flag-icon-sn { - background-image: url(../libs/flag-icon-css/flags/4x3/sn.svg); -} -.flag-icon-sn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sn.svg); -} -.flag-icon-so { - background-image: url(../libs/flag-icon-css/flags/4x3/so.svg); -} -.flag-icon-so.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/so.svg); -} -.flag-icon-sr { - background-image: url(../libs/flag-icon-css/flags/4x3/sr.svg); -} -.flag-icon-sr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sr.svg); -} -.flag-icon-ss { - background-image: url(../libs/flag-icon-css/flags/4x3/ss.svg); -} -.flag-icon-ss.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ss.svg); -} -.flag-icon-st { - background-image: url(../libs/flag-icon-css/flags/4x3/st.svg); -} -.flag-icon-st.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/st.svg); -} -.flag-icon-sv { - background-image: url(../libs/flag-icon-css/flags/4x3/sv.svg); -} -.flag-icon-sv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sv.svg); -} -.flag-icon-sx { - background-image: url(../libs/flag-icon-css/flags/4x3/sx.svg); -} -.flag-icon-sx.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sx.svg); -} -.flag-icon-sy { - background-image: url(../libs/flag-icon-css/flags/4x3/sy.svg); -} -.flag-icon-sy.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sy.svg); -} -.flag-icon-sz { - background-image: url(../libs/flag-icon-css/flags/4x3/sz.svg); -} -.flag-icon-sz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/sz.svg); -} -.flag-icon-tc { - background-image: url(../libs/flag-icon-css/flags/4x3/tc.svg); -} -.flag-icon-tc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tc.svg); -} -.flag-icon-td { - background-image: url(../libs/flag-icon-css/flags/4x3/td.svg); -} -.flag-icon-td.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/td.svg); -} -.flag-icon-tf { - background-image: url(../libs/flag-icon-css/flags/4x3/tf.svg); -} -.flag-icon-tf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tf.svg); -} -.flag-icon-tg { - background-image: url(../libs/flag-icon-css/flags/4x3/tg.svg); -} -.flag-icon-tg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tg.svg); -} -.flag-icon-th { - background-image: url(../libs/flag-icon-css/flags/4x3/th.svg); -} -.flag-icon-th.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/th.svg); -} -.flag-icon-tj { - background-image: url(../libs/flag-icon-css/flags/4x3/tj.svg); -} -.flag-icon-tj.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tj.svg); -} -.flag-icon-tk { - background-image: url(../libs/flag-icon-css/flags/4x3/tk.svg); -} -.flag-icon-tk.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tk.svg); -} -.flag-icon-tl { - background-image: url(../libs/flag-icon-css/flags/4x3/tl.svg); -} -.flag-icon-tl.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tl.svg); -} -.flag-icon-tm { - background-image: url(../libs/flag-icon-css/flags/4x3/tm.svg); -} -.flag-icon-tm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tm.svg); -} -.flag-icon-tn { - background-image: url(../libs/flag-icon-css/flags/4x3/tn.svg); -} -.flag-icon-tn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tn.svg); -} -.flag-icon-to { - background-image: url(../libs/flag-icon-css/flags/4x3/to.svg); -} -.flag-icon-to.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/to.svg); -} -.flag-icon-tr { - background-image: url(../libs/flag-icon-css/flags/4x3/tr.svg); -} -.flag-icon-tr.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tr.svg); -} -.flag-icon-tt { - background-image: url(../libs/flag-icon-css/flags/4x3/tt.svg); -} -.flag-icon-tt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tt.svg); -} -.flag-icon-tv { - background-image: url(../libs/flag-icon-css/flags/4x3/tv.svg); -} -.flag-icon-tv.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tv.svg); -} -.flag-icon-tw { - background-image: url(../libs/flag-icon-css/flags/4x3/tw.svg); -} -.flag-icon-tw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tw.svg); -} -.flag-icon-tz { - background-image: url(../libs/flag-icon-css/flags/4x3/tz.svg); -} -.flag-icon-tz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/tz.svg); -} -.flag-icon-ua { - background-image: url(../libs/flag-icon-css/flags/4x3/ua.svg); -} -.flag-icon-ua.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ua.svg); -} -.flag-icon-ug { - background-image: url(../libs/flag-icon-css/flags/4x3/ug.svg); -} -.flag-icon-ug.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ug.svg); -} -.flag-icon-um { - background-image: url(../libs/flag-icon-css/flags/4x3/um.svg); -} -.flag-icon-um.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/um.svg); -} -.flag-icon-us { - background-image: url(../libs/flag-icon-css/flags/4x3/us.svg); -} -.flag-icon-us.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/us.svg); -} -.flag-icon-uy { - background-image: url(../libs/flag-icon-css/flags/4x3/uy.svg); -} -.flag-icon-uy.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/uy.svg); -} -.flag-icon-uz { - background-image: url(../libs/flag-icon-css/flags/4x3/uz.svg); -} -.flag-icon-uz.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/uz.svg); -} -.flag-icon-va { - background-image: url(../libs/flag-icon-css/flags/4x3/va.svg); -} -.flag-icon-va.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/va.svg); -} -.flag-icon-vc { - background-image: url(../libs/flag-icon-css/flags/4x3/vc.svg); -} -.flag-icon-vc.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/vc.svg); -} -.flag-icon-ve { - background-image: url(../libs/flag-icon-css/flags/4x3/ve.svg); -} -.flag-icon-ve.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ve.svg); -} -.flag-icon-vg { - background-image: url(../libs/flag-icon-css/flags/4x3/vg.svg); -} -.flag-icon-vg.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/vg.svg); -} -.flag-icon-vi { - background-image: url(../libs/flag-icon-css/flags/4x3/vi.svg); -} -.flag-icon-vi.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/vi.svg); -} -.flag-icon-vn { - background-image: url(../libs/flag-icon-css/flags/4x3/vn.svg); -} -.flag-icon-vn.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/vn.svg); -} -.flag-icon-vu { - background-image: url(../libs/flag-icon-css/flags/4x3/vu.svg); -} -.flag-icon-vu.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/vu.svg); -} -.flag-icon-wf { - background-image: url(../libs/flag-icon-css/flags/4x3/wf.svg); -} -.flag-icon-wf.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/wf.svg); -} -.flag-icon-ws { - background-image: url(../libs/flag-icon-css/flags/4x3/ws.svg); -} -.flag-icon-ws.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ws.svg); -} -.flag-icon-ye { - background-image: url(../libs/flag-icon-css/flags/4x3/ye.svg); -} -.flag-icon-ye.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/ye.svg); -} -.flag-icon-yt { - background-image: url(../libs/flag-icon-css/flags/4x3/yt.svg); -} -.flag-icon-yt.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/yt.svg); -} -.flag-icon-za { - background-image: url(../libs/flag-icon-css/flags/4x3/za.svg); -} -.flag-icon-za.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/za.svg); -} -.flag-icon-zm { - background-image: url(../libs/flag-icon-css/flags/4x3/zm.svg); -} -.flag-icon-zm.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/zm.svg); -} -.flag-icon-zw { - background-image: url(../libs/flag-icon-css/flags/4x3/zw.svg); -} -.flag-icon-zw.flag-icon-squared { - background-image: url(../libs/flag-icon-css/flags/1x1/zw.svg); -} diff --git a/core/templates/core/blocks/footer.haml b/templates/_footer.haml similarity index 100% rename from core/templates/core/blocks/footer.haml rename to templates/_footer.haml diff --git a/templates/_header.haml b/templates/_header.haml new file mode 100644 index 0000000000000000000000000000000000000000..134f2bddae7170bfa99aee79158d7d65d2f786dd --- /dev/null +++ b/templates/_header.haml @@ -0,0 +1,34 @@ +/ -load memopol_tags cache +- load i18n +- load cache +- load staticfiles + +#header.container-fluid + %a{href: "/", id: 'logo'} + %img{src: '{% static "images/logo.png" %}'} + %h1 + %a#header_banner{href: "/"} + -trans "Political Memory" + %p.organization + =request.site.SITE_NAME + +#nav.container-fluid + %ul.nav + %li + %a{href: "{% url 'representatives:representative-list' %}"} + - trans 'Representatives' + %li + %a{href: "{% url 'representatives:group-list' kind='country' %}"} + - trans 'Countries' + %li + %a{href: "{% url 'representatives:group-list' kind='group' %}"} + - trans 'Parties' + %li + %a{href: "{% url 'representatives:group-list' kind='delegation' %}"} + - trans 'Delegations' + %li + %a{href: "{% url 'representatives:group-list' kind='committee' %}"} + - trans 'Committees' + %li + %a{href: "{% url 'representatives_votes:dossier-list' %}"} + - trans 'Votes' diff --git a/templates/admin/base_site.html b/templates/admin/base_site.html new file mode 100644 index 0000000000000000000000000000000000000000..c49961502414fcf3d1e90300fcdc954a88f234cc --- /dev/null +++ b/templates/admin/base_site.html @@ -0,0 +1,8 @@ +{% extends "admin/base.html" %} + +{% load static %} + +{% block extrahead %} + <script type="text/javascript" src="{% static 'libs/jquery/dist/jquery.js' %}"></script> + {% include 'autocomplete_light/static.html' %} +{% endblock %} diff --git a/templates/base.haml b/templates/base.haml deleted file mode 100644 index 23845c689b83405593d38bc9664b09052f8074c6..0000000000000000000000000000000000000000 --- a/templates/base.haml +++ /dev/null @@ -1,89 +0,0 @@ --load coffeescript -<!DOCTYPE html> -%html - - <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> - <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> - <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> - <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> - <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> - %head - %meta{"charset": "utf-8"} - - <!-- Set the viewport width to device width for mobile --> - %meta{"name": "viewport", "content": "width: device-width"} - - %title - \\o/ - - <!-- IE Fix for HTML5 Tags --> - <!--[if lt IE 9]> - %script{"src": "http://html5shiv.googlecode.com/svn/trunk/html5.js"} - <![endif]--> - - <!-- Included CSS Files (Uncompressed) --> - <!-- %link{"rel": "stylesheet", "href": "{{ STATIC_URL }}stylesheets/foundation.css"} --> - - <!-- Included CSS Files (Compressed) --> - %link{"rel": "stylesheet", "href": "{{ STATIC_URL }}stylesheets/foundation.min.css"} - %link{"rel": "stylesheet", "href": "{{ STATIC_URL }}stylesheets/app.css"} - - %script{"src": "{{ STATIC_URL }}javascripts/modernizr.foundation.js"} - - <!-- IE Fix for HTML5 Tags --> - <!--[if lt IE 9]> - <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> - <![endif]--> - - %body - - <!-- container --> - %div.container - - %div.row - %div.twelve.columns - %h2 - %a{"style": "color: black", "href": "{% url home %}"} - Hello world - %hr - - -block container - %div.row - %div.twelve.columns - -block content - - - %footer.row - %div{"style": "text-align: center;"} - Fouteur - - - <!-- Included JS Files (Uncompressed) --> - <!-- - %script{"src": "{{ STATIC_URL }}javascripts/modernizr.foundation.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.mediaQueryToggle.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.reveal.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.orbit.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.navigation.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.buttons.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.tabs.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.forms.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.tooltips.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.accordion.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.placeholder.js"} - %script{"src": "{{ STATIC_URL }}javascripts/jquery.foundation.alerts.js"} --> - - <!-- Included JS Files (Compressed) --> - %script{"src": "{{ STATIC_URL }}javascripts/foundation.min.js"} - - -# backbone - %script{"src": "{{ STATIC_URL }}javascripts/underscore-min.js"} - %script{"src": "{{ STATIC_URL }}javascripts/backbone-min.js"} - - -# django - %script{type: "text/javascript", src: "{{ STATIC_URL }}javascripts/ajax_django_magic.js"} - - <!-- Initialize JS Plugins --> - %script{"src": "{{ STATIC_URL }}javascripts/app.js"} - -block javascript diff --git a/core/templates/base.html b/templates/base.html similarity index 62% rename from core/templates/base.html rename to templates/base.html index db14e6068d7ceb9a910f0fb032af160fcd0ed96d..bb38eb9446cf60125bfd776f31c590854ebde2f6 100644 --- a/core/templates/base.html +++ b/templates/base.html @@ -7,12 +7,14 @@ <meta name="viewport" content="width=device-width" /> <title> {% block title %}Home{% endblock %} - - The Political Memory of {{ config.ORGANIZATION_NAME }}</title> + - The Political Memory of {{ request.site.SITE_NAME }}</title> {% load compress %} {% load staticfiles %} {% compress css %} - <link rel="stylesheet" href="{% static 'stylesheets/libs.min.css' %}" type="text/css" /> - <link rel="stylesheet" href="{% static 'stylesheets/base.min.css' %}" type="text/css" /> + <link rel="stylesheet" href="{% static 'libs/bootstrap/dist/css/bootstrap.min.css' %}" type="text/css" /> + <link rel="stylesheet" href="{% static 'libs/fontawesome/css/font-awesome.min.css' %}" type="text/css" /> + <link rel="stylesheet" href="{% static 'libs/flag-icon-css/css/flag-icon.min.css' %}" type="text/css" /> + <link rel="stylesheet" href="{% static 'less/base.less' %}" type="text/less" /> {% endcompress %} {% compress js %} <script type="text/javascript" src="{% static 'libs/jquery/dist/jquery.js' %}"></script> @@ -21,11 +23,11 @@ {% block head %}{% endblock %} </head> <body {% block bodyattrs %}{% endblock %}> - {% include "core/blocks/header.html" %} + {% include "_header.html" %} <div class="container-fluid main-container"> {% block content %} {% endblock %} </div> - {% include "core/blocks/footer.html" %} + {% include "_footer.html" %} </body> </html> diff --git a/templates/home.haml b/templates/home.haml index 0760f3f60fde69ef0903a35ccbe1c7cb6933190c..9a9ad928bf25c1ffd0a5540d85bb68c6d7fb5fa9 100644 --- a/templates/home.haml +++ b/templates/home.haml @@ -1,10 +1,24 @@ --extends "base.haml" --load coffeescript - --block content - %p - %b - \\o/ - --block javascript - %script{type: "text/javascript", src: "{{ STATIC_URL }}{% coffeescript 'home.coffee' %}"} +- extends "base.html" +- block content + .row + .col-md-8 + %p + Memopol is reachable only in <b>reduced functionality mode</b>. + By the way, you could access to + <a href="{% url 'representatives:representative-list' %}">the list of MEPs</a>. + %p + You can help on building the new Memopol by <a href="https://wiki.laquadrature.net/Projects/Memopol/Roadmap">coding, translating, de signing, funding, etc...</a>. + .col-md-4 + .panel.panel-default + .panel-body + %p + <a href="http://memopol.org">Memopol Blog</a> is available as well as the new + <a href="http://github.com/political-memory/political_memory"> + bugtracking system</a> + %h3 + What is memopol? + %p + Political Memory is a tool designed by La Quadrature du Net to help + European citizens to reach members of European Parliament (MEPs) and + track their voting records on issues related to fundamental + freedoms online. diff --git a/legislature/templates/legislature/blocks/representative_block.haml b/templates/representatives/_representative_block.haml similarity index 71% rename from legislature/templates/legislature/blocks/representative_block.haml rename to templates/representatives/_representative_block.haml index be7674739e32b8d23bb9f07713075a8e162cfe4f..34f68f267c5663783873bd2cbc79993c24fdb4ef 100644 --- a/legislature/templates/legislature/blocks/representative_block.haml +++ b/templates/representatives/_representative_block.haml @@ -1,14 +1,15 @@ -- load representatives_extras +- load representatives_tags +- load representatives_recommendations_tags - load humanize .representative - %h1.name + %h1.name< ={representative.full_name} .row .col-md-4 - %p.photo + %p.photo< %img{:src => "{{ representative.photo }}"}/ .col-md-8 @@ -16,20 +17,20 @@ %tr.score %th Score %td - = representative.score|score_label + = representative.score.score|score_label %tr %th Country - %td + %td< = representative.country|country_flag %tr %th Party - %td - %a{:href => "{{ representative.main_mandate|by_group_url }}"} + %td< + %a{:href => "{{ representative.main_mandate.group.get_absolute_url }}"} {{ representative.main_mandate.role }} of {{ representative.main_mandate.group.name }} %tr %th Biography - %td + %td< Born in {{ representative.birth_place }} the {{ representative.birth_date|naturalday:'d/m/Y' }} ({{ representative.get_gender_display }}) diff --git a/templates/representatives/group_list.haml b/templates/representatives/group_list.haml new file mode 100644 index 0000000000000000000000000000000000000000..382336caf0c3eb14dcf31ff2b82e9390c262fa3f --- /dev/null +++ b/templates/representatives/group_list.haml @@ -0,0 +1,12 @@ +- extends 'base.html' + +- block content + %table.table + - for group in object_list + %tr + %td + %a{'href': '{{ group.get_absolute_url }}'}w + - if group.abbreviation + ={group.abbreviation} + %td + %a{'href': '{{ group.get_absolute_url }}'}= group.name diff --git a/legislature/templates/legislature/representative_detail.haml b/templates/representatives/representative_detail.haml similarity index 58% rename from legislature/templates/legislature/representative_detail.haml rename to templates/representatives/representative_detail.haml index d877692f66f8f42a83f29938df1ecca447371e01..96f7c0e4bebd347c7bd1472f7788918fbcef1b0c 100644 --- a/legislature/templates/legislature/representative_detail.haml +++ b/templates/representatives/representative_detail.haml @@ -1,10 +1,9 @@ --# List representatives - - extends 'base.html' - load humanize -- load representatives_extras -- load bootstrap3 +- load representatives_tags +- load representatives_votes_tags +- load representatives_recommendations_tags - block head {{ position_form.media }} @@ -12,7 +11,8 @@ - block content .row .col-md-6 - - include 'legislature/blocks/representative_block.html' with representative=representative + - include 'representatives/_representative_block.html' with representative=representative + .col-md-6 %h2#votes Votes @@ -26,7 +26,7 @@ %th.icon-cell Score - - for vote in representative.votes_with_proposal.all + - for vote in votes %tr %td= vote.proposal.recommendation.title %td.icon-cell @@ -40,12 +40,14 @@ %h2 Mandates %table.table.table-condensed.mandates - - for mandate in representative.active_mandates + - for mandate in mandates %tr.mandate %td= mandate.role %td - %a{:href => "{{ mandate|by_group_url }}"} - {{ mandate.group.name }} ({{ mandate.group.abbreviation }}) + %a{:href => "{{ mandate.group.get_absolute_url }}"} + {{ mandate.group.name }} + - if mandate.group.abbreviation + {{ mandate.group.abbreviation }} %td= mandate.begin_date|mandate_date:'d/m/Y' %td= mandate.end_date|mandate_date:'d/m/Y' %td= mandate.constituency.name @@ -54,11 +56,11 @@ %h2 Public positions %table.table.table-condensed - - for position in representative.positions.published.all + - for position in positions %tr.position %td= position.datetime|naturalday:'d/m/Y' %td - %a{:href => '{% url "positions:position-detail" position.pk %}'} + %a{:href => '{{ position.get_absolute_url }}'} =position.text|truncatewords:8 %td - for tag in position.tags.all @@ -68,16 +70,4 @@ %a{:href => '{{position.link}}'} = position.link - %form{:action => '{% url "positions:position-create" %}', - :method => 'post'} - - csrf_token - %input{:type => 'hidden', - :name => 'representative', - :value => '{{ representative.id }}'} - - - bootstrap_form position_form - - - buttons - %button{'type': 'submit', 'class': 'btn btn-primary'} - {% bootstrap_icon "star" %} Submit - - endbuttons + - include 'representatives_positions/_form.html' with form=position_form diff --git a/templates/representatives/representative_grid.haml b/templates/representatives/representative_grid.haml new file mode 100644 index 0000000000000000000000000000000000000000..e01ded074062dae399df569fd33580fa1ee5b1f2 --- /dev/null +++ b/templates/representatives/representative_grid.haml @@ -0,0 +1,25 @@ +- extends 'representatives/representative_list.html' + +- load representatives_tags +- load representatives_recommendations_tags + +- block list + + .representative_grid + - for representative in object_list + .representative_item + %p.photo + %a{'href': "{{ representative.get_absolute_url }}"} + %img{'src': '={representative.photo}', 'width': '80'}/ + %ul + %li.name + %a{'href': "{{ representative.get_absolute_url }}"} + = representative.full_name + %li.country + %a{'href': "{% url 'representatives:representative-list' group_kind='country' group=representative.country.code %}"} + = representative.country|country_flag + %li.mandate + %a{'href': "{{ representative.main_mandate.group.get_absolute_url }}"} + = representative.main_mandate.group.abbreviation + %li.score + = representative.score.score|score_label diff --git a/templates/representatives/representative_list.haml b/templates/representatives/representative_list.haml new file mode 100644 index 0000000000000000000000000000000000000000..7d73d499204e48e352583fc9a85464f4f896f7c7 --- /dev/null +++ b/templates/representatives/representative_list.haml @@ -0,0 +1,53 @@ +- extends 'base.html' + +- load i18n +- load representatives_tags +- load representatives_recommendations_tags + +- block content + + - block search + + %form{action:'', method:'get'} + %label{for:'search'} + - trans 'Search' + %input{id:"search", type:"text", name:"search"} + %input{type:"submit", value:"Go"} + + - include 'core/blocks/pagination.html' + + - block list + + %table.table + %tr + %th + - trans 'Photo' + %th + - trans 'Name' + %th + - trans 'Country' + %th + - trans 'Group' + %th + - trans 'Score' + + - for representative in object_list + %tr + %td + %a{'href': "{{ representative.get_absolute_url }}"} + %img{'src': '={representative.photo}', 'width': '80'}/ + + %td + %a{'href': "{{ representative.get_absolute_url }}"} + = representative.full_name + + %td + = representative.country + + %td + %a{'href': "{{ representative.main_mandate.group.get_absolute_url }}"} + = representative.main_mandate.group.abbreviation + %td + = representative.score.score|score_label + + - include 'core/blocks/pagination.html' diff --git a/votes/templates/votes/dossier_detail.haml b/templates/representatives_votes/dossier_detail.haml similarity index 100% rename from votes/templates/votes/dossier_detail.haml rename to templates/representatives_votes/dossier_detail.haml diff --git a/votes/templates/votes/dossier_index.haml b/templates/representatives_votes/dossier_list.haml similarity index 51% rename from votes/templates/votes/dossier_index.haml rename to templates/representatives_votes/dossier_list.haml index 8d9b5e24413e29cdc5982c5d02c291f3e10595e2..2f3e2cc616727c33ee4c2304be91042af054402d 100644 --- a/votes/templates/votes/dossier_index.haml +++ b/templates/representatives_votes/dossier_list.haml @@ -2,16 +2,13 @@ - block content %h1 Dossiers - -# %p - Number of dossier: {{ object_count }} %table.table - for dossier in object_list %tr %td - %a{'href': "{% url 'votes:dossier-detail' pk=dossier.id %}"} - {{ dossier.name }} + %a{'href': "{{ dossier.get_absolute_url }}"} + {{ dossier.title }} %td= dossier.reference - %td= dossier.proposals.count - include "core/blocks/pagination.html" diff --git a/votes/admin.py b/votes/admin.py deleted file mode 100644 index 05d5b5dadd2093317db6c84d37ce94015ff10a07..0000000000000000000000000000000000000000 --- a/votes/admin.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.contrib import admin -from django.core.urlresolvers import reverse - -from .admin_views import import_vote_with_recommendation, import_vote -from .models import Recommendation, MemopolDossier - -admin.site.register_view('import_vote', view=import_vote) -admin.site.register_view('import_vote_with_recommendation', view=import_vote_with_recommendation) - -def link_to_edit(obj, field): - try: - related_obj = getattr(obj, field) - url = reverse( - 'admin:{}_{}_change'.format( - related_obj._meta.app_label, - related_obj._meta.object_name.lower() - ), - args=(related_obj.pk,) - - ) - return ' <strong><a href="{url}">{obj}</a></strong>'.format(url=url,obj=related_obj) - - except: - return '???' - -class MemopolDossierAdmin(admin.ModelAdmin): - - list_display = ('name', 'dossier_ptr') - search_fields = ('name',) - - fields = ('dossier_ptr', 'name') - readonly_fields = ('dossier_ptr',) - - -class RecommendationsAdmin(admin.ModelAdmin): - - def link_to_proposal(self): - return link_to_edit(self, 'proposal') - link_to_proposal.allow_tags = True - - list_display = ('id', 'title', link_to_proposal, 'recommendation','weight') - search_fields = ('title', 'recommendation', 'proposal') - -admin.site.register(MemopolDossier, MemopolDossierAdmin) -admin.site.register(Recommendation, RecommendationsAdmin) diff --git a/votes/admin_views.py b/votes/admin_views.py deleted file mode 100644 index 938cfd65b547864319395c97f6c9620b70890d2e..0000000000000000000000000000000000000000 --- a/votes/admin_views.py +++ /dev/null @@ -1,106 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.conf import settings -from django.shortcuts import render, redirect -from django import forms - -import requests - -from representatives_votes.tasks import import_a_proposal_from_toutatis -from .forms import RecommendationForm - - -class SearchForm(forms.Form): - query = forms.CharField(label='Search', max_length=100) - - -def import_vote_with_recommendation(request): - context = {} - toutatis_server = getattr(settings, - 'TOUTATIS_SERVER', - 'http://toutatis.mm.staz.be') - - if request.method == 'POST' and 'search' in request.POST: - form = SearchForm(request.POST) - if form.is_valid(): - query = form.cleaned_data['query'] - context['api_url'] = '{}/api/proposals/?search={}&limit=30'.format( - toutatis_server, - query - ) - r = requests.get(context['api_url']) - context['results'] = r.json() - elif request.method == 'POST' and 'create_recommendation' in request.POST: - form = RecommendationForm(data=request.POST) - if form.is_valid(): - # First import proposal - proposal_fingerprint = request.POST['proposal_fingerprint'] - - proposal = import_a_proposal_from_toutatis(proposal_fingerprint) - recommendation = form.save(commit=False) - recommendation.proposal = proposal - recommendation.save() - return redirect('/admin/votes/recommendation/') - else: - proposal_fingerprint = request.GET.get('import', None) - if proposal_fingerprint: - api_url = '{}/api/proposals/?fingerprint={}'.format( - toutatis_server, - proposal_fingerprint - ) - proposal = requests.get(api_url).json()['results'][0] - - context['recommendation_proposal_title'] = proposal['title'] - context['recommendation_proposal_dossier_title'] = proposal['dossier_title'] - context['recommendation_proposal_fingerprint'] = proposal['fingerprint'] - context['recommendation_form'] = RecommendationForm() - form = SearchForm() - - context['form'] = form - return render(request, 'votes/admin/import.html', context) - - -def import_vote(request): - context = {} - toutatis_server = getattr(settings, - 'TOUTATIS_SERVER', - 'http://toutatis.mm.staz.be') - - if request.method == 'POST' and 'search' in request.POST: - print(request.POST) - form = SearchForm(request.POST) - if form.is_valid(): - query = form.cleaned_data['query'] - context['api_url'] = '{}/api/proposals/?search={}&limit=1000'.format( - toutatis_server, - query - ) - r = requests.get(context['api_url']) - context['results'] = r.json() - else: - proposal_fingerprint = request.GET.get('import', None) - if proposal_fingerprint: - import_a_proposal_from_toutatis(proposal_fingerprint) - return redirect('/admin/') - form = SearchForm() - context['form'] = form - return render(request, 'votes/admin/import.html', context) diff --git a/votes/forms.py b/votes/forms.py deleted file mode 100644 index a696b7b1f1c29020aab57f0e281b2920ef69c0cd..0000000000000000000000000000000000000000 --- a/votes/forms.py +++ /dev/null @@ -1,31 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> -from __future__ import absolute_import - -from django.forms import ModelForm - -from .models import Recommendation - - -class RecommendationForm(ModelForm): - class Meta: - model = Recommendation - fields = ['recommendation', 'title', 'description', 'weight'] - diff --git a/votes/migrations/0002_delete_memopolvote.py b/votes/migrations/0002_delete_memopolvote.py deleted file mode 100644 index 8f38b035d787946e05424784c95b07fe6edbd0e4..0000000000000000000000000000000000000000 --- a/votes/migrations/0002_delete_memopolvote.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('votes', '0001_initial'), - ] - - operations = [ - migrations.DeleteModel( - name='MemopolVote', - ), - ] diff --git a/votes/migrations/0003_auto_20150709_1601.py b/votes/migrations/0003_auto_20150709_1601.py deleted file mode 100644 index e7c68aab41a26071caaeed31680447948d5783fa..0000000000000000000000000000000000000000 --- a/votes/migrations/0003_auto_20150709_1601.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.db import models, migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('votes', '0002_delete_memopolvote'), - ] - - operations = [ - migrations.AlterModelOptions( - name='recommendation', - options={'ordering': ['proposal__datetime']}, - ), - ] diff --git a/votes/models.py b/votes/models.py deleted file mode 100644 index d850ae2334df40fdb92d8f2207f2ce0ed5529311..0000000000000000000000000000000000000000 --- a/votes/models.py +++ /dev/null @@ -1,94 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.db import models -from django.utils.functional import cached_property -from django.db.models.signals import post_save -from django.dispatch import receiver - -# from representatives.models import Representative -from representatives_votes.models import Vote, Proposal, Dossier -# from legislature.models import MemopolRepresentative -from core.utils import create_child_instance_from_parent - - -class Recommendation(models.Model): - SCORE_TABLE = { - ('abstain', 'abstain'): 1, - ('abstain', 'for'): -0.5, - ('abstain', 'against'): -0.5, - } - - VOTECHOICES = ( - ('abstain', 'abstain'), - ('for', 'for'), - ('against', 'against') - ) - - proposal = models.OneToOneField( - Proposal, - related_name='recommendation' - ) - - recommendation = models.CharField(max_length=10, choices=VOTECHOICES) - title = models.CharField(max_length=1000, blank=True) - description = models.TextField(blank=True) - weight = models.IntegerField(default=0) - - class Meta: - ordering = ['proposal__datetime'] - - -class MemopolDossier(Dossier): - dossier_reference = models.CharField(max_length=200) - name = models.CharField(max_length=1000, blank=True, default='') - description = models.TextField(blank=True, default='') - - def save(self, *args, **kwargs): - if not self.name: - self.name = self.dossier_ptr.title - return super(MemopolDossier, self).save(*args, **kwargs) - - def __unicode__(self): - return self.name - -@receiver(post_save, sender=Dossier) -def create_memopolrepresentative_from_representative(instance, **kwargs): - create_child_instance_from_parent(MemopolDossier, instance) - - -class MemopolVote(Vote): - class Meta: - proxy = True - - @cached_property - def absolute_score(self): - if self.proposal.recommendation: - recommendation = self.proposal.recommendation - weight = recommendation.weight - if (self.position == 'abstain' or - recommendation.recommendation == 'abstain'): - weight = weight / 2 - if self.position == recommendation.recommendation: - return weight - else: - return -weight - else: - return 0 diff --git a/votes/templates/votes/admin/import.haml b/votes/templates/votes/admin/import.haml deleted file mode 100644 index e5cb4b52cd0b59363fd4fdf72b489694fbe295bb..0000000000000000000000000000000000000000 --- a/votes/templates/votes/admin/import.haml +++ /dev/null @@ -1,54 +0,0 @@ -- extends 'adminplus/base.html' - -- block title - Import Toutatis vote - -- block content - %h1 Import Toutatis vote - - %form{:action => '', :method => 'post'} - - csrf_token - {{ form }} - %input{:type => 'submit', :value => 'Search', :name => 'search'} - - - if results - -# %a{:href => '={api_url}'}= api_url - %table - %tr - %th Dossier reference - %th Dossier title - %th Vote reference - %th Vote kind - %th Vote title - %th Import - - - for result in results.results - %tr - %td= result.dossier_reference - %td= result.dossier_title - %td= result.reference - %td= result.kind - %td= result.title - %td - %strong - <a href="?import={{ result.fingerprint }}"> - Import this vote - </a> - - - if recommendation_form - %form{:action => '', :method => 'post'} - - csrf_token - %input{:type => 'hidden', :value => '={recommendation_proposal_fingerprint}', :name => 'proposal_fingerprint'} - %table - %tr - %th Dossier - %td= recommendation_proposal_dossier_title - %tr - %th Vote - %td= recommendation_proposal_title - - {{ recommendation_form }} - %tr - %td - %td - %input{:type => 'submit', :value => 'Go', :name => 'create_recommendation'} diff --git a/votes/tests.py b/votes/tests.py deleted file mode 100644 index 7ce503c2dd97ba78597f6ff6e4393132753573f6..0000000000000000000000000000000000000000 --- a/votes/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/votes/urls.py b/votes/urls.py deleted file mode 100644 index 6fc6ee1ca05bbcd1a39a7d518d6daa8874272ad1..0000000000000000000000000000000000000000 --- a/votes/urls.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from django.conf.urls import url - -from . import views - -urlpatterns = [ - # Dossier detail by dossier pk - url( - r'^(?P<pk>\d+)$', - views.dossier_detail, - name='dossier-detail' - ), - # List all dossiers by default - url( - r'', - views.dossier_index, - name='dossier-index' - ), -] diff --git a/votes/views.py b/votes/views.py deleted file mode 100644 index 088b72e4a16039aefacd37a413d09e30206b01c2..0000000000000000000000000000000000000000 --- a/votes/views.py +++ /dev/null @@ -1,46 +0,0 @@ -# coding: utf-8 - -# This file is part of memopol. -# -# memopol is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or any later version. -# -# memopol is distributed in the hope that it will -# be useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU General Affero Public -# License along with django-representatives. -# If not, see <http://www.gnu.org/licenses/>. -# -# Copyright (C) 2015 Arnaud Fabre <af@laquadrature.net> - -from __future__ import absolute_import - -from django.shortcuts import render, get_object_or_404 - -from core.utils import render_paginate_list -from .models import MemopolDossier - - -def dossier_index(request): - dossier_list = MemopolDossier.objects.all() - - return render_paginate_list( - request, - dossier_list, - 'votes/dossier_index.html' - ) - - -def dossier_detail(request, pk): - dossier = get_object_or_404(MemopolDossier, pk=pk) - - return render( - request, - 'votes/dossier_detail.html', - {'dossier': dossier} - )