Changeset - 9bfee64f690e
[Not reviewed]
default
0 0 572
Dennis Fink - 11 years ago 2013-11-16 20:29:46
dennis.fink@c3l.lu
First release
572 files changed with 4562 insertions and 0 deletions:
0 comments (0 inline, 0 general)
Scripts/update_server.py
Show inline comments
 
new file 100644
 
import subprocess
 
import configparser
 
import re
 
import json
 

	
 
import requests
 

	
 
from ast import literal_eval
 

	
 
OBFS_REGEX = re.compule(r'^ServerTransportPlugin obfs2,obfs3')
 

	
 
IP_REGEX = re.compile((r'^(OutboundBindAddress)'
 
                       r' (\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3})'))
 

	
 

	
 
def read_tor_config(configfile="/etc/tor/torrc"):
 

	
 
    with open(configfile) as fb:
 
        lines = {line[:-1] for line in fb if not line.startswith('#')}
 

	
 
    lines = {line for line in filter(None, lines)}
 
    return lines
 

	
 

	
 
def get_tor_status(name='tor'):
 

	
 
    try:
 
        pids = subprocess.check_output(['pidof', 'tor']).decode('utf-8')
 
        pids = pids.split(' ')
 
        pid_file = '.'.join([name, 'pid'])
 
        pid = open('/'.join(['var', 'run', name, pid_file])).readline()
 

	
 
        if pid in pids:
 
            return "Online"
 
        else:
 
            return "Offline"
 
    except subprocess.CalledProcessError:
 
        return "Offline"
 

	
 

	
 
def get_tor_fingerprint(name='tor'):
 

	
 
    fingerprint_file = '/'.join(['var', 'lib', name, 'fingerprint'])
 

	
 
    with open(fingerprint_file) as fb:
 
        line = fb.readline()[:-1]
 

	
 
    hostname, fingerprint = line.split(' ')
 
    return hostname, fingerprint
 

	
 

	
 
def get_server_type(tor_config):
 

	
 
    if 'BridgeRelay 1' in tor_config:
 
        if any(OBFS_REGEX.match(i) for i in tor_config):
 
            return 'Bridge', 'True'
 
        else:
 
            return 'Bridge', 'False'
 
    elif 'ExitPolicy reject *:*' in tor_config:
 
        return 'Relay', None
 
    else:
 
        return 'Exit', None
 

	
 

	
 
def get_ip(tor_config):
 

	
 
    for i in tor_config:
 
        match = IP_REGEX.match(i)
 

	
 
        if match:
 
            return i.groups()[1]
 
        else:
 
            return None
 

	
 

	
 
def get_config():
 

	
 
    config = configparser.ConfigParser()
 
    config.read('/etc/ennstatus_updater.conf')
 

	
 
    return config
 

	
 

	
 
def create_server_json(tor_configfile='/etc/tor/torrc', name='tor'):
 

	
 
    tor_config = read_tor_config(tor_configfile)
 
    server_type, obfs = get_server_type(tor_config)
 
    hostname, fingerprint = get_tor_fingerprint(name)
 
    tor_status = get_tor_status(name)
 
    ip = get_ip(tor_config)
 

	
 
    dictionary = {'server_type': server_type, 'server_name': hostname,
 
                  'tor_status': tor_status}
 

	
 
    if ip is not None:
 
        dictionary['ip'] = ip
 

	
 
    if obfs is not None:
 
        dictionary['obfs'] = obfs
 

	
 
    if server_type != 'Bridge':
 
        dictionary['fingerprint'] = fingerprint
 

	
 
    return json.dumps(dictionary)
 

	
 

	
 
def update_server(server_json, url):
 

	
 
    response = requests.post(url + '/api/update', data=server_json)
 

	
 
    return response.text
 

	
 

	
 
def main():
 

	
 
    config = get_config()
 
    ennstatus_url = config['main']['ennstatus_url']
 

	
 
    if 'servers' in config['main']:
 
        for server in literal_eval(config['main']['servers']):
 
            server_json = create_server_json(config[server]['configfile'],
 
                                             server)
 
            response = update_server(server_json, ennstatus_url)
 
    else:
 
        server_json = create_server_json()
 
        response = update_server(server_json, ennstatus_url)
 

	
 
    print(response)
dev-requirements.in
Show inline comments
 
new file 100644
 
Sphinx==1.1.3
 
sphinx-intl==0.9.3
 
Flask-Script==0.6.2
 
ipython==1.1.0
 
pip-tools==1.0
dev-requirements.txt
Show inline comments
 
new file 100644
 
distribute==0.7.3
 
docutils==0.11
 
Flask-Script==0.6.2
 
ipython==1.1.0
 
pip-tools==0.3.4
 
polib==1.0.3
 
Pygments==1.6
 
six==1.4.1
 
sphinx-intl==0.9.3
 
Sphinx==1.1.3
ennstatus/__init__.py
Show inline comments
 
new file 100644
 
from flask import Flask
 
from flask_bootstrap import Bootstrap
 
from flask.ext.compress import Compress
 
from flask_sslify import SSLify
 

	
 
from ennstatus.log import init_logging
 

	
 
app = Flask(__name__)
 
app.config.from_object('config')
 

	
 
Bootstrap(app)
 
Compress(app)
 
SSLify(app, permanent=True)
 

	
 
from ennstatus.views import root_page
 
from ennstatus.api.views import api_page
 
from ennstatus.donate.views import donate_page
 
from ennstatus.status.views import status_page
 

	
 
app.register_blueprint(root_page)
 
app.register_blueprint(api_page, url_prefix='/api')
 
app.register_blueprint(donate_page, url_prefix='/donate')
 
app.register_blueprint(status_page, url_prefix='/status')
 

	
 
init_logging(app)
 

	
 
application = app
ennstatus/api/__init__.py
Show inline comments
 
new file 100644
ennstatus/api/__pycache__/__init__.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/api/__pycache__/functions.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/api/__pycache__/views.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/api/functions.py
Show inline comments
 
new file 100644
 

	
 
import re
 
import json
 

	
 
from datetime import datetime
 
from ast import literal_eval
 

	
 
import pygeoip
 

	
 
FINGERPRINT_REGEX = re.compile(r'^[A-Z0-9]{40}$', re.I)
 

	
 
IP_REGEX = (r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}'
 
            r'(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$')
 
IP_REGEX = re.compile(IP_REGEX)
 

	
 
PRIVATE_IP_REGEX = (r'(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)'
 
                    r'|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|'
 
                    r'255\.255\.255\.255')
 
PRIVATE_IP_REGEX = re.compile(PRIVATE_IP_REGEX)
 

	
 
DATE_FORMAT = '%d-%m-%Y %H:%M:%S'
 

	
 
gi4 = pygeoip.GeoIP('/usr/share/GeoIP/GeoIP.dat', pygeoip.MEMORY_CACHE)
 

	
 

	
 
def check_json_format(server):
 

	
 
    for key in ('server_type', 'server_name', 'tor_status'):
 
        if not key in server:
 
            raise ValueError('%s key not present!\n' % key)
 

	
 
    if not server['server_type'] in ('Exit', 'Relay', 'Bridge'):
 
        error_message = ('server_type has not the right content!'
 
                         ' is: %s must be one of: Exit, Relay or Bridge\n') \
 
            % server['server_type']
 
        raise ValueError(error_message)
 

	
 
    if not server['tor_status'] in ('Online', 'Offline'):
 
        error_message = ('tor_status has not the right content!'
 
                         ' is: %s must be one of: Online or Offline\n') \
 
            % server['tor_status']
 

	
 
    if server['server_type'] in ('Exit', 'Relay'):
 
        if not 'fingerprint' in server:
 
            raise ValueError('fingerprint key not present!\n')
 
        else:
 
            if FINGERPRINT_REGEX.match(server['fingerprint']) is None:
 
                raise ValueError('fingerprint has not the right format!\n')
 

	
 
    else:
 
        if 'obfs' not in server:
 
            raise ValueError('obfs key not present!\n')
 
        else:
 
            if server['obfs'] not in ('True', 'False'):
 
                error_message = ('obfs has not the right content!'
 
                                 ' is: %s must be one of: True or False\n') \
 
                    % server['obfs']
 
                raise ValueError(error_message)
 

	
 
    if 'ip' in server:
 
        if IP_REGEX.match(server['ip']) is None:
 
            raise ValueError('ip is not the right format!\n')
 
        elif PRIVATE_IP_REGEX.match(server['ip']) is not None:
 
            raise ValueError('ip is not accepted!\n')
 

	
 
    return True
 

	
 

	
 
def update_server(server, ip):
 

	
 
    server['last_updated'] = datetime.utcnow().strftime(DATE_FORMAT)
 
    server['server_status'] = 'Online'
 
    server['country'] = gi4.country_name_by_addr(ip)
 

	
 
    if server['server_type'] == 'Bridge':
 
        server['obfs'] = literal_eval(server['obfs'])
 

	
 
        for key in ('fingerprint', 'ip'):
 
            if key in server:
 
                del server[key]
 

	
 
    else:
 
        if 'obfs' in server:
 
            del server['obfs']
 

	
 
        server['ip'] = ip
 

	
 
    try:
 
        filename = ''.join(['data/', server['server_name'].lower(), '.json'])
 
        with open(filename, 'w') as fb:
 
            json.dump(server, fb)
 

	
 
        return server
 
    except Exception as e:
 
        return e
ennstatus/api/views.py
Show inline comments
 
new file 100644
 
from flask import (Blueprint, request, current_app, jsonify, render_template,
 
                   abort)
 

	
 
from ennstatus.api.functions import check_json_format, update_server
 
from ennstatus.status.functions import (single_server, all_servers,
 
                                        all_servers_by_type)
 

	
 
api_page = Blueprint('api', __name__)
 

	
 

	
 
@api_page.route('/update', methods=('POST',))
 
def update():
 

	
 
    current_app.logger.info('Handling update')
 
    if current_app.debug:
 
        accepted_ips = ['127.0.0.1']
 
    else:
 
        accepted_ips = current_app.config.get('ENNSTATUS_ACCEPTED_IPS', [])
 

	
 
    json = request.get_json()
 
    if json is None:
 
        current_app.logger.info('No JSON data supplied!')
 
        return 'No JSON data supplied!\n', 400, {'Content-Type': 'text/plain'}
 

	
 
    try:
 
        check_json_format(json)
 
    except ValueError as e:
 
        current_app.logger.warning(' '.join([str(e), str(json)]))
 
        return str(e), 409, {'Content-Type': 'text/plain'}
 

	
 
    if 'ip' in json:
 
        ip = json['ip']
 
    else:
 
        ip = request.remote_addr
 

	
 
    if request.remote_addr not in accepted_ips:
 
        current_app.logger.warn("Unallowed IP %s tried to update data!"
 
                                % ip)
 
        return 'IP not allowed!\n', 403, {'Content-Type': 'text/plain'}
 

	
 
    server = update_server(server=json, ip=ip)
 

	
 
    if server:
 
        current_app.logger.info('Return result')
 
        return (jsonify(server), 201,
 
                {'Location': '/api/export/json/single?server_name=%s'
 
                 % server['server_name']})
 

	
 
    else:
 
        current_app.logger.error("Unexpected error: %s" % server,
 
                                 exc_info=True)
 
        return abort(500)
 

	
 

	
 
@api_page.route('/export', defaults={'server_type': 'all',
 
                                     'export_format': 'json'})
 
@api_page.route('/export/<any("json", "xml"):export_format>',
 
                defaults={'server_type': 'all'})
 
@api_page.route(('/export/<any("json", "xml"):export_format>'
 
                 '/<any("all", "exit", "bridge", "relay", "single")'
 
                 ':server_type>'))
 
def export(export_format, server_type):
 

	
 
    current_app.logger.info('Handling export')
 
    if server_type == 'single':
 
        server_name = request.args.get('server_name', None)
 
        if server_name is not None:
 
            server = single_server(server_name)
 
            if server:
 
                if export_format == 'json':
 
                    current_app.logger.info('Returning server as json!')
 
                    return jsonify(server)
 
                else:
 
                    current_app.logger.info('Returning server as xml!')
 
                    return (
 
                        render_template(
 
                            'api/extract/xml/single_server.xml',
 
                            server=server),
 
                        200, {'Content-Type': 'text/xml'})
 
            else:
 
                current_app.logger.warning('Server not found!')
 
                return ('Server not found!\n',
 
                        404, {'Content-Type': 'text/plain'})
 
        else:
 
            current_app.logger.warning('No server_name specified!')
 
            return ('No server_name specified!\n',
 
                    400, {'Content-Type': 'text/plain'})
 

	
 
    else:
 
        if server_type == 'all':
 
            current_app.logger.info('Getting all servers!')
 
            servers = list(all_servers())
 
        else:
 
            current_app.logger.info('Getting all %s!' % server_type)
 
            servers = list(all_servers_by_type(server_type.capitalize()))
 

	
 
        if export_format == 'json':
 
            response = {'enn-network': servers}
 
            current_app.logger.info('Returning as json!')
 
            return jsonify(response)
 
        else:
 
            current_app.logger.info('Returning as xml!')
 
            return (render_template('api/extract/xml/network.xml',
 
                                    servers=servers),
 
                    200, {'Content-Type': 'text/xml'})
ennstatus/donate/__init__.py
Show inline comments
 
new file 100644
ennstatus/donate/__pycache__/__init__.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/donate/__pycache__/forms.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/donate/__pycache__/functions.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/donate/__pycache__/views.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/donate/forms.py
Show inline comments
 
new file 100644
 
from flask_wtf import Form
 
from wtforms import SelectField
 
from wtforms.validators import DataRequired
 

	
 

	
 
class DateForm(Form):
 
    date = SelectField('date', validators=[DataRequired()])
ennstatus/donate/functions.py
Show inline comments
 
new file 100644
 
import os
 
import os.path
 
import csv
 

	
 

	
 
def load_csv(date):
 

	
 
    filename = '.'.join([date, 'csv'])
 
    path = os.path.join('donations', filename)
 

	
 
    with open(path, newline='') as csvfile:
 
        csvreader = csv.reader(csvfile, delimiter=',')
 

	
 
        for row in csvreader:
 
            yield row
 

	
 

	
 
def get_choices():
 

	
 
    files = os.listdir('donations')
 

	
 
    for file in files:
 
        if not file.startswith('.') \
 
           and file.endswith('.csv'):
 
            yield os.path.splitext(file)[0]
ennstatus/donate/views.py
Show inline comments
 
new file 100644
 
from flask import (Blueprint, render_template, request,
 
                   redirect, url_for, current_app)
 

	
 
from ennstatus.donate.forms import DateForm
 
from ennstatus.donate.functions import load_csv, get_choices
 

	
 
donate_page = Blueprint('donate', __name__)
 

	
 

	
 
@donate_page.route('/')
 
def index():
 
    return render_template('donate/index.html')
 

	
 

	
 
@donate_page.route('/wiretransfer')
 
def wiretransfer():
 
    return render_template('donate/wiretransfer.html')
 

	
 

	
 
@donate_page.route('/snailmail')
 
def snailmail():
 
    return render_template('donate/snailmail.html')
 

	
 

	
 
@donate_page.route('/paypal')
 
def paypal():
 
    return render_template('donate/paypal.html')
 

	
 

	
 
@donate_page.route('/bitcoin')
 
def bitcoin():
 
    return render_template('donate/bitcoin.html')
 

	
 

	
 
@donate_page.route('/flattr')
 
def flattr():
 
    return render_template('donate/flattr.html')
 

	
 

	
 
@donate_page.route('/received',
 
                   methods=('GET', 'POST'))
 
def received():
 

	
 
    current_app.logger.info('Handling received')
 
    form = DateForm()
 

	
 
    current_app.logger.debug('Creating choices')
 
    choices = [name for name in get_choices()]
 
    choices.sort()
 
    form.date.choices = [(name, name) for name in choices]
 

	
 
    if not choices:
 
        current_app.logger.warn('No donations found!')
 
        return render_template('donate/received.html',
 
                               form=form, csv_file=None,
 
                               date=None)
 

	
 
    if request.method == 'POST':
 
        current_app.logger.debug('Validating form')
 
        if form.validate_on_submit():
 
            date = form.date.data
 
            return redirect(url_for('donate.received', date=date))
 
    else:
 
        if 'date' in request.args:
 
            date = request.args['date']
 
            if request.args['date'] in choices:
 
                current_app.logger.info('Showing date %s' % date)
 
                form.date.data = date
 
                csv_file = load_csv(date)
 
            else:
 
                current_app.logger.warn('Date %s not found' % date)
 
                return ('Date %s not found!', 500,
 
                        {'Content-Type': 'text/plain'})
 
        else:
 
            current_app.logger.info('Showing last date %s' % choices[-1])
 
            form.date.data = choices[-1]
 
            csv_file = load_csv(choices[-1])
 
            date = choices[-1]
 

	
 
        current_app.logger.info('Return result')
 
        return render_template('donate/received.html',
 
                               form=form, csv_file=csv_file,
 
                               date=date)
ennstatus/log.py
Show inline comments
 
new file 100644
 
import logging
 
import logging.handlers
 

	
 

	
 
logging_debug_string = "%(levelname)s:%(name)s:%(asctime)s:%(filename)s:%(lineno)d: %(message)s"
 
logging_string = "%(levelname)s - %(name)s - %(asctime)s - %(message)s"
 
logging_debug_formatter = logging.Formatter(logging_debug_string)
 
logging_formatter = logging.Formatter(logging_string)
 

	
 

	
 
def init_logging(app):
 

	
 
    app.logger.setLevel(logging.DEBUG)
 
    stream_handler = logging.StreamHandler()
 
    stream_handler.setLevel(logging.DEBUG)
 
    stream_handler.setFormatter(logging_debug_formatter)
 

	
 
    rotating_file_handler = logging.handlers.RotatingFileHandler(
 
        'log/ennstatus.log',
 
        maxBytes=130000,
 
        backupCount=10,
 
        encoding='utf-8')
 
    rotating_file_handler.setLevel(logging.INFO)
 
    rotating_file_handler.setFormatter(logging_formatter)
 

	
 
    if app.debug:
 
        second_rotating_file_handler = logging.handlers.RotatingFileHandler(
 
            'log/ennstatus_debug.log',
 
            maxBytes=130000,
 
            backupCount=20,
 
            encoding='utf-8')
 
        second_rotating_file_handler.setLevel(logging.DEBUG)
 
        second_rotating_file_handler.setFormatter(logging_debug_formatter)
 
        app.logger.addHandler(second_rotating_file_handler)
 

	
 
    smtp_handler = logging.handlers.SMTPHandler(
 
        "localhost",
 
        "info@c3l.lu",
 
        app.config.get('ENNSTATUS_ADMINS', None),
 
        "[Ennstatus] Error")
 
    smtp_handler.setLevel(logging.ERROR)
 
    smtp_handler.setFormatter(logging_formatter)
 

	
 
    app.logger.addHandler(stream_handler)
 
    app.logger.addHandler(rotating_file_handler)
ennstatus/static/css/ennstatus.css
Show inline comments
 
new file 100644
 
blockquote {
 
    border: none;
 
}
 

	
 
.thumbnail {
 
    border: none;
 
}
 

	
 
.container {
 
    margin-top:1%;
 
}
ennstatus/static/css/flags/flags.gif.css
Show inline comments
 
new file 100644
 
[class^="flag-"],
 
[class*=" flag-"] {
 
    display: inline-block;
 
    width: 16px;
 
    height: 11px;
 
    margin-top: 1px;
 
    *margin-right: .3em;
 
    line-height: 16px;
 
    vertical-align: baseline;
 
    background-repeat: no-repeat;
 
}
 

	
 
.flag-andorra,
 
.flag-ad,
 
.flag-and {
 
    background-image: url("img/gif/ad.gif");
 
}
 

	
 
.flag-united-arab-emirates,
 
.flag-ae,
 
.flag-are {
 
    background-image: url("img/gif/ae.gif");
 
}
 

	
 
.flag-afghanistan,
 
.flag-af,
 
.flag-afg {
 
    background-image: url("img/gif/af.gif");
 
}
 

	
 
.flag-antigua-and-barbuda,
 
.flag-ag,
 
.flag-atg {
 
    background-image: url("img/gif/ag.gif");
 
}
 

	
 
.flag-anguilla,
 
.flag-ai,
 
.flag-aia {
 
    background-image: url("img/gif/ai.gif");
 
}
 

	
 
.flag-albania,
 
.flag-al,
 
.flag-alb {
 
    background-image: url("img/gif/al.gif");
 
}
 

	
 
.flag-armenia,
 
.flag-am,
 
.flag-arm {
 
    background-image: url("img/gif/am.gif");
 
}
 

	
 
.flag-angola,
 
.flag-ao,
 
.flag-ago {
 
    background-image: url("img/gif/ao.gif");
 
}
 

	
 
.flag-antarctica,
 
.flag-aq,
 
.flag-ata {
 
    background-image: url("img/gif/aq.gif");
 
}
 

	
 
.flag-argentina,
 
.flag-ar,
 
.flag-arg {
 
    background-image: url("img/gif/ar.gif");
 
}
 

	
 
.flag-american-samoa,
 
.flag-as,
 
.flag-asm {
 
    background-image: url("img/gif/as.gif");
 
}
 

	
 
.flag-austria,
 
.flag-at,
 
.flag-aut {
 
    background-image: url("img/gif/at.gif");
 
}
 

	
 
.flag-australia,
 
.flag-au,
 
.flag-aus {
 
    background-image: url("img/gif/au.gif");
 
}
 

	
 
.flag-aruba,
 
.flag-aw,
 
.flag-abw {
 
    background-image: url("img/gif/aw.gif");
 
}
 

	
 
.flag-aland-islands,
 
.flag-ax,
 
.flag-ala {
 
    background-image: url("img/gif/ax.gif");
 
}
 

	
 
.flag-azerbaijan,
 
.flag-az,
 
.flag-aze {
 
    background-image: url("img/gif/az.gif");
 
}
 

	
 
.flag-bosnia-and-herzegovina,
 
.flag-ba,
 
.flag-bih {
 
    background-image: url("img/gif/ba.gif");
 
}
 

	
 
.flag-barbados,
 
.flag-bb,
 
.flag-brb {
 
    background-image: url("img/gif/bb.gif");
 
}
 

	
 
.flag-bangladesh,
 
.flag-bd,
 
.flag-bgd {
 
    background-image: url("img/gif/bd.gif");
 
}
 

	
 
.flag-belgium,
 
.flag-be,
 
.flag-bel {
 
    background-image: url("img/gif/be.gif");
 
}
 

	
 
.flag-burkina-faso,
 
.flag-bf,
 
.flag-bfa {
 
    background-image: url("img/gif/bf.gif");
 
}
 

	
 
.flag-bulgaria,
 
.flag-bg,
 
.flag-bgr {
 
    background-image: url("img/gif/bg.gif");
 
}
 

	
 
.flag-bahrain,
 
.flag-bh,
 
.flag-bhr {
 
    background-image: url("img/gif/bh.gif");
 
}
 

	
 
.flag-burundi,
 
.flag-bi,
 
.flag-bdi {
 
    background-image: url("img/gif/bi.gif");
 
}
 

	
 
.flag-benin,
 
.flag-bj,
 
.flag-ben {
 
    background-image: url("img/gif/bj.gif");
 
}
 

	
 
.flag-saint-barthelemy,
 
.flag-bl,
 
.flag-blm {
 
    background-image: url("img/gif/bl.gif");
 
}
 

	
 
.flag-bermuda,
 
.flag-bm,
 
.flag-bmu {
 
    background-image: url("img/gif/bm.gif");
 
}
 

	
 
.flag-brunei-darussalam,
 
.flag-brunei,
 
.flag-bn,
 
.flag-brn {
 
    background-image: url("img/gif/bn.gif");
 
}
 

	
 
.flag-bolivia,
 
.flag-plurinational-state-of-bolivia,
 
.flag-bo,
 
.flag-bol {
 
    background-image: url("img/gif/bo.gif");
 
}
 

	
 
.flag-bonaire-sint-eustatius-and-saba,
 
.flag-bq,
 
.flag-bes {
 
    background-image: url("img/gif/bq.gif");
 
}
 

	
 
.flag-brazil,
 
.flag-br,
 
.flag-bra {
 
    background-image: url("img/gif/br.gif");
 
}
 

	
 
.flag-bahamas,
 
.flag-bs,
 
.flag-bhs {
 
    background-image: url("img/gif/bs.gif");
 
}
 

	
 
.flag-bhutan,
 
.flag-bt,
 
.flag-btn {
 
    background-image: url("img/gif/bt.gif");
 
}
 

	
 
.flag-bouvet-island,
 
.flag-bv,
 
.flag-bvt {
 
    background-image: url("img/gif/bv.gif");
 
}
 

	
 
.flag-botswana,
 
.flag-bw,
 
.flag-bwa {
 
    background-image: url("img/gif/bw.gif");
 
}
 

	
 
.flag-belarus,
 
.flag-by,
 
.flag-blr {
 
    background-image: url("img/gif/by.gif");
 
}
 

	
 
.flag-beliza,
 
.flag-bz,
 
.flag-blz {
 
    background-image: url("img/gif/bz.gif");
 
}
 

	
 
.flag-canada,
 
.flag-ca,
 
.flag-can {
 
    background-image: url("img/gif/ca.gif");
 
}
 

	
 
.flag-cocos-islands,
 
.flag-cc,
 
.flag-cck {
 
    background-image: url("img/gif/cc.gif");
 
}
 

	
 
.flag-democratic-republic-of-the-congo,
 
.flag-cd,
 
.flag-cod {
 
    background-image: url("img/gif/cd.gif");
 
}
 

	
 
.flag-central-african-republic,
 
.flag-cf,
 
.flag-caf {
 
    background-image: url("img/gif/cf.gif");
 
}
 

	
 
.flag-congo,
 
.flag-cg,
 
.flag-cog {
 
    background-image: url("img/gif/cg.gif");
 
}
 

	
 
.flag-switzerland,
 
.flag-ch,
 
.flag-che {
 
    width: 11px
 
    background-image: url("img/gif/ch.gif");
 
}
 

	
 
.flag-cote-divoire,
 
.flag-ci,
 
.flag-civ {
 
    background-image: url("img/gif/ci.gif");
 
}
 

	
 
.flag-cook-islands,
 
.flag-ck,
 
.flag-cok {
 
    background-image: url("img/gif/ck.gif");
 
}
 

	
 
.flag-chile,
 
.flag-cl,
 
.flag-chl {
 
    background-image: url("img/gif/cl.gif");
 
}
 

	
 
.flag-cameroon,
 
.flag-cm,
 
.flag-cmr {
 
    background-image: url("img/gif/cm.gif");
 
}
 

	
 
.flag-china,
 
.flag-cn,
 
.flag-chn {
 
    background-image: url("img/gif/cn.gif");
 
}
 

	
 
.flag-colombia,
 
.flag-co,
 
.flag-col {
 
    background-image: url("img/gif/co.gif");
 
}
 

	
 
.flag-costa-rica,
 
.flag-cr,
 
.flag-cri {
 
    background-image: url("img/gif/cr.gif");
 
}
 

	
 
.flag-cuba,
 
.flag-cu,
 
.flag-cub {
 
    background-image: url("img/gif/cu.gif");
 
}
 

	
 
.flag-cape-verde,
 
.flag-cv,
 
.flag-cpv {
 
    background-image: url("img/gif/cv.gif");
 
}
 

	
 
.flag-curacao,
 
.flag-cw,
 
.flag-cuw {
 
    background-image: url("img/gif/cw.gif");
 
}
 

	
 
.flag-christmas-island,
 
.flag-cx,
 
.falg-cxr {
 
    background-image: url("img/gif/cx.gif");
 
}
 

	
 
.flag-cyprus,
 
.flag-cy,
 
.flag-cyp {
 
    background-image: url("img/gif/cy.gif");
 
}
 

	
 
.flag-czech-republic,
 
.flag-cz,
 
.flag-cze {
 
    background-image: url("img/gif/cz.gif");
 
}
 

	
 
.flag-germany,
 
.flag-de,
 
.flag-deu {
 
    background-image: url("img/gif/de.gif");
 
}
 

	
 
.flag-djibouti,
 
.flag-dj,
 
.flag-dji {
 
    background-image: url("img/gif/dj.gif");
 
}
 

	
 
.flag-denmark,
 
.flag-dk,
 
.flag-dnk {
 
    background-image: url("img/gif/dk.gif");
 
}
 

	
 
.flag-dominica,
 
.flag-dm,
 
.flag-dma {
 
    background-image: url("img/gif/dm.gif");
 
}
 

	
 
.flag-dominican-republic,
 
.flag-do,
 
.flag-dom {
 
    background-image: url("img/gif/do.gif");
 
}
 

	
 
.flag-algeria,
 
.flag-dz,
 
.flag-dza {
 
    background-image: url("img/gif/dz.gif");
 
}
 

	
 
.flag-ecuador,
 
.flag-ec,
 
.flag-ecu {
 
    background-image: url("img/gif/ec.gif");
 
}
 

	
 
.flag-estonia,
 
.flag-ee,
 
.flag-est {
 
    background-image: url("img/gif/ee.gif");
 
}
 

	
 
.flag-egypt,
 
.flag-eg,
 
.flag-egy {
 
    background-image: url("img/gif/eg.gif");
 
}
 

	
 
.flag-western-sahara,
 
.flag-eh,
 
.flag-esh {
 
    background-image: url("img/gif/eh.gif");
 
}
 

	
 
.flag-eritrea,
 
.flag-er,
 
.flag-eri {
 
    background-image: url("img/gif/er.gif");
 
}
 

	
 
.flag-spain,
 
.flag-es,
 
.flag-esp {
 
    background-image: url("img/gif/es.gif");
 
}
 

	
 
.flag-ethiopia,
 
.flag-et,
 
.flag-eth {
 
    background-image: url("img/gif/et.gif");
 
}
 

	
 
.flag-finland,
 
.flag-fi,
 
.flag-fin {
 
    background-image: url("img/gif/fi.gif");
 
}
 

	
 
.flag-fiji,
 
.flag-fj,
 
.flag-fji {
 
    background-image: url("img/gif/fj.gif");
 
}
 

	
 
.flag-falkland-islands,
 
.flag-fk,
 
.flag-flk {
 
    background-image: url("img/gif/fk.gif");
 
}
 

	
 
.flag-federated-states-of-micronesia,
 
.flag-fm,
 
.flag-fsm {
 
    background-image: url("img/gif/fm.gif");
 
}
 

	
 
.flag-faroe-islands,
 
.flag-fo,
 
.flag-fro {
 
    background-image: url("img/gif/fo.gif");
 
}
 

	
 
.flag-france,
 
.flag-fr,
 
.flag-fra {
 
    background-image: url("img/gif/fr.gif");
 
}
 

	
 
.flag-gabon,
 
.flag-ga,
 
.flag-gab {
 
    background-image: url("img/gif/ga.gif");
 
}
 

	
 
.flag-united-kingdom,
 
.flag-great-britain,
 
.flag-united-kingdom-of-great-britain-and-northern-ireland,
 
.flag-gb,
 
.flag-uk,
 
.flag-gbr {
 
    background-image: url("img/gif/gb.gif");
 
}
 

	
 
.flag-grenada,
 
.flag-gd,
 
.flag-grd {
 
    background-image: url("img/gif/gd.gif");
 
}
 

	
 
.flag-georgia,
 
.flag-ge,
 
.flag-geo {
 
    background-image: url("img/gif/ge.gif");
 
}
 

	
 
.flag-french-guiana,
 
.flag-gf,
 
.flag-guf {
 
    background-image: url("img/gif/gf.gif");
 
}
 

	
 
.flag-guernsey,
 
.flag-gg,
 
.flag-ggy {
 
    background-image: url("img/gif/gg.gif");
 
}
 

	
 
.flag-ghana,
 
.flag-gh,
 
.flag-gha {
 
    background-image: url("img/gif/gh.gif");
 
}
 

	
 
.flag-gibraltar,
 
.flag-gi,
 
.flag-gib {
 
    background-image: url("img/gif/gi.gif");
 
}
 

	
 
.flag-greenland,
 
.flag-gl,
 
.flag-grl {
 
    background-image: url("img/gif/gl.gif");
 
}
 

	
 
.flag-gambia,
 
.flag-gm,
 
.flag-gmb {
 
    background-image: url("img/gif/gm.gif");
 
}
 

	
 
.flag-guinea,
 
.flag-gn,
 
.flag-gin {
 
    background-image: url("img/gif/gn.gif");
 
}
 

	
 
.flag-guadeloupe,
 
.flag-gp,
 
.flag-glp {
 
    background-image: url("img/gif/gp.gif");
 
}
 

	
 
.flag-equatorial-guinea,
 
.flag-gq,
 
.flag-gnq {
 
    background-image: url("img/gif/gq.gif");
 
}
 

	
 
.flag-greece,
 
.flag-gr,
 
.flag-grc {
 
    background-image: url("img/gif/gr.gif");
 
}
 

	
 
.flag-south-georgia-and-the-south-sandwich-islands,
 
.flag-gs,
 
.flag-sgs {
 
    background-image: url("img/gif/gs.gif");
 
}
 

	
 
.flag-guatemala,
 
.flag-gt,
 
.flag-gtm {
 
    background-image: url("img/gif/gt.gif");
 
}
 

	
 
.flag-guam,
 
.flag-gu,
 
.flag-gum {
 
    background-image: url("img/gif/gu.gif");
 
}
 

	
 
.flag-guinea-bissau,
 
.flag-gw,
 
.flag-gnb {
 
    background-image: url("img/gif/gw.gif");
 
}
 

	
 
.flag-guyana,
 
.flag-gy,
 
.flag-guy {
 
    background-image: url("img/gif/gy.gif");
 
}
 

	
 
.flag-hong-kong,
 
.flag-hk,
 
.flag-hkg {
 
    background-image: url("img/gif/hk.gif");
 
}
 

	
 
.flag-heard-island-and-mcdonald-islands,
 
.flag-hm,
 
.flag-hmd {
 
    background-image: url("img/gif/hm.gif");
 
}
 

	
 
.flag-honduras,
 
.flag-hn,
 
.flag-hnd {
 
    background-image: url("img/gif/hn.gif");
 
}
 

	
 
.flag-croatia,
 
.flag-hr,
 
.flag-hrv {
 
    background-image: url("img/gif/hr.gif");
 
}
 

	
 
.flag-haiti,
 
.flag-ht,
 
.flag-hti {
 
    background-image: url("img/gif/ht.gif");
 
}
 

	
 
.flag-hungary,
 
.flag-hu,
 
.flag-hun {
 
    background-image: url("img/gif/hu.gif");
 
}
 

	
 
.flag-indonesia,
 
.flag-id,
 
.flag-idn {
 
    background-image: url("img/gif/id.gif");
 
}
 

	
 
.flag-ireland,
 
.flag-ie,
 
.flag-irl {
 
    background-image: url("img/gif/ie.gif");
 
}
 

	
 
.flag-israel,
 
.flag-il,
 
.flag-isr {
 
    background-image: url("img/gif/il.gif");
 
}
 

	
 
.flag-isle-of-man,
 
.flag-im,
 
.flag-imn {
 
    background-image: url("img/gif/im.gif");
 
}
 

	
 
.flag-india,
 
.flag-in,
 
.flag-ind {
 
    background-image: url("img/gif/in.gif");
 
}
 

	
 
.flag-british-indian-ocean-territory,
 
.flag-io,
 
.flag-iot {
 
    background-image: url("img/gif/io.gif");
 
}
 

	
 
.flag-iraq,
 
.flag-iq,
 
.flag-irq {
 
    background-image: url("img/gif/iq.gif");
 
}
 

	
 
.flag-islamic-republic-of-iran,
 
.flag-iran,
 
.flag-ir,
 
.flag-irn {
 
    background-image: url("img/gif/ir.gif");
 
}
 

	
 
.flag-iceland,
 
.flag-is,
 
.flag-isl {
 
    background-image: url("img/gif/is.gif");
 
}
 

	
 
.flag-italy,
 
.flag-it,
 
.flag-ita {
 
    background-image: url("img/gif/it.gif");
 
}
 

	
 
.flag-jersey,
 
.flag-je,
 
.flag-jey {
 
    background-image: url("img/gif/je.gif");
 
}
 

	
 
.flag-jamaica,
 
.flag-jm,
 
.flag-jam {
 
    background-image: url("img/gif/jm.gif");
 
}
 

	
 
.flag-jordan,
 
.flag-jo,
 
.flag-jor {
 
    background-image: url("img/gif/jo.gif");
 
}
 

	
 
.flag-japan,
 
.flag-jp,
 
.flag-jpn {
 
    background-image: url("img/gif/jp.gif");
 
}
 

	
 
.flag-kenya,
 
.flag-ke,
 
.flag-ken {
 
    background-image: url("img/gif/ke.gif");
 
}
 

	
 
.flag-kyrgyzstan,
 
.flag-kg,
 
.flag-kgz {
 
    background-image: url("img/gif/kg.gif");
 
}
 

	
 
.flag-cambodia,
 
.flag-kh,
 
.flag-khm {
 
    background-image: url("img/gif/kh.gif");
 
}
 

	
 
.flag-kiribati,
 
.flag-ki,
 
.flag-kir {
 
    background-image: url("img/gif/ki.gif");
 
}
 

	
 
.flag-comoros,
 
.flag-km,
 
.flag-com {
 
    background-image: url("img/gif/km.gif");
 
}
 

	
 
.flag-saint-kitts-and-nevis,
 
.flag-kn,
 
.flag-kna {
 
    background-image: url("img/gif/kn.gif");
 
}
 

	
 
.flag-democratic-peoples-republic-of-korea,
 
.flag-north-korea,
 
.flag-kp,
 
.flag-pbk {
 
    background-image: url("img/gif/kp.gif");
 
}
 

	
 
.flag-republic-of-korea,
 
.flag-south-korea,
 
.flag-kr,
 
.flag-kor {
 
    background-image: url("img/gif/kr.gif");
 
}
 

	
 
.flag-kuwait,
 
.flag-kw,
 
.flag-kwt {
 
    background-image: url("img/gif/kw.gif");
 
}
 

	
 
.flag-cayman-islands,
 
.flag-ky,
 
.flag-cym {
 
    background-image: url("img/gif/ky.gif");
 
}
 

	
 
.flag-kazakhstan,
 
.flag-kz,
 
.flag-kaz {
 
    background-image: url("img/gif/kz.gif");
 
}
 

	
 
.flag-lao-peoples-democratic-republic,
 
.flag-laos,
 
.flag-la,
 
.flag-lao {
 
    background-image: url("img/gif/la.gif");
 
}
 

	
 
.flag-lebanon,
 
.flag-lb,
 
.flag-lbn {
 
    background-image: url("img/gif/lb.gif");
 
}
 

	
 
.flag-saint-lucia,
 
.flag-lc,
 
.flag-lca {
 
    background-image: url("img/gif/lb.gif");
 
}
 

	
 
.flag-liechtenstein,
 
.flag-li,
 
.flag-lie {
 
    background-image: url("img/gif/li.gif");
 
}
 

	
 
.flag-sri-lanka,
 
.flag-lk,
 
.flag-lka {
 
    background-image: url("img/gif/lk.gif");
 
}
 

	
 
.flag-liberia,
 
.flag-lr,
 
.flag-lbr {
 
    background-image: url("img/gif/lr.gif");
 
}
 

	
 
.flag-lesotho,
 
.flag-ls,
 
.flag-lso {
 
    background-image: url("img/gif/ls.gif");
 
}
 

	
 
.flag-lithuania,
 
.flag-lt,
 
.flag-ltu {
 
    background-image: url("img/gif/lt.gif");
 
}
 

	
 
.flag-luxembourg,
 
.flag-lu,
 
.flag-lux {
 
    background-image: url("img/gif/lu.gif");
 
}
 

	
 
.flag-latvia,
 
.flag-lv,
 
.flag-lva {
 
    background-image: url("img/gif/lu.gif");
 
}
 

	
 
.flag-libya,
 
.flag-ly,
 
.flag-lby {
 
    background-image: url("img/gif/ly.gif");
 
}
 

	
 
.flag-morocco,
 
.flag-ma,
 
.flag-mar {
 
    background-image: url("img/gif/ma.gif");
 
}
 

	
 
.flag-monaco,
 
.flag-mc,
 
.flag-mco {
 
    background-image: url("img/gif/mc.gif");
 
}
 

	
 
.flag-republic-of-moldova,
 
.flag-moldova,
 
.flag-md,
 
.flag-mda {
 
    background-image: url("img/gif/md.gif");
 
}
 

	
 
.flag-montenegro,
 
.flag-me,
 
.flag-mne {
 
    background-image: url("img/gif/me.gif");
 
    height: 12px;
 
}
 

	
 
.flag-saint-martin,
 
.flag-mf,
 
.flag-maf {
 
    background-image: url("img/gif/mf.gif");
 
}
 

	
 
.flag-madagascar,
 
.flag-mg,
 
.flag-mdg {
 
    background-image: url("img/gif/mg.gif");
 
}
 

	
 
.flag-marshall-islands,
 
.flag-mh,
 
.flag-mhl {
 
    background-image: url("img/gif/mh.gif");
 
}
 

	
 
.flag-macedonia,
 
.flag-former-yugoslav-republic-of-macedonia,
 
.flag-republic-of-macedonia,
 
.flag-mk,
 
.flag-mkd {
 
    background-image: url("img/gif/mk.gif");
 
}
 

	
 
.flag-mali,
 
.flag-ml,
 
.flag-mli {
 
    background-image: url("img/gif/ml.gif");
 
}
 

	
 
.flag-myanmar,
 
.flag-mm,
 
.flag-mmr {
 
    background-image: url("img/gif/mm.gif");
 
}
 

	
 
.flag-mongolia,
 
.flag-mn,
 
.flag-mng {
 
    background-image: url("img/gif/mn.gif");
 
}
 

	
 
.flag-macao,
 
.flag-mo,
 
.flag-mac {
 
    background-image: url("img/gif/mo.gif");
 
}
 

	
 
.flag-northern-mariana-islands,
 
.flag-mp,
 
.flag-mnp {
 
    background-image: url("img/gif/mp.gif");
 
}
 

	
 
.flag-martinique,
 
.flag-mq,
 
.flag-mtq {
 
    background-image: url("img/gif/mq.gif");
 
}
 

	
 
.flag-mauritania,
 
.flag-mr,
 
.flag-mrt {
 
    background-image: url("img/gif/mr.gif");
 
}
 

	
 
.flag-montserrat,
 
.flag-ms,
 
.flag-msr {
 
    background-image: url("img/gif/ms.gif");
 
}
 

	
 
.flag-malta,
 
.flag-mt,
 
.flag-mlt {
 
    background-image: url("img/gif/mt.gif");
 
}
 

	
 
.flag-mauritius,
 
.flag-mu,
 
.flag-mus {
 
    background-image: url("img/gif/mu.gif");
 
}
 

	
 
.flag-maldives,
 
.flag-mv,
 
.flag-mdv {
 
    background-image: url("img/gif/mv.gif");
 
}
 

	
 
.flag-malawi,
 
.flag-mw,
 
.flag-mwi {
 
    background-image: url("img/gif/mw.gif");
 
}
 

	
 
.flag-mexico,
 
.flag-mx,
 
.flag-mex {
 
    background-image: url("img/gif/mx.gif");
 
}
 

	
 
.flag-malaysia,
 
.flag-my,
 
.flag-mys {
 
    background-image: url("img/gif/my.gif");
 
}
 

	
 
.flag-mozambique,
 
.flag-mz,
 
.flag-mz {
 
    background-image: url("img/gif/mz.gif");
 
}
 

	
 
.flag-namibia,
 
.flag-na,
 
.flag-nam {
 
    background-image: url("img/gif/na.gif");
 
}
 

	
 
.flag-new-caledonia,
 
.flag-nc,
 
.flag-ncl {
 
    background-image: url("img/gif/nc.gif");
 
}
 

	
 
.flag-niger,
 
.flag-ne,
 
.flag-ner {
 
    background-image: url("img/gif/ne.gif");
 
}
 

	
 
.flag-norfolk-island,
 
.flag-nf,
 
.flag-nfk {
 
    background-image: url("img/gif/nf.gif");
 
}
 

	
 
.flag-nigeria,
 
.flag-ng,
 
.flag-nga {
 
    background-image: url("img/gif/ng.gif");
 
}
 

	
 
.flag-nicaragua,
 
.flag-ni,
 
.flag-nic {
 
    background-image: url("img/gif/ni.gif");
 
}
 

	
 
.flag-netherlands,
 
.flag-nl,
 
.flag-nld {
 
    background-image: url("img/gif/nl.gif");
 
}
 

	
 
.flag-norway,
 
.flag-no,
 
.flag-nor {
 
    background-image: url("img/gif/no.gif");
 
}
 

	
 
.flag-nepal,
 
.flag-np,
 
.flag-npl {
 
    background-image: url("img/gif/np.gif");
 
    width: 9px;
 
}
 

	
 
.flag-nauru,
 
.flag-nr,
 
.flag-nru {
 
    background-image: url("img/gif/nr.gif");
 
}
 

	
 
.flag-niue,
 
.flag-nu,
 
.flag-niu {
 
    background-image: url("img/gif/nu.gif");
 
}
 

	
 
.flag-new-zealand,
 
.flag-nz,
 
.flag-nzl {
 
    background-image: url("img/gif/nz.gif");
 
}
 

	
 
.flag-oman,
 
.flag-om,
 
.flag-omn {
 
    background-image: url("img/gif/om.gif");
 
}
 

	
 
.flag-panama,
 
.flag-pa,
 
.flag-pan {
 
    background-image: url("img/gif/pa.gif");
 
}
 

	
 
.flag-peru,
 
.flag-pe,
 
.flag-per {
 
    background-image: url("img/gif/pe.gif");
 
}
 

	
 
.flag-french-polynesia,
 
.flag-pf,
 
.flag-pyf {
 
    background-image: url("img/gif/pf.gif");
 
}
 

	
 
.flag-papua-new-guinea,
 
.flag-pg,
 
.flag-gif {
 
    background-image: url("img/gif/pg.gif");
 
}
 

	
 
.flag-philippines,
 
.flag-ph,
 
.flag-phl {
 
    background-image: url("img/gif/ph.gif");
 
}
 

	
 
.flag-pakistan,
 
.flag-pk,
 
.flag-pak {
 
    background-image: url("img/gif/pk.gif");
 
}
 

	
 
.flag-poland,
 
.flag-pl,
 
.flag-pol {
 
    background-image: url("img/gif/pl.gif");
 
}
 

	
 
.flag-saint-pierre-and-miquelong,
 
.flag-pm,
 
.flag-spm {
 
    background-image: url("img/gif/pm.gif");
 
}
 

	
 
.flag-pitcairn,
 
.flag-pn,
 
.flag-pcn {
 
    background-image: url("img/gif/pn.gif");
 
}
 

	
 
.flag-puerto-rico,
 
.flag-pr,
 
.flag-pri {
 
    background-image: url("img/gif/pr.gif");
 
}
 

	
 
.flag-state-of-palestine,
 
.flag-ps,
 
.flag-pse {
 
    background-image: url("img/gif/ps.gif");
 
}
 

	
 
.flag-portugal,
 
.flag-pt,
 
.flag-prt {
 
    background-image: url("img/gif/pt.gif");
 
}
 

	
 
.flag-palau,
 
.flag-pw,
 
.flag-plw {
 
    background-image: url("img/gif/pw.gif");
 
}
 

	
 
.flag-paraguay
 
.flag-py,
 
.flag-pry {
 
    background-image: url("img/gif/py.gif");
 
}
 

	
 
.flag-qatar,
 
.flag-qa,
 
.flag-qat {
 
    background-image: url("img/gif/qa.gif");
 
}
 

	
 
.flag-reunion,
 
.flag-re,
 
.flag-reu {
 
    background-image: url("img/gif/re.gif");
 
}
 

	
 
.flag-romania,
 
.flag-ro,
 
.flag-rou {
 
    background-image: url("img/gif/ro.gif");
 
}
 

	
 
.flag-serbia,
 
.flag-rs,
 
.flag-srb {
 
    background-image: url("img/gif/rs.gif");
 
}
 

	
 
.flag-russia,
 
.flag-russian-federation,
 
.flag-ru,
 
.flag-rus {
 
    background-image: url("img/gif/ru.gif");
 
}
 

	
 
.flag-rwanda,
 
.flag-rw,
 
.flag-rwa {
 
    background-image: url("img/gif/rw.gif");
 
}
 

	
 
.flag-saudia-arabia,
 
.flag-sa,
 
.flag-sau {
 
    background-image: url("img/gif/sa.gif");
 
}
 

	
 
.flag-solomon-islands,
 
.flag-sb,
 
.flag-slb {
 
    background-image: url("img/gif/sb.gif");
 
}
 

	
 
.flag-seychelles,
 
.flag-sc,
 
.flag-syc {
 
    background-image: url("img/gif/sc.gif");
 
}
 

	
 
.flag-sudan,
 
.flag-sd,
 
.flag-sdn {
 
    background-image: url("img/gif/sd.gif");
 
}
 

	
 
.flag-sweden,
 
.flag-se,
 
.flag-swe {
 
    background-image: url("img/gif/se.gif");
 
}
 

	
 
.flag-singapore,
 
.flag-sg,
 
.flag-sgp {
 
    background-image: url("img/gif/sg.gif");
 
}
 

	
 
.flag-ascension-and-tristan-da-cunha-saint-helena,
 
.flag-sh,
 
.flag-shn {
 
    background-image: url("img/gif/sh.gif");
 
}
 

	
 
.flag-slovenia,
 
.flag-si
 
.flag-svn {
 
    background-image: url("img/gif/si.gif");
 
}
 

	
 
.flag-svalbard-and-jan-mayen,
 
.flag-sj
 
.flag-sjm {
 
    background-image: url("img/gif/sj.gif");
 
}
 

	
 
.flag-slovakia,
 
.flag-sk,
 
.flag-svk {
 
    background-image: url("img/gif/sk.gif");
 
}
 

	
 
.flag-sierra-leone,
 
.flag-sl,
 
.flag-sle {
 
    background-image: url("img/gif/sl.gif");
 
}
 

	
 
.flag-san-marino,
 
.flag-sm,
 
.flag-smr {
 
    background-image: url("img/gif/sm.gif");
 
}
 

	
 
.flag-senegal,
 
.flag-sn,
 
.flag-sen {
 
    background-image: url("img/gif/sn.gif");
 
}
 

	
 
.flag-somalia,
 
.flag-so,
 
.flag-som {
 
    background-image: url("img/gif/so.gif");
 
}
 

	
 
.flag-suriname,
 
.flag-sr,
 
.flag-sur {
 
    background-image: url("img/gif/sr.gif");
 
}
 

	
 
.flag-south-sudan,
 
.flag-ss,
 
.flag-ssd {
 
    background-image: url("img/gif/ss.gif");
 
}
 

	
 
.flag-sao-tome-and-principe,
 
.flag-st,
 
.flag-stp {
 
    background-image: url("img/gif/st.gif");
 
}
 

	
 
.flag-el-salvador,
 
.flag-sv
 
.flag-slv {
 
    background-image: url("img/gif/sv.gif");
 
}
 

	
 
.flag-sint-maarten,
 
.flag-sx,
 
.flag-sxm {
 
    background-image: url("img/gif/sx.gif");
 
}
 

	
 
.flag-syrian-arab-republic,
 
.flag-syria,
 
.flag-sy,
 
.flag-syr {
 
    background-image: url("img/gif/sy.gif");
 
}
 

	
 
.flag-swaziland,
 
.flag-sz,
 
.flag-swz {
 
    background-image: url("img/gif/sz.gif");
 
}
 

	
 
.flag-turks-and-caicos-islands,
 
.flag-tc,
 
.flag-tca {
 
    background-image: url("img/gif/tc.gif");
 
}
 

	
 
.flag-chad,
 
.flag-td,
 
.flag-tcd {
 
    background-image: url("img/gif/td.gif");
 
}
 

	
 
.flag-french-southern-territories,
 
.flag-tf,
 
.flag-atf {
 
    background-image: url("img/gif/tf.gif");
 
}
 

	
 
.flag-togo,
 
.flag-tg,
 
.flag-tgo {
 
    background-image: url("img/gif/tg.gif");
 
}
 

	
 
.flag-thailand,
 
.flag-th,
 
.flag-tha {
 
    background-image: url("img/gif/th.gif");
 
}
 

	
 
.flag-tajikistan,
 
.flag-tj,
 
.flag-tjk {
 
    background-image: url("img/gif/tj.gif");
 
}
 

	
 
.flag-tokelau,
 
.flag-tk,
 
.flag-tkl {
 
    background-image: url("img/gif/tk.gif");
 
}
 

	
 
.flag-timor-leste,
 
.flag-tl,
 
.flag-tls{
 
    background-image: url("img/gif/tl.gif");
 
}
 

	
 
.flag-turkmenistan,
 
.flag-tm,
 
.flag-tkm {
 
    background-image: url("img/gif/tm.gif");
 
}
 

	
 
.flag-tunisia,
 
.flag-tn,
 
.flag-tun {
 
    background-image: url("img/gif/tn.gif");
 
}
 

	
 
.flag-tonga,
 
.flag-to,
 
.flag-ton {
 
    background-image: url("img/gif/to.gif");
 
}
 

	
 
.flag-turkey,
 
.flag-tr,
 
.flag-tur {
 
    background-image: url("img/gif/tr.gif");
 
}
 

	
 
.flag-trinidad-and-tobago,
 
.flag-tt,
 
.flag-tto {
 
    background-image: url("img/gif/tt.gif");
 
}
 

	
 
.flag-tuvalu,
 
.flag-tv,
 
.flag-tuv {
 
    background-image: url("img/gif/tv.gif");
 
}
 

	
 
.flag-taiwan,
 
.flag-taiwan-province-of-china,
 
.flag-tw,
 
.flag-twn {
 
    background-image: url("img/gif/tw.gif");
 
}
 

	
 
.flag-tanzania,
 
.flag-united-republic-of-tanzania,
 
.flag-tz,
 
.flag-tza {
 
    background-image: url("img/gif/tz.gif");
 
}
 

	
 
.flag-ukraine,
 
.flag-ua,
 
.flag-ukr {
 
    background-image: url("img/gif/ua.gif");
 
}
 

	
 
.flag-uganda,
 
.flag-ug,
 
.flag-uga {
 
    background-image: url("img/gif/ug.gif");
 
}
 

	
 
.flag-united-states-minor-outlying-islands,
 
.flag-um,
 
.flag-umi {
 
    background-image: url("img/gif/um.gif");
 
}
 

	
 
.flag-united-states,
 
.flag-united-states-of-america,
 
.flag-us,
 
.flag-usa {
 
    background-image: url("img/gif/us.gif");
 
}
 

	
 
.flag-uruguay,
 
.flag-uy,
 
.flag-ury {
 
    background-image: url("img/gif/uy.gif");
 
}
 

	
 
.flag-uzbekistan,
 
.flag-uz,
 
.flag-uzb {
 
    background-image: url("img/gif/uz.gif");
 
}
 

	
 
.flag-holy-see,
 
.flag-vatican,
 
.flag-holy-see-vatican-city-state,
 
.flag-vatican-city-state,
 
.flag-va,
 
.flag-vat {
 
    background-image: url("img/gif/va.gif");
 
}
 

	
 
.flag-saint-vincent-and-the-grenadines,
 
.flag-vc,
 
.flag-vct {
 
    background-image: url("img/gif/vc.gif");
 
}
 

	
 
.flag-venezuela,
 
.flag-bolivarian-republic-of-venezuela,
 
.flag-ve,
 
.flag-ven {
 
    background-image: url("img/gif/ve.gif");
 
}
 

	
 
.flag-biritsh-virgin-islands,
 
.flag-vg,
 
.flag-vgb {
 
    background-image: url("img/gif/vg.gif");
 
}
 

	
 
.flag-us-virgin-islands,
 
.flag-vi,
 
.flag-vir {
 
    background-image: url("img/gif/vi.gif");
 
}
 

	
 
.flag-vietnam,
 
.flag-viet-nam,
 
.flag-vn,
 
.flag-vnm {
 
    background-image: url("img/gif/vn.gif");
 
}
 

	
 
.flag-vanuatu,
 
.flag-vu,
 
.flag-vut {
 
    background-image: url("img/gif/vu.gif");
 
}
 

	
 
.flag-wallis-and-futuna,
 
.flag-wf,
 
.flag-wlf {
 
    background-image: url("img/gif/wf.gif");
 
}
 

	
 
.flag-samoa,
 
.flag-ws,
 
.flag-wsm {
 
    background-image: url("img/gif/ws.gif");
 
}
 

	
 
.flag-yemem,
 
.flag-ye,
 
.flag-yem {
 
    background-image: url("img/gif/ye.gif");
 
}
 

	
 
.flag-mayotte,
 
.flag-yt,
 
.flag-myt {
 
    background-image: url("img/gif/yt.gif");
 
}
 

	
 
.flag-south-africa,
 
.flag-za,
 
.flag-zaf {
 
    background-image: url("img/gif/za.gif");
 
}
 

	
 
.flag-zambia,
 
.flag-zm,
 
.flag-zmb {
 
    background-image: url("img/gif/zm.gif");
 
}
 

	
 
.flag-zimbabwe,
 
.flag-zw,
 
.flag-zwe {
 
    background-image: url("img/gif/zw.gif");
 
}
 

	
 
.flag-catalonia,
 
.flat-cat {
 
    background-image: url("img/gif/catalonia.gif");
 
}
 

	
 
.flag-england
 
.flag-en {
 
    background-image: url("img/gif/england.gif");
 
}
 

	
 
.flag-european-union,
 
.flag-eu,
 
.flag-europe {
 
    background-image: url("img/gif/europeanunion.gif");
 
}
 

	
 
.flag-scotland {
 
    background-image: url("img/gif/scotland.gif");
 
}
 

	
 
.flag-wales {
 
    background-image: url("img/gif/wales.gif");
 
}
ennstatus/static/css/flags/flags.gif.min.css
Show inline comments
 
new file 100644
 
[class^="flag-"],[class*=" flag-"]{display:inline-block;width:16px;height:11px;margin-top:1px;*margin-right:.3em;line-height:16px;vertical-align:baseline;background-repeat:no-repeat}.flag-andorra,.flag-ad,.flag-and{background-image:url("img/gif/ad.gif")}.flag-united-arab-emirates,.flag-ae,.flag-are{background-image:url("img/gif/ae.gif")}.flag-afghanistan,.flag-af,.flag-afg{background-image:url("img/gif/af.gif")}.flag-antigua-and-barbuda,.flag-ag,.flag-atg{background-image:url("img/gif/ag.gif")}.flag-anguilla,.flag-ai,.flag-aia{background-image:url("img/gif/ai.gif")}.flag-albania,.flag-al,.flag-alb{background-image:url("img/gif/al.gif")}.flag-armenia,.flag-am,.flag-arm{background-image:url("img/gif/am.gif")}.flag-angola,.flag-ao,.flag-ago{background-image:url("img/gif/ao.gif")}.flag-antarctica,.flag-aq,.flag-ata{background-image:url("img/gif/aq.gif")}.flag-argentina,.flag-ar,.flag-arg{background-image:url("img/gif/ar.gif")}.flag-american-samoa,.flag-as,.flag-asm{background-image:url("img/gif/as.gif")}.flag-austria,.flag-at,.flag-aut{background-image:url("img/gif/at.gif")}.flag-australia,.flag-au,.flag-aus{background-image:url("img/gif/au.gif")}.flag-aruba,.flag-aw,.flag-abw{background-image:url("img/gif/aw.gif")}.flag-aland-islands,.flag-ax,.flag-ala{background-image:url("img/gif/ax.gif")}.flag-azerbaijan,.flag-az,.flag-aze{background-image:url("img/gif/az.gif")}.flag-bosnia-and-herzegovina,.flag-ba,.flag-bih{background-image:url("img/gif/ba.gif")}.flag-barbados,.flag-bb,.flag-brb{background-image:url("img/gif/bb.gif")}.flag-bangladesh,.flag-bd,.flag-bgd{background-image:url("img/gif/bd.gif")}.flag-belgium,.flag-be,.flag-bel{background-image:url("img/gif/be.gif")}.flag-burkina-faso,.flag-bf,.flag-bfa{background-image:url("img/gif/bf.gif")}.flag-bulgaria,.flag-bg,.flag-bgr{background-image:url("img/gif/bg.gif")}.flag-bahrain,.flag-bh,.flag-bhr{background-image:url("img/gif/bh.gif")}.flag-burundi,.flag-bi,.flag-bdi{background-image:url("img/gif/bi.gif")}.flag-benin,.flag-bj,.flag-ben{background-image:url("img/gif/bj.gif")}.flag-saint-barthelemy,.flag-bl,.flag-blm{background-image:url("img/gif/bl.gif")}.flag-bermuda,.flag-bm,.flag-bmu{background-image:url("img/gif/bm.gif")}.flag-brunei-darussalam,.flag-brunei,.flag-bn,.flag-brn{background-image:url("img/gif/bn.gif")}.flag-bolivia,.flag-plurinational-state-of-bolivia,.flag-bo,.flag-bol{background-image:url("img/gif/bo.gif")}.flag-bonaire-sint-eustatius-and-saba,.flag-bq,.flag-bes{background-image:url("img/gif/bq.gif")}.flag-brazil,.flag-br,.flag-bra{background-image:url("img/gif/br.gif")}.flag-bahamas,.flag-bs,.flag-bhs{background-image:url("img/gif/bs.gif")}.flag-bhutan,.flag-bt,.flag-btn{background-image:url("img/gif/bt.gif")}.flag-bouvet-island,.flag-bv,.flag-bvt{background-image:url("img/gif/bv.gif")}.flag-botswana,.flag-bw,.flag-bwa{background-image:url("img/gif/bw.gif")}.flag-belarus,.flag-by,.flag-blr{background-image:url("img/gif/by.gif")}.flag-beliza,.flag-bz,.flag-blz{background-image:url("img/gif/bz.gif")}.flag-canada,.flag-ca,.flag-can{background-image:url("img/gif/ca.gif")}.flag-cocos-islands,.flag-cc,.flag-cck{background-image:url("img/gif/cc.gif")}.flag-democratic-republic-of-the-congo,.flag-cd,.flag-cod{background-image:url("img/gif/cd.gif")}.flag-central-african-republic,.flag-cf,.flag-caf{background-image:url("img/gif/cf.gif")}.flag-congo,.flag-cg,.flag-cog{background-image:url("img/gif/cg.gif")}.flag-switzerland,.flag-ch,.flag-che{width:11px background-image:url("img/gif/ch.gif")}.flag-cote-divoire,.flag-ci,.flag-civ{background-image:url("img/gif/ci.gif")}.flag-cook-islands,.flag-ck,.flag-cok{background-image:url("img/gif/ck.gif")}.flag-chile,.flag-cl,.flag-chl{background-image:url("img/gif/cl.gif")}.flag-cameroon,.flag-cm,.flag-cmr{background-image:url("img/gif/cm.gif")}.flag-china,.flag-cn,.flag-chn{background-image:url("img/gif/cn.gif")}.flag-colombia,.flag-co,.flag-col{background-image:url("img/gif/co.gif")}.flag-costa-rica,.flag-cr,.flag-cri{background-image:url("img/gif/cr.gif")}.flag-cuba,.flag-cu,.flag-cub{background-image:url("img/gif/cu.gif")}.flag-cape-verde,.flag-cv,.flag-cpv{background-image:url("img/gif/cv.gif")}.flag-curacao,.flag-cw,.flag-cuw{background-image:url("img/gif/cw.gif")}.flag-christmas-island,.flag-cx,.falg-cxr{background-image:url("img/gif/cx.gif")}.flag-cyprus,.flag-cy,.flag-cyp{background-image:url("img/gif/cy.gif")}.flag-czech-republic,.flag-cz,.flag-cze{background-image:url("img/gif/cz.gif")}.flag-germany,.flag-de,.flag-deu{background-image:url("img/gif/de.gif")}.flag-djibouti,.flag-dj,.flag-dji{background-image:url("img/gif/dj.gif")}.flag-denmark,.flag-dk,.flag-dnk{background-image:url("img/gif/dk.gif")}.flag-dominica,.flag-dm,.flag-dma{background-image:url("img/gif/dm.gif")}.flag-dominican-republic,.flag-do,.flag-dom{background-image:url("img/gif/do.gif")}.flag-algeria,.flag-dz,.flag-dza{background-image:url("img/gif/dz.gif")}.flag-ecuador,.flag-ec,.flag-ecu{background-image:url("img/gif/ec.gif")}.flag-estonia,.flag-ee,.flag-est{background-image:url("img/gif/ee.gif")}.flag-egypt,.flag-eg,.flag-egy{background-image:url("img/gif/eg.gif")}.flag-western-sahara,.flag-eh,.flag-esh{background-image:url("img/gif/eh.gif")}.flag-eritrea,.flag-er,.flag-eri{background-image:url("img/gif/er.gif")}.flag-spain,.flag-es,.flag-esp{background-image:url("img/gif/es.gif")}.flag-ethiopia,.flag-et,.flag-eth{background-image:url("img/gif/et.gif")}.flag-finland,.flag-fi,.flag-fin{background-image:url("img/gif/fi.gif")}.flag-fiji,.flag-fj,.flag-fji{background-image:url("img/gif/fj.gif")}.flag-falkland-islands,.flag-fk,.flag-flk{background-image:url("img/gif/fk.gif")}.flag-federated-states-of-micronesia,.flag-fm,.flag-fsm{background-image:url("img/gif/fm.gif")}.flag-faroe-islands,.flag-fo,.flag-fro{background-image:url("img/gif/fo.gif")}.flag-france,.flag-fr,.flag-fra{background-image:url("img/gif/fr.gif")}.flag-gabon,.flag-ga,.flag-gab{background-image:url("img/gif/ga.gif")}.flag-united-kingdom,.flag-great-britain,.flag-united-kingdom-of-great-britain-and-northern-ireland,.flag-gb,.flag-uk,.flag-gbr{background-image:url("img/gif/gb.gif")}.flag-grenada,.flag-gd,.flag-grd{background-image:url("img/gif/gd.gif")}.flag-georgia,.flag-ge,.flag-geo{background-image:url("img/gif/ge.gif")}.flag-french-guiana,.flag-gf,.flag-guf{background-image:url("img/gif/gf.gif")}.flag-guernsey,.flag-gg,.flag-ggy{background-image:url("img/gif/gg.gif")}.flag-ghana,.flag-gh,.flag-gha{background-image:url("img/gif/gh.gif")}.flag-gibraltar,.flag-gi,.flag-gib{background-image:url("img/gif/gi.gif")}.flag-greenland,.flag-gl,.flag-grl{background-image:url("img/gif/gl.gif")}.flag-gambia,.flag-gm,.flag-gmb{background-image:url("img/gif/gm.gif")}.flag-guinea,.flag-gn,.flag-gin{background-image:url("img/gif/gn.gif")}.flag-guadeloupe,.flag-gp,.flag-glp{background-image:url("img/gif/gp.gif")}.flag-equatorial-guinea,.flag-gq,.flag-gnq{background-image:url("img/gif/gq.gif")}.flag-greece,.flag-gr,.flag-grc{background-image:url("img/gif/gr.gif")}.flag-south-georgia-and-the-south-sandwich-islands,.flag-gs,.flag-sgs{background-image:url("img/gif/gs.gif")}.flag-guatemala,.flag-gt,.flag-gtm{background-image:url("img/gif/gt.gif")}.flag-guam,.flag-gu,.flag-gum{background-image:url("img/gif/gu.gif")}.flag-guinea-bissau,.flag-gw,.flag-gnb{background-image:url("img/gif/gw.gif")}.flag-guyana,.flag-gy,.flag-guy{background-image:url("img/gif/gy.gif")}.flag-hong-kong,.flag-hk,.flag-hkg{background-image:url("img/gif/hk.gif")}.flag-heard-island-and-mcdonald-islands,.flag-hm,.flag-hmd{background-image:url("img/gif/hm.gif")}.flag-honduras,.flag-hn,.flag-hnd{background-image:url("img/gif/hn.gif")}.flag-croatia,.flag-hr,.flag-hrv{background-image:url("img/gif/hr.gif")}.flag-haiti,.flag-ht,.flag-hti{background-image:url("img/gif/ht.gif")}.flag-hungary,.flag-hu,.flag-hun{background-image:url("img/gif/hu.gif")}.flag-indonesia,.flag-id,.flag-idn{background-image:url("img/gif/id.gif")}.flag-ireland,.flag-ie,.flag-irl{background-image:url("img/gif/ie.gif")}.flag-israel,.flag-il,.flag-isr{background-image:url("img/gif/il.gif")}.flag-isle-of-man,.flag-im,.flag-imn{background-image:url("img/gif/im.gif")}.flag-india,.flag-in,.flag-ind{background-image:url("img/gif/in.gif")}.flag-british-indian-ocean-territory,.flag-io,.flag-iot{background-image:url("img/gif/io.gif")}.flag-iraq,.flag-iq,.flag-irq{background-image:url("img/gif/iq.gif")}.flag-islamic-republic-of-iran,.flag-iran,.flag-ir,.flag-irn{background-image:url("img/gif/ir.gif")}.flag-iceland,.flag-is,.flag-isl{background-image:url("img/gif/is.gif")}.flag-italy,.flag-it,.flag-ita{background-image:url("img/gif/it.gif")}.flag-jersey,.flag-je,.flag-jey{background-image:url("img/gif/je.gif")}.flag-jamaica,.flag-jm,.flag-jam{background-image:url("img/gif/jm.gif")}.flag-jordan,.flag-jo,.flag-jor{background-image:url("img/gif/jo.gif")}.flag-japan,.flag-jp,.flag-jpn{background-image:url("img/gif/jp.gif")}.flag-kenya,.flag-ke,.flag-ken{background-image:url("img/gif/ke.gif")}.flag-kyrgyzstan,.flag-kg,.flag-kgz{background-image:url("img/gif/kg.gif")}.flag-cambodia,.flag-kh,.flag-khm{background-image:url("img/gif/kh.gif")}.flag-kiribati,.flag-ki,.flag-kir{background-image:url("img/gif/ki.gif")}.flag-comoros,.flag-km,.flag-com{background-image:url("img/gif/km.gif")}.flag-saint-kitts-and-nevis,.flag-kn,.flag-kna{background-image:url("img/gif/kn.gif")}.flag-democratic-peoples-republic-of-korea,.flag-north-korea,.flag-kp,.flag-pbk{background-image:url("img/gif/kp.gif")}.flag-republic-of-korea,.flag-south-korea,.flag-kr,.flag-kor{background-image:url("img/gif/kr.gif")}.flag-kuwait,.flag-kw,.flag-kwt{background-image:url("img/gif/kw.gif")}.flag-cayman-islands,.flag-ky,.flag-cym{background-image:url("img/gif/ky.gif")}.flag-kazakhstan,.flag-kz,.flag-kaz{background-image:url("img/gif/kz.gif")}.flag-lao-peoples-democratic-republic,.flag-laos,.flag-la,.flag-lao{background-image:url("img/gif/la.gif")}.flag-lebanon,.flag-lb,.flag-lbn{background-image:url("img/gif/lb.gif")}.flag-saint-lucia,.flag-lc,.flag-lca{background-image:url("img/gif/lb.gif")}.flag-liechtenstein,.flag-li,.flag-lie{background-image:url("img/gif/li.gif")}.flag-sri-lanka,.flag-lk,.flag-lka{background-image:url("img/gif/lk.gif")}.flag-liberia,.flag-lr,.flag-lbr{background-image:url("img/gif/lr.gif")}.flag-lesotho,.flag-ls,.flag-lso{background-image:url("img/gif/ls.gif")}.flag-lithuania,.flag-lt,.flag-ltu{background-image:url("img/gif/lt.gif")}.flag-luxembourg,.flag-lu,.flag-lux{background-image:url("img/gif/lu.gif")}.flag-latvia,.flag-lv,.flag-lva{background-image:url("img/gif/lu.gif")}.flag-libya,.flag-ly,.flag-lby{background-image:url("img/gif/ly.gif")}.flag-morocco,.flag-ma,.flag-mar{background-image:url("img/gif/ma.gif")}.flag-monaco,.flag-mc,.flag-mco{background-image:url("img/gif/mc.gif")}.flag-republic-of-moldova,.flag-moldova,.flag-md,.flag-mda{background-image:url("img/gif/md.gif")}.flag-montenegro,.flag-me,.flag-mne{background-image:url("img/gif/me.gif");height:12px}.flag-saint-martin,.flag-mf,.flag-maf{background-image:url("img/gif/mf.gif")}.flag-madagascar,.flag-mg,.flag-mdg{background-image:url("img/gif/mg.gif")}.flag-marshall-islands,.flag-mh,.flag-mhl{background-image:url("img/gif/mh.gif")}.flag-macedonia,.flag-former-yugoslav-republic-of-macedonia,.flag-republic-of-macedonia,.flag-mk,.flag-mkd{background-image:url("img/gif/mk.gif")}.flag-mali,.flag-ml,.flag-mli{background-image:url("img/gif/ml.gif")}.flag-myanmar,.flag-mm,.flag-mmr{background-image:url("img/gif/mm.gif")}.flag-mongolia,.flag-mn,.flag-mng{background-image:url("img/gif/mn.gif")}.flag-macao,.flag-mo,.flag-mac{background-image:url("img/gif/mo.gif")}.flag-northern-mariana-islands,.flag-mp,.flag-mnp{background-image:url("img/gif/mp.gif")}.flag-martinique,.flag-mq,.flag-mtq{background-image:url("img/gif/mq.gif")}.flag-mauritania,.flag-mr,.flag-mrt{background-image:url("img/gif/mr.gif")}.flag-montserrat,.flag-ms,.flag-msr{background-image:url("img/gif/ms.gif")}.flag-malta,.flag-mt,.flag-mlt{background-image:url("img/gif/mt.gif")}.flag-mauritius,.flag-mu,.flag-mus{background-image:url("img/gif/mu.gif")}.flag-maldives,.flag-mv,.flag-mdv{background-image:url("img/gif/mv.gif")}.flag-malawi,.flag-mw,.flag-mwi{background-image:url("img/gif/mw.gif")}.flag-mexico,.flag-mx,.flag-mex{background-image:url("img/gif/mx.gif")}.flag-malaysia,.flag-my,.flag-mys{background-image:url("img/gif/my.gif")}.flag-mozambique,.flag-mz,.flag-mz{background-image:url("img/gif/mz.gif")}.flag-namibia,.flag-na,.flag-nam{background-image:url("img/gif/na.gif")}.flag-new-caledonia,.flag-nc,.flag-ncl{background-image:url("img/gif/nc.gif")}.flag-niger,.flag-ne,.flag-ner{background-image:url("img/gif/ne.gif")}.flag-norfolk-island,.flag-nf,.flag-nfk{background-image:url("img/gif/nf.gif")}.flag-nigeria,.flag-ng,.flag-nga{background-image:url("img/gif/ng.gif")}.flag-nicaragua,.flag-ni,.flag-nic{background-image:url("img/gif/ni.gif")}.flag-netherlands,.flag-nl,.flag-nld{background-image:url("img/gif/nl.gif")}.flag-norway,.flag-no,.flag-nor{background-image:url("img/gif/no.gif")}.flag-nepal,.flag-np,.flag-npl{background-image:url("img/gif/np.gif");width:9px}.flag-nauru,.flag-nr,.flag-nru{background-image:url("img/gif/nr.gif")}.flag-niue,.flag-nu,.flag-niu{background-image:url("img/gif/nu.gif")}.flag-new-zealand,.flag-nz,.flag-nzl{background-image:url("img/gif/nz.gif")}.flag-oman,.flag-om,.flag-omn{background-image:url("img/gif/om.gif")}.flag-panama,.flag-pa,.flag-pan{background-image:url("img/gif/pa.gif")}.flag-peru,.flag-pe,.flag-per{background-image:url("img/gif/pe.gif")}.flag-french-polynesia,.flag-pf,.flag-pyf{background-image:url("img/gif/pf.gif")}.flag-papua-new-guinea,.flag-pg,.flag-gif{background-image:url("img/gif/pg.gif")}.flag-philippines,.flag-ph,.flag-phl{background-image:url("img/gif/ph.gif")}.flag-pakistan,.flag-pk,.flag-pak{background-image:url("img/gif/pk.gif")}.flag-poland,.flag-pl,.flag-pol{background-image:url("img/gif/pl.gif")}.flag-saint-pierre-and-miquelong,.flag-pm,.flag-spm{background-image:url("img/gif/pm.gif")}.flag-pitcairn,.flag-pn,.flag-pcn{background-image:url("img/gif/pn.gif")}.flag-puerto-rico,.flag-pr,.flag-pri{background-image:url("img/gif/pr.gif")}.flag-state-of-palestine,.flag-ps,.flag-pse{background-image:url("img/gif/ps.gif")}.flag-portugal,.flag-pt,.flag-prt{background-image:url("img/gif/pt.gif")}.flag-palau,.flag-pw,.flag-plw{background-image:url("img/gif/pw.gif")}.flag-paraguay .flag-py,.flag-pry{background-image:url("img/gif/py.gif")}.flag-qatar,.flag-qa,.flag-qat{background-image:url("img/gif/qa.gif")}.flag-reunion,.flag-re,.flag-reu{background-image:url("img/gif/re.gif")}.flag-romania,.flag-ro,.flag-rou{background-image:url("img/gif/ro.gif")}.flag-serbia,.flag-rs,.flag-srb{background-image:url("img/gif/rs.gif")}.flag-russia,.flag-russian-federation,.flag-ru,.flag-rus{background-image:url("img/gif/ru.gif")}.flag-rwanda,.flag-rw,.flag-rwa{background-image:url("img/gif/rw.gif")}.flag-saudia-arabia,.flag-sa,.flag-sau{background-image:url("img/gif/sa.gif")}.flag-solomon-islands,.flag-sb,.flag-slb{background-image:url("img/gif/sb.gif")}.flag-seychelles,.flag-sc,.flag-syc{background-image:url("img/gif/sc.gif")}.flag-sudan,.flag-sd,.flag-sdn{background-image:url("img/gif/sd.gif")}.flag-sweden,.flag-se,.flag-swe{background-image:url("img/gif/se.gif")}.flag-singapore,.flag-sg,.flag-sgp{background-image:url("img/gif/sg.gif")}.flag-ascension-and-tristan-da-cunha-saint-helena,.flag-sh,.flag-shn{background-image:url("img/gif/sh.gif")}.flag-slovenia,.flag-si .flag-svn{background-image:url("img/gif/si.gif")}.flag-svalbard-and-jan-mayen,.flag-sj .flag-sjm{background-image:url("img/gif/sj.gif")}.flag-slovakia,.flag-sk,.flag-svk{background-image:url("img/gif/sk.gif")}.flag-sierra-leone,.flag-sl,.flag-sle{background-image:url("img/gif/sl.gif")}.flag-san-marino,.flag-sm,.flag-smr{background-image:url("img/gif/sm.gif")}.flag-senegal,.flag-sn,.flag-sen{background-image:url("img/gif/sn.gif")}.flag-somalia,.flag-so,.flag-som{background-image:url("img/gif/so.gif")}.flag-suriname,.flag-sr,.flag-sur{background-image:url("img/gif/sr.gif")}.flag-south-sudan,.flag-ss,.flag-ssd{background-image:url("img/gif/ss.gif")}.flag-sao-tome-and-principe,.flag-st,.flag-stp{background-image:url("img/gif/st.gif")}.flag-el-salvador,.flag-sv .flag-slv{background-image:url("img/gif/sv.gif")}.flag-sint-maarten,.flag-sx,.flag-sxm{background-image:url("img/gif/sx.gif")}.flag-syrian-arab-republic,.flag-syria,.flag-sy,.flag-syr{background-image:url("img/gif/sy.gif")}.flag-swaziland,.flag-sz,.flag-swz{background-image:url("img/gif/sz.gif")}.flag-turks-and-caicos-islands,.flag-tc,.flag-tca{background-image:url("img/gif/tc.gif")}.flag-chad,.flag-td,.flag-tcd{background-image:url("img/gif/td.gif")}.flag-french-southern-territories,.flag-tf,.flag-atf{background-image:url("img/gif/tf.gif")}.flag-togo,.flag-tg,.flag-tgo{background-image:url("img/gif/tg.gif")}.flag-thailand,.flag-th,.flag-tha{background-image:url("img/gif/th.gif")}.flag-tajikistan,.flag-tj,.flag-tjk{background-image:url("img/gif/tj.gif")}.flag-tokelau,.flag-tk,.flag-tkl{background-image:url("img/gif/tk.gif")}.flag-timor-leste,.flag-tl,.flag-tls{background-image:url("img/gif/tl.gif")}.flag-turkmenistan,.flag-tm,.flag-tkm{background-image:url("img/gif/tm.gif")}.flag-tunisia,.flag-tn,.flag-tun{background-image:url("img/gif/tn.gif")}.flag-tonga,.flag-to,.flag-ton{background-image:url("img/gif/to.gif")}.flag-turkey,.flag-tr,.flag-tur{background-image:url("img/gif/tr.gif")}.flag-trinidad-and-tobago,.flag-tt,.flag-tto{background-image:url("img/gif/tt.gif")}.flag-tuvalu,.flag-tv,.flag-tuv{background-image:url("img/gif/tv.gif")}.flag-taiwan,.flag-taiwan-province-of-china,.flag-tw,.flag-twn{background-image:url("img/gif/tw.gif")}.flag-tanzania,.flag-united-republic-of-tanzania,.flag-tz,.flag-tza{background-image:url("img/gif/tz.gif")}.flag-ukraine,.flag-ua,.flag-ukr{background-image:url("img/gif/ua.gif")}.flag-uganda,.flag-ug,.flag-uga{background-image:url("img/gif/ug.gif")}.flag-united-states-minor-outlying-islands,.flag-um,.flag-umi{background-image:url("img/gif/um.gif")}.flag-united-states,.flag-united-states-of-america,.flag-us,.flag-usa{background-image:url("img/gif/us.gif")}.flag-uruguay,.flag-uy,.flag-ury{background-image:url("img/gif/uy.gif")}.flag-uzbekistan,.flag-uz,.flag-uzb{background-image:url("img/gif/uz.gif")}.flag-holy-see,.flag-vatican,.flag-holy-see-vatican-city-state,.flag-vatican-city-state,.flag-va,.flag-vat{background-image:url("img/gif/va.gif")}.flag-saint-vincent-and-the-grenadines,.flag-vc,.flag-vct{background-image:url("img/gif/vc.gif")}.flag-venezuela,.flag-bolivarian-republic-of-venezuela,.flag-ve,.flag-ven{background-image:url("img/gif/ve.gif")}.flag-biritsh-virgin-islands,.flag-vg,.flag-vgb{background-image:url("img/gif/vg.gif")}.flag-us-virgin-islands,.flag-vi,.flag-vir{background-image:url("img/gif/vi.gif")}.flag-vietnam,.flag-viet-nam,.flag-vn,.flag-vnm{background-image:url("img/gif/vn.gif")}.flag-vanuatu,.flag-vu,.flag-vut{background-image:url("img/gif/vu.gif")}.flag-wallis-and-futuna,.flag-wf,.flag-wlf{background-image:url("img/gif/wf.gif")}.flag-samoa,.flag-ws,.flag-wsm{background-image:url("img/gif/ws.gif")}.flag-yemem,.flag-ye,.flag-yem{background-image:url("img/gif/ye.gif")}.flag-mayotte,.flag-yt,.flag-myt{background-image:url("img/gif/yt.gif")}.flag-south-africa,.flag-za,.flag-zaf{background-image:url("img/gif/za.gif")}.flag-zambia,.flag-zm,.flag-zmb{background-image:url("img/gif/zm.gif")}.flag-zimbabwe,.flag-zw,.flag-zwe{background-image:url("img/gif/zw.gif")}.flag-catalonia,.flat-cat{background-image:url("img/gif/catalonia.gif")}.flag-england .flag-en{background-image:url("img/gif/england.gif")}.flag-european-union,.flag-eu,.flag-europe{background-image:url("img/gif/europeanunion.gif")}.flag-scotland{background-image:url("img/gif/scotland.gif")}.flag-wales{background-image:url("img/gif/wales.gif")}
ennstatus/static/css/flags/flags.png.css
Show inline comments
 
new file 100644
 
[class^="flag-"],
 
[class*=" flag-"] {
 
    display: inline-block;
 
    width: 16px;
 
    height: 11px;
 
    margin-top: 1px;
 
    *margin-right: .3em;
 
    line-height: 16px;
 
    vertical-align: baseline;
 
    background-repeat: no-repeat;
 
}
 

	
 
.flag-andorra,
 
.flag-ad,
 
.flag-and {
 
    background-image: url("img/png/ad.png");
 
}
 

	
 
.flag-united-arab-emirates,
 
.flag-ae,
 
.flag-are {
 
    background-image: url("img/png/ae.png");
 
}
 

	
 
.flag-afghanistan,
 
.flag-af,
 
.flag-afg {
 
    background-image: url("img/png/af.png");
 
}
 

	
 
.flag-antigua-and-barbuda,
 
.flag-ag,
 
.flag-atg {
 
    background-image: url("img/png/ag.png");
 
}
 

	
 
.flag-anguilla,
 
.flag-ai,
 
.flag-aia {
 
    background-image: url("img/png/ai.png");
 
}
 

	
 
.flag-albania,
 
.flag-al,
 
.flag-alb {
 
    background-image: url("img/png/al.png");
 
}
 

	
 
.flag-armenia,
 
.flag-am,
 
.flag-arm {
 
    background-image: url("img/png/am.png");
 
}
 

	
 
.flag-angola,
 
.flag-ao,
 
.flag-ago {
 
    background-image: url("img/png/ao.png");
 
}
 

	
 
.flag-antarctica,
 
.flag-aq,
 
.flag-ata {
 
    background-image: url("img/png/aq.png");
 
}
 

	
 
.flag-argentina,
 
.flag-ar,
 
.flag-arg {
 
    background-image: url("img/png/ar.png");
 
}
 

	
 
.flag-american-samoa,
 
.flag-as,
 
.flag-asm {
 
    background-image: url("img/png/as.png");
 
}
 

	
 
.flag-austria,
 
.flag-at,
 
.flag-aut {
 
    background-image: url("img/png/at.png");
 
}
 

	
 
.flag-australia,
 
.flag-au,
 
.flag-aus {
 
    background-image: url("img/png/au.png");
 
}
 

	
 
.flag-aruba,
 
.flag-aw,
 
.flag-abw {
 
    background-image: url("img/png/aw.png");
 
}
 

	
 
.flag-aland-islands,
 
.flag-ax,
 
.flag-ala {
 
    background-image: url("img/png/ax.png");
 
}
 

	
 
.flag-azerbaijan,
 
.flag-az,
 
.flag-aze {
 
    background-image: url("img/png/az.png");
 
}
 

	
 
.flag-bosnia-and-herzegovina,
 
.flag-ba,
 
.flag-bih {
 
    background-image: url("img/png/ba.png");
 
}
 

	
 
.flag-barbados,
 
.flag-bb,
 
.flag-brb {
 
    background-image: url("img/png/bb.png");
 
}
 

	
 
.flag-bangladesh,
 
.flag-bd,
 
.flag-bgd {
 
    background-image: url("img/png/bd.png");
 
}
 

	
 
.flag-belgium,
 
.flag-be,
 
.flag-bel {
 
    background-image: url("img/png/be.png");
 
}
 

	
 
.flag-burkina-faso,
 
.flag-bf,
 
.flag-bfa {
 
    background-image: url("img/png/bf.png");
 
}
 

	
 
.flag-bulgaria,
 
.flag-bg,
 
.flag-bgr {
 
    background-image: url("img/png/bg.png");
 
}
 

	
 
.flag-bahrain,
 
.flag-bh,
 
.flag-bhr {
 
    background-image: url("img/png/bh.png");
 
}
 

	
 
.flag-burundi,
 
.flag-bi,
 
.flag-bdi {
 
    background-image: url("img/png/bi.png");
 
}
 

	
 
.flag-benin,
 
.flag-bj,
 
.flag-ben {
 
    background-image: url("img/png/bj.png");
 
}
 

	
 
.flag-saint-barthelemy,
 
.flag-bl,
 
.flag-blm {
 
    background-image: url("img/png/bl.png");
 
}
 

	
 
.flag-bermuda,
 
.flag-bm,
 
.flag-bmu {
 
    background-image: url("img/png/bm.png");
 
}
 

	
 
.flag-brunei-darussalam,
 
.flag-brunei,
 
.flag-bn,
 
.flag-brn {
 
    background-image: url("img/png/bn.png");
 
}
 

	
 
.flag-bolivia,
 
.flag-plurinational-state-of-bolivia,
 
.flag-bo,
 
.flag-bol {
 
    background-image: url("img/png/bo.png");
 
}
 

	
 
.flag-bonaire-sint-eustatius-and-saba,
 
.flag-bq,
 
.flag-bes {
 
    background-image: url("img/png/bq.png");
 
}
 

	
 
.flag-brazil,
 
.flag-br,
 
.flag-bra {
 
    background-image: url("img/png/br.png");
 
}
 

	
 
.flag-bahamas,
 
.flag-bs,
 
.flag-bhs {
 
    background-image: url("img/png/bs.png");
 
}
 

	
 
.flag-bhutan,
 
.flag-bt,
 
.flag-btn {
 
    background-image: url("img/png/bt.png");
 
}
 

	
 
.flag-bouvet-island,
 
.flag-bv,
 
.flag-bvt {
 
    background-image: url("img/png/bv.png");
 
}
 

	
 
.flag-botswana,
 
.flag-bw,
 
.flag-bwa {
 
    background-image: url("img/png/bw.png");
 
}
 

	
 
.flag-belarus,
 
.flag-by,
 
.flag-blr {
 
    background-image: url("img/png/by.png");
 
}
 

	
 
.flag-beliza,
 
.flag-bz,
 
.flag-blz {
 
    background-image: url("img/png/bz.png");
 
}
 

	
 
.flag-canada,
 
.flag-ca,
 
.flag-can {
 
    background-image: url("img/png/ca.png");
 
}
 

	
 
.flag-cocos-islands,
 
.flag-cc,
 
.flag-cck {
 
    background-image: url("img/png/cc.png");
 
}
 

	
 
.flag-democratic-republic-of-the-congo,
 
.flag-cd,
 
.flag-cod {
 
    background-image: url("img/png/cd.png");
 
}
 

	
 
.flag-central-african-republic,
 
.flag-cf,
 
.flag-caf {
 
    background-image: url("img/png/cf.png");
 
}
 

	
 
.flag-congo,
 
.flag-cg,
 
.flag-cog {
 
    background-image: url("img/png/cg.png");
 
}
 

	
 
.flag-switzerland,
 
.flag-ch,
 
.flag-che {
 
    width: 11px;
 
    background-image: url("img/png/ch.png");
 
}
 

	
 
.flag-cote-divoire,
 
.flag-ci,
 
.flag-civ {
 
    background-image: url("img/png/ci.png");
 
}
 

	
 
.flag-cook-islands,
 
.flag-ck,
 
.flag-cok {
 
    background-image: url("img/png/ck.png");
 
}
 

	
 
.flag-chile,
 
.flag-cl,
 
.flag-chl {
 
    background-image: url("img/png/cl.png");
 
}
 

	
 
.flag-cameroon,
 
.flag-cm,
 
.flag-cmr {
 
    background-image: url("img/png/cm.png");
 
}
 

	
 
.flag-china,
 
.flag-cn,
 
.flag-chn {
 
    background-image: url("img/png/cn.png");
 
}
 

	
 
.flag-colombia,
 
.flag-co,
 
.flag-col {
 
    background-image: url("img/png/co.png");
 
}
 

	
 
.flag-costa-rica,
 
.flag-cr,
 
.flag-cri {
 
    background-image: url("img/png/cr.png");
 
}
 

	
 
.flag-cuba,
 
.flag-cu,
 
.flag-cub {
 
    background-image: url("img/png/cu.png");
 
}
 

	
 
.flag-cape-verde,
 
.flag-cv,
 
.flag-cpv {
 
    background-image: url("img/png/cv.png");
 
}
 

	
 
.flag-curacao,
 
.flag-cw,
 
.flag-cuw {
 
    background-image: url("img/png/cw.png");
 
}
 

	
 
.flag-christmas-island,
 
.flag-cx,
 
.falg-cxr {
 
    background-image: url("img/png/cx.png");
 
}
 

	
 
.flag-cyprus,
 
.flag-cy,
 
.flag-cyp {
 
    background-image: url("img/png/cy.png");
 
}
 

	
 
.flag-czech-republic,
 
.flag-cz,
 
.flag-cze {
 
    background-image: url("img/png/cz.png");
 
}
 

	
 
.flag-germany,
 
.flag-de,
 
.flag-deu {
 
    background-image: url("img/png/de.png");
 
}
 

	
 
.flag-djibouti,
 
.flag-dj,
 
.flag-dji {
 
    background-image: url("img/png/dj.png");
 
}
 

	
 
.flag-denmark,
 
.flag-dk,
 
.flag-dnk {
 
    background-image: url("img/png/dk.png");
 
}
 

	
 
.flag-dominica,
 
.flag-dm,
 
.flag-dma {
 
    background-image: url("img/png/dm.png");
 
}
 

	
 
.flag-dominican-republic,
 
.flag-do,
 
.flag-dom {
 
    background-image: url("img/png/do.png");
 
}
 

	
 
.flag-algeria,
 
.flag-dz,
 
.flag-dza {
 
    background-image: url("img/png/dz.png");
 
}
 

	
 
.flag-ecuador,
 
.flag-ec,
 
.flag-ecu {
 
    background-image: url("img/png/ec.png");
 
}
 

	
 
.flag-estonia,
 
.flag-ee,
 
.flag-est {
 
    background-image: url("img/png/ee.png");
 
}
 

	
 
.flag-egypt,
 
.flag-eg,
 
.flag-egy {
 
    background-image: url("img/png/eg.png");
 
}
 

	
 
.flag-western-sahara,
 
.flag-eh,
 
.flag-esh {
 
    background-image: url("img/png/eh.png");
 
}
 

	
 
.flag-eritrea,
 
.flag-er,
 
.flag-eri {
 
    background-image: url("img/png/er.png");
 
}
 

	
 
.flag-spain,
 
.flag-es,
 
.flag-esp {
 
    background-image: url("img/png/es.png");
 
}
 

	
 
.flag-ethiopia,
 
.flag-et,
 
.flag-eth {
 
    background-image: url("img/png/et.png");
 
}
 

	
 
.flag-finland,
 
.flag-fi,
 
.flag-fin {
 
    background-image: url("img/png/fi.png");
 
}
 

	
 
.flag-fiji,
 
.flag-fj,
 
.flag-fji {
 
    background-image: url("img/png/fj.png");
 
}
 

	
 
.flag-falkland-islands,
 
.flag-fk,
 
.flag-flk {
 
    background-image: url("img/png/fk.png");
 
}
 

	
 
.flag-federated-states-of-micronesia,
 
.flag-fm,
 
.flag-fsm {
 
    background-image: url("img/png/fm.png");
 
}
 

	
 
.flag-faroe-islands,
 
.flag-fo,
 
.flag-fro {
 
    background-image: url("img/png/fo.png");
 
}
 

	
 
.flag-france,
 
.flag-fr,
 
.flag-fra {
 
    background-image: url("img/png/fr.png");
 
}
 

	
 
.flag-gabon,
 
.flag-ga,
 
.flag-gab {
 
    background-image: url("img/png/ga.png");
 
}
 

	
 
.flag-united-kingdom,
 
.flag-great-britain,
 
.flag-united-kingdom-of-great-britain-and-northern-ireland,
 
.flag-gb,
 
.flag-uk,
 
.flag-gbr {
 
    background-image: url("img/png/gb.png");
 
}
 

	
 
.flag-grenada,
 
.flag-gd,
 
.flag-grd {
 
    background-image: url("img/png/gd.png");
 
}
 

	
 
.flag-georgia,
 
.flag-ge,
 
.flag-geo {
 
    background-image: url("img/png/ge.png");
 
}
 

	
 
.flag-french-guiana,
 
.flag-gf,
 
.flag-guf {
 
    background-image: url("img/png/gf.png");
 
}
 

	
 
.flag-guernsey,
 
.flag-gg,
 
.flag-ggy {
 
    background-image: url("img/png/gg.png");
 
}
 

	
 
.flag-ghana,
 
.flag-gh,
 
.flag-gha {
 
    background-image: url("img/png/gh.png");
 
}
 

	
 
.flag-gibraltar,
 
.flag-gi,
 
.flag-gib {
 
    background-image: url("img/png/gi.png");
 
}
 

	
 
.flag-greenland,
 
.flag-gl,
 
.flag-grl {
 
    background-image: url("img/png/gl.png");
 
}
 

	
 
.flag-gambia,
 
.flag-gm,
 
.flag-gmb {
 
    background-image: url("img/png/gm.png");
 
}
 

	
 
.flag-guinea,
 
.flag-gn,
 
.flag-gin {
 
    background-image: url("img/png/gn.png");
 
}
 

	
 
.flag-guadeloupe,
 
.flag-gp,
 
.flag-glp {
 
    background-image: url("img/png/gp.png");
 
}
 

	
 
.flag-equatorial-guinea,
 
.flag-gq,
 
.flag-gnq {
 
    background-image: url("img/png/gq.png");
 
}
 

	
 
.flag-greece,
 
.flag-gr,
 
.flag-grc {
 
    background-image: url("img/png/gr.png");
 
}
 

	
 
.flag-south-georgia-and-the-south-sandwich-islands,
 
.flag-gs,
 
.flag-sgs {
 
    background-image: url("img/png/gs.png");
 
}
 

	
 
.flag-guatemala,
 
.flag-gt,
 
.flag-gtm {
 
    background-image: url("img/png/gt.png");
 
}
 

	
 
.flag-guam,
 
.flag-gu,
 
.flag-gum {
 
    background-image: url("img/png/gu.png");
 
}
 

	
 
.flag-guinea-bissau,
 
.flag-gw,
 
.flag-gnb {
 
    background-image: url("img/png/gw.png");
 
}
 

	
 
.flag-guyana,
 
.flag-gy,
 
.flag-guy {
 
    background-image: url("img/png/gy.png");
 
}
 

	
 
.flag-hong-kong,
 
.flag-hk,
 
.flag-hkg {
 
    background-image: url("img/png/hk.png");
 
}
 

	
 
.flag-heard-island-and-mcdonald-islands,
 
.flag-hm,
 
.flag-hmd {
 
    background-image: url("img/png/hm.png");
 
}
 

	
 
.flag-honduras,
 
.flag-hn,
 
.flag-hnd {
 
    background-image: url("img/png/hn.png");
 
}
 

	
 
.flag-croatia,
 
.flag-hr,
 
.flag-hrv {
 
    background-image: url("img/png/hr.png");
 
}
 

	
 
.flag-haiti,
 
.flag-ht,
 
.flag-hti {
 
    background-image: url("img/png/ht.png");
 
}
 

	
 
.flag-hungary,
 
.flag-hu,
 
.flag-hun {
 
    background-image: url("img/png/hu.png");
 
}
 

	
 
.flag-indonesia,
 
.flag-id,
 
.flag-idn {
 
    background-image: url("img/png/id.png");
 
}
 

	
 
.flag-ireland,
 
.flag-ie,
 
.flag-irl {
 
    background-image: url("img/png/ie.png");
 
}
 

	
 
.flag-israel,
 
.flag-il,
 
.flag-isr {
 
    background-image: url("img/png/il.png");
 
}
 

	
 
.flag-isle-of-man,
 
.flag-im,
 
.flag-imn {
 
    background-image: url("img/png/im.png");
 
}
 

	
 
.flag-india,
 
.flag-in,
 
.flag-ind {
 
    background-image: url("img/png/in.png");
 
}
 

	
 
.flag-british-indian-ocean-territory,
 
.flag-io,
 
.flag-iot {
 
    background-image: url("img/png/io.png");
 
}
 

	
 
.flag-iraq,
 
.flag-iq,
 
.flag-irq {
 
    background-image: url("img/png/iq.png");
 
}
 

	
 
.flag-islamic-republic-of-iran,
 
.flag-iran,
 
.flag-ir,
 
.flag-irn {
 
    background-image: url("img/png/ir.png");
 
}
 

	
 
.flag-iceland,
 
.flag-is,
 
.flag-isl {
 
    background-image: url("img/png/is.png");
 
}
 

	
 
.flag-italy,
 
.flag-it,
 
.flag-ita {
 
    background-image: url("img/png/it.png");
 
}
 

	
 
.flag-jersey,
 
.flag-je,
 
.flag-jey {
 
    background-image: url("img/png/je.png");
 
}
 

	
 
.flag-jamaica,
 
.flag-jm,
 
.flag-jam {
 
    background-image: url("img/png/jm.png");
 
}
 

	
 
.flag-jordan,
 
.flag-jo,
 
.flag-jor {
 
    background-image: url("img/png/jo.png");
 
}
 

	
 
.flag-japan,
 
.flag-jp,
 
.flag-jpn {
 
    background-image: url("img/png/jp.png");
 
}
 

	
 
.flag-kenya,
 
.flag-ke,
 
.flag-ken {
 
    background-image: url("img/png/ke.png");
 
}
 

	
 
.flag-kyrgyzstan,
 
.flag-kg,
 
.flag-kgz {
 
    background-image: url("img/png/kg.png");
 
}
 

	
 
.flag-cambodia,
 
.flag-kh,
 
.flag-khm {
 
    background-image: url("img/png/kh.png");
 
}
 

	
 
.flag-kiribati,
 
.flag-ki,
 
.flag-kir {
 
    background-image: url("img/png/ki.png");
 
}
 

	
 
.flag-comoros,
 
.flag-km,
 
.flag-com {
 
    background-image: url("img/png/km.png");
 
}
 

	
 
.flag-saint-kitts-and-nevis,
 
.flag-kn,
 
.flag-kna {
 
    background-image: url("img/png/kn.png");
 
}
 

	
 
.flag-democratic-peoples-republic-of-korea,
 
.flag-north-korea,
 
.flag-kp,
 
.flag-pbk {
 
    background-image: url("img/png/kp.png");
 
}
 

	
 
.flag-republic-of-korea,
 
.flag-south-korea,
 
.flag-kr,
 
.flag-kor {
 
    background-image: url("img/png/kr.png");
 
}
 

	
 
.flag-kuwait,
 
.flag-kw,
 
.flag-kwt {
 
    background-image: url("img/png/kw.png");
 
}
 

	
 
.flag-cayman-islands,
 
.flag-ky,
 
.flag-cym {
 
    background-image: url("img/png/ky.png");
 
}
 

	
 
.flag-kazakhstan,
 
.flag-kz,
 
.flag-kaz {
 
    background-image: url("img/png/kz.png");
 
}
 

	
 
.flag-lao-peoples-democratic-republic,
 
.flag-laos,
 
.flag-la,
 
.flag-lao {
 
    background-image: url("img/png/la.png");
 
}
 

	
 
.flag-lebanon,
 
.flag-lb,
 
.flag-lbn {
 
    background-image: url("img/png/lb.png");
 
}
 

	
 
.flag-saint-lucia,
 
.flag-lc,
 
.flag-lca {
 
    background-image: url("img/png/lb.png");
 
}
 

	
 
.flag-liechtenstein,
 
.flag-li,
 
.flag-lie {
 
    background-image: url("img/png/li.png");
 
}
 

	
 
.flag-sri-lanka,
 
.flag-lk,
 
.flag-lka {
 
    background-image: url("img/png/lk.png");
 
}
 

	
 
.flag-liberia,
 
.flag-lr,
 
.flag-lbr {
 
    background-image: url("img/png/lr.png");
 
}
 

	
 
.flag-lesotho,
 
.flag-ls,
 
.flag-lso {
 
    background-image: url("img/png/ls.png");
 
}
 

	
 
.flag-lithuania,
 
.flag-lt,
 
.flag-ltu {
 
    background-image: url("img/png/lt.png");
 
}
 

	
 
.flag-luxembourg,
 
.flag-lu,
 
.flag-lux {
 
    background-image: url("img/png/lu.png");
 
}
 

	
 
.flag-latvia,
 
.flag-lv,
 
.flag-lva {
 
    background-image: url("img/png/lu.png");
 
}
 

	
 
.flag-libya,
 
.flag-ly,
 
.flag-lby {
 
    background-image: url("img/png/ly.png");
 
}
 

	
 
.flag-morocco,
 
.flag-ma,
 
.flag-mar {
 
    background-image: url("img/png/ma.png");
 
}
 

	
 
.flag-monaco,
 
.flag-mc,
 
.flag-mco {
 
    background-image: url("img/png/mc.png");
 
}
 

	
 
.flag-republic-of-moldova,
 
.flag-moldova,
 
.flag-md,
 
.flag-mda {
 
    background-image: url("img/png/md.png");
 
}
 

	
 
.flag-montenegro,
 
.flag-me,
 
.flag-mne {
 
    background-image: url("img/png/me.png");
 
    height: 12px;
 
}
 

	
 
.flag-saint-martin,
 
.flag-mf,
 
.flag-maf {
 
    background-image: url("img/png/mf.png");
 
}
 

	
 
.flag-madagascar,
 
.flag-mg,
 
.flag-mdg {
 
    background-image: url("img/png/mg.png");
 
}
 

	
 
.flag-marshall-islands,
 
.flag-mh,
 
.flag-mhl {
 
    background-image: url("img/png/mh.png");
 
}
 

	
 
.flag-macedonia,
 
.flag-former-yugoslav-republic-of-macedonia,
 
.flag-republic-of-macedonia,
 
.flag-mk,
 
.flag-mkd {
 
    background-image: url("img/png/mk.png");
 
}
 

	
 
.flag-mali,
 
.flag-ml,
 
.flag-mli {
 
    background-image: url("img/png/ml.png");
 
}
 

	
 
.flag-myanmar,
 
.flag-mm,
 
.flag-mmr {
 
    background-image: url("img/png/mm.png");
 
}
 

	
 
.flag-mongolia,
 
.flag-mn,
 
.flag-mng {
 
    background-image: url("img/png/mn.png");
 
}
 

	
 
.flag-macao,
 
.flag-mo,
 
.flag-mac {
 
    background-image: url("img/png/mo.png");
 
}
 

	
 
.flag-northern-mariana-islands,
 
.flag-mp,
 
.flag-mnp {
 
    background-image: url("img/png/mp.png");
 
}
 

	
 
.flag-martinique,
 
.flag-mq,
 
.flag-mtq {
 
    background-image: url("img/png/mq.png");
 
}
 

	
 
.flag-mauritania,
 
.flag-mr,
 
.flag-mrt {
 
    background-image: url("img/png/mr.png");
 
}
 

	
 
.flag-montserrat,
 
.flag-ms,
 
.flag-msr {
 
    background-image: url("img/png/ms.png");
 
}
 

	
 
.flag-malta,
 
.flag-mt,
 
.flag-mlt {
 
    background-image: url("img/png/mt.png");
 
}
 

	
 
.flag-mauritius,
 
.flag-mu,
 
.flag-mus {
 
    background-image: url("img/png/mu.png");
 
}
 

	
 
.flag-maldives,
 
.flag-mv,
 
.flag-mdv {
 
    background-image: url("img/png/mv.png");
 
}
 

	
 
.flag-malawi,
 
.flag-mw,
 
.flag-mwi {
 
    background-image: url("img/png/mw.png");
 
}
 

	
 
.flag-mexico,
 
.flag-mx,
 
.flag-mex {
 
    background-image: url("img/png/mx.png");
 
}
 

	
 
.flag-malaysia,
 
.flag-my,
 
.flag-mys {
 
    background-image: url("img/png/my.png");
 
}
 

	
 
.flag-mozambique,
 
.flag-mz,
 
.flag-mz {
 
    background-image: url("img/png/mz.png");
 
}
 

	
 
.flag-namibia,
 
.flag-na,
 
.flag-nam {
 
    background-image: url("img/png/na.png");
 
}
 

	
 
.flag-new-caledonia,
 
.flag-nc,
 
.flag-ncl {
 
    background-image: url("img/png/nc.png");
 
}
 

	
 
.flag-niger,
 
.flag-ne,
 
.flag-ner {
 
    background-image: url("img/png/ne.png");
 
}
 

	
 
.flag-norfolk-island,
 
.flag-nf,
 
.flag-nfk {
 
    background-image: url("img/png/nf.png");
 
}
 

	
 
.flag-nigeria,
 
.flag-ng,
 
.flag-nga {
 
    background-image: url("img/png/ng.png");
 
}
 

	
 
.flag-nicaragua,
 
.flag-ni,
 
.flag-nic {
 
    background-image: url("img/png/ni.png");
 
}
 

	
 
.flag-netherlands,
 
.flag-nl,
 
.flag-nld {
 
    background-image: url("img/png/nl.png");
 
}
 

	
 
.flag-norway,
 
.flag-no,
 
.flag-nor {
 
    background-image: url("img/png/no.png");
 
}
 

	
 
.flag-nepal,
 
.flag-np,
 
.flag-npl {
 
    background-image: url("img/png/np.png");
 
    width: 9px;
 
}
 

	
 
.flag-nauru,
 
.flag-nr,
 
.flag-nru {
 
    background-image: url("img/png/nr.png");
 
}
 

	
 
.flag-niue,
 
.flag-nu,
 
.flag-niu {
 
    background-image: url("img/png/nu.png");
 
}
 

	
 
.flag-new-zealand,
 
.flag-nz,
 
.flag-nzl {
 
    background-image: url("img/png/nz.png");
 
}
 

	
 
.flag-oman,
 
.flag-om,
 
.flag-omn {
 
    background-image: url("img/png/om.png");
 
}
 

	
 
.flag-panama,
 
.flag-pa,
 
.flag-pan {
 
    background-image: url("img/png/pa.png");
 
}
 

	
 
.flag-peru,
 
.flag-pe,
 
.flag-per {
 
    background-image: url("img/png/pe.png");
 
}
 

	
 
.flag-french-polynesia,
 
.flag-pf,
 
.flag-pyf {
 
    background-image: url("img/png/pf.png");
 
}
 

	
 
.flag-papua-new-guinea,
 
.flag-pg,
 
.flag-png {
 
    background-image: url("img/png/pg.png");
 
}
 

	
 
.flag-philippines,
 
.flag-ph,
 
.flag-phl {
 
    background-image: url("img/png/ph.png");
 
}
 

	
 
.flag-pakistan,
 
.flag-pk,
 
.flag-pak {
 
    background-image: url("img/png/pk.png");
 
}
 

	
 
.flag-poland,
 
.flag-pl,
 
.flag-pol {
 
    background-image: url("img/png/pl.png");
 
}
 

	
 
.flag-saint-pierre-and-miquelong,
 
.flag-pm,
 
.flag-spm {
 
    background-image: url("img/png/pm.png");
 
}
 

	
 
.flag-pitcairn,
 
.flag-pn,
 
.flag-pcn {
 
    background-image: url("img/png/pn.png");
 
}
 

	
 
.flag-puerto-rico,
 
.flag-pr,
 
.flag-pri {
 
    background-image: url("img/png/pr.png");
 
}
 

	
 
.flag-state-of-palestine,
 
.flag-ps,
 
.flag-pse {
 
    background-image: url("img/png/ps.png");
 
}
 

	
 
.flag-portugal,
 
.flag-pt,
 
.flag-prt {
 
    background-image: url("img/png/pt.png");
 
}
 

	
 
.flag-palau,
 
.flag-pw,
 
.flag-plw {
 
    background-image: url("img/png/pw.png");
 
}
 

	
 
.flag-paraguay
 
.flag-py,
 
.flag-pry {
 
    background-image: url("img/png/py.png");
 
}
 

	
 
.flag-qatar,
 
.flag-qa,
 
.flag-qat {
 
    background-image: url("img/png/qa.png");
 
}
 

	
 
.flag-reunion,
 
.flag-re,
 
.flag-reu {
 
    background-image: url("img/png/re.png");
 
}
 

	
 
.flag-romania,
 
.flag-ro,
 
.flag-rou {
 
    background-image: url("img/png/ro.png");
 
}
 

	
 
.flag-serbia,
 
.flag-rs,
 
.flag-srb {
 
    background-image: url("img/png/rs.png");
 
}
 

	
 
.flag-russia,
 
.flag-russian-federation,
 
.flag-ru,
 
.flag-rus {
 
    background-image: url("img/png/ru.png");
 
}
 

	
 
.flag-rwanda,
 
.flag-rw,
 
.flag-rwa {
 
    background-image: url("img/png/rw.png");
 
}
 

	
 
.flag-saudia-arabia,
 
.flag-sa,
 
.flag-sau {
 
    background-image: url("img/png/sa.png");
 
}
 

	
 
.flag-solomon-islands,
 
.flag-sb,
 
.flag-slb {
 
    background-image: url("img/png/sb.png");
 
}
 

	
 
.flag-seychelles,
 
.flag-sc,
 
.flag-syc {
 
    background-image: url("img/png/sc.png");
 
}
 

	
 
.flag-sudan,
 
.flag-sd,
 
.flag-sdn {
 
    background-image: url("img/png/sd.png");
 
}
 

	
 
.flag-sweden,
 
.flag-se,
 
.flag-swe {
 
    background-image: url("img/png/se.png");
 
}
 

	
 
.flag-singapore,
 
.flag-sg,
 
.flag-sgp {
 
    background-image: url("img/png/sg.png");
 
}
 

	
 
.flag-ascension-and-tristan-da-cunha-saint-helena,
 
.flag-sh,
 
.flag-shn {
 
    background-image: url("img/png/sh.png");
 
}
 

	
 
.flag-slovenia,
 
.flag-si
 
.flag-svn {
 
    background-image: url("img/png/si.png");
 
}
 

	
 
.flag-svalbard-and-jan-mayen,
 
.flag-sj
 
.flag-sjm {
 
    background-image: url("img/png/sj.png");
 
}
 

	
 
.flag-slovakia,
 
.flag-sk,
 
.flag-svk {
 
    background-image: url("img/png/sk.png");
 
}
 

	
 
.flag-sierra-leone,
 
.flag-sl,
 
.flag-sle {
 
    background-image: url("img/png/sl.png");
 
}
 

	
 
.flag-san-marino,
 
.flag-sm,
 
.flag-smr {
 
    background-image: url("img/png/sm.png");
 
}
 

	
 
.flag-senegal,
 
.flag-sn,
 
.flag-sen {
 
    background-image: url("img/png/sn.png");
 
}
 

	
 
.flag-somalia,
 
.flag-so,
 
.flag-som {
 
    background-image: url("img/png/so.png");
 
}
 

	
 
.flag-suriname,
 
.flag-sr,
 
.flag-sur {
 
    background-image: url("img/png/sr.png");
 
}
 

	
 
.flag-south-sudan,
 
.flag-ss,
 
.flag-ssd {
 
    background-image: url("img/png/ss.png");
 
}
 

	
 
.flag-sao-tome-and-principe,
 
.flag-st,
 
.flag-stp {
 
    background-image: url("img/png/st.png");
 
}
 

	
 
.flag-el-salvador,
 
.flag-sv
 
.flag-slv {
 
    background-image: url("img/png/sv.png");
 
}
 

	
 
.flag-sint-maarten,
 
.flag-sx,
 
.flag-sxm {
 
    background-image: url("img/png/sx.png");
 
}
 

	
 
.flag-syrian-arab-republic,
 
.flag-syria,
 
.flag-sy,
 
.flag-syr {
 
    background-image: url("img/png/sy.png");
 
}
 

	
 
.flag-swaziland,
 
.flag-sz,
 
.flag-swz {
 
    background-image: url("img/png/sz.png");
 
}
 

	
 
.flag-turks-and-caicos-islands,
 
.flag-tc,
 
.flag-tca {
 
    background-image: url("img/png/tc.png");
 
}
 

	
 
.flag-chad,
 
.flag-td,
 
.flag-tcd {
 
    background-image: url("img/png/td.png");
 
}
 

	
 
.flag-french-southern-territories,
 
.flag-tf,
 
.flag-atf {
 
    background-image: url("img/png/tf.png");
 
}
 

	
 
.flag-togo,
 
.flag-tg,
 
.flag-tgo {
 
    background-image: url("img/png/tg.png");
 
}
 

	
 
.flag-thailand,
 
.flag-th,
 
.flag-tha {
 
    background-image: url("img/png/th.png");
 
}
 

	
 
.flag-tajikistan,
 
.flag-tj,
 
.flag-tjk {
 
    background-image: url("img/png/tj.png");
 
}
 

	
 
.flag-tokelau,
 
.flag-tk,
 
.flag-tkl {
 
    background-image: url("img/png/tk.png");
 
}
 

	
 
.flag-timor-leste,
 
.flag-tl,
 
.flag-tls{
 
    background-image: url("img/png/tl.png");
 
}
 

	
 
.flag-turkmenistan,
 
.flag-tm,
 
.flag-tkm {
 
    background-image: url("img/png/tm.png");
 
}
 

	
 
.flag-tunisia,
 
.flag-tn,
 
.flag-tun {
 
    background-image: url("img/png/tn.png");
 
}
 

	
 
.flag-tonga,
 
.flag-to,
 
.flag-ton {
 
    background-image: url("img/png/to.png");
 
}
 

	
 
.flag-turkey,
 
.flag-tr,
 
.flag-tur {
 
    background-image: url("img/png/tr.png");
 
}
 

	
 
.flag-trinidad-and-tobago,
 
.flag-tt,
 
.flag-tto {
 
    background-image: url("img/png/tt.png");
 
}
 

	
 
.flag-tuvalu,
 
.flag-tv,
 
.flag-tuv {
 
    background-image: url("img/png/tv.png");
 
}
 

	
 
.flag-taiwan,
 
.flag-taiwan-province-of-china,
 
.flag-tw,
 
.flag-twn {
 
    background-image: url("img/png/tw.png");
 
}
 

	
 
.flag-tanzania,
 
.flag-united-republic-of-tanzania,
 
.flag-tz,
 
.flag-tza {
 
    background-image: url("img/png/tz.png");
 
}
 

	
 
.flag-ukraine,
 
.flag-ua,
 
.flag-ukr {
 
    background-image: url("img/png/ua.png");
 
}
 

	
 
.flag-uganda,
 
.flag-ug,
 
.flag-uga {
 
    background-image: url("img/png/ug.png");
 
}
 

	
 
.flag-united-states-minor-outlying-islands,
 
.flag-um,
 
.flag-umi {
 
    background-image: url("img/png/um.png");
 
}
 

	
 
.flag-united-states,
 
.flag-united-states-of-america,
 
.flag-us,
 
.flag-usa {
 
    background-image: url("img/png/us.png");
 
}
 

	
 
.flag-uruguay,
 
.flag-uy,
 
.flag-ury {
 
    background-image: url("img/png/uy.png");
 
}
 

	
 
.flag-uzbekistan,
 
.flag-uz,
 
.flag-uzb {
 
    background-image: url("img/png/uz.png");
 
}
 

	
 
.flag-holy-see,
 
.flag-vatican,
 
.flag-holy-see-vatican-city-state,
 
.flag-vatican-city-state,
 
.flag-va,
 
.flag-vat {
 
    background-image: url("img/png/va.png");
 
}
 

	
 
.flag-saint-vincent-and-the-grenadines,
 
.flag-vc,
 
.flag-vct {
 
    background-image: url("img/png/vc.png");
 
}
 

	
 
.flag-venezuela,
 
.flag-bolivarian-republic-of-venezuela,
 
.flag-ve,
 
.flag-ven {
 
    background-image: url("img/png/ve.png");
 
}
 

	
 
.flag-biritsh-virgin-islands,
 
.flag-vg,
 
.flag-vgb {
 
    background-image: url("img/png/vg.png");
 
}
 

	
 
.flag-us-virgin-islands,
 
.flag-vi,
 
.flag-vir {
 
    background-image: url("img/png/vi.png");
 
}
 

	
 
.flag-vietnam,
 
.flag-viet-nam,
 
.flag-vn,
 
.flag-vnm {
 
    background-image: url("img/png/vn.png");
 
}
 

	
 
.flag-vanuatu,
 
.flag-vu,
 
.flag-vut {
 
    background-image: url("img/png/vu.png");
 
}
 

	
 
.flag-wallis-and-futuna,
 
.flag-wf,
 
.flag-wlf {
 
    background-image: url("img/png/wf.png");
 
}
 

	
 
.flag-samoa,
 
.flag-ws,
 
.flag-wsm {
 
    background-image: url("img/png/ws.png");
 
}
 

	
 
.flag-yemem,
 
.flag-ye,
 
.flag-yem {
 
    background-image: url("img/png/ye.png");
 
}
 

	
 
.flag-mayotte,
 
.flag-yt,
 
.flag-myt {
 
    background-image: url("img/png/yt.png");
 
}
 

	
 
.flag-south-africa,
 
.flag-za,
 
.flag-zaf {
 
    background-image: url("img/png/za.png");
 
}
 

	
 
.flag-zambia,
 
.flag-zm,
 
.flag-zmb {
 
    background-image: url("img/png/zm.png");
 
}
 

	
 
.flag-zimbabwe,
 
.flag-zw,
 
.flag-zwe {
 
    background-image: url("img/png/zw.png");
 
}
 

	
 
.flag-catalonia,
 
.flat-cat {
 
    background-image: url("img/png/catalonia.png");
 
}
 

	
 
.flag-england
 
.flag-en {
 
    background-image: url("img/png/england.png");
 
}
 

	
 
.flag-european-union,
 
.flag-eu,
 
.flag-europe {
 
    background-image: url("img/png/europeanunion.png");
 
}
 

	
 
.flag-scotland {
 
    background-image: url("img/png/scotland.png");
 
}
 

	
 
.flag-wales {
 
    background-image: url("img/png/wales.png");
 
}
ennstatus/static/css/flags/flags.png.min.css
Show inline comments
 
new file 100644
 
[class^="flag-"],[class*=" flag-"]{display:inline-block;width:16px;height:11px;margin-top:1px;*margin-right:.3em;line-height:16px;vertical-align:baseline;background-repeat:no-repeat}.flag-andorra,.flag-ad,.flag-and{background-image:url("img/png/ad.png")}.flag-united-arab-emirates,.flag-ae,.flag-are{background-image:url("img/png/ae.png")}.flag-afghanistan,.flag-af,.flag-afg{background-image:url("img/png/af.png")}.flag-antigua-and-barbuda,.flag-ag,.flag-atg{background-image:url("img/png/ag.png")}.flag-anguilla,.flag-ai,.flag-aia{background-image:url("img/png/ai.png")}.flag-albania,.flag-al,.flag-alb{background-image:url("img/png/al.png")}.flag-armenia,.flag-am,.flag-arm{background-image:url("img/png/am.png")}.flag-angola,.flag-ao,.flag-ago{background-image:url("img/png/ao.png")}.flag-antarctica,.flag-aq,.flag-ata{background-image:url("img/png/aq.png")}.flag-argentina,.flag-ar,.flag-arg{background-image:url("img/png/ar.png")}.flag-american-samoa,.flag-as,.flag-asm{background-image:url("img/png/as.png")}.flag-austria,.flag-at,.flag-aut{background-image:url("img/png/at.png")}.flag-australia,.flag-au,.flag-aus{background-image:url("img/png/au.png")}.flag-aruba,.flag-aw,.flag-abw{background-image:url("img/png/aw.png")}.flag-aland-islands,.flag-ax,.flag-ala{background-image:url("img/png/ax.png")}.flag-azerbaijan,.flag-az,.flag-aze{background-image:url("img/png/az.png")}.flag-bosnia-and-herzegovina,.flag-ba,.flag-bih{background-image:url("img/png/ba.png")}.flag-barbados,.flag-bb,.flag-brb{background-image:url("img/png/bb.png")}.flag-bangladesh,.flag-bd,.flag-bgd{background-image:url("img/png/bd.png")}.flag-belgium,.flag-be,.flag-bel{background-image:url("img/png/be.png")}.flag-burkina-faso,.flag-bf,.flag-bfa{background-image:url("img/png/bf.png")}.flag-bulgaria,.flag-bg,.flag-bgr{background-image:url("img/png/bg.png")}.flag-bahrain,.flag-bh,.flag-bhr{background-image:url("img/png/bh.png")}.flag-burundi,.flag-bi,.flag-bdi{background-image:url("img/png/bi.png")}.flag-benin,.flag-bj,.flag-ben{background-image:url("img/png/bj.png")}.flag-saint-barthelemy,.flag-bl,.flag-blm{background-image:url("img/png/bl.png")}.flag-bermuda,.flag-bm,.flag-bmu{background-image:url("img/png/bm.png")}.flag-brunei-darussalam,.flag-brunei,.flag-bn,.flag-brn{background-image:url("img/png/bn.png")}.flag-bolivia,.flag-plurinational-state-of-bolivia,.flag-bo,.flag-bol{background-image:url("img/png/bo.png")}.flag-bonaire-sint-eustatius-and-saba,.flag-bq,.flag-bes{background-image:url("img/png/bq.png")}.flag-brazil,.flag-br,.flag-bra{background-image:url("img/png/br.png")}.flag-bahamas,.flag-bs,.flag-bhs{background-image:url("img/png/bs.png")}.flag-bhutan,.flag-bt,.flag-btn{background-image:url("img/png/bt.png")}.flag-bouvet-island,.flag-bv,.flag-bvt{background-image:url("img/png/bv.png")}.flag-botswana,.flag-bw,.flag-bwa{background-image:url("img/png/bw.png")}.flag-belarus,.flag-by,.flag-blr{background-image:url("img/png/by.png")}.flag-beliza,.flag-bz,.flag-blz{background-image:url("img/png/bz.png")}.flag-canada,.flag-ca,.flag-can{background-image:url("img/png/ca.png")}.flag-cocos-islands,.flag-cc,.flag-cck{background-image:url("img/png/cc.png")}.flag-democratic-republic-of-the-congo,.flag-cd,.flag-cod{background-image:url("img/png/cd.png")}.flag-central-african-republic,.flag-cf,.flag-caf{background-image:url("img/png/cf.png")}.flag-congo,.flag-cg,.flag-cog{background-image:url("img/png/cg.png")}.flag-switzerland,.flag-ch,.flag-che{width:11px;background-image:url("img/png/ch.png")}.flag-cote-divoire,.flag-ci,.flag-civ{background-image:url("img/png/ci.png")}.flag-cook-islands,.flag-ck,.flag-cok{background-image:url("img/png/ck.png")}.flag-chile,.flag-cl,.flag-chl{background-image:url("img/png/cl.png")}.flag-cameroon,.flag-cm,.flag-cmr{background-image:url("img/png/cm.png")}.flag-china,.flag-cn,.flag-chn{background-image:url("img/png/cn.png")}.flag-colombia,.flag-co,.flag-col{background-image:url("img/png/co.png")}.flag-costa-rica,.flag-cr,.flag-cri{background-image:url("img/png/cr.png")}.flag-cuba,.flag-cu,.flag-cub{background-image:url("img/png/cu.png")}.flag-cape-verde,.flag-cv,.flag-cpv{background-image:url("img/png/cv.png")}.flag-curacao,.flag-cw,.flag-cuw{background-image:url("img/png/cw.png")}.flag-christmas-island,.flag-cx,.falg-cxr{background-image:url("img/png/cx.png")}.flag-cyprus,.flag-cy,.flag-cyp{background-image:url("img/png/cy.png")}.flag-czech-republic,.flag-cz,.flag-cze{background-image:url("img/png/cz.png")}.flag-germany,.flag-de,.flag-deu{background-image:url("img/png/de.png")}.flag-djibouti,.flag-dj,.flag-dji{background-image:url("img/png/dj.png")}.flag-denmark,.flag-dk,.flag-dnk{background-image:url("img/png/dk.png")}.flag-dominica,.flag-dm,.flag-dma{background-image:url("img/png/dm.png")}.flag-dominican-republic,.flag-do,.flag-dom{background-image:url("img/png/do.png")}.flag-algeria,.flag-dz,.flag-dza{background-image:url("img/png/dz.png")}.flag-ecuador,.flag-ec,.flag-ecu{background-image:url("img/png/ec.png")}.flag-estonia,.flag-ee,.flag-est{background-image:url("img/png/ee.png")}.flag-egypt,.flag-eg,.flag-egy{background-image:url("img/png/eg.png")}.flag-western-sahara,.flag-eh,.flag-esh{background-image:url("img/png/eh.png")}.flag-eritrea,.flag-er,.flag-eri{background-image:url("img/png/er.png")}.flag-spain,.flag-es,.flag-esp{background-image:url("img/png/es.png")}.flag-ethiopia,.flag-et,.flag-eth{background-image:url("img/png/et.png")}.flag-finland,.flag-fi,.flag-fin{background-image:url("img/png/fi.png")}.flag-fiji,.flag-fj,.flag-fji{background-image:url("img/png/fj.png")}.flag-falkland-islands,.flag-fk,.flag-flk{background-image:url("img/png/fk.png")}.flag-federated-states-of-micronesia,.flag-fm,.flag-fsm{background-image:url("img/png/fm.png")}.flag-faroe-islands,.flag-fo,.flag-fro{background-image:url("img/png/fo.png")}.flag-france,.flag-fr,.flag-fra{background-image:url("img/png/fr.png")}.flag-gabon,.flag-ga,.flag-gab{background-image:url("img/png/ga.png")}.flag-united-kingdom,.flag-great-britain,.flag-united-kingdom-of-great-britain-and-northern-ireland,.flag-gb,.flag-uk,.flag-gbr{background-image:url("img/png/gb.png")}.flag-grenada,.flag-gd,.flag-grd{background-image:url("img/png/gd.png")}.flag-georgia,.flag-ge,.flag-geo{background-image:url("img/png/ge.png")}.flag-french-guiana,.flag-gf,.flag-guf{background-image:url("img/png/gf.png")}.flag-guernsey,.flag-gg,.flag-ggy{background-image:url("img/png/gg.png")}.flag-ghana,.flag-gh,.flag-gha{background-image:url("img/png/gh.png")}.flag-gibraltar,.flag-gi,.flag-gib{background-image:url("img/png/gi.png")}.flag-greenland,.flag-gl,.flag-grl{background-image:url("img/png/gl.png")}.flag-gambia,.flag-gm,.flag-gmb{background-image:url("img/png/gm.png")}.flag-guinea,.flag-gn,.flag-gin{background-image:url("img/png/gn.png")}.flag-guadeloupe,.flag-gp,.flag-glp{background-image:url("img/png/gp.png")}.flag-equatorial-guinea,.flag-gq,.flag-gnq{background-image:url("img/png/gq.png")}.flag-greece,.flag-gr,.flag-grc{background-image:url("img/png/gr.png")}.flag-south-georgia-and-the-south-sandwich-islands,.flag-gs,.flag-sgs{background-image:url("img/png/gs.png")}.flag-guatemala,.flag-gt,.flag-gtm{background-image:url("img/png/gt.png")}.flag-guam,.flag-gu,.flag-gum{background-image:url("img/png/gu.png")}.flag-guinea-bissau,.flag-gw,.flag-gnb{background-image:url("img/png/gw.png")}.flag-guyana,.flag-gy,.flag-guy{background-image:url("img/png/gy.png")}.flag-hong-kong,.flag-hk,.flag-hkg{background-image:url("img/png/hk.png")}.flag-heard-island-and-mcdonald-islands,.flag-hm,.flag-hmd{background-image:url("img/png/hm.png")}.flag-honduras,.flag-hn,.flag-hnd{background-image:url("img/png/hn.png")}.flag-croatia,.flag-hr,.flag-hrv{background-image:url("img/png/hr.png")}.flag-haiti,.flag-ht,.flag-hti{background-image:url("img/png/ht.png")}.flag-hungary,.flag-hu,.flag-hun{background-image:url("img/png/hu.png")}.flag-indonesia,.flag-id,.flag-idn{background-image:url("img/png/id.png")}.flag-ireland,.flag-ie,.flag-irl{background-image:url("img/png/ie.png")}.flag-israel,.flag-il,.flag-isr{background-image:url("img/png/il.png")}.flag-isle-of-man,.flag-im,.flag-imn{background-image:url("img/png/im.png")}.flag-india,.flag-in,.flag-ind{background-image:url("img/png/in.png")}.flag-british-indian-ocean-territory,.flag-io,.flag-iot{background-image:url("img/png/io.png")}.flag-iraq,.flag-iq,.flag-irq{background-image:url("img/png/iq.png")}.flag-islamic-republic-of-iran,.flag-iran,.flag-ir,.flag-irn{background-image:url("img/png/ir.png")}.flag-iceland,.flag-is,.flag-isl{background-image:url("img/png/is.png")}.flag-italy,.flag-it,.flag-ita{background-image:url("img/png/it.png")}.flag-jersey,.flag-je,.flag-jey{background-image:url("img/png/je.png")}.flag-jamaica,.flag-jm,.flag-jam{background-image:url("img/png/jm.png")}.flag-jordan,.flag-jo,.flag-jor{background-image:url("img/png/jo.png")}.flag-japan,.flag-jp,.flag-jpn{background-image:url("img/png/jp.png")}.flag-kenya,.flag-ke,.flag-ken{background-image:url("img/png/ke.png")}.flag-kyrgyzstan,.flag-kg,.flag-kgz{background-image:url("img/png/kg.png")}.flag-cambodia,.flag-kh,.flag-khm{background-image:url("img/png/kh.png")}.flag-kiribati,.flag-ki,.flag-kir{background-image:url("img/png/ki.png")}.flag-comoros,.flag-km,.flag-com{background-image:url("img/png/km.png")}.flag-saint-kitts-and-nevis,.flag-kn,.flag-kna{background-image:url("img/png/kn.png")}.flag-democratic-peoples-republic-of-korea,.flag-north-korea,.flag-kp,.flag-pbk{background-image:url("img/png/kp.png")}.flag-republic-of-korea,.flag-south-korea,.flag-kr,.flag-kor{background-image:url("img/png/kr.png")}.flag-kuwait,.flag-kw,.flag-kwt{background-image:url("img/png/kw.png")}.flag-cayman-islands,.flag-ky,.flag-cym{background-image:url("img/png/ky.png")}.flag-kazakhstan,.flag-kz,.flag-kaz{background-image:url("img/png/kz.png")}.flag-lao-peoples-democratic-republic,.flag-laos,.flag-la,.flag-lao{background-image:url("img/png/la.png")}.flag-lebanon,.flag-lb,.flag-lbn{background-image:url("img/png/lb.png")}.flag-saint-lucia,.flag-lc,.flag-lca{background-image:url("img/png/lb.png")}.flag-liechtenstein,.flag-li,.flag-lie{background-image:url("img/png/li.png")}.flag-sri-lanka,.flag-lk,.flag-lka{background-image:url("img/png/lk.png")}.flag-liberia,.flag-lr,.flag-lbr{background-image:url("img/png/lr.png")}.flag-lesotho,.flag-ls,.flag-lso{background-image:url("img/png/ls.png")}.flag-lithuania,.flag-lt,.flag-ltu{background-image:url("img/png/lt.png")}.flag-luxembourg,.flag-lu,.flag-lux{background-image:url("img/png/lu.png")}.flag-latvia,.flag-lv,.flag-lva{background-image:url("img/png/lu.png")}.flag-libya,.flag-ly,.flag-lby{background-image:url("img/png/ly.png")}.flag-morocco,.flag-ma,.flag-mar{background-image:url("img/png/ma.png")}.flag-monaco,.flag-mc,.flag-mco{background-image:url("img/png/mc.png")}.flag-republic-of-moldova,.flag-moldova,.flag-md,.flag-mda{background-image:url("img/png/md.png")}.flag-montenegro,.flag-me,.flag-mne{background-image:url("img/png/me.png");height:12px}.flag-saint-martin,.flag-mf,.flag-maf{background-image:url("img/png/mf.png")}.flag-madagascar,.flag-mg,.flag-mdg{background-image:url("img/png/mg.png")}.flag-marshall-islands,.flag-mh,.flag-mhl{background-image:url("img/png/mh.png")}.flag-macedonia,.flag-former-yugoslav-republic-of-macedonia,.flag-republic-of-macedonia,.flag-mk,.flag-mkd{background-image:url("img/png/mk.png")}.flag-mali,.flag-ml,.flag-mli{background-image:url("img/png/ml.png")}.flag-myanmar,.flag-mm,.flag-mmr{background-image:url("img/png/mm.png")}.flag-mongolia,.flag-mn,.flag-mng{background-image:url("img/png/mn.png")}.flag-macao,.flag-mo,.flag-mac{background-image:url("img/png/mo.png")}.flag-northern-mariana-islands,.flag-mp,.flag-mnp{background-image:url("img/png/mp.png")}.flag-martinique,.flag-mq,.flag-mtq{background-image:url("img/png/mq.png")}.flag-mauritania,.flag-mr,.flag-mrt{background-image:url("img/png/mr.png")}.flag-montserrat,.flag-ms,.flag-msr{background-image:url("img/png/ms.png")}.flag-malta,.flag-mt,.flag-mlt{background-image:url("img/png/mt.png")}.flag-mauritius,.flag-mu,.flag-mus{background-image:url("img/png/mu.png")}.flag-maldives,.flag-mv,.flag-mdv{background-image:url("img/png/mv.png")}.flag-malawi,.flag-mw,.flag-mwi{background-image:url("img/png/mw.png")}.flag-mexico,.flag-mx,.flag-mex{background-image:url("img/png/mx.png")}.flag-malaysia,.flag-my,.flag-mys{background-image:url("img/png/my.png")}.flag-mozambique,.flag-mz,.flag-mz{background-image:url("img/png/mz.png")}.flag-namibia,.flag-na,.flag-nam{background-image:url("img/png/na.png")}.flag-new-caledonia,.flag-nc,.flag-ncl{background-image:url("img/png/nc.png")}.flag-niger,.flag-ne,.flag-ner{background-image:url("img/png/ne.png")}.flag-norfolk-island,.flag-nf,.flag-nfk{background-image:url("img/png/nf.png")}.flag-nigeria,.flag-ng,.flag-nga{background-image:url("img/png/ng.png")}.flag-nicaragua,.flag-ni,.flag-nic{background-image:url("img/png/ni.png")}.flag-netherlands,.flag-nl,.flag-nld{background-image:url("img/png/nl.png")}.flag-norway,.flag-no,.flag-nor{background-image:url("img/png/no.png")}.flag-nepal,.flag-np,.flag-npl{background-image:url("img/png/np.png");width:9px}.flag-nauru,.flag-nr,.flag-nru{background-image:url("img/png/nr.png")}.flag-niue,.flag-nu,.flag-niu{background-image:url("img/png/nu.png")}.flag-new-zealand,.flag-nz,.flag-nzl{background-image:url("img/png/nz.png")}.flag-oman,.flag-om,.flag-omn{background-image:url("img/png/om.png")}.flag-panama,.flag-pa,.flag-pan{background-image:url("img/png/pa.png")}.flag-peru,.flag-pe,.flag-per{background-image:url("img/png/pe.png")}.flag-french-polynesia,.flag-pf,.flag-pyf{background-image:url("img/png/pf.png")}.flag-papua-new-guinea,.flag-pg,.flag-png{background-image:url("img/png/pg.png")}.flag-philippines,.flag-ph,.flag-phl{background-image:url("img/png/ph.png")}.flag-pakistan,.flag-pk,.flag-pak{background-image:url("img/png/pk.png")}.flag-poland,.flag-pl,.flag-pol{background-image:url("img/png/pl.png")}.flag-saint-pierre-and-miquelong,.flag-pm,.flag-spm{background-image:url("img/png/pm.png")}.flag-pitcairn,.flag-pn,.flag-pcn{background-image:url("img/png/pn.png")}.flag-puerto-rico,.flag-pr,.flag-pri{background-image:url("img/png/pr.png")}.flag-state-of-palestine,.flag-ps,.flag-pse{background-image:url("img/png/ps.png")}.flag-portugal,.flag-pt,.flag-prt{background-image:url("img/png/pt.png")}.flag-palau,.flag-pw,.flag-plw{background-image:url("img/png/pw.png")}.flag-paraguay .flag-py,.flag-pry{background-image:url("img/png/py.png")}.flag-qatar,.flag-qa,.flag-qat{background-image:url("img/png/qa.png")}.flag-reunion,.flag-re,.flag-reu{background-image:url("img/png/re.png")}.flag-romania,.flag-ro,.flag-rou{background-image:url("img/png/ro.png")}.flag-serbia,.flag-rs,.flag-srb{background-image:url("img/png/rs.png")}.flag-russia,.flag-russian-federation,.flag-ru,.flag-rus{background-image:url("img/png/ru.png")}.flag-rwanda,.flag-rw,.flag-rwa{background-image:url("img/png/rw.png")}.flag-saudia-arabia,.flag-sa,.flag-sau{background-image:url("img/png/sa.png")}.flag-solomon-islands,.flag-sb,.flag-slb{background-image:url("img/png/sb.png")}.flag-seychelles,.flag-sc,.flag-syc{background-image:url("img/png/sc.png")}.flag-sudan,.flag-sd,.flag-sdn{background-image:url("img/png/sd.png")}.flag-sweden,.flag-se,.flag-swe{background-image:url("img/png/se.png")}.flag-singapore,.flag-sg,.flag-sgp{background-image:url("img/png/sg.png")}.flag-ascension-and-tristan-da-cunha-saint-helena,.flag-sh,.flag-shn{background-image:url("img/png/sh.png")}.flag-slovenia,.flag-si .flag-svn{background-image:url("img/png/si.png")}.flag-svalbard-and-jan-mayen,.flag-sj .flag-sjm{background-image:url("img/png/sj.png")}.flag-slovakia,.flag-sk,.flag-svk{background-image:url("img/png/sk.png")}.flag-sierra-leone,.flag-sl,.flag-sle{background-image:url("img/png/sl.png")}.flag-san-marino,.flag-sm,.flag-smr{background-image:url("img/png/sm.png")}.flag-senegal,.flag-sn,.flag-sen{background-image:url("img/png/sn.png")}.flag-somalia,.flag-so,.flag-som{background-image:url("img/png/so.png")}.flag-suriname,.flag-sr,.flag-sur{background-image:url("img/png/sr.png")}.flag-south-sudan,.flag-ss,.flag-ssd{background-image:url("img/png/ss.png")}.flag-sao-tome-and-principe,.flag-st,.flag-stp{background-image:url("img/png/st.png")}.flag-el-salvador,.flag-sv .flag-slv{background-image:url("img/png/sv.png")}.flag-sint-maarten,.flag-sx,.flag-sxm{background-image:url("img/png/sx.png")}.flag-syrian-arab-republic,.flag-syria,.flag-sy,.flag-syr{background-image:url("img/png/sy.png")}.flag-swaziland,.flag-sz,.flag-swz{background-image:url("img/png/sz.png")}.flag-turks-and-caicos-islands,.flag-tc,.flag-tca{background-image:url("img/png/tc.png")}.flag-chad,.flag-td,.flag-tcd{background-image:url("img/png/td.png")}.flag-french-southern-territories,.flag-tf,.flag-atf{background-image:url("img/png/tf.png")}.flag-togo,.flag-tg,.flag-tgo{background-image:url("img/png/tg.png")}.flag-thailand,.flag-th,.flag-tha{background-image:url("img/png/th.png")}.flag-tajikistan,.flag-tj,.flag-tjk{background-image:url("img/png/tj.png")}.flag-tokelau,.flag-tk,.flag-tkl{background-image:url("img/png/tk.png")}.flag-timor-leste,.flag-tl,.flag-tls{background-image:url("img/png/tl.png")}.flag-turkmenistan,.flag-tm,.flag-tkm{background-image:url("img/png/tm.png")}.flag-tunisia,.flag-tn,.flag-tun{background-image:url("img/png/tn.png")}.flag-tonga,.flag-to,.flag-ton{background-image:url("img/png/to.png")}.flag-turkey,.flag-tr,.flag-tur{background-image:url("img/png/tr.png")}.flag-trinidad-and-tobago,.flag-tt,.flag-tto{background-image:url("img/png/tt.png")}.flag-tuvalu,.flag-tv,.flag-tuv{background-image:url("img/png/tv.png")}.flag-taiwan,.flag-taiwan-province-of-china,.flag-tw,.flag-twn{background-image:url("img/png/tw.png")}.flag-tanzania,.flag-united-republic-of-tanzania,.flag-tz,.flag-tza{background-image:url("img/png/tz.png")}.flag-ukraine,.flag-ua,.flag-ukr{background-image:url("img/png/ua.png")}.flag-uganda,.flag-ug,.flag-uga{background-image:url("img/png/ug.png")}.flag-united-states-minor-outlying-islands,.flag-um,.flag-umi{background-image:url("img/png/um.png")}.flag-united-states,.flag-united-states-of-america,.flag-us,.flag-usa{background-image:url("img/png/us.png")}.flag-uruguay,.flag-uy,.flag-ury{background-image:url("img/png/uy.png")}.flag-uzbekistan,.flag-uz,.flag-uzb{background-image:url("img/png/uz.png")}.flag-holy-see,.flag-vatican,.flag-holy-see-vatican-city-state,.flag-vatican-city-state,.flag-va,.flag-vat{background-image:url("img/png/va.png")}.flag-saint-vincent-and-the-grenadines,.flag-vc,.flag-vct{background-image:url("img/png/vc.png")}.flag-venezuela,.flag-bolivarian-republic-of-venezuela,.flag-ve,.flag-ven{background-image:url("img/png/ve.png")}.flag-biritsh-virgin-islands,.flag-vg,.flag-vgb{background-image:url("img/png/vg.png")}.flag-us-virgin-islands,.flag-vi,.flag-vir{background-image:url("img/png/vi.png")}.flag-vietnam,.flag-viet-nam,.flag-vn,.flag-vnm{background-image:url("img/png/vn.png")}.flag-vanuatu,.flag-vu,.flag-vut{background-image:url("img/png/vu.png")}.flag-wallis-and-futuna,.flag-wf,.flag-wlf{background-image:url("img/png/wf.png")}.flag-samoa,.flag-ws,.flag-wsm{background-image:url("img/png/ws.png")}.flag-yemem,.flag-ye,.flag-yem{background-image:url("img/png/ye.png")}.flag-mayotte,.flag-yt,.flag-myt{background-image:url("img/png/yt.png")}.flag-south-africa,.flag-za,.flag-zaf{background-image:url("img/png/za.png")}.flag-zambia,.flag-zm,.flag-zmb{background-image:url("img/png/zm.png")}.flag-zimbabwe,.flag-zw,.flag-zwe{background-image:url("img/png/zw.png")}.flag-catalonia,.flat-cat{background-image:url("img/png/catalonia.png")}.flag-england .flag-en{background-image:url("img/png/england.png")}.flag-european-union,.flag-eu,.flag-europe{background-image:url("img/png/europeanunion.png")}.flag-scotland{background-image:url("img/png/scotland.png")}.flag-wales{background-image:url("img/png/wales.png")}
ennstatus/static/css/flags/img/gif/ad.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ae.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/af.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ag.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ai.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/al.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/am.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/an.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ao.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ar.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/as.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/at.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/au.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/aw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ax.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/az.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ba.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bb.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bd.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/be.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bi.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bj.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bo.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/br.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bs.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/by.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/bz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ca.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/catalonia.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cd.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ch.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ci.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ck.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/co.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cs.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cx.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cy.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/cz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/de.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/dj.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/dk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/dm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/do.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/dz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ec.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ee.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/eg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/eh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/england.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/er.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/es.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/et.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/europeanunion.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fam.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fi.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fj.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fo.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/fr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ga.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gb.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gd.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ge.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gi.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gp.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gq.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gs.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/gy.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/hk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/hm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/hn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/hr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ht.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/hu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/id.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ie.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/il.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/in.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/io.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/iq.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ir.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/is.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/it.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/jm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/jo.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/jp.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ke.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ki.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/km.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kp.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ky.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/kz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/la.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lb.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/li.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ls.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/lv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ly.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ma.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/md.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/me.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ml.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mo.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mp.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mq.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ms.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mx.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/my.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/mz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/na.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ne.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ng.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ni.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/no.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/np.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/nz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/om.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pa.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pe.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ph.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ps.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/pw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/py.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/qa.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/re.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ro.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/rs.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ru.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/rw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sa.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sb.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/scotland.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sd.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/se.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sh.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/si.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sj.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/so.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/st.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sy.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/sz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/td.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/th.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tj.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tk.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tl.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/to.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tr.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tv.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/tz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ua.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ug.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/um.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/us.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/uy.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/uz.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/va.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/vc.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ve.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/vg.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/vi.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/vn.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/vu.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/wales.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/wf.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ws.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/ye.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/yt.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/za.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/zm.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/gif/zw.gif
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ad.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ae.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/af.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ag.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ai.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/al.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/am.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/an.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ao.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ar.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/as.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/at.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/au.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/aw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ax.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/az.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ba.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bb.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bd.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/be.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bi.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bj.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/br.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bs.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/by.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/bz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ca.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/catalonia.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cd.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ch.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ci.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ck.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/co.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cs.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cx.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cy.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/cz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/de.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/dj.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/dk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/dm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/do.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/dz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ec.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ee.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/eg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/eh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/england.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/er.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/es.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/et.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/europeanunion.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fam.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fi.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fj.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/fr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ga.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gb.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gd.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ge.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gi.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gp.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gq.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gs.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/gy.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/hk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/hm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/hn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/hr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ht.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/hu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/id.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ie.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/il.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/im.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/in.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/io.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/iq.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ir.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/is.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/it.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/jm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/jo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/jp.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ke.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ki.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/km.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kp.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ky.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/kz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/la.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lb.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/li.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ls.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/lv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ly.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ma.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/md.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/me.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ml.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mp.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mq.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ms.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mx.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/my.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/mz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/na.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ne.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ng.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ni.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/no.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/np.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/nz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/om.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pa.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pe.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ph.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ps.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/pw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/py.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/qa.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/re.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ro.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/rs.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ru.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/rw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sa.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sb.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/scotland.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sd.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/se.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sh.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/si.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sj.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/so.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/st.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sy.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/sz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/td.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/th.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tj.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tk.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tl.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/to.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tr.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tv.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/tz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ua.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ug.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/um.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/us.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/uy.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/uz.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/va.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/vc.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ve.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/vg.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/vi.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/vn.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/vu.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/wales.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/wf.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ws.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/ye.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/yt.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/za.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/zm.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/css/flags/img/png/zw.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/files/MembershipForm.pdf
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/static/images/Abuse.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/BitBucket_Logo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/BitCoin_Logo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Contact.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/FVDE_Logo_LQ.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Flattr_Logo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Objectives.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Partners.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/PayPal_Logo.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/QuestionMark.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Services.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/SnailMail.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Support.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Tor-onion-network.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/Twitter.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/WhoIs.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/WireTransfer.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/glyphicons-halflings-white.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/images/glyphicons-halflings.png
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
ennstatus/static/videos/Tor_Join_the_Network.webm
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/status/__init__.py
Show inline comments
 
new file 100644
ennstatus/status/__pycache__/__init__.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/status/__pycache__/functions.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/status/__pycache__/views.cpython-33.pyc
Show inline comments
 
new file 100644
 
binary diff not shown
ennstatus/status/functions.py
Show inline comments
 
new file 100644
 
import os
 
import os.path
 
import json
 

	
 

	
 
def _load_single_server(name):
 

	
 
    filename = ''.join(['data/', name, '.json'])
 
    try:
 
        with open(filename) as f:
 
            return ''.join(f.readlines())
 
    except IOError:
 
        return False
 

	
 

	
 
def single_server(name):
 

	
 
    server = _load_single_server(name)
 

	
 
    if server:
 
        try:
 
            return json.loads(server)
 
        except ValueError:
 
            return False
 
    else:
 
        return False
 

	
 

	
 
def _get_json_files(root, files):
 

	
 
    for f in files:
 
        if f.endswith('.json'):
 
            yield os.path.join(root, f)
 

	
 

	
 
def all_servers():
 

	
 
    for root, _, files in os.walk('data'):
 
        for f in _get_json_files(root, files):
 
            with open(f) as fb:
 
                try:
 
                    yield json.load(fb)
 
                except ValueError:
 
                    fb.close()
 
                    continue
 

	
 

	
 
def all_servers_by_type(type):
 

	
 
    for server in all_servers():
 
        if server['server_type'] == type:
 
            yield server
ennstatus/status/views.py
Show inline comments
 
new file 100644
 
from collections import defaultdict
 
from flask import Blueprint, render_template, current_app
 

	
 
from ennstatus.status.functions import (all_servers, all_servers_by_type,
 
                                        single_server)
 

	
 
status_page = Blueprint('status', __name__)
 

	
 

	
 
@status_page.route('/')
 
def index():
 
    current_app.logger.info('Handling status index!')
 
    servers = defaultdict(list)
 
    for server in all_servers():
 
        servers[server['server_type']].append(server)
 

	
 
    current_app.logger.info('Returning servers')
 
    return render_template('status/index.html', exit=servers['Exit'],
 
                           relay=servers['Relay'], bridge=servers['Bridge'])
 

	
 

	
 
@status_page.route('/exit')
 
def exit():
 
    servers = list(all_servers_by_type('Exit'))
 
    return render_template('status/index.html', exit=servers)
 

	
 

	
 
@status_page.route('/relay')
 
def relay():
 
    servers = list(all_servers_by_type('Relay'))
 
    return render_template('status/index.html', relay=servers)
 

	
 

	
 
@status_page.route('/bridge')
 
def bridge():
 
    servers = list(all_servers_by_type('Bridge'))
 
    return render_template('status/index.html', bridge=servers)
 

	
 

	
 
@status_page.route('/single/<server_name>')
 
def single(server_name):
 
    server = single_server(server_name.lower())
 
    kwargs = {server['server_type'].lower(): [server]}
 
    return render_template('status/index.html', **kwargs)
 

	
 

	
 
@status_page.route('/about')
 
def about():
 
    return render_template('status/about.html')
ennstatus/templates/api/extract/xml/network.xml
Show inline comments
 
new file 100644
 
<?xml version="1.0" encoding="UTF-8" ?>
 
<enn-network>
 
  {% for server in servers %}
 
    {%- include "api/extract/xml/server.xml" %}
 
  {% endfor %}
 
</enn-network>
ennstatus/templates/api/extract/xml/server.xml
Show inline comments
 
new file 100644
 
<server>
 
    <server_type>{{ server['server_type'] }}</server_type>
 
    <server_name>{{ server['server_name'] }}</server_name>
 
    <server_status>{{ server['server_status'] }}</server_status>
 
    <tor_status>{{ server['tor_status'] }}</tor_status>
 
    <country>{{ server['country'] }}</country>
 
    <last_updated>{{ server['last_updated'] }}</last_updated>
 
    <ip>{{ server['ip'] }}</ip>
 
    <fingerprint>{{ server['fingerprint'] }}</fingerprint>
 
    <obfs>{{ server['obfs'] }}</obfs>
 
  </server>
ennstatus/templates/api/extract/xml/single_server.xml
Show inline comments
 
new file 100644
 
<?xml version="1.0" encoding="UTF-8" ?>
 
{% include "api/extract/xml/server.xml" %}
ennstatus/templates/base.html
Show inline comments
 
new file 100644
 
{% extends "bootstrap/base.html" %}
 

	
 
{% block title %}
 
  Frënn vun der Ënn - {{ title }}
 
{% endblock %}
 

	
 
{% block metas %}
 
  {{ super() }}
 
  <meta charset="utf-8">
 
  <meta name="application-name" content="Ënnstatus">
 
  <meta name="author" content="Frënn vun der Ënn">
 
{% endblock %}
 

	
 
{% block styles %}
 
  {{ super() }}
 
  <link rel="stylesheet" href="{{ url_for('static', filename='css/ennstatus.css') }}" />
 
{% endblock %}
 

	
 
{% block body %}
 
<a href="#content" class="sr-only">Skip to main content</a>
 
<div class="container">
 
  {% block navbar %}
 
  <div class="navbar navbar-default">
 
    <div class="navbar-header">
 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
 
        <span class="icon-bar"></span>
 
        <span class="icon-bar"></span>
 
        <span class="icon-bar"></span>
 
      </button>
 
      <a class="navbar-brand" href="{{ url_for('root.index') }}">Enn.lu</a>
 
    </div>
 
    <div class="navbar-collapse collapse">
 
      <ul class="nav navbar-nav">
 
        <li>
 
          <a href="{{ url_for('root.about') }}">About</a>
 
        </li>
 
        <li>
 
          <a href="{{ url_for('root.services') }}">Services</a>
 
        </li>
 
        <li class="dropdown">
 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Donate <b class="caret"></b></a>
 
          <ul class="dropdown-menu">
 
            <li><a href="{{ url_for('donate.index') }}">Support us</a></li>
 
            <li><a href="{{ url_for('donate.wiretransfer') }}">Wiretransfer</a></li>
 
            <li><a href="{{ url_for('donate.snailmail') }}">Snailmail</a></li>
 
            <li><a href="{{ url_for('donate.paypal') }}">PayPal</a></li>
 
            <li><a href="{{ url_for('donate.bitcoin') }}">Bitcoin</a></li>
 
            <li><a href="{{ url_for('donate.flattr') }}">Flattr</a></li>
 
            <li class="divider"></li>
 
            <li><a href="{{ url_for('donate.received') }}">Received Donations</a></li>
 
          </ul>
 
        </li>
 
        <li>
 
          <a href="{{ url_for('root.partners') }}">Partners</a>
 
        </li>
 
        <li>
 
          <a href="{{ url_for('root.contact') }}">Contact</a>
 
        </li>
 
        <li>
 
          <a href="{{ url_for('root.abuse') }}">Abuse</a>
 
        </li>
 
        <li>
 
          <a href="http://wiki.enn.lu">Wiki</a>
 
        </li>
 
        <li class="dropdown">
 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">Servers <b class="caret"></b></a>
 
          <ul class="dropdown-menu">
 
            <li><a href="{{ url_for('status.index') }}">All nodes</a></li>
 
            <li><a href="{{ url_for('status.exit') }}">Exit nodes</a></li>
 
            <li><a href="{{ url_for('status.relay') }}">Relay nodes</a></li>
 
            <li><a href="{{ url_for('status.bridge') }}">Bridge nodes</a></li>
 
            <li class="divider"></li>
 
            <li><a href="{{ url_for('status.about') }}">Ënnstatus About</a></li>
 
          </ul>
 
        </li>
 
        <li>
 
          <a href="http://stats.enn.lu">Statistics</a>
 
        </li>
 
      </ul>
 
    </div>
 
  </div>
 
  {% endblock %}
 
  <div class="row" id="content">
 
  {% block content %}
 
  {% endblock %}
 
  </div>
 
  <footer>
 
    <hr style="margin-bottom: 0.5%;">
 
    <div class="col-md-12">
 
      <a href="https://twítter.com/FrennVunDerEnn/" target="_blank"><img src="{{ url_for('static', filename='images/Twitter.png') }}" width="45" height="45"></img></a>
 
      <a class="pull-right" rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" /></a>
 
    </div>
 
    <div class="col-md-12 text-center" style="margin-top: 0.5%; margin-bottom: 0.5%;">
 
      <a href="{{ url_for('root.disclaimer') }}">Disclaimer</a>
 
    </div>
 
  </footer>
 
</div>
 

	
 
{% block scripts %}
 
  {{ super() }}
 
{% endblock %} 
 

	
 
{% endblock %}
ennstatus/templates/donate/bitcoin.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate - Bitcoin" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/BitCoin_Logo.png') }}" class="img-rounded" alt="WhoIs" width="160"></img>
 
    <h2>Bitcoin</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>This may be the purest form of democracy the world has ever known, and I — for one — am thrilled to be here to watch it unfold.</em>"</p>
 
      <small>Paco Ahlgren<citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p><strong>Bitcoin</strong> is a cryptocurrency where the creation and transfer of bitcoins is based on an open-source cryptographic protocol that is independent of any central authority.Bitcoins can be transferred through a computer or smartphone without an intermediate financial institution. The concept was introduced in a 2008 paper by a pseudonymous developer known only as "Satoshi Nakamoto", who called it a peer-to-peer, electronic cash system.</p>
 
					
 
    <div class="alert-success"><strong>BitCoin Address</strong></div>
 
    <p>1EYZCq2ZL6chWXYYkJoDo7fz39UC7do5cC</p>
 
  </div>
 

	
 
{% endblock %}
ennstatus/templates/donate/flattr.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate - Flattr" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Flattr_Logo.png') }}" class="img-rounded" alt="SnailMail"></img>
 
    <h2>Flattr</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>This may be the purest form of democracy the world has ever known, and I — for one — am thrilled to be here to watch it unfold.</em>"</p>
 
      <small>Paco Ahlgren<citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p>We do accept <strong>flattr</strong>. Help us to raise some more funds to support our infrastructure.</p>
 
    <div class="alert-info text-center">
 
	    <a href="https://flattr.com/thing/1212758/Frnn-vun-der-nn" target="_blank">Flattr this</a>
 
    </div>
 
  </div>
 
{% endblock %}
ennstatus/templates/donate/index.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Support.png') }}" class="img-rounded" alt="WhoIs" width="160"></img>
 
    <h2>Act Now!</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>The limits of tyrants are prescribed by the endurance of those whom they oppress</em>"</p>
 
      <small>Frederick Douglas  <citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p>Act <strong>now</strong> supporting a <strong>#FreeInternet</strong> either by
 
    <ul>
 
      <li>becoming an active / support <a href="{{ url_for('static', filename='files/MembershipForm.pdf') }}">member</a></li>
 
      <li>sponsoring bandwidth</li>
 
      <li>traditional donations</li>
 
      <li>or what you might judge as useful for us.</li>
 
    </ul>   
 
    <div class="col-md-4">    
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('donate.wiretransfer') }}"><img src="{{ url_for('static', filename='images/WireTransfer.png') }}" width="135" height="135"></img></a>
 
          <h5>Wire Transfer</h5>
 
          <p>The easiest way.</p>
 
          <a class="btn btn-info" href="{{ url_for('donate.wiretransfer') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>
 
    <div class="col-md-4">
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('donate.snailmail') }}"><img src="{{ url_for('static', filename='images/SnailMail.png') }}" width="135" height="135"></img></a>
 
          <h5>SnailMail</h5>
 
          <p>As anonymous as possible.</p>
 
          <a class="btn btn-info" href="{{ url_for('donate.snailmail') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>
 
    <div class="col-md-4">
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('donate.paypal') }}"><img src="{{ url_for('static', filename='images/PayPal_Logo.png') }}" width="135" height="135"></img></a>
 
          <h5>PayPal</h5>
 
          <p>All major cards accepted.</p>
 
          <a class="btn btn-info" href="{{ url_for('donate.paypal') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>
 
    <!-- Second row of possibilities -->
 
    <div class="col-md-4">
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('donate.bitcoin') }}"><img src="{{ url_for('static', filename='images/BitCoin_Logo.png') }}" width="135" height="135"></img></a>
 
          <h5>BitCoin</h5>
 
          <p>A free alternative method.</p>
 
          <a class="btn btn-info" href="{{ url_for('donate.bitcoin') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>  
 
    <div class="col-md-4">
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('donate.flattr') }}"><img src="{{ url_for('static', filename='images/Flattr_Logo.png') }}" width="135" height="135"></img></a>
 
          <h5>Flattr</h5>
 
          <p>Flattr us!</p>
 
          <a class="btn btn-info" href="{{ url_for('donate.flattr') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>
 
    <div class="col-md-4">
 
      <div class="thumbnail">
 
        <center>
 
          <a href="{{ url_for('root.contact') }}"><img src="{{ url_for('static', filename='images/QuestionMark.png') }}" width="135" height="135"></img></a>
 
          <h5>Alternatives</h5>
 
          <p>Tell us</p>
 
          <a class="btn btn-info" href="{{ url_for('root.contact') }}">Take Action Now</a>
 
        </center>
 
      </div>
 
    </div>
 
  </div>
 
{% endblock %}
ennstatus/templates/donate/macros.html
Show inline comments
 
new file 100644
 
{% macro colorize_numbers(number) %}
 
  {% if number.startswith('-') %}
 
    {% set color = "text-danger" %}
 
  {% else %}
 
    {% if not number.startswith('+') %}
 
      {% set number = ''.join(['+', number]) %}
 
    {% endif %}
 
    {% set color = "text-success" %}
 
  {% endif %}
 
  <span class="{{ color }}">{{ number }}</span>
 
{% endmacro %}
 

	
 
{% macro create_donations_table(csv_file) %}
 
  <table class="table table-bordered table-striped">
 
    <thead>
 
      <tr>
 
        <th>#</th>
 
        <th>Date</th>
 
        <th>Statement</th>
 
        <th>Amount</th>
 
      </tr>
 
    </thead>
 
    <tbody>
 
      {% for row in csv_file %}
 
        <tr>
 
          <td>{{ loop.index }}</td>
 
          <td>{{ row[0] }}</td>
 
          <td>{{ row[1] }}</td>
 
          <td>{{ colorize_numbers(row[2]) }}</td>
 
        </tr>
 
      {% endfor %}
 
    </tbody>
 
  </table>
 
{% endmacro %}
ennstatus/templates/donate/paypal.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate - PayPal" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/PayPal_Logo.png') }}" class="img-rounded" alt="WhoIs" width="135"></img>
 
    <h2>PayPal</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>This may be the purest form of democracy the world has ever known, and I — for one — am thrilled to be here to watch it unfold.</em>"</p>
 
      <small>Paco Ahlgren<citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p><strong>PayPal</strong> is quite fast and a nice alternative to the good old wire transfer. Still, we prefer the good old wire transfer, as they don't put up our expenses and so we can invest more in our infrstrcture.</p>
 
		<p>Still, we are glad with every support we get, so don't hesitate to use this method as well.</p>
 
		  
 
		<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
 
		  <input type="hidden" name="cmd" value="_s-xclick">
 
		  <input type="hidden" name="hosted_button_id" value="JKNKAGHS65QN4">
 
		  <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 
		  <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
 
		</form>
 
  </div>
 
{% endblock %}
ennstatus/templates/donate/received.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 
{% import "donate/macros.html" as macros %}
 

	
 
{% set title = "Donate - Received donations" %}
 

	
 
{% block content %}
 
  <div class="col-md-12">
 
    <h2>Received Donations</h2>
 
    <div class="pull-left">
 
      <h3>{{ date }}</h3>
 
    </div>
 
    <div class="pull-right">
 
      <form class="form-inline" role="form" method="POST" action="/donate/received">
 
        {{ form.hidden_tag() }}
 
        <div class="form-group">
 
          {{ form.date(_class="form-control") }}
 
        </div>
 
        <input type="submit" class="btn btn-primary btn-sm" value="Submit">
 
      </form> 
 
    </div>
 
  </div>
 
  <div class="clearfix"></div>
 
  <div class="col-md-12">
 
    {% if csv_file %}
 
      {{ macros.create_donations_table(csv_file) }}
 
    {% else %}
 
      <p>No donations found!</p>
 
    {% endif %}
 
  </div>
 
{% endblock %}
ennstatus/templates/donate/snailmail.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate - Snailmail" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/SnailMail.png') }}" class="img-rounded" alt="SnailMail" width="135" height="135">
 
    <h2>Snailmail</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>This may be the purest form of democracy the world has ever known, and I — for one — am thrilled to be here to watch it unfold.</em>"</p>
 
      <small>Paco Ahlgren<citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p><strong>SnailMail</strong> is most probably, the most anonymous way to support us - as long as you debit / change the money anonymously and touch it without your fingerprints.</p>
 
    <div class="alert-info text-center">
 
      <strong>Either donate direclty to us, or proxy your money through one of our partner addresses.</strong>
 
    </div>
 
		  
 
		<address>
 
		  <br>
 
      <strong>Frënn vun der Ënn, ASBL</strong><br>
 
		          BPM 381892<br>
 
      		    34, Rue Gabriel Lippmann<br>
 
		          L-5365, Munsbach<br>
 
      		    Luxembourg, Europe, Earth<br>
 
		</address>
 
  </div>
 
{% endblock %}
ennstatus/templates/donate/wiretransfer.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Donate - Wiretransfer" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/WireTransfer.png') }}" class="img-rounded" alt="WireTransfer" width="135"></img>
 
    <h2>Wiretransfer</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>This may be the purest form of democracy the world has ever known, and I — for one — am thrilled to be here to watch it unfold.</em>"</p>
 
      <small>Paco Ahlgren<citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p><strong>Wire Transfer</strong> is probably the most traditional way to support us, but one of the simplest. Please, find our bank information below.</p>
 
    <div class="alert-info text-center">
 
      <strong>Either donate direclty to us, or proxy your money through one of our partners.</strong>
 
    </div>
 
    <br>
 
    <strong>Account holder:</strong> Frënn vun der Ënn A.S.B.L.<br>
 
    <strong>BIC/SWIFT:</strong> BCEELUL<br>
 
    <strong>IBAN:</strong> LU65 0019 4055 6782 7000<br>
 
		<br>
 
    
 
    <h4>Partner Organizations</h4>
 
    <strong>Account holder:</strong> Chaos Computer Club Lëtzebuerg A.S.B.L.<br>
 
    <strong>BIC/SWIFT:</strong> BCEELUL<br>
 
    <strong>IBAN:</strong> LU29 0019 2855 3890 4000<br>
 
    <strong>Subject:</strong> * to FVDE<br>
 
  </div>
 
{% endblock %}
ennstatus/templates/root/about.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "About" %}
 

	
 
{% block content %}
 
  <div class="row">
 
    <div class="col-md-4 text-center">
 
      <img class="img-rounded" alt="WhoIs" src="{{ url_for('static', filename='images/WhoIs.png') }}" width="160" height="189"></img>
 
      <h3>About</h3>
 
    </div>
 
    <div class="col-md-8">
 
      <blockquote>
 
        <p><em>In a time of universal deceit - telling the truth is a revolutionary act.</em></p>
 
        <small>George Orwell <cite title="Source Title">1984</cite></small>
 
      </blockquote>
 

	
 
      <p><em>Frënn vun der Ënn</em> is a non-profit organization, based in Luxembourg (EU) with the purposes of keeping anonymity, privacy and freedom of speech alive. We've been funded in January 2013 and our Statutes can be looked up <a href="http://enn.lu/files/Statuten.pdf">here</a>.</p>
 

	
 
      <p></p>
 
      <h3>Anonymity</h3>
 
      <p>
 
        Anonymity is one of our last best hopes and possibilities to protect our fundamental rights as citizens of this world. As the Internet is the most important entity these societies have ever seen, its very powerful as well. With a lot of power comes a lot of responsibility. Some governments, corporations and people try to undermine our rights by trying to prohibit us the right of anonymity under the pretending of the most social engineered sentence of our modern society: "If you have nothing to hide, surveillance won't disturb you."
 
      </p>
 

	
 
      <h3>Freedom of Expression</h3>
 
      <p>Protecting the right of Freedom of Expression is no task for journalists, (h)acktivists and others anymore, but it became a fight in which we all need to stand together. As our organization puts its accent on <strong>anonymity</strong>, this is one way to uphold this most important right.</p>
 

	
 

	
 
      <h3>Voice</h3>
 
      <p>Anonymity is one of our last best hopes and possibilities to protect our fundamental rights as citizens of this world. As the Internet is the most important entity these societies have ever seen, its very powerful as well. With a lot of power comes a lot of responsibility. Some governments, corporations and people try to undermine our rights by trying to prohibit us the right of anonymity under the pretending of the most social engineered sentence of our modern society: "If you have nothing to hide, surveillance won't disturb you."</p>
 
    </div>
 
  </div>
 
{% endblock %}
ennstatus/templates/root/abuse.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Abuse" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Abuse.png') }}" class="img-rounded" alt="FVDE_Logo_LQ" width="160"></img>
 
    <h2>Report Abuse!</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>Better a thousandfold abuse of free speech than denial of free speech.</em>"</p>
 
      <small>Charles Bradlaugh <citi"Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p>To help us process your inquiry, make sure to include</p>
 
    <ul>
 
      <li>the offending IP address'</li>
 
      <li>the type &amp; address' of your abused service(s)</li>
 
      <li>and appropriate contact information.</li>
 
    <ul>
 
    <br>
 
    <div class="well">
 
      Please understand that only inquiries to our abuse <a href="mailto:abuse@enn.lu">contact address</a> can be processed efficiently.
 
    </div>
 
  </div>
 
{% endblock %}
ennstatus/templates/root/contact.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Contact" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Contact.png') }}" class="img-rounded" alt="WhoIs" width="160"></img>
 
    <h2>Contact</h2>
 
  </div>
 
  <div class="col-md-8">
 
    <h2>General</h2>
 
    <p>Please mail all general inqueries to:</p>
 
    <address>
 
      <strong>Frënn vun der Ënn, ASBL</strong><br>
 
              BPM 381892<br>
 
              34, Rue Gabriel Lippmann<br>
 
              L-5365, Munsbach<br>
 
              Luxembourg, Europe, Earth<br>
 
              <br>
 
      <abbr title="E-Mail"><span class="glyphicon glyphicon-envelope"></span></abbr> : <a href="mailto:info@enn.lu">info@enn.lu</a> <span class="glyphicon glyphicon-lock"></span> GPG: <a href="http://adamas.ai:11371/pks/lookup?search=info@enn.lu&op=vindex" target="_blank">0x02225522</a><br>
 
      <abbr title="Website"><span class="glyphicon glyphicon-cloud"></span></abbr> : <a href="https://enn.lu/">https://enn.lu/</a> <strong>or</strong> <a href="http://k5a4vpxx5fofs6uy.onion" target="_blank">http://k5a4vpxx5fofs6uy.onion</a><br>
 
      <abbr title="Phone"><span class="glyphicon glyphicon-earphone"></span></abbr> : </strong>+352-691-71-77-44<br>
 
      <abbr title="Fax"><strong>f.: </abbr></strong>not available yet</a>
 
    </address>
 
 
 
    <h2>Abuse</h2>
 
    <p>For further details about abuse handling, have a look over <a href="./abuse.html">here</a>.</p>
 
    <address>
 
      <abbr title="E-Mail"><span class="glyphicon glyphicon-envelope"></span></abbr> : <a href="mailto:abuse@enn.lu">abuse@enn.lu</a> <span class="glyphicon glyphicon-lock"></span> GPG: <a href="http://adamas.ai:11371/pks/lookup?search=info@enn.lu&op=vindex" target="_blank">0x02225522</a><br>
 
      <abbr title="Phone"><span class="glyphicon glyphicon-earphone"></span></abbr> : </strong>+352-691-71-77-44<br>
 
    </address>
 

	
 
    <h2>Press</h2>
 
    <p>Press related inqueries should go to:</p>
 
    <address>
 
      <abbr title="E-Mail"><span class="glyphicon glyphicon-envelope"></span></abbr> : <a href="mailto:press@enn.lu">press@enn.lu</a> <span class="glyphicon glyphicon-lock"></span> GPG: <a href="http://adamas.ai:11371/pks/lookup?sear    ch=info@enn.lu&op=vindex" target="_blank">0x02225522</a><br>
 
      <abbr title="Phone"><span class="glyphicon glyphicon-earphone"></span></abbr> : </strong>+352-691-71-77-44<br>
 
    </address>
 

	
 
  </div>
 
{% endblock %}
ennstatus/templates/root/disclaimer.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Disclaimer" %}
 

	
 
{% block content %}
 
  <div class="col-md-12">
 
    <h2>Disclaimer</h2>
 
    <h3>Used libraries:</h3>
 
    <ul>
 
      <li><a href="http://flask.pocoo.org/">Flask</a></li>
 
      <li><a href="https://flask-compress.readthedocs.org/en/latest/">Flask-Compress</a></li>
 
      <li><a href="https://github.com/kennethreitz/flask-sslify">Flask-SSLify</a></li>
 
      <li><a href="https://github.com/mbr/flask-bootstrap">Flask-Bootstrap</a></li>
 
      <li><a href="https://flask-wtf.readthedocs.org/en/latest/">Flask-WTF</a></li>
 
      <li><a href="https://pypi.python.org/pypi/pygeoip/">pygeoip</a></li>
 
    </ul>
 
    <p>Flag icons provided by: <a href="http://www.famfamfam.com/lab/icons/flags/">famfamfam</a></p>
 
  </div>
 
{% endblock %}
ennstatus/templates/root/index.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Index" %}
 

	
 
{% block content %}
 
    <div class="col-md-4 text-center">
 
      <img class="img-rounded" alt="FVDE_Logo_LQ" src="{{ url_for('static', filename='images/FVDE_Logo_LQ.png') }}"></img>
 
    </div>
 
    <div class="col-md-8">
 
      <h2>Frënn vun der Ënn A.S.B.L.</h2>
 
      <blockquote>
 
        <p>"<em>I am a hacker, and this is my manifesto. You may stop this individual, but you can't stop us all... after all, we're all alike.</em>"</p>
 
        <small>The Mentor, <cite title="Source Title">Hacker Manifesto</cite></small>
 
      </blockquote>
 
      <p>
 
        We are a  bunch of hackers, running <a href="https://torproject.org/" target="_blank">Tor</a> nodes all over the world to ensure that <strong>privacy</strong>, 
 
      <strong>anonymity</strong> and <strong>freedom of speech</strong> endure.
 
      </p> 
 
			 
 
		  <video width="560" height="315" controls>
 
        <source src="{{ url_for('static', filename='videos/Tor_Join_the_Network.webm') }}" type='video/webm; codecs="vp8, vorbis"' />
 
		  </video>
 
    </div>
 
{% endblock %}
ennstatus/templates/root/partners.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Partners" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Partners.png') }}" class="img-rounded" alt="Partners" width="160"></img>
 
    <h3>Partners</h3>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p><em>United we stand, devided we fall.</em></p>
 
      <small>Aesop, <cite title="Source Title">The Four Oxen and the Lion</cite></small>
 
    </blockquote>
 
         
 
    <dl>
 
      <dt><a href="https://torservers.net/" target="_blank">TorServers.net</a></dt>
 
      <dd>Central information node about international "Friends of the Onion" NPOs and Tor node operators.</dd>
 
      <br>
 
      <dt><a href="https://c3l.lu/" target="_blank">Chaos Computer Club Lëtzebuerg</a></dt>
 
      <dd>NPO with strong interests in IT-Security, citizen rights and pivacy.</dd>
 
      <br>
 
      <dt><a href="https://cypherpunk.lu/" target="_blank">The cypherpunk movement</a></dt>
 
      <dd>(h)acktivists enhancing the world with cryptography.</dd>
 
    </dl>
 

	
 
    <h3>Becoming a Partner?</h3>
 
    <p>We'd be glad to see you or your organization / company as our partner. Becoming a partner is quite trivial. 
 
       Every person or organization providing us with:
 

	
 
       <ul>
 
         <li>Traditional donations to run Tor exit nodes on our own</li>
 
         <li>Sponsoring Servers or Bandwidth</li>
 
         <li>Running Tor exit nodes on their own, but being member of FVDE</li>
 
       </ul> 
 
       is able to become an active partners of ours.
 
    </p>
 
  </div>
 
{% endblock %}
ennstatus/templates/root/services.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Services" %}
 

	
 
{% block content %}
 
  <div class="col-md-4 text-center">
 
    <img src="{{ url_for('static', filename='images/Services.png') }}" class="img-rounded" alt="FVDE_Logo_LQ" width="160"></img>
 
    <h3>Services</h3>
 
  </div>
 
  <div class="col-md-8">
 
    <blockquote>
 
      <p>"<em>If you shut up truth, and bury it underground, it will but grow.</em>"</p>
 
      <small>Emile Zola, <cite title="Source Title"></cite></small>
 
    </blockquote>
 

	
 
    <p>The setup behind the Tor Onion Netork is easy once you've understood how it works. Below you can see a picture of what a conection to any point in the 
 
       Internet may look like through Tor.</p>
 
    <p><img src="{{ url_for('static', filename='images/Tor-onion-network.png') }}"></p>
 

	
 
    <h2>Entry Nodes</h2>
 
    <p>An entry node (Tor Bridge) is the point of entrance to the Tor network. Usually, these are servers with limited computing capacity and bandwith. They serve users to enter the              Tor network either by the front door and some other have additional software installed - <a href="https://www.torproject.org/projects/obfsproxy.html.en"       target="_blank">obfsproxy</a> - to offer more differienated ways of enerting the Tor network.</p>
 

	
 
    <h2>Middle Nodes</h2>
 
    <p>A middle node (Tor Relay) passes on the traffic within the Tor network to the next relay station and eventually to an exit node.</p>
 

	
 
    <h2>Exit Nodes</h2>
 
    <p>An exit node (Tor Exit Node) is the last part of the chain for a users traffic. Here it's going to be passed on to the destionation the user has choosen (i.e. htt://ixquick.com/).
 
    <p>To accomplish our objectives, we need to get more exit nodes online. In order to do this, we focus to spent our gains right to the setup of exit nodes.</p>
 
    <p>Finding reliable, freedom and privacy aware hosters is not a trivial task, so we encourage you to share your expericences with us, either on the <a href="https://c3l.lu:4242/mailman/listinfo/enn-ml">mailing list</a>, the <a href="http://wiki.enn.lu/cgi-bin/wiki.cgi?HosterExperience">wiki</a> or simply drop us a <a href="mailto: info@enn.lu">mail</a>.</p>
 
		  
 
	  <h2>Mirrors</h2>
 
    <p>We are an official mirror of the <a href="https://torproject.lu/" target="_blank">Tor Project</a> and <a href="https://tails.boum.org/" target="_blank">Tails</a> - a live operating system to protect your privacy with the help of anonymity and encryption - website.</p>
 
  </div>
 
{% endblock %}
ennstatus/templates/status/about.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 

	
 
{% set title = "Ënnstatus - About" %}
 

	
 
{% block content %}
 
  <div class="col-md-12">
 
    <h2>Ënnstatus - About</h2>
 
    <p>Ënnstatus provides the user with vital information about the status of the organizations Tor servers.</p>
 
    <h3>Export</h3>
 
    <p><code>/api/export -&gt; /api/export/json/all</code></p>
 
    <p><code>/api/export/&lt;any("json", "xml")&gt; -&gt; /api/export/&lt;any("json", "xml")&gt;/all</code></p>
 
    <p><code>/api/export/&lt;any("json", "xml")&gt;/&lt;any("all", "exit", "bridge", "relay", "single")&gt;</code></p>
 
  </div>
 
{% endblock %}
ennstatus/templates/status/index.html
Show inline comments
 
new file 100644
 
{% extends "base.html" %}
 
{% import "status/macros.html" as macros %}
 

	
 
{% set title = "Ënnstatus" %}
 

	
 
{% block styles %}
 
  {{ super() }}
 
  <link rel="stylesheet" href="{{ url_for('static', filename='css/flags/flags.png.min.css') }}" />
 
{% endblock %}
 

	
 
{% block content %}
 
  <div class="col-md-12">
 
    {% if not (exit or relay or bridge) %}
 
      <p>No servers found!</p>
 
    {% else %}
 
      {% if exit %}
 
        {{ macros.create_server_table('Exit', exit) }}
 
      {% endif %}
 
      {% if relay %}
 
        {{ macros.create_server_table('Relay', relay) }}
 
      {% endif %}
 
      {% if bridge %}
 
        {{ macros.create_server_table('Bridge', bridge) }}
 
      {% endif %}
 
    {% endif %}
 
  </div>
 
{% endblock %}
ennstatus/templates/status/macros.html
Show inline comments
 
new file 100644
 
{% macro colorize_status(status) %}
 
  {% if status == "Online" %}
 
    {% set color = "text-success" %}
 
  {% elif status == "Unknown" %}
 
    {% set color = "text-warning" %}
 
  {% else %}
 
    {% set color = "text-danger" %}
 
  {% endif %}
 
  <p class={{ color }}>{{ status}}</p>
 
{% endmacro %}
 

	
 
{% macro create_country(country) %}
 
  {% set country_class = "flag-" + country|lower|replace(' ', '-') %}
 
  <i class={{ country_class }}></i> {{ country|title }}
 
{% endmacro %}
 

	
 
{% macro create_fingerprint(fingerprint) %}
 
  <a href="http://torstatus.enn.lu/#details/{{ fingerprint }}">{{ fingerprint|upper}}</a>
 
{% endmacro %}
 

	
 
{% macro create_server_table(server_type, servers) %}
 
  {% if server_type in ('Exit', 'Relay') %}
 
    {% set headers = ['#', 'Name', 'IP', 'Server Status', 'Tor Status', 'Country', 'Fingerprint', 'Last Updated (UTC)'] %}
 
  {% else %}
 
    {% set headers = ['#', 'Name', 'Server Status', 'Tor Status', 'Country', 'OBFS', 'Last Updated (UTC)'] %}
 
  {% endif %}
 
  <h2>{{ server_type }}</h2>
 
  <table class="table table-bordered table-striped table-condensed">
 
    <thead>
 
      <tr>
 
        {% for name in headers %}
 
          <th>{{ name }}</th>
 
        {% endfor %}
 
      </tr>
 
    </thead>
 
    <tbody>
 
      {% for server in servers %}
 
        <tr>
 
          <td>{{ loop.index }}</td>
 
          <td>{{ server['server_name'] }}</td>
 
          {% if server_type in ('Exit', 'Relay') %}
 
            <td>{{ server['ip'] }}</td>
 
          {% endif %}
 
          {% for status in [server['server_status'], server['tor_status']] %}
 
            <td>{{ colorize_status(status) }}</td>
 
          {% endfor %}
 
          <td>{{ create_country(server['country']) }}</td>
 
          {% if server_type in ('Exit', 'Relay') %}
 
            <td>{{ create_fingerprint(server['fingerprint']) }}</td>
 
          {% else %}
 
            <td>{{ server['obfs'] }}</td>
 
          {% endif %}
 
          <td>{{ server['last_updated'] }}</td>
 
        </tr>
 
      {% endfor %}
 
    </tbody>
 
  </table>
 
{% endmacro %}
ennstatus/views.py
Show inline comments
 
new file 100644
 
from flask import Blueprint, render_template
 

	
 
root_page = Blueprint('root', __name__)
 

	
 

	
 
@root_page.route('/')
 
def index():
 
    return render_template('root/index.html')
 

	
 

	
 
@root_page.route('/about')
 
def about():
 
    return render_template('root/about.html')
 

	
 

	
 
@root_page.route('/services')
 
def services():
 
    return render_template('root/services.html')
 

	
 

	
 
@root_page.route('/partners')
 
def partners():
 
    return render_template('root/partners.html')
 

	
 

	
 
@root_page.route('/contact')
 
def contact():
 
    return render_template('root/contact.html')
 

	
 

	
 
@root_page.route('/abuse')
 
def abuse():
 
    return render_template('root/abuse.html')
 

	
 

	
 
@root_page.route('/disclaimer')
 
def disclaimer():
 
    return render_template('root/disclaimer.html')
requirements.in
Show inline comments
 
new file 100644
 
Flask-Bootstrap==3.0.0.1
 
Flask-Compress==1.0.0
 
Flask-SSLify==0.1.4
 
Flask==0.10.1
 
pygeoip==0.2.7
requirements.txt
Show inline comments
 
new file 100644
 
Flask-Bootstrap==3.0.0.1
 
Flask-Compress==1.0.0
 
Flask-SSLify==0.1.4
 
Flask==0.10.1
 
itsdangerous==0.23
 
Jinja2==2.7.1
 
MarkupSafe==0.18
 
pygeoip==0.2.7
 
Werkzeug==0.9.4
setup.py
Show inline comments
 
new file 100644
 
from setuptools import setup, find_packages
 

	
 
setup(name='Ennstatus',
 
      version='4.0.0',
 
      description='Ennstatus provides the user with vital information about the status of the organizations Tor servers.',
 
      author='Frënn vun der Ënn',
 
      author_email='info@enn.lu',
 
      url='https://bitbucket.org/fvde/ennstatus',
 
      license="GPLv3+",
 
      packages=find_packages(),
 
      package_data={'ennstatus': ['static/css/*.css',
 
                                  'static/css/flags/img/png/*.png',
 
                                  'static/css/flags/img/gif/*.gif',
 
                                  'static/css/flags/*.css',
 
                                  'static/files/*',
 
                                  'static/images/*',
 
                                  'static/videos/*',
 
                                  'templates/*.html',
 
                                  'templates/api/extract/xml/*.xml',
 
                                  'templates/api/donate/*.html',
 
                                  'templates/root/*.html',
 
                                  'templates/status/*.html'
 
                                  ]},
 
      install_requires=['Flask', 'pygeoip', 'Flask-Bootstrap',
 
                        'Flask-Compress', 'Flask-SSLify'],
 
      classifiers=["Development Status :: 5 - Production/Stable",
 
                   "Environment :: Web Environment",
 
                   "Operating System :: POSIX",
 
                   "Programming Language :: Python",
 
                   "Programming Language :: Python :: 2",
 
                   "Programming Language :: Python :: 2.7",
 
                   "Topic :: Internet",
 
                   "Topic :: Internet :: WWW/HTTP",
 
                   "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
 
                   "Topic :: Internet :: WWW/HTTP :: WSGI",
 
                   "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
 
                   ("License :: OSI Approved :: "
 
                    "GNU General Public License v3 or later (GPLv3+)"),
 
                   ]
 
      )
0 comments (0 inline, 0 general)