text:
Live the good life surrounded by nature1 month, 3 weeks ago
Live the good life surrounded by nature
It is intertwined with the town's heritage and contributes to a community's sense of place and wellbeing, creating 'rare earth'.
Supported by the National Trust, the Parkwater Estate developer and community in Cowaramup share the belief that the natural environment is intrinsically valuable.
Price: From $210,000
Location: Cowaramup
Area: From 637m2
Agent: Stocker Preston Dunsborough
Contact: John Rolston 0407 982 499 and Mark Murray 0427 030 301
WHO would have thought that a beautiful small town in the State's south west would be home to a rare biodiversity program helping homeowners protect the natural values of the bushland that surround their homes?
This 'rare earth' philosophy has driven the Parkwater Estate developers to retain the natural native forest throughout the estate, donating more than 30 per cent to the National Trust, to be preserved in perpetuity for the Parkwater homeowners and generations to come.
"The National Trust is proud to be associated with Parkwater Estate and aims to see the bush conserved to protect its exceptional natural heritage values," said National Trust chief executive officer Julian Donaldson.
While many developers can build an estate, not all can assist in building a sustainable community, as has been achieved at Parkwater Estate, by Parkwater Corporation Pty Ltd, under the stewardship of the Palmer family.
"We amalgamated farmland and developed vineyards, the lake and the lifestyle residential land while preserving all of the valuable waterways and native forest, to nurture its biodiversity into a conservation heritage reserve,'' a company spokesperson said.
"We also brought core services into Cowaramup for the comfort and benefit of the community as a whole."
Existing and future residents can enjoy the tranquillity of the mature forest, waterways and the dual-use walk/cycle trails established throughout the estate.
Centrally located, Parkwater Estate is only 13 minutes' drive to Margaret River and less than 30 minutes to either Dunsborough or Busselton, making it one of the South West's most connected communities.
Lucy Guyer is just one of many residents who have benefitted from this rare lifestyle experience.
Initially building a holiday property, Lucy and her family fell in love with the area so much they ended up making the move down from Perth permanent.
"It's a safe environment, the kids can get out on their bikes, they can ride to the local primary school in Cowaramup,'' Ms Guyer said.
"My eldest goes to Georgianna Molloy Anglican School, just north of Busselton and there's a fantastic bus service that takes the kids there.
"What's great about Parkwater is that everyone supports each other and we're like a big family.
"It's just a really positive place to live."
Cowaramup has a strong local community and thrives with quirky cafes and restaurants.
Located in an area offering an abundance of artisan wine, beers and fresh produce, it's an active town and, although small, has developed a mighty reputation.
Keven Hopkins has also embraced the Parkwater lifestyle as an active member of the Cowaramup community.
"The community of this place is just unbelievable,'' Mr Hopkins said.
I got involved in the Men's Shed and we seem to be the centre of the community where they all come.
"I've always worked on my own when I was farming and I never had people around me.
"I enjoy helping people and it makes me feel good."
Cowaramup has grown to be one of WA's most unspoilt, active and vibrant communities in the world-renowned Margaret River region.
The next time you're in the area, take a leisurely stroll through Parkwater Estate, Cowaramup's beautiful native forest.
With more than 40km of walking and biking trails a visitor is sure to get lost in the abundance of native flora and fauna and maybe even bump into a friendly local.


Vadose Zone Journal (2006) 5 (1): 412-418.
Measurement of transport properties of field soil remains a challenge. Time domain reflectometry (TDR) has been used for rapid and nondestructive measurement of the movement of conservative tracers in controlled laboratory and field experiments. Measuring transport under transient conditions in the laboratory using TDR has also been reported, but obtaining appropriate calibration relationships remains a challenge. We present a method for rapid and nondestructive measurement of field transport of an electrolytic tracer (applied to the soil surface) under transient rainfall and evapotranspiration conditions with net drainage using TDR without any a priori calibrations. The method uses TDR probes in plots with and without a tracer applied. The simultaneous TDR measurements of apparent impedance and dielectric constant in the paired plots were used to calculate the relative solute mass remaining to a given depth (i.e., TDR probe depth) as a function of time during a 270-d field experiment under natural rainfall and evapotranspiration conditions of net drainage. The measurements give relative solute mass flux that is equivalent to the solute travel time probability density function.
N42°12'37" - N42°12'37", W82°44'42" - W82°44'42"


text:
#ifndef ANDROID_HARDWARE_KEYMASTER_DEFS_H
#define ANDROID_HARDWARE_KEYMASTER_DEFS_H

#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#ifdef __cplusplus
extern "C" {
#endif  // __cplusplus

/**
 * Authorization tags each have an associated type.  This enumeration facilitates tagging each with
 * a type, by using the high four bits (of an implied 32-bit unsigned enum value) to specify up to
 * 16 data types.  These values are ORed with tag IDs to generate the final tag ID values.
 */
typedef enum {
    KM_INVALID = 0 << 28, /* Invalid type, used to designate a tag as uninitialized */
    KM_ENUM = 1 << 28,
    KM_ENUM_REP = 2 << 28, /* Repeatable enumeration value. */
    KM_UINT = 3 << 28,
    KM_UINT_REP = 4 << 28, /* Repeatable integer value */
    KM_ULONG = 5 << 28,
    KM_DATE = 6 << 28,
    KM_BOOL = 7 << 28,
    KM_BIGNUM = 8 << 28,
    KM_BYTES = 9 << 28,
    KM_ULONG_REP = 10 << 28, /* Repeatable long value */
} keymaster_tag_type_t;

typedef enum {
    KM_TAG_INVALID = KM_INVALID | 0,

    /*
     * Tags that must be semantically enforced by hardware and software implementations.
     */

    /* Crypto parameters */
    KM_TAG_PURPOSE = KM_ENUM_REP | 1,     /* keymaster_purpose_t. */
    KM_TAG_ALGORITHM = KM_ENUM | 2,       /* keymaster_algorithm_t. */
    KM_TAG_KEY_SIZE = KM_UINT | 3,        /* Key size in bits. */
    KM_TAG_BLOCK_MODE = KM_ENUM_REP | 4,  /* keymaster_block_mode_t. */
    KM_TAG_DIGEST = KM_ENUM_REP | 5,      /* keymaster_digest_t. */
    KM_TAG_PADDING = KM_ENUM_REP | 6,     /* keymaster_padding_t. */
    KM_TAG_CALLER_NONCE = KM_BOOL | 7,    /* Allow caller to specify nonce or IV. */
    KM_TAG_MIN_MAC_LENGTH = KM_UINT | 8,  /* Minimum length of MAC or AEAD authentication tag in
                                           * bits. */

    /* Algorithm-specific. */
    KM_TAG_RSA_PUBLIC_EXPONENT = KM_ULONG | 200,

    /* Other hardware-enforced. */
    KM_TAG_BLOB_USAGE_REQUIREMENTS = KM_ENUM | 301, /* keymaster_key_blob_usage_requirements_t */
    KM_TAG_BOOTLOADER_ONLY = KM_BOOL | 302,         /* Usable only by bootloader */

    /*
     * Tags that should be semantically enforced by hardware if possible and will otherwise be
     * enforced by software (keystore).
     */

    /* Key validity period */
    KM_TAG_ACTIVE_DATETIME = KM_DATE | 400,             /* Start of validity */
    KM_TAG_ORIGINATION_EXPIRE_DATETIME = KM_DATE | 401, /* Date when new "messages" should no
                                                           longer be created. */
    KM_TAG_USAGE_EXPIRE_DATETIME = KM_DATE | 402,       /* Date when existing "messages" should no
                                                           longer be trusted. */
    KM_TAG_MIN_SECONDS_BETWEEN_OPS = KM_UINT | 403,     /* Minimum elapsed time between
                                                           cryptographic operations with the key. */
    KM_TAG_MAX_USES_PER_BOOT = KM_UINT | 404,           /* Number of times the key can be used per
                                                           boot. */

    /* User authentication */
    KM_TAG_ALL_USERS = KM_BOOL | 500,           /* Reserved for future use -- ignore */
    KM_TAG_USER_ID = KM_UINT | 501,             /* Reserved for future use -- ignore */
    KM_TAG_USER_SECURE_ID = KM_ULONG_REP | 502, /* Secure ID of authorized user or authenticator(s).
                                                   Disallowed if KM_TAG_ALL_USERS or
                                                   KM_TAG_NO_AUTH_REQUIRED is present. */
    KM_TAG_NO_AUTH_REQUIRED = KM_BOOL | 503,    /* If key is usable without authentication. */
    KM_TAG_USER_AUTH_TYPE = KM_ENUM | 504,      /* Bitmask of authenticator types allowed when
                                                 * KM_TAG_USER_SECURE_ID contains a secure user ID,
                                                 * rather than a secure authenticator ID.  Defined in
                                                 * hw_authenticator_type_t in hw_auth_token.h. */
    KM_TAG_AUTH_TIMEOUT = KM_UINT | 505,        /* Required freshness of user authentication for
                                                   private/secret key operations, in seconds.
                                                   Public key operations require no authentication.
                                                   If absent, authentication is required for every
                                                   use.  Authentication state is lost when the
                                                   device is powered off. */

    /* Application access control */
    KM_TAG_ALL_APPLICATIONS = KM_BOOL | 600, /* Reserved for future use -- ignore */
    KM_TAG_APPLICATION_ID = KM_BYTES | 601,  /* Reserved for fugure use -- ignore */

    /*
     * Semantically unenforceable tags, either because they have no specific meaning or because
     * they're informational only.
     */
    KM_TAG_APPLICATION_DATA = KM_BYTES | 700,  /* Data provided by authorized application. */
    KM_TAG_CREATION_DATETIME = KM_DATE | 701,  /* Key creation time */
    KM_TAG_ORIGIN = KM_ENUM | 702,             /* keymaster_key_origin_t. */
    KM_TAG_ROLLBACK_RESISTANT = KM_BOOL | 703, /* Whether key is rollback-resistant. */
    KM_TAG_ROOT_OF_TRUST = KM_BYTES | 704,     /* Root of trust ID. */

    /* Tags used only to provide data to or receive data from operations */
    KM_TAG_ASSOCIATED_DATA = KM_BYTES | 1000, /* Used to provide associated data for AEAD modes. */
    KM_TAG_NONCE = KM_BYTES | 1001,           /* Nonce or Initialization Vector */
    KM_TAG_AUTH_TOKEN = KM_BYTES | 1002,      /* Authentication token that proves secure user
                                                 authentication has been performed.  Structure
                                                 defined in hw_auth_token_t in hw_auth_token.h. */
    KM_TAG_MAC_LENGTH = KM_UINT | 1003,       /* MAC or AEAD authentication tag length in bits. */

    /* Tags used only for SOTER */
    /* Tags used only to check if the key is for SOTER */
    KM_TAG_SOTER_IS_FROM_SOTER = KM_BOOL | 11000,
    /* Attach signature signed with ATTK[pri] while exporting public key */
    KM_TAG_SOTER_IS_AUTO_SIGNED_WITH_ATTK_WHEN_GET_PUBLIC_KEY = KM_BOOL | 11001,
    /* Attach signature signed with specified private key while exporting public key */
    KM_TAG_SOTER_IS_AUTO_SIGNED_WITH_COMMON_KEY_WHEN_GET_PUBLIC_KEY = KM_BOOL | 11002,
    /* keyalias for the keypair of KM_TAG_SOTER_IS_AUTO_SIGNED_WITH_COMMON_KEY_WHEN_GET_PUBLIC_KEY */
    KM_TAG_SOTER_AUTO_SIGNED_COMMON_KEY_WHEN_GET_PUBLIC_KEY = KM_BYTES | 11003,
    /* Attach counter while exporting publick key */
    KM_TAG_SOTER_AUTO_ADD_COUNTER_WHEN_GET_PUBLIC_KEY = KM_BOOL | 11004,
    /* Attach secmsg(TEE_Name, TEE_Version, Fingerprint_Sensor_Name, Fingerprint_Sensor_Version)
       fingerprint_id and counter while signing */
    KM_TAG_SOTER_IS_SECMSG_FID_COUNTER_SIGNED_WHEN_SIGN = KM_BOOL | 11005,
    /* use and set ATTK index to next backup ATTK */
    KM_TAG_SOTER_USE_NEXT_ATTK = KM_BOOL | 11006,
    /* attach soter uid */
    KM_TAG_SOTER_UID = KM_UINT | 11007,
    /* attach key blob of KM_TAG_SOTER_AUTO_SIGNED_COMMON_KEY_WHEN_GET_PUBLIC_KEY if needed */
    KM_TAG_SOTER_AUTO_SIGNED_COMMON_KEY_WHEN_GET_PUBLIC_KEY_BLOB = KM_BYTES | 11008,
} keymaster_tag_t;

/**
 * Algorithms that may be provided by keymaster implementations.  Those that must be provided by all
 * implementations are tagged as "required".
 */
typedef enum {
    /* Asymmetric algorithms. */
    KM_ALGORITHM_RSA = 1,
    // KM_ALGORITHM_DSA = 2, -- Removed, do not re-use value 2.
    KM_ALGORITHM_EC = 3,

    /* Block ciphers algorithms */
    KM_ALGORITHM_AES = 32,

    /* MAC algorithms */
    KM_ALGORITHM_HMAC = 128,
} keymaster_algorithm_t;

/**
 * Symmetric block cipher modes provided by keymaster implementations.
 */
typedef enum {
    /* Unauthenticated modes, usable only for encryption/decryption and not generally recommended
     * except for compatibility with existing other protocols. */
    KM_MODE_ECB = 1,
    KM_MODE_CBC = 2,
    KM_MODE_CTR = 3,

    /* Authenticated modes, usable for encryption/decryption and signing/verification.  Recommended
     * over unauthenticated modes for all purposes. */
    KM_MODE_GCM = 32,
} keymaster_block_mode_t;

/**
 * Padding modes that may be applied to plaintext for encryption operations.  This list includes
 * padding modes for both symmetric and asymmetric algorithms.  Note that implementations should not
 * provide all possible combinations of algorithm and padding, only the
 * cryptographically-appropriate pairs.
 */
typedef enum {
    KM_PAD_NONE = 1, /* deprecated */
    KM_PAD_RSA_OAEP = 2,
    KM_PAD_RSA_PSS = 3,
    KM_PAD_RSA_PKCS1_1_5_ENCRYPT = 4,
    KM_PAD_RSA_PKCS1_1_5_SIGN = 5,
    KM_PAD_PKCS7 = 64,
} keymaster_padding_t;

/**
 * Digests provided by keymaster implementations.
 */
typedef enum {
    KM_DIGEST_NONE = 0,
    KM_DIGEST_MD5 = 1, /* Optional, may not be implemented in hardware, will be handled in software
                        * if needed. */
    KM_DIGEST_SHA1 = 2,
    KM_DIGEST_SHA_2_224 = 3,
    KM_DIGEST_SHA_2_256 = 4,
    KM_DIGEST_SHA_2_384 = 5,
    KM_DIGEST_SHA_2_512 = 6,
} keymaster_digest_t;

/**
 * The origin of a key (or pair), i.e. where it was generated.  Note that KM_TAG_ORIGIN can be found
 * in either the hardware-enforced or software-enforced list for a key, indicating whether the key
 * is hardware or software-based.  Specifically, a key with KM_ORIGIN_GENERATED in the
 * hardware-enforced list is guaranteed never to have existed outide the secure hardware.
 */
typedef enum {
    KM_ORIGIN_GENERATED = 0, /* Generated in keymaster */
    KM_ORIGIN_IMPORTED = 2,  /* Imported, origin unknown */
    KM_ORIGIN_UNKNOWN = 3,   /* Keymaster did not record origin.  This value can only be seen on
                              * keys in a keymaster0 implementation.  The keymaster0 adapter uses
                              * this value to document the fact that it is unkown whether the key
                              * was generated inside or imported into keymaster. */
} keymaster_key_origin_t;

/**
 * Usability requirements of key blobs.  This defines what system functionality must be available
 * for the key to function.  For example, key "blobs" which are actually handles referencing
 * encrypted key material stored in the file system cannot be used until the file system is
 * available, and should have BLOB_REQUIRES_FILE_SYSTEM.  Other requirements entries will be added
 * as needed for implementations.  This type is new in 0_4.
 */
typedef enum {
    KM_BLOB_STANDALONE = 0,
    KM_BLOB_REQUIRES_FILE_SYSTEM = 1,
} keymaster_key_blob_usage_requirements_t;

/**
 * Possible purposes of a key (or pair). This type is new in 0_4.
 */
typedef enum {
    KM_PURPOSE_ENCRYPT = 0,
    KM_PURPOSE_DECRYPT = 1,
    KM_PURPOSE_SIGN = 2,
    KM_PURPOSE_VERIFY = 3,
} keymaster_purpose_t;

typedef struct {
    const uint8_t* data;
    size_t data_length;
} keymaster_blob_t;

typedef struct {
    keymaster_tag_t tag;
    union {
        uint32_t enumerated;   /* KM_ENUM and KM_ENUM_REP */
        bool boolean;          /* KM_BOOL */
        uint32_t integer;      /* KM_INT and KM_INT_REP */
        uint64_t long_integer; /* KM_LONG */
        uint64_t date_time;    /* KM_DATE */
        keymaster_blob_t blob; /* KM_BIGNUM and KM_BYTES*/
    };
} keymaster_key_param_t;

typedef struct {
    keymaster_key_param_t* params; /* may be NULL if length == 0 */
    size_t length;
} keymaster_key_param_set_t;

/**
 * Parameters that define a key's characteristics, including authorized modes of usage and access
 * control restrictions.  The parameters are divided into two categories, those that are enforced by
 * secure hardware, and those that are not.  For a software-only keymaster implementation the
 * enforced array must NULL.  Hardware implementations must enforce everything in the enforced
 * array.
 */
typedef struct {
    keymaster_key_param_set_t hw_enforced;
    keymaster_key_param_set_t sw_enforced;
} keymaster_key_characteristics_t;

typedef struct {
    const uint8_t* key_material;
    size_t key_material_size;
} keymaster_key_blob_t;

/**
 * Formats for key import and export.  At present, only asymmetric key import/export is supported.
 * In the future this list will expand greatly to accommodate asymmetric key import/export.
 */
typedef enum {
    KM_KEY_FORMAT_X509 = 0,  /* for public key export */
    KM_KEY_FORMAT_PKCS8 = 1, /* for asymmetric key pair import */
    KM_KEY_FORMAT_RAW = 3,   /* for symmetric key import */
} keymaster_key_format_t;

/**
 * The keymaster operation API consists of begin, update, finish and abort. This is the type of the
 * handle used to tie the sequence of calls together.  A 64-bit value is used because it's important
 * that handles not be predictable.  Implementations must use strong random numbers for handle
 * values.
 */
typedef uint64_t keymaster_operation_handle_t;

typedef enum {
    KM_ERROR_OK = 0,
    KM_ERROR_ROOT_OF_TRUST_ALREADY_SET = -1,
    KM_ERROR_UNSUPPORTED_PURPOSE = -2,
    KM_ERROR_INCOMPATIBLE_PURPOSE = -3,
    KM_ERROR_UNSUPPORTED_ALGORITHM = -4,
    KM_ERROR_INCOMPATIBLE_ALGORITHM = -5,
    KM_ERROR_UNSUPPORTED_KEY_SIZE = -6,
    KM_ERROR_UNSUPPORTED_BLOCK_MODE = -7,
    KM_ERROR_INCOMPATIBLE_BLOCK_MODE = -8,
    KM_ERROR_UNSUPPORTED_MAC_LENGTH = -9,
    KM_ERROR_UNSUPPORTED_PADDING_MODE = -10,
    KM_ERROR_INCOMPATIBLE_PADDING_MODE = -11,
    KM_ERROR_UNSUPPORTED_DIGEST = -12,
    KM_ERROR_INCOMPATIBLE_DIGEST = -13,
    KM_ERROR_INVALID_EXPIRATION_TIME = -14,
    KM_ERROR_INVALID_USER_ID = -15,
    KM_ERROR_INVALID_AUTHORIZATION_TIMEOUT = -16,
    KM_ERROR_UNSUPPORTED_KEY_FORMAT = -17,
    KM_ERROR_INCOMPATIBLE_KEY_FORMAT = -18,
    KM_ERROR_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM = -19,   /* For PKCS8 & PKCS12 */
    KM_ERROR_UNSUPPORTED_KEY_VERIFICATION_ALGORITHM = -20, /* For PKCS8 & PKCS12 */
    KM_ERROR_INVALID_INPUT_LENGTH = -21,
    KM_ERROR_KEY_EXPORT_OPTIONS_INVALID = -22,
    KM_ERROR_DELEGATION_NOT_ALLOWED = -23,
    KM_ERROR_KEY_NOT_YET_VALID = -24,
    KM_ERROR_KEY_EXPIRED = -25,
    KM_ERROR_KEY_USER_NOT_AUTHENTICATED = -26,
    KM_ERROR_OUTPUT_PARAMETER_NULL = -27,
    KM_ERROR_INVALID_OPERATION_HANDLE = -28,
    KM_ERROR_INSUFFICIENT_BUFFER_SPACE = -29,
    KM_ERROR_VERIFICATION_FAILED = -30,
    KM_ERROR_TOO_MANY_OPERATIONS = -31,
    KM_ERROR_UNEXPECTED_NULL_POINTER = -32,
    KM_ERROR_INVALID_KEY_BLOB = -33,
    KM_ERROR_IMPORTED_KEY_NOT_ENCRYPTED = -34,
    KM_ERROR_IMPORTED_KEY_DECRYPTION_FAILED = -35,
    KM_ERROR_IMPORTED_KEY_NOT_SIGNED = -36,
    KM_ERROR_IMPORTED_KEY_VERIFICATION_FAILED = -37,
    KM_ERROR_INVALID_ARGUMENT = -38,
    KM_ERROR_UNSUPPORTED_TAG = -39,
    KM_ERROR_INVALID_TAG = -40,
    KM_ERROR_MEMORY_ALLOCATION_FAILED = -41,
    KM_ERROR_IMPORT_PARAMETER_MISMATCH = -44,
    KM_ERROR_SECURE_HW_ACCESS_DENIED = -45,
    KM_ERROR_OPERATION_CANCELLED = -46,
    KM_ERROR_CONCURRENT_ACCESS_CONFLICT = -47,
    KM_ERROR_SECURE_HW_BUSY = -48,
    KM_ERROR_SECURE_HW_COMMUNICATION_FAILED = -49,
    KM_ERROR_UNSUPPORTED_EC_FIELD = -50,
    KM_ERROR_MISSING_NONCE = -51,
    KM_ERROR_INVALID_NONCE = -52,
    KM_ERROR_MISSING_MAC_LENGTH = -53,
    KM_ERROR_KEY_RATE_LIMIT_EXCEEDED = -54,
    KM_ERROR_CALLER_NONCE_PROHIBITED = -55,
    KM_ERROR_KEY_MAX_OPS_EXCEEDED = -56,
    KM_ERROR_INVALID_MAC_LENGTH = -57,
    KM_ERROR_MISSING_MIN_MAC_LENGTH = -58,
    KM_ERROR_UNSUPPORTED_MIN_MAC_LENGTH = -59,

    KM_ERROR_UNIMPLEMENTED = -100,
    KM_ERROR_VERSION_MISMATCH = -101,

    /* Additional error codes may be added by implementations, but implementers should coordinate
     * with Google to avoid code collision. */
    KM_ERROR_UNKNOWN_ERROR = -1000,
} keymaster_error_t;

/* Convenience functions for manipulating keymaster tag types */

static inline keymaster_tag_type_t keymaster_tag_get_type(keymaster_tag_t tag) {
    return (keymaster_tag_type_t)(tag & (0xF << 28));
}

static inline uint32_t keymaster_tag_mask_type(keymaster_tag_t tag) {
    return tag & 0x0FFFFFFF;
}

static inline bool keymaster_tag_type_repeatable(keymaster_tag_type_t type) {
    switch (type) {
    case KM_UINT_REP:
    case KM_ENUM_REP:
        return true;
    default:
        return false;
    }
}

static inline bool keymaster_tag_repeatable(keymaster_tag_t tag) {
    return keymaster_tag_type_repeatable(keymaster_tag_get_type(tag));
}

/* Convenience functions for manipulating keymaster_key_param_t structs */

inline keymaster_key_param_t keymaster_param_enum(keymaster_tag_t tag, uint32_t value) {
    // assert(keymaster_tag_get_type(tag) == KM_ENUM || keymaster_tag_get_type(tag) == KM_ENUM_REP);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.enumerated = value;
    return param;
}

inline keymaster_key_param_t keymaster_param_int(keymaster_tag_t tag, uint32_t value) {
    // assert(keymaster_tag_get_type(tag) == KM_INT || keymaster_tag_get_type(tag) == KM_INT_REP);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.integer = value;
    return param;
}

inline keymaster_key_param_t keymaster_param_long(keymaster_tag_t tag, uint64_t value) {
    // assert(keymaster_tag_get_type(tag) == KM_LONG);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.long_integer = value;
    return param;
}

inline keymaster_key_param_t keymaster_param_blob(keymaster_tag_t tag, const uint8_t* bytes,
                                                  size_t bytes_len) {
    // assert(keymaster_tag_get_type(tag) == KM_BYTES || keymaster_tag_get_type(tag) == KM_BIGNUM);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.blob.data = (uint8_t*)bytes;
    param.blob.data_length = bytes_len;
    return param;
}

inline keymaster_key_param_t keymaster_param_bool(keymaster_tag_t tag) {
    // assert(keymaster_tag_get_type(tag) == KM_BOOL);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.boolean = true;
    return param;
}

inline keymaster_key_param_t keymaster_param_date(keymaster_tag_t tag, uint64_t value) {
    // assert(keymaster_tag_get_type(tag) == KM_DATE);
    keymaster_key_param_t param;
    memset(&param, 0, sizeof(param));
    param.tag = tag;
    param.date_time = value;
    return param;
}

#define KEYMASTER_SIMPLE_COMPARE(a, b) (a < b) ? -1 : ((a > b) ? 1 : 0)
inline int keymaster_param_compare(const keymaster_key_param_t* a, const keymaster_key_param_t* b) {
    int retval = KEYMASTER_SIMPLE_COMPARE(a->tag, b->tag);
    if (retval != 0)
        return retval;

    switch (keymaster_tag_get_type(a->tag)) {
    case KM_INVALID:
    case KM_BOOL:
        return 0;
    case KM_ENUM:
    case KM_ENUM_REP:
        return KEYMASTER_SIMPLE_COMPARE(a->enumerated, b->enumerated);
    case KM_UINT:
    case KM_UINT_REP:
        return KEYMASTER_SIMPLE_COMPARE(a->integer, b->integer);
    case KM_ULONG:
    case KM_ULONG_REP:
        return KEYMASTER_SIMPLE_COMPARE(a->long_integer, b->long_integer);
    case KM_DATE:
        return KEYMASTER_SIMPLE_COMPARE(a->date_time, b->date_time);
    case KM_BIGNUM:
    case KM_BYTES:
        // Handle the empty cases.
        if (a->blob.data_length != 0 && b->blob.data_length == 0)
            return -1;
        if (a->blob.data_length == 0 && b->blob.data_length == 0)
            return 0;
        if (a->blob.data_length == 0 && b->blob.data_length > 0)
            return 1;

        retval = memcmp(a->blob.data, b->blob.data, a->blob.data_length < b->blob.data_length
                                                        ? a->blob.data_length
                                                        : b->blob.data_length);
        if (retval != 0)
            return retval;
        else if (a->blob.data_length != b->blob.data_length) {
            // Equal up to the common length; longer one is larger.
            if (a->blob.data_length < b->blob.data_length)
                return -1;
            if (a->blob.data_length > b->blob.data_length)
                return 1;
        };
    }

    return 0;
}
#undef KEYMASTER_SIMPLE_COMPARE

inline void keymaster_free_param_values(keymaster_key_param_t* param, size_t param_count) {
    while (param_count-- > 0) {
        switch (keymaster_tag_get_type(param->tag)) {
        case KM_BIGNUM:
        case KM_BYTES:
            free((void*)param->blob.data);
            param->blob.data = NULL;
            break;
        default:
            // NOP
            break;
        }
        ++param;
    }
}

inline void keymaster_free_param_set(keymaster_key_param_set_t* set) {
    if (set) {
        keymaster_free_param_values(set->params, set->length);
        free(set->params);
        set->params = NULL;
    }
}

inline void keymaster_free_characteristics(keymaster_key_characteristics_t* characteristics) {
    if (characteristics) {
        keymaster_free_param_set(&characteristics->hw_enforced);
        keymaster_free_param_set(&characteristics->sw_enforced);
    }
}

#ifdef __cplusplus
}  // extern "C"
#endif  // __cplusplus

#endif  // ANDROID_HARDWARE_KEYMASTER_DEFS_H

redpajama_set_name: RedPajamaGithub


text:
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../.."
require 'test/unit'

require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
require "tracepointchecker"
require "zombie_hunter"
require "iseq_loader_checker"
require "gc_compact_checker"

module Test
  module Unit
    class Worker < Runner # :nodoc:
      class << self
        undef autorun
      end

      alias orig_run_suite mini_run_suite
      undef _run_suite
      undef _run_suites
      undef run

      def increment_io(orig) # :nodoc:
        *rest, io = 32.times.inject([orig.dup]){|ios, | ios << ios.last.dup }
        rest.each(&:close)
        io
      end

      def _run_suites(suites, type) # :nodoc:
        suites.map do |suite|
          _run_suite(suite, type)
        end
      end

      def _run_suite(suite, type) # :nodoc:
        @partial_report = []
        orig_testout = MiniTest::Unit.output
        i,o = IO.pipe

        MiniTest::Unit.output = o
        orig_stdin, orig_stdout = $stdin, $stdout

        th = Thread.new do
          begin
            while buf = (self.verbose ? i.gets : i.readpartial(1024))
              _report "p", buf
            end
          rescue IOError
          rescue Errno::EPIPE
          end
        end

        e, f, s = @errors, @failures, @skips

        begin
          result = orig_run_suite(suite, type)
        rescue Interrupt
          @need_exit = true
          result = [nil,nil]
        end

        MiniTest::Unit.output = orig_testout
        $stdin = orig_stdin
        $stdout = orig_stdout

        o.close
        begin
          th.join
        rescue IOError
          raise unless /stream closed|closed stream/ =~ $!.message
        end
        i.close

        result << @partial_report
        @partial_report = nil
        result << [@errors-e,@failures-f,@skips-s]
        result << ($: - @old_loadpath)
        result << suite.name

        begin
          _report "done", Marshal.dump(result)
        rescue Errno::EPIPE; end
        return result
      ensure
        MiniTest::Unit.output = orig_stdout
        $stdin = orig_stdin if orig_stdin
        $stdout = orig_stdout if orig_stdout
        o.close if o && !o.closed?
        i.close if i && !i.closed?
      end

      def run(args = []) # :nodoc:
        process_args args
        @@stop_auto_run = true
        @opts = @options.dup
        @need_exit = false

        @old_loadpath = []
        begin
          begin
            @stdout = increment_io(STDOUT)
            @stdin = increment_io(STDIN)
          rescue
            exit 2
          end
          exit 2 unless @stdout && @stdin

          @stdout.sync = true
          _report "ready!"
          while buf = @stdin.gets
            case buf.chomp
            when /^loadpath (.+?)$/
              @old_loadpath = $:.dup
              $:.push(*Marshal.load($1.unpack("m")[0].force_encoding("ASCII-8BIT"))).uniq!
            when /^run (.+?) (.+?)$/
              _report "okay"

              @options = @opts.dup
              suites = MiniTest::Unit::TestCase.test_suites

              begin
                require File.realpath($1)
              rescue LoadError
                _report "after", Marshal.dump([$1, ProxyError.new($!)])
                _report "ready"
                next
              end
              _run_suites MiniTest::Unit::TestCase.test_suites-suites, $2.to_sym

              if @need_exit
                begin
                  _report "bye"
                rescue Errno::EPIPE; end
                exit
              else
                _report "ready"
              end
            when /^quit$/
              begin
                _report "bye"
              rescue Errno::EPIPE; end
              exit
            end
          end
        rescue Errno::EPIPE
        rescue Exception => e
          begin
            trace = e.backtrace || ['unknown method']
            err = ["#{trace.shift}: #{e.message} (#{e.class})"] + trace.map{|t| "\t" + t }

            if @stdout
              _report "bye", Marshal.dump(err.join("\n"))
            else
              raise "failed to report a failure due to lack of @stdout"
            end
          rescue Errno::EPIPE;end
          exit
        ensure
          @stdin.close if @stdin
          @stdout.close if @stdout
        end
      end

      def _report(res, *args) # :nodoc:
        @stdout.write(args.empty? ? "#{res}\n" : "#{res} #{args.pack("m0")}\n")
      rescue TypeError => e
        abort("#{e.inspect} in _report(#{res.inspect}, #{args.inspect})\n#{e.backtrace.join("\n")}")
      end

      def puke(klass, meth, e) # :nodoc:
        if e.is_a?(MiniTest::Skip)
          new_e = MiniTest::Skip.new(e.message)
          new_e.set_backtrace(e.backtrace)
          e = new_e
        end
        @partial_report << [klass.name, meth, e.is_a?(MiniTest::Assertion) ? e : ProxyError.new(e)]
        super
      end

      def record(suite, method, assertions, time, error) # :nodoc:
        case error
        when nil
        when MiniTest::Assertion, MiniTest::Skip
          case error.cause
          when nil, MiniTest::Assertion, MiniTest::Skip
          else
            bt = error.backtrace
            error = error.class.new(error.message)
            error.set_backtrace(bt)
          end
        else
          error = ProxyError.new(error)
        end
        _report "record", Marshal.dump([suite.name, method, assertions, time, error])
        super
      end
    end
  end
end

if $0 == __FILE__
  module Test
    module Unit
      class TestCase < MiniTest::Unit::TestCase # :nodoc: all
        undef on_parallel_worker?
        def on_parallel_worker?
          true
        end
      end
    end
  end
  require 'rubygems'
  Test::Unit::Worker.new.run(ARGV)
end


The British Trombone Society in conjunction with the S.E.L.B. Music Service have announced that it will be holding a National Trombone Day - N.I. on Sunday 30th March 2014 in Bann House, Bridge Street, Portadown, BT63 5AE and will run from 11:00 until 16:00.
The guest artist will be Peter Moore - winner of the BBC Young Musician of the Year 2008. Peter will be performing solos, and taking master classes.
The highlight of the day has to be every participant joining together to form the MASSED TROMBONE CHOIR.
This event is open to trombonists of any age, any standard (above grade 2), senior and junior band members. Please bring your instruments. There will be parts in treble and bass clefs available and it is sure to be a day of fun and playing for all trombonists.


Aquamare Marine Ltd offers sales and support for the marine industry. With a wide range of services and solutions from underwater lights to joystick maneuvering systems.Set up in 2009 Aquamare Marine utilizes 25 individuals worldwide from three key areas. The head office is situated in Plymouth England with further workplaces in West Palm Beach Florida, and on the Gold Coast in Australia.
Boat rental specialist since 1995. With a catalogue of over 18.000 boats available in more than 80 destinations, Filovent allows you to find the best deals for your dream's boat and go cruising all over the world!Choose Filovent today: sailboats, motor boats, catamarans and yachts!Main destinations: Italy, France, Greece, Croatia, Spain, Caribbean, Turkey, Canarian Islands.
Address: Vierstraete, Gladiatorenstraat 40 Marke, West-vlaanderen 8510 BelgiumPhone: 0033 6 31 12 47 83Website: http://www.vlaamsechambresdhotes.comvakantiehuizen - logeren bij belgen - logeren in franrijk - villa met zwembad frankrijkDeze gids richt zich op logeren bij Vlamingen en Belgen, Nederlanders, in één van volgende formules: gites, chambres d'hotes of gastenkamers, villa's, chalets en vakantiehuizen aangeboden door erkende partners in de reissector.
Mulberry Travel is a brand new, energetic and recent travel agent, ambitious by exceptionally high standards for customer care. Our experienced team capable of giving the best possible deals saving you time and money. Being independent means we are not tied to one tour operator and guarantees that we are able to find you exceptional value without compromising on quality.
Royalty Yachts provide fully crewed private luxury yacht charters from a worldwide selection of inspected and hand-picked luxury motor and sailing yachts. Royalty Yachts guarantee that your ultimate dream yacht will be sourced to adhere to all your requirements and to suit your budget and level of comfort in your dream destination.Yacht Charter vacations give you an unprecedented opportunity to enjoy spectacular scenery, top-class service and freedom to explore exotic coastlines and ports. All in incomparable style and comfort! Our top priority is your safety, security, privacy and of course, a peaceful, enjoyable sailing experience.
Bruce Anchor Cruises operates within the Fathom Five National Marine Park which occupies some of the most pristine waters in the Great Lakes. Fathom Five is home to numerous historic light stations, over twenty known shipwrecks, and Flowerpot Island.Our extremely unique and modern glass bottom vessels regularly depart Tobermory on an adventure through Fathom Five during the spring, summer, and fall months! Within 5 minutes of departing the dock we view two 19th century shipwrecks resting just a few feet below the surface. From there we pass by Big Tub Light (1885) on our way to Flowerpot Island, passing by other islands en route. As we cruise around Flowerpot Island you will view the historic Flowerpot Light station, the light keeper's homes, the Flowerpot rock formations and many unique features of the island visible from the water. We then stop at the island to allow passengers the option to disembark and explore the island on foot for a couple of hours or the entire day. Upon departing Flowerpot Island it is a ten minute boat ride back to Tobermory.
AdamSea is an Online Marine Market Place for Buyers and Sellers offering New / Used Yachts for Sale, Yacht Rentals, Marina and Storage Services. AdamSea Inc. is the leading marine online marketplace in the boat and yacht industry. Our headquarter are Based in Canada with an online market presence across the globe. We strategize to attract buyers, sellers and all marine services to come and meet in our online market to create global marine service community. AdamSea adds value by securing all the  transactions between buyers, sellers and other services elements. Our internal platform integrates all services in one hub to make sure  members will find all their needs in one arena. We are primarily dedicated to support our partner's yearly growth by extending their customer reach around the world. Our focus market supplies from around the world and Canada and  members can be any where in the world.
Queensland Yacht Charters is a member of Dream Yacht Charter, a worldwide chain offering the best in yacht charters. Dream Yacht Charter has a reputation of offering the ultimate in destination sailing, and that extends to Queensland Yacht Charters, offering a premium Whitsunday Yacht Charter experience.The Whitsunday Islands are nothing less than a tropical paradise. From pristine Whitehaven Beach to Hamilton Island, the Whitsundays offer breathtaking beauty around every bend. If you're looking for a relaxing holiday on the water, the Whitsundays offer soft, sandy beaches, secluded bays, serene inlets, and incomparable sunsets. Perhaps you're looking for more of an adventure on your next holiday? There is no lack of activities to be enjoyed, both offshore and onshore. Swimming, fishing, snorkeling, bushwalking, exploring the islands, kayaking - there are so many ways to take advantage of the local natural resources during your Whitsunday Yacht Charter holiday.


text:
Van Morrison's Tupelo Honey and Biscuits
Tupelo Honey and Biscuits
December, 02 2010 | Sister Louisa's Church
On the cover of 1971's Tupelo Honey is a dreamy photo of Van Morrison's then-wife Janet Planet riding horseback, and he's walking alongside her. They were young and in love. It's hard to believe Van Morrison was 26 once.
He wrote most of the record's songs in Woodstock, and left because the place was getting too popular. His music seemed to follow the same trend though, increasing in popularity, and it has remained so ever since. These days, you're just as likely to hear "Tupelo Honey" performed by some middle-aged cover band on the patio of a Mexican restaurant as you are to hear it playing in an indie record store. This seeming contradiction might be the illogical dance that makes it a classic.
After Woodstock, Morrison landed in California, where he finished Tupelo Honey. Like the rest of his records, it was recorded as live as possible in the studio. He originally wanted to make a country record, but it threaded a life all its own along the way. At times it sounds like the country record he intended, full of carefree love songs and John McFee's pedal steel floating in and out, (not to mention a song called "Moonshine Whiskey"), but it's certainly got the soul power his fans had already come to know and love from songs like "Brown Eyed Girl." More Moondance than Astral Weeks, the record is just so approachable—especially considering that Morrison is quite possibly the most unapproachable man in music.
Predictably, Tupelo Honey was a success—it charted at #27 on the Billboard charts and eventually went gold. But the artist and his art were on two different paths. Morrison canceled a tour after the record came out because he'd developed a paralyzing case of stage fright. And he divorced his brown-eyed girl in 1973. Tupelo Honey became a time capsule—an organic, soulful look into a life that only lasted a season.
Richard Julian
Joel Siebel
Tyler Lyle
Kathryn Brawley
Jackson County Line
Tim Brantley
Nathan Angelo
Jeremy Aggers & The Tamers
1. Wild Night
2. (Straight to Your Heart) Like A Cannonball
3. Old Old Woodstock
4. Starting A New Life
5. You're My Woman
6. Tupelo Honey
7. I Wanna Roo You (Scottish Derivative)
8. When That Evening Sun Goes Down
9. Moonshine Whiskey

redpajama_set_name: RedPajamaCommonCrawl


R.L. Mathewson | Today is the day!
This scavenger hunt is going to be run a bit differently than the ones in the past. For starters, you have to leave your computer in order to do it. You will need a camera and today's newspaper to prove that you didn't get your pictures via the web.
The rules, don't do anything dumb to get yourself arrested, slapped, or hurt. If you do, you're on your own. Do not take a picture of someone without their permission. That's our disclaimer. This scavenger hunt is pretty simple and a lot of fun. There will also be no sharing of photos. Anyone caught sharing, Photoshopping, etc. will automatically be disqualified. Also,if we receive even one email with a malicious attachment we will shut down this scavenger hunt and no prize will be given out and we won't do this again, so play nice. You must be at least 18 years old to participate in this scavenger hunt. No pictures of minors, please. Okay, that's the not so fun part of the scavenger hunt.
The good part? The prize. A hundred dollar gift card to one winner, plus we will donate a hundred dollars to the charity of your choice. We do reserve the right to veto the charity choice. Also, we will not donate to any political party. Not happening. This is meant to help out a charity in need so please keep that in mind when you make your choice.
This scavenger hunt will run for three days. You do not have to participate in all three days, but you do need all three day's worth of pictures to win. The first person who sends in all the pictures in by Saturday by 11:59 PM Eastern time, wins. Remember, only one winner, all of the pictures must be exactly what we asked for. There will be no bending of the rules. To make this fair, the pictures have to be exactly what we're looking for and meet our standards. If they don't, then they don't count. If we send you a message telling you that your picture does not count, please do not argue. Take the opportunity to go get the right picture.
Zach will be helping to run this scavenger hunt so please be nice to him. He's a very busy man so he might not have time to respond to everyone. If you want to make sure that he received your photo, check off mail receipt in options of your email server.
1. Take a photo with yourself and a man in a uniform. Hold up today's paper to prove the date. If you are shy make him hold the paper. This can be a firefighter, EMT, police officer, soldier, etc.
3. Take a photo whilst at the supermarket of the biggest chocolate cake you can find.
4. Find a man willing to have his top half photographed with the words: "R.L Mathewson ROCKS" in lipstick.


text:
School Board continues to draw fire
More heat on district closure plan
AMY ROLPH, P-I REPORTER
Ken Taitai, left, Temalisa Moimoi, Katalina Aho and Salote Moimoi participate in a candlelight protest of school closures Wednesday at the John Stanford Building.Mike Kane/P-I
Leftover emotions boiled to the surface Wednesday night at the first Seattle School Board meeting since tempers flared two weeks ago before a school-closure proposal was tabled by the board.
The proposal, which was the second phase of school closures, might have been postponed indefinitely two weeks ago, but that didn't stop community members from giving the School Board an earful Wednesday.
"What's with this?" asked Jenelle Waddell, a student at Summit K-12. "I thought our plan was to save money and keep our schools intact."
"I would never, ever suggest that you guys have lots and lots of nerve," Don Alexander, chairman of Save Our Schools, said to the board. "What you guys have puts new definition to nerve."
A lot as happened since the heated board meeting two weeks ago, with the biggest news being the announcement of Superintendent Raj Manhas' eventual departure when his contract expires in August.
Manhas has been heavily criticized for his proposal to close schools, the second phase of which would have moved Alternative School No. 1 into Summit, Pathfinder K-8 into Cooper and Viewlands Elementary into Broadview-Thomson Elementary. Those in favor of the closures say it is necessary given the district's financial situation.
Before the meeting Wednesday, a group of about 20 people huddled outside district headquarters in the John Stanford Center, cupping flickering candles in their hands and moving their feet to keep warm.
The candlelight vigil was in anticipation of what education in Seattle would look like if the School Board proceeded with the motion to close schools.
"Our students are dying in the schools, so I think it's appropriate to have a candlelight vigil," said Carol Simmons, who taught in Seattle Public Schools for 32 years.
The quiet protest was a way for community members to express their frustration and despair over the possibility of school closures, she said.
James Bible, vice president of the Seattle-King County chapter of the NAACP, cupped his hands around his candle and talked about how the school closures mostly affect minority students and families with limited economic means.
"Close the John Stanford Building," said Bible, gesturing to the large structure. "Have the School Board sit in portables and let the students sit in classrooms. It seems, and this structure proves, that we forgot that it's really about educating children."
Allegations of institutionalized racism have become a part of the dialogue about school closures, and two weeks ago, racially charged comments were made during public testimony.
School Board President Brita Butler-Wall apologized at the beginning of Wednesday's meeting, saying she regrets she didn't do more to keep the meeting two weeks ago "safe," especially from remarks made about the ethnicity of Manhas and community members.
"Nobody ever says to someone like me, 'go back to Sweden,' " Butler said.
In other news, the board decided to wait until its January meeting to reconsider a proposal to move all Seattle high school students to Metro buses instead of yellow buses by 2010. The delay will allow time to refine the proposal and to see how the King County Metro transit tax measure fares in Tuesday's election.
Earlier this year, the board approved a pilot program that cut most yellow-bus service for Ballard and Franklin high school students and gave them free Metro bus passes. Moving all high school students to Metro buses is expected to save the district millions of dollars each year.
AMY ROLPH


The tetreagol (formerly tereagol) is equal to E100####100#100#100 in Extended Hyper-E Notation. The term was coined by Sbiis Saibian.
The name of this number is based on the numbers "tetroogol" and "greagol".
↑ Saibian, Sbiis. Extended Hyper-E Numbers. Retrieved 2014-12-03.


text:
For Immediate Release: November 10th, 2010
Contact: Kevin Donegan, Center for Economic and Social Rights, kdonegan@cesr.org
United States Must Not Betray Its Commitment to Freedom from Want, Human Rights Groups Say
NEW YORK/ATLANTA/MADRID--International human rights organizations called on the United States today to implement the recommendations made by the UN Human Rights Council to address economic and social rights in the United States and ensure freedom from want.
Following the United States' appearance before the Council's Universal Periodic Review (UPR) in Geneva on Friday, the Council adopted a report yesterday with 228 recommendations for the U.S. government to improve the status of human rights in the country. UN member states participating in the Council's interactive dialogue voiced concerns on a range of issues and shared recommendations to decrease social and economic inequality as well as deprivation in the United States.
Submissions to the UPR by international human rights groups documented the scale and extent of such deprivation, poverty and inequality. The organizations found that despite being the world's wealthiest economy, the United States has the poorest economic and social rights outcomes of all industrialized countries. Human rights groups also drew attention to the impact of the economic crisis and called for rights-based reforms to macroeconomic and fiscal policy, as well as to the financial regulatory system.
"The U.S. has made promising steps by engaging in the UPR process towards increasing its legitimacy within the international community as an upholder of human rights. However, it has a long journey ahead in the path to protecting, fulfilling and respecting the right to housing, health, education and employment especially for the most vulnerable including women of color. Given the effects of the current financial crisis the U.S. must implement mechanisms to promote the economic policies and legal reforms needed to make freedom from want a reality for all in the U.S.," said Radhika Balakrishnan, executive director at the Center for Women's Leadership (CWGL).
In addition, dozens of UN member states recommended that the United States ratify key international human rights treaties, including the International Covenant on Economic, Social and Cultural Rights (ICESCR). The United States is one of only six countries in the world to have signed but not ratified the Covenant and one of seven yet to ratify the UN Convention on the Elimination of All Forms of Discrimination against Women (CEDAW). It also stands virtually alone in not having ratified the UN Convention on the Rights of the Child.
The United States said it will examine the recommendations seriously and give a formal response at the March 2011 session of the Human Rights Council. The U.S. delegation in Geneva said the administration was "working to obtain Senate advice and consent to a number of human rights treaties, particularly CEDAW and the Convention on the Rights of Persons with Disabilities."
However, the U.S. government representatives taking part in the UPR did not mention any intention to ratify the ICESCR. "The absence of an explicit commitment to uphold economic and social rights standards is striking and very disappointing, particularly given the number of countries that urged the U.S. to ratify the Covenant," said Ignacio Saiz, executive director of the Center for Economic and Social Rights (CESR). "We hope the administration will heed the call of civil society groups to bring these rights home, and that concrete steps will be taken towards ratification of the ICESCR."
Government representatives explained the delay in ratifying these international treaties arguing that the United States "has pursued a practice of compliance before ratification, in contrast to the practice of ratification before compliance that some other nations may pursue."
"The U.S.' implicit admission that it is not complying with the provisions of the Covenant is an acknowledgement of widespread violations of economic, social and cultural rights. Putting pressure on the U.S. Senate to approve ratification would send a signal that the Obama Administration recognizes the rights to health, housing and education as human rights," said Salih Booker, executive director of the Centre on Housing Rights and Evictions (COHRE).
"We welcome the U.S. government's engagement with the Human Rights Council as an excellent way to lead by example on human rights," said Maria Foscarinis, executive director of the National Law Center on Homelessness & Poverty (NLCHP). "But this engagement internationally must be matched with a commitment to bring human rights home to the U.S. This is especially important for our most vulnerable populations - people fearing eviction or foreclosure, or those already on the streets."
Groups campaigning for economic and social rights in the United States welcomed the opportunity to engage with the government in the UPR process. "However, the government's preliminary response was vague and raises questions about its willingness to implement the recommendations emerging from the process," said Ejim Dike, director of the human rights project at the Urban Justice Center. "Whether and how the U.S. administration takes up the UN's recommendations on economic and social rights will be the real litmus test of the administration's commitment to all human rights for all people."
The Center for Economic and Social Rights (CESR) is an international nongovernmental human rights organization that works to promote social justice through human rights.
The Centre on Housing Rights and Evictions (COHRE) is an independent, international, nongovernmental, not-for-profit human rights organization whose mission is to ensure the full enjoyment of the human right to adequate housing for everyone, everywhere.
The Center for Women's Global Leadership (CWGL) promotes women's leadership, the advancement of feminist perspectives in economic and social rights and the elimination of violence against women in local, national and international arenas.
The International Network for Economic, Social and Cultural Rights (ESCR-Net) is a collaborative initiative of groups and individuals from around the world working to secure economic and social justice through human rights.
In partnership with communities, the National Economic and Social Rights Initiative (NESRI) works to build a broad movement for economic & social rights, including health, housing, education and work with dignity. Based on the principle that fundamental human needs create human rights obligations on the part of government and the private sector, NESRI advocates for public policies that guarantee the universal and equitable fulfillment of these rights in the United States.
The National Law Center on Homelessness & Poverty's mission is to prevent and end homelessness by serving as the legal arm of the national movement. To achieve its mission, the Law Center pursues three main strategies: impact litigation, policy advocacy, and public education.
Urban Justice Center (UJC) is a national organization working to improve the lives of New Yorkers living in poverty through a combination of direct legal service, systemic advocacy, community education and political organizing.
The US Human Rights Network was formed to promote US accountability to universal human rights standards by building linkages between organizations and individuals. The Network strives to build a human rights culture in the United States that puts those directly affected by human rights violations, with a special emphasis on grassroots organizations and social movements, in a central leadership role. The Network also works towards connecting the US human rights movement with the broader US social justice movement and human rights movements around the world.


text:
Arts & Culture / December 2009
A retrospective of werewolves in popular culture
December 12, 2009 July 27, 2020 - by Emily LandauEmily Landau Updated 8:42, Jul. 27, 2020 | Published 4:21, Dec. 12, 2009This article was published over a year ago. Some information may no longer be current.
Illustration by Marc Bell
He howls into the night, his hulking silhouette stark against the full, silver moon. Both man and beast, his is a figure that has prowled through the darkness of the human psyche for centuries. He is the loup garou, the werewolf. Just as 2009 has been called the year of the vampire, 2010 is predicted to be the year of the lycanthrope. In New Moon, the latest Twilight installment, a dashing young werewolf (Taylor Lautner) steps up as a romantic foil for the brooding vampire heartthrob Edward Cullen (Robert Pattinson), while a remake of The Wolf Man, a TV spinoff of Teen Wolf, and the literary mash-up Little Women and Werewolves are all in the works.
In the December issue of The Walrus, Jessica Johnson's essay "Dances with Werewolves" examines Kelley Armstrong's incarnation of the legend in the Otherworld book series. (Not to be confused with the Underworld films, which pit werewolf slaves against their vampire masters.) Armstrong's monsters are by no means the first of their kind to hold the masses in thrall—and they won't be the last. On the brink of a new pop phenomenon, here's a look back at some of the most influential werewolves to have terrorized the cultural landscape.
Metamorphoses by Ovid, 8 AD
Although werewolf legends (and alleged sightings) proliferated in fifteenth- and sixteenth-century Europe, the beast's literary origins date to imperial Rome. Ovid's epic included one of the first werewolf myths in its account of King Lycaon, the cruel Arcadian ruler who is turned into a wolf by Zeus as punishment for feeding the god the body of a dismembered child. The poem vividly detailed Lycaon's terrifying transformation from man to wolf, describing how his "clothes changed to coarse hair, his arms to legs," and how he "howled his heart out, trying in vain to speak." Ovid set the standard for the focus on the ghastly "change" in werewolf literature to come, and also provided the werewolf with a menacing alias: the lycanthrope.
The Wolf Man Series, 1941–1948
The dialogue was laughable, and in his wolf makeup and Brillo pad fur, Lon Chaney Jr. looked more like a disgruntled gorilla than a big bad wolf. But, for better or worse, it was this 1940s film series that codified werewolf mythology in the modern imagination. Although other stories had introduced the werewolf's change as monthly, these films established the transformation during the full moon as a key element of lycanthropic lore, and introduced the werewolf's vulnerability to silver. After the success of the first movie in 1941, Chaney donned the wolf skin four more times. His Wolf Man travelled the world looking for a cure, meeting the Frankenstein monster, Dracula, and even Abbott and Costello en route. Dated? Perhaps. Schlocky? Absolutely. But The Wolf Man's legacy is indisputable as the originator of the werewolf horror film.
An American Werewolf in London, 1981
If The Wolf Man is the cornerstone of contemporary werewolf ideology, then John Landis's comedy-horror classic pioneered the genre's gruesome physicality. Before Landis's film, about the cursed fate of travelling student David Kessler (David Naughton), we'd heard and read about the werewolf's transformation, but we'd never seen it depicted in the raw flesh. Landis placed a number of graphic scenes before the crucial moment—the reanimated corpse of David's best friend plays a supporting role—but nothing could have prepared the audience for the hero's grisly change. Writhing on the floor in sweaty terror, David moaned and wailed in pain as his hands became clawed paws, fur shot out of every pore, and his bones and joints mutated into those of a four-legged animal. In that moment, the werewolf was freed from the shadowy woods and isolated villages of an archaic Gothic tradition; when the transformed Kessler proceeded to slaughter innocent Brits in the London Tube, this mythological bête noire became a chillingly real urban terror.
Teen Wolf, 1985
Like many '80s teen comedies, Teen Wolf (starring Michael J. Fox at the height of his elfin charm) has not held up over time—corny dialogue, reductive stereotypes, and multiple montages set to the steady beat of synthesizers and keyboards have stunted its shelf life. But although Teen Wolf lacked a certain cinematic gravitas, as werewolf legends go, it remains a revolutionary gem. In a brilliant conception, director Rod Daniels turned lycanthropy into a metaphor for puberty. "He's going through changes," the tagline read. "His voice is changing. He's got hair on his chest. He's stopped being a boy. At last he's become— A WOLF!" Unlike his lycanthropic ancestors, Scott Howard (Fox) did not transform into a skulking, ferocious predator, but rather into a slightly furrier, toothier version of his former self. Howard experienced the changes during the more awkward moments of a teenage boy's life—in the gym locker room and at a party, for example. In this film, being a werewolf translated directly to masculinity. No longer smooth and rosy-cheeked, Scott became high school royalty as a result of his new physique—the novelty of the wolf earned him popularity, heightened his athletic ability, and won him the object of his romantic affection. While other werewolves of literature and film were ostracized for their difference, Scott's lycanthropy was his key to social success.
Ginger Snaps, 2000
The werewolf genre is almost exclusively dominated by men. There had been exceptions, but until the 2000 Canadian indie flick Ginger Snaps, no one had ever truly examined the female side of the beast. This was a bizarre omission, considering the seemingly obvious, somewhat Freudian associations between the lunar change and the menstrual cycle. Director John Fawcett made this connection explicit: Ginger (Katharine Isabelle), a morbid, death-craving sixteen-year-old, is attacked by a lycanthrope on the day she gets her period, and predictably, begins to change. Breaking apart from other cinematic werewolves, who are humiliated and tortured by their conditions, Ginger embraced her new self—she became confident, sexually adventurous, and saw her werewolfism as a way to break from the oppressive confines of her Toronto high school. Sadly, her newfound self-esteem came with an insatiable blood-thirst and a monthly change. Although the movie broke ground with its treatment of female werewolves, its association of menstruation with monstrosity remains problematic; in attempting to challenge the werewolf genre, Ginger Snaps ended up inadvertently perpetuating sexist stereotypes. During "that time of the month," Ginger, quite literally, became a bitch. As promised, Ginger snapped, and despite the film's feminist agenda, lycanthropy became just a particularly nasty case of PMS.
Buffy the Vampire Slayer, 1997–2003
Of the plethora of monsters and evil-doers that terrorized Buffy Summers and the town of Sunnydale over the course of seven seasons on the air, the monosyllabic, wide-eyed musician Daniel "Oz" Osbourne (Seth Green) was an unlikely candidate for havoc-wreaking. After being bitten by a lycanthropic toddler, however, Oz became a strapping werewolf who caged himself during the full moon. As his character developed and the visceral werewolf within became more demanding, Oz transformed from a taciturn comedic sidekick into a poignant figure struggling with questions of agency and consequence. In many literary and cinematic incarnations of the werewolf, responsibility for attacks is erased due to the involuntary nature of the change. Oz turned this motif on its head—for him, werewolfism became a part of who he is, rather than something that happens to him. When his time on Buffy came to an end, Oz had mastered his lycanthropic tendencies—no longer subject to the lunar cycle, his changes were self-determined and controlled. Frequently, the primal animalism of the werewolf is associated with instinct over thought, gratification over restraint. In its thoughtful treatment of Oz, Buffy broke through these genre barriers—rather than representing a passive state of self-indulgence, the werewolf became a stand-in for larger questions of ethical responsibility.
Emily Landau
Emily Landau is an associate editor at Toronto Life and a former Walrus intern.
Alone Is about Much More than Pure Survival
When Online Fandom Goes Too Far
The Griffin Poetry Prize Shakeup: New Rules, New Controversy
Previous Article Editor's Note
Next Article Castro's Favourite Capitalist


text:
James V of Scotland Stuart, King of Scotland[1]
Personal Information | Media | Sources | All | PDF
Name James V of Scotland Stuart
Suffix King of Scotland
Born 15 Apr 1512 Linlithgow Palace, Scotland
Acceded 21 Sep 1513 Chapel Royal, Stirling Castle
Died 14 Dec 1542 Falkland Palace, Fife
Buried Holyrood Abbey, Edinburgh, Scotland
Burke seem to think Madeline was Mary's mother, but others say it was Mary.
Some say died 1547.
http://www.hull.ac.uk/php/cssbct/cgi-bin/gedlkup.php/n=royal?royal00835
Person ID I15722 Glenn Cook Family
Father James IV of Scotland Stuart, King of Scotland, b. 17 Mar 1473, d. 9 Sep 1513, Flodden Field, Northumberland (Age 40 years)
Mother Margaret Tudor, Queen of Scotland, b. 28 Nov 1489, Westminster Palace, London, England , d. 18 Oct 1541, Methven Castle, Perthshire, Scotland (Age 51 years)
Family ID F7536 Group Sheet
Family 1 Madeleine de France, b. 10 Aug 1520, Château St. Germain-en-Laye, Paris, France , d. 7 Jul 1537, Holyrood Palace, Edinburgh, Scotland (Age 16 years)
Married 1 Jan 1537 Notre Dame, Paris, France
Family 2 Mary de Guise de Lorraine, b. 22 Nov 1515, Bar-le-Duc, France , d. 10 Jun 1560, Edinburgh Castle, Edinburgh, Midlothian, Scotland (Age 44 years)
Married 9 May 1538
1. James of Rothesay Stuart, Duke of Rothesay, b. 22 May 1540, St. Andrew's, Fife , d. Apr 1541, St. Andrew's, Fife (Age 0 years)
2. Arthur (Robert) of Rothesay Stuart, Duke of Rothesay, b. Apr 1541, Falkland Palace, Fife , d. Apr 1541 (Age ~ 0 years)
3. Mary "Queen of Scots" Stuart, Queen of Scotland, b. 7 Dec 1542, Linlithgow Palace, Scotland , d. 8 Feb 1587, Fotheringhay Castle, Northampton (Age 44 years)
Family 3 Elizabeth Shaw, d. Yes, date unknown
Married Type: Associated with
_STAT Associated with
1. James of Kelso and Melrose Stuart, Abbot of Kelso & Melrose, b. Abt 1529, d. 1558 (Age ~ 29 years)
Family 4 Margaret Erskine, d. 5 May 1572
1. James of Moray Stewart, Earl of Moray, Regent, b. Abt 1531, d. 21 Jan 1569, Linlithgow, Scotland (Age ~ 38 years)
Family 5 Eupheme Elphinstone, d. Yes, date unknown
1. Robert of Orkney Stuart, Earl of Orkney, b. 1533, d. 1591 (Age 58 years)
Family 6 Elizabeth (Katherine) Carmichael, d. Yes, date unknown
1. John of Coldinghame Stuart, Prior of Coldinghame, b. Abt 1531, d. 1563 (Age ~ 32 years)
Family ID F551611497 Group Sheet
Family 7 Elizabeth Stewart, d. Yes, date unknown
1. Adam of Charterhouse Stewart, Prior of Charterhouse, d. 1606
Stuart, James V of Scotland, King of Scotland
James V Stuart
[S36] Directory of Royal Genealogical Data, Brian Tompsett, Dept of Computer Science, University of Hull, England([email protected]), (This work is Copyright b 1994-2002 Brian C Tompsett).


Related Olympians: Brother of Ulrich Poltera; Cousin of Hans-Martin Trepp.
Together with his older brother [Ulrich] and cousin [Hans-Martin], Gebhard Poltera learned to play hockey on the natural ice of Arosa. At age 16, he debuted for the senior team of EHC Arosa, which was one of the Swiss top teams of the time. Between 1951 and 1957, the team won seven consecutive Swiss titles, with Poltera as a forward. With his brother and cousin, he also played in the Swiss national team, for a total of 108 matches, during which he scored 98 goals. The Swiss were a top team at the time, and Poltera won an Olympic bronze medal, as well as three World Championship bronzes. Their 1950 third place also doubled as first place in the European Championships. After playing ice hockey, Poltera briefly worked as a coach, before turning to interior decorating.


Complete sources for ALL Public and Vital Records, Smith birth records search.
Snedsted child support payments search.
Get access to Kessel-Lo alumni records today! Kessel-Lo alumni records search.
Webb court records tool. Search court records by state, county, court type, etc.
Spring Hill divorce records finder.
Find what you are looking for in Marshall warrant files database today.
Hinter Tux find lost people search.
Gram business finder does most of the work for you.
St-Anne-des-Monts DWI records search tool.
Find lost friends and loved ones with Cormano Find Old Friends Search instantly.
Find lost friends and loved ones with Windom Find Old Friends Search instantly.
Cairo grave finder. Perform a grave search in Cairo and find it with this tool.
Hale indentity verification tool. Hale identity verification appication.


text:
Cyanoacrylates are a family of strong fast-acting adhesives with industrial, medical, and household uses. They are derived from ethyl cyanoacrylate and related esters. The cyanoacrylate group in the monomer rapidly polymerizes in the presence of water to form long, strong chains.

Specific cyanoacrylates include methyl 2-cyanoacrylate (MCA), ethyl 2-cyanoacrylate (ECA, commonly sold under trade names such as "Super Glue" and "Krazy Glue", or Toagosei), n-butyl cyanoacrylate (n-BCA), octyl cyanoacrylate, and 2-octyl cyanoacrylate (used in medical, veterinary and first aid applications). Cyanoacrylate adhesives are sometimes known generically as instant glues, power glues or superglues. The abbreviation "CA" is commonly used for industrial grade cyanoacrylate.

Development

The original patent for cyanoacrylate was filed in 1947 by the B.F. Goodrich Company as an outgrowth of a search for materials suitable for clear plastic gun sights for the war effort. In 1942, a team of scientists headed by Harry Coover Jr. stumbled upon a formulation that stuck to everything with which it came in contact. The team quickly rejected the substance for the wartime application, but in 1951, while working as researchers for Eastman Kodak, Coover and a colleague, Fred Joyner, rediscovered cyanoacrylates. The two realized the true commercial potential, and a form of the adhesive was first sold in 1958 under the title "Eastman #910" (later "Eastman 910").

During the 1960s, Eastman Kodak sold cyanoacrylate to Loctite, which in turn repackaged and distributed it under a different brand name "Loctite Quick Set 404". In 1971, Loctite developed its own manufacturing technology and introduced its own line of cyanoacrylate, called "Super Bonder". Loctite quickly gained market share, and by the late 1970s it was believed to have exceeded Eastman Kodak's share in the North American industrial cyanoacrylate market. National Starch and Chemical Company purchased Eastman Kodak's cyanoacrylate business and combined it with several acquisitions made throughout the 1970s forming Permabond. Other manufacturers of cyanoacrylate include LePage (a Canadian company acquired by Henkel in 1996), the Permabond Division of National Starch and Chemical, which was a subsidiary of Unilever. Together, Loctite, Eastman, and Permabond accounted for approximately 75% of the industrial cyanoacrylate market.  Permabond continued to manufacture the original 910 formula.

Polymerization

The most common monomer is ethyl 2-cyanoacrylate.  Several related esters are known. To facilitate easy handling, a cyanoacrylate monomer is frequently formulated with an ingredient such as fumed silica to make it more viscous or gel-like. More recently, formulations are available with additives to increase shear strength, creating a more impact resistant bond. Such additives may include rubber, as in Loctite's "Ultra Gel", or others which are not specified.

In general, the C=C groups rapidly undergo chain-growth polymerisation in the presence of water (specifically hydroxide ions), forming long, strong chains, joining the bonded surfaces together. Because the presence of moisture causes the glue to set, exposure to normal levels of humidity in the air causes a thin skin to start to form within seconds, which very greatly slows the reaction; hence, cyanoacrylates are applied as thin coats to ensure that the reaction proceeds rapidly for bonding. Cyanoacrylate adhesives have a short shelf life—about one year from manufacture if unopened, and one month once opened.

General properties
Cyanoacrylates are mainly used as adhesives. Thin layers bond effectively, thick layers much less so. They bond many substances, including human skin and tissues, natural fibres, cotton, wool, and leather.

Cyanoacrylate glue has a low shearing strength, which has led to its use as a temporary adhesive in cases where the piece needs to be sheared off later. Common examples include mounting a workpiece to a sacrificial glue block on a lathe, and tightening pins and bolts. It is also used in conjunction with another slower, but more resilient, adhesive as a way of rapidly forming a joint, which then holds the pieces in the appropriate configuration until the second adhesive has set.

Cyanoacrylate-based glue has a weak bond with smooth surfaces and as such easily gives to friction; a good example of this is the fact that cyanoacrylates may be removed from human skin by means of abrasives (e.g. sugar or sandpaper).

Uses

Medical and veterinary

Cyanoacrylate glue is widely used in human and veterinary medicine. It was in veterinary use for mending bone, hide, and tortoise shell by the early 1970s or before. A cyanoacrylate spray was used in the Vietnam War to reduce bleeding in wounded soldiers until they could be taken to a hospital. n-Butyl cyanoacrylate has been used medically since the 1970s. In the US, due to its potential to irritate the skin, the U.S. Food and Drug Administration (FDA) did not approve its use as a medical adhesive until 1998 with Dermabond (2-octyl cyanoacrylate). A 1986 independent study suggests that cyanoacrylate can be safer and more functional for wound closure than traditional suturing (stitches). Although cyanoacrylates are widely used for sutureless wound repair, "existing adhesives still lack sufficient adhesion strength to completely replace sutures and staples."

Forensics
Cyanoacrylate is used as a forensic tool to capture latent fingerprints on non-porous surfaces like glass, plastic, etc. Cyanoacrylate is warmed to produce fumes that react with the invisible fingerprint residues and atmospheric moisture to form a white polymer (polycyanoacrylate) on the fingerprint ridges. The ridges can then be recorded. The developed fingerprints are, on most surfaces (except on white plastic or similar), visible to the naked eye. Invisible or poorly visible prints can be further enhanced by applying a luminescent or non-luminescent stain.

Some rock climbers use cyanoacrylate to repair damage to the skin on their fingertips. Similarly, stringed-instrument players can form protective finger caps (typically, when they lose their calluses due to inactivity or accidents) with cyanoacrylates. While the glue is not very toxic and wears off quickly with shed skin, applying large quantities of glue and its fumes directly to the skin can cause chemical burns.

While standard "superglue" is 100% ethyl 2-cyanoacrylate, many custom formulations (e.g., 91% ECA, 9% poly(methyl methacrylate), <0.5% hydroquinone, and a small amount of organic sulfonic acid, and variations on the compound n-butyl cyanoacrylate for medical applications) have come to be used for specific applications. There are three cyanoacrylate compounds currently available as topical skin adhesives. 2-Octyl cyanoacrylate is marketed as Dermabond, SurgiSeal, and more recently LiquiBand Exceed. n-Butyl cyanoacrylate is marketed as Histoacryl, Indermil, GluStitch, GluSeal, PeriAcryl, and LiquiBand. The compound ethyl 2-cyanoacrylate is available as Epiglu.

The ester substituent has several effects upon the biocompatibility of the adhesive. Longer side chains result in higher flexibility of the cured adhesive allowing a better match for the flexibility of skin, and can result in a slower release of formaldehyde after curing. Alkoxy-ethyl substituents have also been investigated and have shown some promise as a medical adhesive.

Cosmetics
Cyanoacrylate is used in the cosmetology and beauty industry as an eyelash extension glue, or a "nail glue" for some artificial nail enhancements such as nail tips and nail wraps, and is sometimes mistaken for eye drops causing accidental injury (chemical eye injury).

Niche and hobbies
Cyanoacrylates are used to assemble prototype electronics (used in wire wrap), flying model aircraft, and as retention dressings for nuts and bolts. Their effectiveness in bonding metal and general versatility have made them popular among modeling and miniatures hobbyists.

Cyanoacrylate glue's ability to resist water has made it popular with marine aquarium hobbyists for fragmenting corals. The cut branches of hard corals, such as Acropora, can be glued to a piece of live rock (harvested reef coral) or Milliput (epoxy putty) to allow the new fragment to grow out. It is safe to use directly in the tank, unlike silicone which must be cured to be safe. However, as a class of adhesives, traditional cyanoacrylates are classified as having "weak" resistance to both moisture and heat although the inclusion of phthalic anhydride reportedly counteracts both of these characteristics. Cyanoacrylate glue is also used frequently in aquascaping both freshwater and marine aquariums for the purpose of securing the rhizomes of live plants to pieces of wood or stone. Thin cyanoacrylate glue has application in woodworking. It can be used as a fast-drying, glossy finish. An oil, such as boiled linseed oil, may be used to control the rate at which the cyanoacrylate cures. Cyanoacrylate glue is also used in combination with sawdust (from a saw or sanding) to fill voids and cracks. These repair methods are used on piano soundboards, wood instruments, and wood furniture. Cyanoacrylate glue is also used in the finishing of pen blanks (wooden blanks for turning pens) that have been turned on a lathe by applying multiple thin layers to build up a hard, clear finish that can then be sanded and polished to a glossy finish.

Some hobby applications call for cyanoacrylate glue mixed with inorganic fillers such as baking soda (sodium bicarbonate) and calcium oxide.

Cyanoacrylate is used in archery to glue fletching to arrow shafts. Some special fletching glues are primarily cyanoacrylate repackaged in special fletching glue kits. Such tubes often have a long, thin metal nozzle for improved precision in applying the glue to the base of the fletching and to ensure secure bonding to the arrow shaft.

Safety issues

Skin injuries
Cyanoacrylate adhesives may adhere to body parts, and injuries may occur when parts of the skin are torn off. Without force, however, the glue will spontaneously separate from the skin in time (up to four days). Separation can be accelerated by applying vegetable oil near, on, and around the glue. In the case of glued eyelids, especially if it has contacted the eyeball, medical experts are indicated.

Toxicity
Heating causes depolymerization of the cured polymers producing gaseous products that are highly irritating. They are immediately polymerized by the moisture in the membranes and become inert. These risks can be minimized by using cyanoacrylate in well-ventilated areas. About 5% of the population can become sensitized to cyanoacrylate fumes after repeated exposure, resulting in flu-like symptoms. Cyanoacrylate may also be a skin irritant, causing an allergic skin reaction. The American Conference of Governmental Industrial Hygienists (ACGIH) assign a threshold limit value exposure limit of 200 parts per billion. On rare occasions, inhalation may trigger asthma. There is no singular measurement of toxicity for all cyanoacrylate adhesives because of the large number of adhesives that contain various cyanoacrylate formulations.

The United Kingdom's Health and Safety Executive and the United States National Toxicology Program have concluded that the use of ethyl cyanoacrylate is safe and that additional study is unnecessary. The compound 2-octyl cyanoacrylate degrades much more slowly due to its longer organic backbone (series of covalently bonded carbon molecules) and the adhesive does not reach the threshold of tissue toxicity. Due to the toxicity issues of ethyl cyanoacrylate, the use of 2-octyl cyanoacrylate for sutures is preferred.

Reaction with cotton, wool, and other fibrous materials
Applying cyanoacrylate to some natural materials such as cotton (jeans, cotton swabs, cotton balls, and certain yarns or fabrics), or leather or wool results in a powerful, rapid, exothermic reaction. This reaction also occurs with fiberglass and carbon fiber. The heat released may cause serious burns or release irritating white smoke. Material safety data sheets for cyanoacrylate instruct users not to wear cotton (jeans) or wool clothing, especially cotton gloves, when applying or handling cyanoacrylates.

Solvents and debonders
Acetone, commonly found as a fraction of nail polish remover (or at hardware stores in pure form), is a widely available solvent capable of softening cured cyanoacrylate. Other solvents include nitromethane, dimethylformamide, dimethyl sulfoxide, and methylene chloride. Another viable solvent for removing cured cyanoacrylate is gamma-butyrolactone. Commercial debonders are also available, many based on propylene carbonate.

Shelf life
Cyanoacrylate adhesives have a short shelf life. Date-stamped containers help to ensure that the adhesive is still viable. One manufacturer supplies the following information and advice: When kept unopened in a cool, dry location such as a refrigerator at a temperature of about 55 °F (13 °C), the shelf life of cyanoacrylate will be extended from about one year from manufacture to at least 15 months. If the adhesive is to be used within six months, it is not necessary to refrigerate it. Cyanoacrylates are moisture-sensitive, and moving from a cool to a hot location will create condensation; after removing from the refrigerator, it is best to let the adhesive reach room temperature before opening. After opening, it should be used within 30 days. Open containers should not be refrigerated. Another manufacturer says that the maximum shelf life of 12 months is obtained for some of their cyanoacrylates if the original containers are stored at . User forums and some manufacturers say that an almost unlimited shelf life is attainable by storing unopened at , the typical temperature of a domestic freezer, and allowing the contents to reach room temperature before use. Opening a container while chilled may cause moisture from the air to condense in the container; however, reports from hobbyists suggest that storing cyanoacrylate in a freezer can preserve opened cyanoacrylate indefinitely.

As cyanoacrylates age, they polymerize, become thicker, and cure more slowly. They can be thinned with a cyanoacrylate of the same chemical composition with lower viscosity. Storing cyanoacrylates below  will nearly stop the polymerization process and prevent aging.

References

Further reading

 derma+flex QS 510k Letter: http://www.accessdata.fda.gov/cdrh_docs/pdf10/K101276.pdf
 LiquiBand 510k Letter: http://www.accessdata.fda.gov/cdrh_docs/pdf8/K083531.pdf

External links
 Was Super Glue invented to seal battle wounds in Vietnam? (from The Straight Dope)
 Cyanoacrylate Toxicity
 Cyanoacrylate Adhesive / Super Glue Safety Data Sheets
 Safety in the Home: Super Glue - Queensland Health
 Cyanoacrylate Technical Data Sheet
  Alcohol-Catalyzed α-Cyanoacrylate Adhesive Compositions, filed June 1954, issued October 1956.
 3M Activators, Primers and Debonder
 Application note on measuring cure kinetics of cyanoacrylate glues

Adhesives
American inventions
Medical treatments
Monomers
Synthetic resins
Cyanoacrylate esters

redpajama_set_name: RedPajamaWikipedia


text:
Playful Monkey
Monkey-Themed Teakwood Serving Plate from Thailand, 'Playful Monkey'
Hand-carved from teakwood and given a finish that accentuates the natural grain, the face of a playful monkey forms this serving plate from Thailand. Sanai Keawchaisa designs this fun plate, perfect for serving appetizers, hors d'oeuvres, or the occasional snack.
Made in Thailand
Wood grain and color can vary slightly
Not for use in microwave oven
1.9 cm H x 16.9 cm W x 12.2 cm D
0.7" H x 6.75" W x 4.8" D
Tableware Serveware Animal Themed Tableware Wood Tableware Serving Plates Tableware Brown Tableware
Artfully crafted by Sanai Keawchaisa from Thailand.
Sanai Keawchaisa
"Hi! My name is Sanai Keawchaisa. I was born in Ratchaburi, a province in Central Thailand located to the west of Bangkok. After graduating, I worked for a cement company as a mechanic, repairing large machines. Then, I changed jobs to work for a department store as a cook. I made steamed duck, pork sausages, and pastries.
"Unfortunately, I had a bout of thyrotoxicosis in 2008, so my family and I moved to Chiang Mai and bought a small piece of land not far from the city. We spent time getting to know our village and our neighbors.
"Most people in our community work in the wood furniture industry and have longan gardens. I started my own woodworking by picking up a piece of leftover longan wood that they dumped, and I chiseled it to form a small bowl shape. My inspiration came from His Majesty, the late King of Thailand. The King's project was to build reservoirs all over Thailand to help solve a water shortage. I cut that wooden piece, then polished the bowl shape and used a branch to make a stand. I still use this bowl to hold fruit for welcoming my customers.
"I started to enjoy wood carving and began to learn seriously by helping people around my community. I found that there was so much teakwood waste from furniture processing, so I used it to make useful items. Besides leftover wood from the furniture industry, I use wood from old houses or even pigsties, because I believe that every place has history and memories. I try to present the beauty of this leftover wood in the form of chopsticks, boxes, trays, cutting boards, wooden speakers, and spirit houses.
"I do not paint my woodwork because I want each piece to be unique. Some customers love this, but some don't understand and think their piece is not complete. I explain that it's from nature, which has beauty on its own, and the customer is proud that they own the only piece of its kind in the world.
"I have a happy family. My wife and I work together to make woodwork, my daughter is a scientist living with her family in the USA, and my son helps me in my workshop. My small workshop has 10 employees and everybody works happily.
"My motto is 'To combine a fraction makes a whole number,' like taking reclaimed wood and forming it to be a beautiful and useful piece. I try to create inspiration all the time. Inspiration is more important than a dream because it drives you to create.
"I still finish work late at night, wake up early every day, and always work happily. I try to transmit my happiness into each piece of my work, and hope that my pieces will emerge in the international market. Thank you to everyone who buys and appreciates the handicrafts from my small family."
This item was handmade in Thailand. UNICEF helped thousands of children across Thailand keep learning after the 2004 tsunami destroyed their schools.


text:
USEF Names Phase I Short List Show Jumping Athletes for 2014 World Equestrian Games
The United States Equestrian Federation (USEF) has named four show jumping athletes to Phase I of the Short List for the 2014 Alltech FEI World Equestrian Games.
December 20, 2013 -- The United States Equestrian Federation (USEF) has named four show jumping athletes to Phase I of the Short List for the 2014 Alltech FEI World Equestrian Games. In accordance with the Selection Procedures for the 2014 Alltech FEI World Equestrian Games Show Jumping Team, the four highest ranked athletes on the December 6, 2013 Rolex/USEF Show Jumping Average Ranking List have been named to the Short List.
The following four riders have been named to the Short List (in alphabetical order):
Kent Farrington (Wellington, Fla.)
Reed Kessler (Lexington, Ky)
Beezie Madden (Cazenovia, N.Y.)
McLain Ward (Brewster, N.Y.)
Click here to see the December 6, 2013 Rolex/USEF Show Jumping Average Ranking List.
The remaining six athletes will be named to the Short List no later than April 28, 2013.
Click here to see the Selection Procedures for the 2014 Alltech FEI World Equestrian Games Show Jumping Team.
USEF Names Short List for the 2014 Alltech FEI World Equestrian Games U.S. Para-Equestrian Dressage Team
The United States Equestrian Federation (USEF) has named 10 horse-and-athlete combinations to the Short List for the 2014 Alltech FEI World Equestrian Games U.S. Para-Equestrian Dressage Team.
USEF Names Short List for the 2014 Alltech FEI World Equestrian Games U.S. Endurance Team
The United States Equestrian Federation (USEF) has named ten horse-and-athlete combinations to the Short List for the 2014 Alltech FEI World Equestrian Games U.S. Endurance Team.
USEF Names Olympic Show Jumping Short List
The U.S. Equestrian Federation's Ad Hoc Committee on Selection has approved naming 10 horse/rider combinations to the show jumping short list for the 2008 Olympic Games in Hong Kong.
USEF Names Show Jumping Short List for 2010 WEG
Ten horse-and-rider combinations are named to the U.S. show jumping team short list for the 2010 Alltech FEI World Equestrian Games.
Madden, Ward on USEF Show Jumping Short List
The United States Equestrian Federation Ad Hoc Committee on Selection has named Beezie Madden and McLain Ward to the show jumping short list for the 2008 Olympic Games in Hong Kong.
U.S. Eventing Team Named for 2014 Alltech FEI World Equestrian Games
The United States Equestrian Federation USEF) has named six athlete-and-horse combinations to the Squad for the Land Rover U.S. Eventing Team for the 2014 Alltech FEI World Equestrian Games.
USEF Names Dressage Short List for 2010 WEG
Eight horse-and-rider combinations are named to the U.S. dressage team short list for the 2010 Alltech FEI World Equestrian Games.
USEF Names Vaulting Short List for 2010 WEG
Individuals and teams are named to the U.S. vaulting short list for the 2010 Alltech FEI World Equestrian Games.
USEF Names Short List Additions for 2010 WEG Eventing Team
The U.S. Equestrian Federation has added to the short list for the 2010 Land Rover U.S. Eventing Team to represent the United States at the 2010 Alltech FEI World Equestrian Games.


text:
The Global Risks Report 2019
Licencia y Republicación
El Foro Económico Mundial informes puede volver a publicarse de acuerdo con nuestros Términos de uso.
Lectura adicional All related content
Why law enforcement and businesses need to join forces to fight global cybercrime
The digital revolution is changing the way law enforcement protects communities and the way businesses manage risk.
Why enterprise risk management is the future for banks
Regulators and risk managers have made great strides in controlling the forces that sparked the financial crisis more than a decade ago. But their success in fighting the last war could b...
If people aren't responding to climate warnings, we need to change the message
Top decision-makers place extreme weather events and the failure of policies to address climate change as the top two high-probability, high-impact risks facing the world. Yet there often...
El Informe de Riesgos Globales 2023
Global Risks Report 2022


Paper Heart Design will create anything you might need for your business, project, or event. I provide high quality digital content and printed materials, including business cards, line/rack cards, flyers, banners, product tags, labels, gift cards, post cards, posters, folders, book covers, and anything else you can dream up. You will have the option of physical printed final products or digital files for use at your own local, in house, or online printer.


SKU: 5J-AXG3-0QEM. Categories: Adrenal Support, Antioxidant, Brain Support, Digestion, Extracts, Men's Health, Mood, Sleep, Stress Relief, Thyroid, Women's Health. Tags: Adrenal Fatigue, Anxiety Disorders, blood pressure, Chronic Stress, Clinical Depression, Depression Disorders, Emotional health, GAD, General Nervousness, Generalized Anxiety Disorder, Grief, hormonal health, Insomnia, Low Serotonin, mental health, Mild Depression, Mood Disorder-Related Digestive Issues, Mood Swings, Post-Traumatic Stress Disorder, PTSD, Serotonin Disorders, Sleep Disorders, Stress Burnout, Trauma.
Daily Stress & Mood Support – No Matter How You Mix It!
I love this as a sleep aid. It doesn't cause the strange dreams I get with Valerian Root nor the next-day drowsiness I often get from doxylamine (Nyquil, Unisom) and diphenhydramine (Benadryl). It smells like a billy goat, but I mix it with a cup of warm milk, a tablespoon of honey and a few drops of lemon extract, which makes a very tasty concoction.
I very happy with the feeling of calm I m having.
This is good stuff. Highly recommended if you live a high output lifestyle.
Love the taste. Recently bought, so yet to see results!
Are there natural alternatives and support for health of the mind?
Mental health—including anxiety, depression, stress, and even grief and trauma—is one of the more overlooked aspects of wellness. For this reason, we don't overlook any potential or possibilities in every single botanical ingredient we include in our formula.
More importantly: each ingredient we select for inclusion must be supported not only by solid research and scientific evidence but also a strong body and background of evidence-based traditional use dating back thousands of years.
In the realm of stress relief, anxiety support, and even depression support, many herbs have been explored, both scientifically and experimentally. Many may work, but we only include the very best.
This includes botanicals selected not only for how they are shown to possibly support symptom relief, but also for how they help strengthen the body to better handle and adapt to stress, which further reduces anxiety, stress, and sleep problems twofold.
None of these herbal ingredients are proven or approved to replace doctor-approved or mainstream therapies for mood disorders.
Instead, think of these ingredients as an extra shield or even additional nutrient support to help one's flexibility, durability, and stamina when facing challenges to mental wellness and mood.
Nothing effective in the world of stress relief and hormone balance could ever skip out on ashwagandha. A powerful root that is surprisingly closely related to tomatoes, eggplants, and peppers, it was an important part of the ancient healing practices in Ayurveda from India.
One of nature's richest sources of natural 5-HTP, this plant from Africa contains phytochemicals that closely mimic a very important neurotransmitter in our bodies that eventually gets transformed into serotonin. In fact, most 5-HTP supplements contain extracts directly from this plant.
This medicinal mushroom provides an array of beneficial support. Reishi can support Anxiety and Depression; Breast cancer patients reported reduced anxiety and depression, as well as increased quality of life when they received reishi along with their cancer treatment. The group not receiving reishi did not report these effects.
Another amino acid in our lineup ensures that the depression, anxiety, or stress-addled brain gets the optimum natural neurotransmitter support it could possibly get.* In the case of l-tryptophan, this chemical is found in good amounts in certain foods and promotes mild stress relief.
In higher supplement amounts, however, l-tryptophan could have even more marked effects on mood and stress.* Our body needs this amino acid, but it can't produce it on its own and might be especially scarce in those facing mood disorders. Along with 5-HTP and l-theanine, this is an herbal ingredient we include because we don't feel it should be overlooked.
A beautiful and evocative flower could be one of the best natural remedies for depression discovered in the herbal world thus far. Though it's nowhere near being considered a replacement for antidepressants, studies nevertheless show that this blooming vine could have great promise one day.
We recommend once daily, but it's important to listen to your body and make adjustments!
With three little kids 2 and under, I'm always looking for healthy ways to keep my cool. I'm a pretty wound up person, and most "calming" supplements have little to no effect on me, but Tranquil Mind is an exception. A little bit will take the edge of stress off, and a full serving makes me want to curl up and take a nap (which is wonderful, if I save the big dose for the end of the day). This is a great supplement for easing tension, and it's very potent, so based on my experience I would say start with a small dose and see where you get before taking anything heaping or you may just want to nap. At first, I thought this seemed a pretty pricey, but now I see that a little bit goes quite a long way; with that in mind, it's a much better value than you might initially think. I received this product at a discount in exchange for my honest, unbiased review. The calm I get from this makes it worth the splurge, and I will likely purchase this again at full price. If this has been in any way helpful to you, I would greatly appreciate a helpful vote below; thanks for reading.


text:
Los Santos de la Humosa is a municipality of the Community of Madrid, Spain.

References

Municipalities in the Community of Madrid


Do you need a new single-car garage door for your home? Prefer the look of two adjacent small garage doors? If you live in the Washington, DC metropolitan area, make Accurate Insulation your first call and we'll make sure it's your last.
We offer all different styles, colors and materials of small and one-car garage doors. Whatever your small door needs, look to our experienced team.
Contact us to schedule your installation or keep reading to learn more!
Standard door widths are 8′, 9′, 10′, 12′, 14′, 15′, 15'6″, 16′, and 18′ and standard door heights are from 6′ to 8′ in 3″ increments (except for 7'3″). Other heights and widths are also available and vary by individual series. Often, two or even three small, one-car garage doors are installed side by side.
Our team can also repair your small garage door. One of the repair professionals at Accurate Insulation will come out and assess your door, find the source of the problem, explain what's happening and fix it.
No matter your needs, we have a solution that meets them—let us show you our extensive collections. Contact Accurate Insulation today to schedule your installation or to learn more about our services!