In his birdsong-filled collection, Charles Weld walks that edge where narrative opens through the mysterious speech of the world, in the voice of Great Horned Owl, Common Yellowthroat, White-throated Sparrow and their kin, with glimpses along the way of a human geneology unspooling into a father's sometimes eccentric education of his sons. The poet son brings his resultant razor senses to parse for us both the natural world in which he came of age, and the stranger makings of men: the teachings of Buddhists, the Bible's narrative, the privatization of poetry, and history itself.
that undoes the possibility of narrative completely.
and our own lives unwinding within it.


Lisa Klein is an expert in political regulation with extensive practitioner experience at a senior level. Lisa has a proven ability to provide vision and motivation to diverse teams and stakeholders. She has an impressive track-record in delivering change.
Lisa has a background in regulatory, institutional development and policy formulation, in both the UK and the USA. Her proven skills in political finance and ethics regulation have created an international portfolio of work, with a particular focus on the development of anti-corruption initiatives in emerging democracies.
Lisa's international consultancy experience includes assessment of legislative frameworks and their implementation, development and delivery of training programmes and electoral observation.


text:
The Spectator: In Eight Volumes. : Vol. I[-VIII].
Lancaster, afterwards provost of Queen's College ; by whose recommendation he was elected as a demy (or scholar) into Magdalen College. He took the degree of M. A. Feb. 14, 1693. Here he continued to cultivate poetry and criticism, and grew first eminent hy his Latin compositions, which are indeed entitled to particular praise, and seem to have had much of his fondness.
In his twenty-second year he first shewed his power of English poetry, by some verses addressed to Dryden; and soon after published a translation of the greater part of the Fourth Georgic upon Bees; after which, says Dryden, my latter swarm is hardly worth the hiving.--About the same time he composed the arguments prefixed to the several books of Dryden's Virgil; and produced an Essay on the Georgics, and a paper of verses containing a character of the principal English poets.
About this time he was introduced by Congreve to Montague, then chancellor of the exchequer: Addison was then learning the trade of a courtier, and subjoined Montague as a poetical name to those of Cowley and Dryden.
By the influence of Mr. Montaglie, concurring with his natural modesty, he was diverted from his original design of entering into holy orders. Montague alledged the corruption of men who engaged in civil employments without liberal education; and declared that, though he was represented as an enemy to the church, he would never do it any injury but by withholding Addison from it.
In 1695 he wrote a poem to king William and in 1697 another on the peace of Ryswick.
Having yet no public employment, he obtained in 1699 a pension of 2001. a year, that he might be enabled to travel. He staid a year at Blois, probably to learn the French language and then proceeded in his journey to Italy, which he surveyed with the eyes of a poet.-While he was travelling at leisure, he was far from being idle ; for he not only collected his observations on the country, but found time to write his Dialogues on Medals, and four acts of Cato. Such is the relation of Tickell. Perhaps he only collected his materials, and formed his plan.
Whatever were his either employments in Italy, he there wrơie the Leader to Lord Halifax, which is justly considered as the most elegant, if not the most sublime, of his poetical productions. But in about two years he found it necessary to hasten home, being distressed by indigence, and compelled to become the tutor to a travelling Squire. He soon afterwards published his Travels.
When he returned to England (in 1702), he with a meanness of appearance, which gave testimony of the difficulties to which he had been reduced, he found his old patrons out of power, and was therefore for a time at full leisure for the cultivation of his mind; and a mind so cultivated gives reason to believe that little time was lost. But he remained not long neglected or useless. The victory at Blenheim (1704) afforded him an occasion for the display of his poetical talents, for which he was immediately rewarded by succeeding Mr. Locke in the place of Commissioner of Appeals.
In the following year he was at Hanover with lord Halifax; and the year after was made under-secretary of state, first to Sir Charles Hedges, and in a few months more to the earl of Sunderland.
About this time be wrote the opera of Rosamond, which, when exhibited on the Stage, was either hissed or neglected; but, trusting that the readers would do him more justice, he published it, with an inscription to the dutchess of Marlborough.
When the marquis of Wharton was appointed lord lieutenant of Ireland, Addison attended him as his secretary, and was made keeper of the records in Birmingham's Tower, with a salary of 300l. a year. The office was little more than nominal, and the salary was augmented for his accommodation. When he was in office he made a law to himself never to remit his regular fees in civility to his friends : " For (said " he) I may have a hundred friends; and if my fee " be two guineas, I shall by relinquishing my right " lose two hundred guineas, and no friend gain more " than two; there is therefore no proportion between " the good imparted and the evil suffered."
Steele published his first Tatler, April 22, 1709, and Addison's contribution appeared May 26. He continued his assistance to December 23, and the paper dropped on January 2. He did not distinguish his pieces by any signature.
To the Tatler, in about two months, succeeded the SPECTATOR; a series of essays of the same kind, but written with less levity, upon a more regular plan, and published daily. Such an undertaking shewed the writers not to distrust their own copiousness of materials, or facility of composition, and their performance justified their confidence. They found, however, in their progress many auxiliaries. To attempt a single paper was no terrifying labour; many pieces were offered, and many were received.
Addison had enough of the zeal of party, but Steele had at that time almost nothing else. The Spectator, in one of the first papers, shewed the political tenets of its authors; but a resolution was soon taken of courting general approbation by general topics, and subjects on which faction has produced no diversity of sentiments; such as literature, morality, and familiar life. To this practice they adhered with very few deviations.
Before the Tatler and Spectator, if the writers for the theatre are excepted, England had no masters of common life. No writers had yet undertaken to reform either the savageness of neglect, or the imperti. nence of civility; to teach when to speak, or to be silent; how to refuse or how to comply. We wanted not books to teach us our more important duties, and to settle opinions in philosophy or politics; but an arbiter elegantiarum, a judge of propriety, was yet wanting, who should survey the track of daily conversation, and free it from thorns and prickles, which teaze the passer, though they do not wound him. For this purpose nothing is so proper as the frequent publication of short papers, which we read not as study but amusement. If the subject be slight, the treatise likewise is short. The busy may find time, and the idle may find patience.
It has been suggested that the Royal Society was instituted soon after the Restoration, to divert the attention of the people from public discontent. The Tatler and Spectators had the same tendency: They were published at a time when two parties, loud, restless, and violent, each with plausible declarations, and perhaps without
distinct termination of its views, were agitating the nation; to minds heated with political contest, they supplied cooler and more inoffensive reflections; and it is said by Addison, in a subsequent work, that they had a perceptible influence upon the conversation of that time, and taught the frolic and the gay to unite merriment with decency ; an effect which they can never wholly lose, while they continue to be among the first books by which both sexes are initiated in the elegancies of knowledge.
The Tatler and Spectator reduced the unsettled practice of daily intercourse to propriety and politeness; they superadded literature and criticism, and sometimes towered far above their predecessors of
Italy and France, and taught, with great justness of argument and dignity of language, the most important duties and sublime truths. All these topics were happily varied with elegant fictions and refined allegories, and illuminated with different changes of style and felicities of invention.
It is recorded by Budsell, that of the characters feigned or exhibited in the Spectator, the favourite of Addison'was Sir Roger de Coverley, of whom he had formed a very clelicate and discriminated idea, which he would not suffer to be violated; and therefore when Steele had shewn him innocently picking up a girl in. the Temple, and taking her to a tavern, he drew upon himself so much of his friend's indignation, that he was forced to appease him by a promise of forbearing Sir Roger for the time to come.
Of essays thus elegant, thus instructive, and thus commodiously distributed, it is natural to suppose the approbation general, and the sale numerous ; yet the number daily sold was not more than sixteen hundred
and eighty.
The next year (1713), in which Cato came upon the stage, was the grand climacteric of Addison's reputation. The whole nation was at that time on ffre with faction. The Whigs applauded every line of the play in which liberty was mentioned, as a satire on the Tories; and the Tories echoed every clap, to shew that the satire was unfelt. The story of Bolingbroke is well known. He called Booth to his box, and gave him fifty guineas for defending the cause of liberty so well against a perpetual dictator. The play, supported thus by the emulation of factious praise, was acted night after night, for a longer time than the public had allowed to any drama before; and the author wandered through the whole exhibition behind the scenes with restless and unappeasavle solicitude.

redpajama_set_name: RedPajamaCommonCrawl


text:
Home / All CE Courses / Anger Management for Substance Abuse and Mental Health Clients - A Cognitive-Behavioral Therapy Manual
Anger Management for Substance Abuse and Mental Health Clients - A Cognitive-Behavioral Therapy Manual
SKU: B2705-B20 Categories: Abuse and Domestic Violence, Addiction, All CE Courses, Anger Management, At Health, Cognitive Behavioral Therapy, Couples Therapy, New Courses, Substance Use & Abuse, Therapy Tag: Text Format
Anger and substance use disorders often co-occur, increasing the risk for negative consequences such as physical aggression, self-harm, distressed relationships, loss of a job, or criminal justice involvement. According to a 2014 meta-analysis of 23 studies, nearly half of people who committed homicides were under the influence of alcohol and 37 percent were intoxicated (Kuhns, Exum, Clodfelter, & Bottia, 2014). Anger, violence, and associated traumatic stress can often correlate with the initiation of drug and alcohol use and can be a consequence of substance use. Individuals who experience traumatic events, for example, may experience anger and act violently, as well as misuse drugs or alcohol. Clinicians often see how anger and violence and substance use are linked (Shopshire & Reilly, 2013).
Many clients with substance use and mental health issues experience traumatic life events, which, in turn, lead to substance use, anger, and increased risk for violence. Meta-analyses have reliably demonstrated the efficacy of cognitive–behavioral therapy in the treatment of addictions and other mental health issues, such as depression, traumatic stress, and anxiety.
To provide clinicians with tools to help deal with this important issue, the Center for Substance Abuse Treatment at the Substance Abuse and Mental Health Services Administration is pleased to present revised and updated versions of Anger Management for Substance Use Disorder and Mental Health Clients: A Cognitive–Behavioral Therapy Manual and its companion book Anger Management for Substance Use Disorder and Mental Health Clients: Participant Workbook, which were originally published in 2002.
The anger management treatment design in this manual, which has been delivered to thousands of clients over the past three decades, has been popular with both clinicians and clients. This format of the manual lends itself to use in a variety of clinical settings; can be adapted to accommodate different racial-ethnic minority groups and genders, and diverse treatment
settings; and will be a helpful tool for the field.
7/2020 At Health requested and received permission to use SAMHSA publications (with proper citation) in their entirety for CE Courses at athealth.com.
Target audience: Psychologists, mental health counselors, marriage and family therapists, social workers, addiction counselors, nurses
This CE program is designated as beginner.
Course Content Categories: Substance Abuse; Clinical; Domestic Violence
Published by At Health 9/2/2020
Anger Management for Substance Abuse and Mental Health Clients A Cognitive-Behavioral Therapy Manual
Participant Workbook
Citation and References
Numerous people contributed to the development of this manual (see appendix). The publication was written by Patrick M. Reilly, Ph.D., and Michael S. Shopshire, Ph.D., of the San Francisco Treatment Research
Center. Sharon Hall, Ph.D., was the Treatment Research Center's Principal Investigator.
This publication is, in part, a product of research conducted with support from the National Institute on Drug Abuse, Grant DA 09253, awarded to the University of California–San Francisco. The research for this publication was also supported by funding from the Department of Veterans Affairs to the San Francisco Veterans Affairs Medical Center. This publication was updated under contract number 270-14-0445 by the Knowledge Application Program (KAP) for the Substance Abuse and Mental Health Services Administration (SAMHSA), U.S. Department of Health and Human Services (HHS). Suzanne Wise served as the Contracting Officer's Representative, and Candi Byrne served as Alternate Contracting Officer's Representative. Darrick D.Cunningham, LCSW, BCD, and Arlin Hatch, CDR, USPHS, Ph.D., served as the Product Champions.
Describe skills and strategies for managing anger
Explain the anger meter and how it can be used to monitor anger
Name the categories of cues to anger
Demonstrate how to develop an anger control plan
Give examples of relaxation techniques used to counter escalating anger
Differentiate between the stages in the aggression cycle and describe common indicators of each stage
57 reviews for Anger Management for Substance Abuse and Mental Health Clients - A Cognitive-Behavioral Therapy Manual
Leah (verified owner) – June 3, 2022
Amanda (verified owner) – June 9, 2022
Vanessa (verified owner) – June 29, 2022
amy (verified owner) – July 1, 2022
Dennis (verified owner) – July 4, 2022
Victoria (verified owner) – July 25, 2022
Theresa (verified owner) – August 29, 2022
Susan (verified owner) – October 27, 2022
Paige (verified owner) – November 2, 2022
Matthew (verified owner) – November 17, 2022
Ada (verified owner) – November 21, 2022
Ashley (verified owner) – December 19, 2022
Chris (verified owner) – December 22, 2022
Lynne (verified owner) – December 29, 2022
Janet (verified owner) – January 8, 2023
Beverly (verified owner) – January 16, 2023
Adolescent Girls: Development and Treatment Issues
You're viewing: Anger Management for Substance Abuse and Mental Health Clients - A Cognitive-Behavioral Therapy Manual $24.00 for 2 credits


text:
Explore the latest news and trends
Sign up for our weekly security newsletter
Be the first to receive important updates on security
Ohio Hospitals (OVMC And EORH) recovered from EHR Downtime after Ransomware Attack
OVMC (Ohio Valley Medical Center) and EORH (East Ohio Regional Hospital) both were affected by the ransomware attack on November 23, 2018 (i.e. on Friday). Because of this incident, the ambulance patients have been transported to other nearby hospitals, and admissions to emergency room were restricted to the walk-up patients only.
During the breach, no patient information has been compromised. EORH and OVMC worked to protect the financial and health information of patient by shutting their EHR system down, and then moving to paper charting for the clinical operations. After the hospitals' network got hit by a ransomware attack, both hospitals voluntarily initiated period of the EHR downtime.
Now both EORH and OVMC have recovered fully from sustained time period of the EHR downtime after their computer network got hit by a ransomware attack and need not have to pay ransom to the hackers, as per Wheeling News-Register.
In fact, EORH and OVMC had made significant development in restoring their EHR system by the time weekend (i.e. November 25, 2018) was over. Only partial diversion of the emergency room traffic was required in between Monday (i.e. November 26, 2018) and Wednesday (i.e. November 28, 2018). The computer network of hospitals emergency rooms was restored by them by the night of November 28, 2018, and thus they are now not diverting the patients to various other care sites.
Karin Janiszewski, EORH and OVMC Director of Marketing and Public Relations, told the Register that "as of 10 p.m., our EMSTAR emergency departments are off of diversion. Computer software capabilities have been fully restored and EMS can transport patients to our EDs without issue".
As per the Times Leader, Janiszewski told them that EORH and OVMC were not paying ransom amount to the hackers for restoring their system. Janiszewski also told the Times that "it is not necessary because we have redundant security and ransomware was only able to make it through our first layer of security but not the second".
The IT teams of the hospitals' have been successful in restoring the EHR technology in emergency departments of EORH and OVMC fully without outside help.
"Now, our IT crew is rebuilding the front of the software programs -- the entry area -- and until that is fully functional, we will stay on a yellow status in the ER," Janiszewski explained.
» SPAMfighter News - 07-12-2018
We are happy to see you are reading our IT Security News.
We do believe, that the foundation for a good work environment starts with fast, secure and high performing computers. If you agree, then you should take a look at our Business Solutions to Spam Filter & Antivirus for even the latest version of Exchange Servers - your colleagues will appreciate it!
Press Releases - IT Security News
Anti spam / Anti virus business solutions
White Label Software
© SPAMfighter 2003-2019 All rights reserved. Privacy Statement Sitemap


text:
Batignolles N5
The architectural morphogenesis of an office building
© PCA-STREAM
At the heart of the ZAC Clichy-Batignolles, the first Parisian district to be entirely designed and realized in the 21st century, PCA-STREAM offers an innovative office complex, with workspaces that match the new uses that have emerged from the digital revolution and the intangible economy. PCA-STREAM has aimed at achieving the best possible environmental performance and has developed a systemic bioclimatic design based on architectural morphogenesis.
Share this article Facebook twitter mail
Architectural morphogenesis
PCA-STREAM's winning design for the Batignolles' N5 block will form part of the eco-district of ZAC Clichy-Batignolles, which is being constructed right next to the Cité judiciaire, the new Judicial Precinct of the City of Paris. In the absence of any direct heritage constraints, an audacious style has been embraced, turning the project into a beacon and a destination for its users. At the crossing of two key arteries, Boulevard Berthier and Rue Rostropovitch, which runs along some railroad tracks, the project acts as the nexus between two distinctive levels in the district. It therefore forms both a screen and a passageway between its various identities and activities. Its position on the fringe of the Cité judiciaire is a source of contrast, with its west face that opens toward the post-industrial landscape and its other face toward the Parc Clichy-Batignolles. One face is thus oriented toward the weather and the traffic, while the other is protected from the sun and the noise. The complexity and the potential of the site have prompted PCA-STREAM to explore the concept of an architectural morphogenesis—an architecture that generated by its environment.
View from Boulevard Berthier © PCA-STREAM
Entrance of the building © PCA-STREAM
#slideshow-1133
An office building that is open to the city
The building is designed following a versatile and organically-inspired geometry. Its morphology facilitates the opening on the city all the while articulating flows and activities thanks to its active base that take into account the gradient of the street. There, the public and private spheres are combined to create a visual and physical porosity. The bow of the building contains a pub that extends on the outside with a terrace. The pub is open all day long and is both a place to work and to relax for the users of the building and the neighborhood. The other sphere consists of an abundantly glazed office hallway, an access to an auditorium, and, further beyond, a large bicycle shelter that is enclosed in a breathable mesh cage. Placed between these two spheres is an atrium, which slides under the building, giving access to the terrace gardens. In promoting transparency and the sharing of its exterior spaces, Batignolles/N5 has embraced a physical and symbolic openness that conveys a vision of the office building enmeshed in the urban fabric.
Gardens adjoining the building © PCA-STREAM
Building's entrance © PCA-STREAM
Lobby and café-restaurant open to the city © PCA-STREAM
Workspaces that are adapted to new uses
Batignolles N5 is well adapted to the new emerging work patterns and work spaces that have been brought about digital revolution and the intangible economy. Serving the needs of businesses with flat organizational structures, that value creativity and team work and are concerned with their staff's quality of life, the building is organized around a variety of individual and collaborative spaces. The cellular morphology of the building introduces a large diversity of situations and offers stories that are softened by a curved geometry. This generates atypical open spaces that are served by flexible circulations. The common areas, which are both wide and bright, expand meeting opportunities and foster serendipity, i.e., the ability for a space to bring about innovation and creativity through informal meetings. The terraces also play a part in the well-being of users, as does the visual comfort provided by the limited depth of the building. The architecture of the building itself derives from an approach in which the formal work is placed at the service of its intended uses.
Morphogenesis of the building in its environment © PCA-STREAM
Floor plan © PCA-STREAM
An active membrane
Batignolles N5 is part of an ambitious sustainable development approach that takes into account energy issues as well as thermal, visual, and acoustic comfort. Key in PCA STREAM's systemic approach is the building's innovative envelope, a glazed double-skin façade clad with wooden scales that are arranged based on the acoustic nuisances and heat load they will help screen off. The excellent environmental performance of this active membrane makes it possible not to resort to any air conditioning, which makes the building a fully bioclimatic one. The complex geometry of scales also allows varying degrees of light to penetrate in the building, offering a great variety of light environments and produces a kinetic animation that is visible from the railway track and the two arteries. The building thus turns into both a spectacle and a landscape.
View from railway tracks © PCA-STREAM
Ogic
Boulevard Berthier, ZAC Clichy-Batignolles
Competition (2014)
HQE, Effinergie+, BREEAM Excellent
Caption(s) image(s) from the page header
project Paris 2015 Completed
#cloud.paris
project Paris 2022 In progress
Stream Building
project Paris - La Défense 2009 Competition
PB22 Tower
Franck Boutté engineer and architect - founder and director of Franck Boutté Consultants
Olympe Rabaté former PCA-STREAM's head of editorial and digital strategy
Sustainability with a hammer
Stream Lab
The rise of the cool office


text:
Covestro to boost Thai investment with plant expansion
Thomas Toepfer, chief financial officer, Covestro
By SIRIVISH TOOMGUM
ONE of the world's leading polymer companies, Covestro, is making a significant investment to boost its production capacity for specialty films in Rayong province.
The expansion of the manufacturing plant in Map Ta Phut is being undertaken by the company to ensure it keeps pace with rising global demand, the company's chief financial officer, Thomas Toepfer, said yesterday.
While Toepfer declined to specify the investment value, he said that it would be significant. The new investment is part of the company's expansion of its global film production with an investment of around 100 million euros this year.
For the three years from 2019, the company's annual capital expenditure for overall businesses will be expanded to 1.2 billion euros to sustain its growth prospects, up from between 650 million euros and 700 million euros this year, and around 500 million euros last year.
The expansion of its specialty films production in Thailand is expected to be completed by the end of 2019; this will increase the production capacity by around 50 per cent.
The specialty films are used by many sectors, including the automotive and medical sectors. For example, they can be used to make some components in cars, such as the dashboard. They can also be used for coating a security card.
Toepfer said that the sales revenue of Covestro's three existing businesses in Thailand registered annual growth in the double digits for the second quarter of this year.
The German company has three businesses in Thailand under the responsibility of Covestro (Thailand), which cover polyurethanes, polycarbonates, and also coatings, adhesives and other specialties.
The manufacturing site in Map Ta Phut produces polycarbonates and specialty films.
It also has a Systems House in Bangpoo, Samut Prakarn, which produces polyurethanes and tailor-makes them for customer needs. Most of the products from its three businesses in Thailand are for export.
Covestro's manufacturing plant in Map Ta Phut is among the eight largest production facilities that it operates worldwide. The plant has state-of-the-art technology and highly skilled employees.
The company has also studied the possibility of expanding its production capacity for polycarbonates and polyurethanes in Thailand, Toepfer said.
He said the company would continue to invest in Thailand as its existing hub in the Asean region.
He said that Covestro Thailand would indirectly benefit from the Eastern Economic Corridor (EEC), where its customers have either established a presence or plan to, and will demand more products in line with their growth.
"The Asia-Pacific region, including Thailand and other Asean countries, is a strategic growth area for Covestro," Toepfer said.
"Thailand is very well served as our strategic location for production and further investment. It offers good infrastructure, talented people in technical fields, support on FDI (foreign direct investment) from government including the new projects in the EEC and a great logistics network."
Covestro Rayong Capacity Expansion Thai Investment Covestro to Thai Thai investment
BOT eases loan to value ratio for homebuyers
Unique Construction to offer Bt3 billion, 3-year debentures
Fourth-quarter results of 2019 to guide SET Index this week
Sanders, Warren are hot discussion topics as global elites gather in Davos
Inside minimalism and tidying are the makings of a seismic shift in American consumerism
Goldman readies a hiring spree and capital to meet its China ambitions


text:
Home Page | five-daydreams-for-your-next-summer-vacation
How to Plan an Unforgettable Virtual Graduation Party
The Best Summer Burger Recipes
How to Host a Summer Patio Party
"I sent my friend your summer cookies, she LOVED them...right down to the packaging!!"
-Perri D. (June 2020)
"I've been looking for a summer robe forever and I found it! I live in the Deep South and it gets HOT here! I wanted a light weight cotton and this is perfect! I'm wearing it now! And the pattern and colors are magnificent!"
-Perri D. (April 2020)
"I bought it for my very chic mother in law and she loved it so much she wore it that night right out of the box! The fabric is light and perfect for the summer."
-Elle M. (Jul 2019)
"I have ordered products every year since I found out about this company. Thank you Olive & Cocoa for sending me the catalog!"
-Sara H. (Jan 2018)
Five Daydreams for Your Next Summer Vacation
As the weather heats up and the days get longer, dreams of beaches and cool breezes become more and more frequent. Here, we offer a few destinations to encourage summer wanderlust.
While Capri and the Amalfi might be the hot spots, if you're craving isolation the southern Tuscan coast is an equally beautiful alternative. Beaches remain wild and unspoiled, meaning no obnoxious tourists or mega-yachts...just rolling hills and some of the best vineyards in the world. The islands just off the coast are also worth considering, especially Elba Island, which boasts more than 70 beaches.
Valleta, Malta
An affordable destination in the Mediterranean with beautiful beaches, an ideal climate, and plenty of culture, Malta remains under the radar despite English being an official language. Stylish lodging options and three separate islands to explore including Valleta, a Unesco World Heritage city, makes Malta a must-visit in our book.
Yelapa, Mexico
If jungle life is more your vibe, consider taking a 30 minute water-taxi from Puerto Vallarta to the idyllic coast of Yelapa. There lies a variety of small boutique hotels made up of multiple structures nestled into the hillside. Complete with sweeping views of the surrounding jungle and coastline, you'll be left with nothing to do beyond soaking in the sun and the view--our idea of vacation perfection.
While you won't find white sand beaches, Madeira, a cluster of four islands off the northwest coast of Africa, is all about the mountains, offering scenic cliff views at every turn and epic hikes. It's also a food-lover's paradise, with an abundance of exotic fruits and amazing seafood that can all be procured at the local market. Not to mention Madeira's namesake wine, which can range from dry to sweet and is produced locally on the island.
Home to Valle de Guadalupe, Mexico's only wine-producing region, Baja is an under-the-radar destination complete with stunning architecture and world-class food--it lays claim to two of the best restaurants in Latin America.
Theodora Kimono
Barcelona Bracelet
Cirque Noir Hat
Nolita Tote


text:
/* @internal */
namespace ts.codefix {
    registerCodeFix({
        errorCodes: [
            Diagnostics.Cannot_find_name_0.code,
            Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,
            Diagnostics.Cannot_find_namespace_0.code,
            Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code
        ],
        getCodeActions: getImportCodeActions
    });

    type ImportCodeActionKind = "CodeChange" | "InsertingIntoExistingImport" | "NewImport";
    interface ImportCodeAction extends CodeAction {
        kind: ImportCodeActionKind;
        moduleSpecifier?: string;
    }

    enum ModuleSpecifierComparison {
        Better,
        Equal,
        Worse
    }

    class ImportCodeActionMap {
        private symbolIdToActionMap: ImportCodeAction[][] = [];

        addAction(symbolId: number, newAction: ImportCodeAction) {
            if (!newAction) {
                return;
            }

            const actions = this.symbolIdToActionMap[symbolId];
            if (!actions) {
                this.symbolIdToActionMap[symbolId] = [newAction];
                return;
            }

            if (newAction.kind === "CodeChange") {
                actions.push(newAction);
                return;
            }

            const updatedNewImports: ImportCodeAction[] = [];
            for (const existingAction of this.symbolIdToActionMap[symbolId]) {
                if (existingAction.kind === "CodeChange") {
                    // only import actions should compare
                    updatedNewImports.push(existingAction);
                    continue;
                }

                switch (this.compareModuleSpecifiers(existingAction.moduleSpecifier, newAction.moduleSpecifier)) {
                    case ModuleSpecifierComparison.Better:
                        // the new one is not worth considering if it is a new import.
                        // However if it is instead a insertion into existing import, the user might want to use
                        // the module specifier even it is worse by our standards. So keep it.
                        if (newAction.kind === "NewImport") {
                            return;
                        }
                        // falls through
                    case ModuleSpecifierComparison.Equal:
                        // the current one is safe. But it is still possible that the new one is worse
                        // than another existing one. For example, you may have new imports from "./foo/bar"
                        // and "bar", when the new one is "bar/bar2" and the current one is "./foo/bar". The new
                        // one and the current one are not comparable (one relative path and one absolute path),
                        // but the new one is worse than the other one, so should not add to the list.
                        updatedNewImports.push(existingAction);
                        break;
                    case ModuleSpecifierComparison.Worse:
                        // the existing one is worse, remove from the list.
                        continue;
                }
            }
            // if we reach here, it means the new one is better or equal to all of the existing ones.
            updatedNewImports.push(newAction);
            this.symbolIdToActionMap[symbolId] = updatedNewImports;
        }

        addActions(symbolId: number, newActions: ImportCodeAction[]) {
            for (const newAction of newActions) {
                this.addAction(symbolId, newAction);
            }
        }

        getAllActions() {
            let result: ImportCodeAction[] = [];
            for (const key in this.symbolIdToActionMap) {
                result = concatenate(result, this.symbolIdToActionMap[key]);
            }
            return result;
        }

        private compareModuleSpecifiers(moduleSpecifier1: string, moduleSpecifier2: string): ModuleSpecifierComparison {
            if (moduleSpecifier1 === moduleSpecifier2) {
                return ModuleSpecifierComparison.Equal;
            }

            // if moduleSpecifier1 (ms1) is a substring of ms2, then it is better
            if (moduleSpecifier2.indexOf(moduleSpecifier1) === 0) {
                return ModuleSpecifierComparison.Better;
            }

            if (moduleSpecifier1.indexOf(moduleSpecifier2) === 0) {
                return ModuleSpecifierComparison.Worse;
            }

            // if both are relative paths, and ms1 has fewer levels, then it is better
            if (isExternalModuleNameRelative(moduleSpecifier1) && isExternalModuleNameRelative(moduleSpecifier2)) {
                const regex = new RegExp(directorySeparator, "g");
                const moduleSpecifier1LevelCount = (moduleSpecifier1.match(regex) || []).length;
                const moduleSpecifier2LevelCount = (moduleSpecifier2.match(regex) || []).length;

                return moduleSpecifier1LevelCount < moduleSpecifier2LevelCount
                    ? ModuleSpecifierComparison.Better
                    : moduleSpecifier1LevelCount === moduleSpecifier2LevelCount
                        ? ModuleSpecifierComparison.Equal
                        : ModuleSpecifierComparison.Worse;
            }

            // the equal cases include when the two specifiers are not comparable.
            return ModuleSpecifierComparison.Equal;
        }
    }

    function getImportCodeActions(context: CodeFixContext): ImportCodeAction[] {
        const sourceFile = context.sourceFile;
        const checker = context.program.getTypeChecker();
        const allSourceFiles = context.program.getSourceFiles();
        const useCaseSensitiveFileNames = context.host.useCaseSensitiveFileNames ? context.host.useCaseSensitiveFileNames() : false;

        const token = getTokenAtPosition(sourceFile, context.span.start, /*includeJsDocComment*/ false);
        const name = token.getText();
        const symbolIdActionMap = new ImportCodeActionMap();

        // this is a module id -> module import declaration map
        const cachedImportDeclarations: (ImportDeclaration | ImportEqualsDeclaration)[][] = [];
        let lastImportDeclaration: Node;

        const currentTokenMeaning = getMeaningFromLocation(token);
        if (context.errorCode === Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead.code) {
            const umdSymbol = checker.getSymbolAtLocation(token);
            let symbol: ts.Symbol;
            let symbolName: string;
            if (umdSymbol.flags & ts.SymbolFlags.Alias) {
                symbol = checker.getAliasedSymbol(umdSymbol);
                symbolName = name;
            }
            else if (isJsxOpeningLikeElement(token.parent) && token.parent.tagName === token) {
                // The error wasn't for the symbolAtLocation, it was for the JSX tag itself, which needs access to e.g. `React`.
                symbol = checker.getAliasedSymbol(checker.resolveNameAtLocation(token, checker.getJsxNamespace(), SymbolFlags.Value));
                symbolName = symbol.name;
            }
            else {
                Debug.fail("Either the symbol or the JSX namespace should be a UMD global if we got here");
            }

            return getCodeActionForImport(symbol, symbolName, /*isDefault*/ false, /*isNamespaceImport*/ true);
        }

        const candidateModules = checker.getAmbientModules();
        for (const otherSourceFile of allSourceFiles) {
            if (otherSourceFile !== sourceFile && isExternalOrCommonJsModule(otherSourceFile)) {
                candidateModules.push(otherSourceFile.symbol);
            }
        }

        for (const moduleSymbol of candidateModules) {
            context.cancellationToken.throwIfCancellationRequested();

            // check the default export
            const defaultExport = checker.tryGetMemberInModuleExports("default", moduleSymbol);
            if (defaultExport) {
                const localSymbol = getLocalSymbolForExportDefault(defaultExport);
                if (localSymbol && localSymbol.name === name && checkSymbolHasMeaning(localSymbol, currentTokenMeaning)) {
                    // check if this symbol is already used
                    const symbolId = getUniqueSymbolId(localSymbol);
                    symbolIdActionMap.addActions(symbolId, getCodeActionForImport(moduleSymbol, name, /*isDefault*/ true));
                }
            }

            // check exports with the same name
            const exportSymbolWithIdenticalName = checker.tryGetMemberInModuleExports(name, moduleSymbol);
            if (exportSymbolWithIdenticalName && checkSymbolHasMeaning(exportSymbolWithIdenticalName, currentTokenMeaning)) {
                const symbolId = getUniqueSymbolId(exportSymbolWithIdenticalName);
                symbolIdActionMap.addActions(symbolId, getCodeActionForImport(moduleSymbol, name));
            }
        }

        return symbolIdActionMap.getAllActions();

        function getImportDeclarations(moduleSymbol: Symbol) {
            const moduleSymbolId = getUniqueSymbolId(moduleSymbol);

            const cached = cachedImportDeclarations[moduleSymbolId];
            if (cached) {
                return cached;
            }

            const existingDeclarations: (ImportDeclaration | ImportEqualsDeclaration)[] = [];
            for (const importModuleSpecifier of sourceFile.imports) {
                const importSymbol = checker.getSymbolAtLocation(importModuleSpecifier);
                if (importSymbol === moduleSymbol) {
                    existingDeclarations.push(getImportDeclaration(importModuleSpecifier));
                }
            }
            cachedImportDeclarations[moduleSymbolId] = existingDeclarations;
            return existingDeclarations;

            function getImportDeclaration(moduleSpecifier: LiteralExpression) {
                let node: Node = moduleSpecifier;
                while (node) {
                    if (node.kind === SyntaxKind.ImportDeclaration) {
                        return <ImportDeclaration>node;
                    }
                    if (node.kind === SyntaxKind.ImportEqualsDeclaration) {
                        return <ImportEqualsDeclaration>node;
                    }
                    node = node.parent;
                }
                return undefined;
            }
        }

        function getUniqueSymbolId(symbol: Symbol) {
            if (symbol.flags & SymbolFlags.Alias) {
                return getSymbolId(checker.getAliasedSymbol(symbol));
            }
            return getSymbolId(symbol);
        }

        function checkSymbolHasMeaning(symbol: Symbol, meaning: SemanticMeaning) {
            const declarations = symbol.getDeclarations();
            return declarations ? some(symbol.declarations, decl => !!(getMeaningFromDeclaration(decl) & meaning)) : false;
        }

        function getCodeActionForImport(moduleSymbol: Symbol, symbolName: string, isDefault?: boolean, isNamespaceImport?: boolean): ImportCodeAction[] {
            const existingDeclarations = getImportDeclarations(moduleSymbol);
            if (existingDeclarations.length > 0) {
                // With an existing import statement, there are more than one actions the user can do.
                return getCodeActionsForExistingImport(existingDeclarations);
            }
            else {
                return [getCodeActionForNewImport()];
            }

            function getCodeActionsForExistingImport(declarations: (ImportDeclaration | ImportEqualsDeclaration)[]): ImportCodeAction[] {
                const actions: ImportCodeAction[] = [];

                // It is possible that multiple import statements with the same specifier exist in the file.
                // e.g.
                //
                //     import * as ns from "foo";
                //     import { member1, member2 } from "foo";
                //
                //     member3/**/ <-- cusor here
                //
                // in this case we should provie 2 actions:
                //     1. change "member3" to "ns.member3"
                //     2. add "member3" to the second import statement's import list
                // and it is up to the user to decide which one fits best.
                let namespaceImportDeclaration: ImportDeclaration | ImportEqualsDeclaration;
                let namedImportDeclaration: ImportDeclaration;
                let existingModuleSpecifier: string;
                for (const declaration of declarations) {
                    if (declaration.kind === SyntaxKind.ImportDeclaration) {
                        const namedBindings = declaration.importClause && declaration.importClause.namedBindings;
                        if (namedBindings && namedBindings.kind === SyntaxKind.NamespaceImport) {
                            // case:
                            // import * as ns from "foo"
                            namespaceImportDeclaration = declaration;
                        }
                        else {
                            // cases:
                            // import default from "foo"
                            // import { bar } from "foo" or combination with the first one
                            // import "foo"
                            namedImportDeclaration = declaration;
                        }
                        existingModuleSpecifier = declaration.moduleSpecifier.getText();
                    }
                    else {
                        // case:
                        // import foo = require("foo")
                        namespaceImportDeclaration = declaration;
                        existingModuleSpecifier = getModuleSpecifierFromImportEqualsDeclaration(declaration);
                    }
                }

                if (namespaceImportDeclaration) {
                    actions.push(getCodeActionForNamespaceImport(namespaceImportDeclaration));
                }

                if (!isNamespaceImport && namedImportDeclaration && namedImportDeclaration.importClause &&
                    (namedImportDeclaration.importClause.name || namedImportDeclaration.importClause.namedBindings)) {
                    /**
                     * If the existing import declaration already has a named import list, just
                     * insert the identifier into that list.
                     */
                    const fileTextChanges = getTextChangeForImportClause(namedImportDeclaration.importClause);
                    const moduleSpecifierWithoutQuotes = stripQuotes(namedImportDeclaration.moduleSpecifier.getText());
                    actions.push(createCodeAction(
                        Diagnostics.Add_0_to_existing_import_declaration_from_1,
                        [name, moduleSpecifierWithoutQuotes],
                        fileTextChanges,
                        "InsertingIntoExistingImport",
                        moduleSpecifierWithoutQuotes
                    ));
                }
                else {
                    // we need to create a new import statement, but the existing module specifier can be reused.
                    actions.push(getCodeActionForNewImport(existingModuleSpecifier));
                }
                return actions;

                function getModuleSpecifierFromImportEqualsDeclaration(declaration: ImportEqualsDeclaration) {
                    if (declaration.moduleReference && declaration.moduleReference.kind === SyntaxKind.ExternalModuleReference) {
                        return declaration.moduleReference.expression.getText();
                    }
                    return declaration.moduleReference.getText();
                }

                function getTextChangeForImportClause(importClause: ImportClause): FileTextChanges[] {
                    const importList = <NamedImports>importClause.namedBindings;
                    const newImportSpecifier = createImportSpecifier(/*propertyName*/ undefined, createIdentifier(name));
                    // case 1:
                    // original text: import default from "module"
                    // change to: import default, { name } from "module"
                    // case 2:
                    // original text: import {} from "module"
                    // change to: import { name } from "module"
                    if (!importList || importList.elements.length === 0) {
                        const newImportClause = createImportClause(importClause.name, createNamedImports([newImportSpecifier]));
                        return createChangeTracker().replaceNode(sourceFile, importClause, newImportClause).getChanges();
                    }

                    /**
                     * If the import list has one import per line, preserve that. Otherwise, insert on same line as last element
                     *     import {
                     *         foo
                     *     } from "./module";
                     */
                    return createChangeTracker().insertNodeInListAfter(
                        sourceFile,
                        importList.elements[importList.elements.length - 1],
                        newImportSpecifier).getChanges();
                }

                function getCodeActionForNamespaceImport(declaration: ImportDeclaration | ImportEqualsDeclaration): ImportCodeAction {
                    let namespacePrefix: string;
                    if (declaration.kind === SyntaxKind.ImportDeclaration) {
                        namespacePrefix = (<NamespaceImport>declaration.importClause.namedBindings).name.getText();
                    }
                    else {
                        namespacePrefix = declaration.name.getText();
                    }
                    namespacePrefix = stripQuotes(namespacePrefix);

                    /**
                     * Cases:
                     *     import * as ns from "mod"
                     *     import default, * as ns from "mod"
                     *     import ns = require("mod")
                     *
                     * Because there is no import list, we alter the reference to include the
                     * namespace instead of altering the import declaration. For example, "foo" would
                     * become "ns.foo"
                     */
                    return createCodeAction(
                        Diagnostics.Change_0_to_1,
                        [name, `${namespacePrefix}.${name}`],
                        createChangeTracker().replaceNode(sourceFile, token, createPropertyAccess(createIdentifier(namespacePrefix), name)).getChanges(),
                        "CodeChange"
                    );
                }
            }

            function getCodeActionForNewImport(moduleSpecifier?: string): ImportCodeAction {
                if (!lastImportDeclaration) {
                    // insert after any existing imports
                    for (let i = sourceFile.statements.length - 1; i >= 0; i--) {
                        const statement = sourceFile.statements[i];
                        if (statement.kind === SyntaxKind.ImportEqualsDeclaration || statement.kind === SyntaxKind.ImportDeclaration) {
                            lastImportDeclaration = statement;
                            break;
                        }
                    }
                }

                const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames);
                const moduleSpecifierWithoutQuotes = stripQuotes(moduleSpecifier || getModuleSpecifierForNewImport());
                const changeTracker = createChangeTracker();
                const importClause = isDefault
                    ? createImportClause(createIdentifier(symbolName), /*namedBindings*/ undefined)
                    : isNamespaceImport
                        ? createImportClause(/*name*/ undefined, createNamespaceImport(createIdentifier(symbolName)))
                        : createImportClause(/*name*/ undefined, createNamedImports([createImportSpecifier(/*propertyName*/ undefined, createIdentifier(symbolName))]));
                const importDecl = createImportDeclaration(/*decorators*/ undefined, /*modifiers*/ undefined, importClause, createLiteral(moduleSpecifierWithoutQuotes));
                if (!lastImportDeclaration) {
                    changeTracker.insertNodeAt(sourceFile, sourceFile.getStart(), importDecl, { suffix: `${context.newLineCharacter}${context.newLineCharacter}` });
                }
                else {
                    changeTracker.insertNodeAfter(sourceFile, lastImportDeclaration, importDecl, { suffix: context.newLineCharacter });
                }

                // if this file doesn't have any import statements, insert an import statement and then insert a new line
                // between the only import statement and user code. Otherwise just insert the statement because chances
                // are there are already a new line seperating code and import statements.
                return createCodeAction(
                    Diagnostics.Import_0_from_1,
                    [symbolName, `"${moduleSpecifierWithoutQuotes}"`],
                    changeTracker.getChanges(),
                    "NewImport",
                    moduleSpecifierWithoutQuotes
                );

                function getModuleSpecifierForNewImport() {
                    const fileName = sourceFile.fileName;
                    const moduleFileName = moduleSymbol.valueDeclaration.getSourceFile().fileName;
                    const sourceDirectory = getDirectoryPath(fileName);
                    const options = context.program.getCompilerOptions();

                    return tryGetModuleNameFromAmbientModule() ||
                        tryGetModuleNameFromTypeRoots() ||
                        tryGetModuleNameAsNodeModule() ||
                        tryGetModuleNameFromBaseUrl() ||
                        tryGetModuleNameFromRootDirs() ||
                        removeFileExtension(getRelativePath(moduleFileName, sourceDirectory));

                    function tryGetModuleNameFromAmbientModule(): string {
                        const decl = moduleSymbol.valueDeclaration;
                        if (isModuleDeclaration(decl) && isStringLiteral(decl.name)) {
                            return decl.name.text;
                        }
                    }

                    function tryGetModuleNameFromBaseUrl() {
                        if (!options.baseUrl) {
                            return undefined;
                        }

                        let relativeName = getRelativePathIfInDirectory(moduleFileName, options.baseUrl);
                        if (!relativeName) {
                            return undefined;
                        }

                        const relativeNameWithIndex = removeFileExtension(relativeName);
                        relativeName = removeExtensionAndIndexPostFix(relativeName);

                        if (options.paths) {
                            for (const key in options.paths) {
                                for (const pattern of options.paths[key]) {
                                    const indexOfStar = pattern.indexOf("*");
                                    if (indexOfStar === 0 && pattern.length === 1) {
                                        continue;
                                    }
                                    else if (indexOfStar !== -1) {
                                        const prefix = pattern.substr(0, indexOfStar);
                                        const suffix = pattern.substr(indexOfStar + 1);
                                        if (relativeName.length >= prefix.length + suffix.length &&
                                            startsWith(relativeName, prefix) &&
                                            endsWith(relativeName, suffix)) {
                                            const matchedStar = relativeName.substr(prefix.length, relativeName.length - suffix.length);
                                            return key.replace("\*", matchedStar);
                                        }
                                    }
                                    else if (pattern === relativeName || pattern === relativeNameWithIndex) {
                                        return key;
                                    }
                                }
                            }
                        }

                        return relativeName;
                    }

                    function tryGetModuleNameFromRootDirs() {
                        if (options.rootDirs) {
                            const normalizedTargetPath = getPathRelativeToRootDirs(moduleFileName, options.rootDirs);
                            const normalizedSourcePath = getPathRelativeToRootDirs(sourceDirectory, options.rootDirs);
                            if (normalizedTargetPath !== undefined) {
                                const relativePath = normalizedSourcePath !== undefined ? getRelativePath(normalizedTargetPath, normalizedSourcePath) : normalizedTargetPath;
                                return removeFileExtension(relativePath);
                            }
                        }
                        return undefined;
                    }

                    function tryGetModuleNameFromTypeRoots() {
                        const typeRoots = getEffectiveTypeRoots(options, context.host);
                        if (typeRoots) {
                            const normalizedTypeRoots = map(typeRoots, typeRoot => toPath(typeRoot, /*basePath*/ undefined, getCanonicalFileName));
                            for (const typeRoot of normalizedTypeRoots) {
                                if (startsWith(moduleFileName, typeRoot)) {
                                    const relativeFileName = moduleFileName.substring(typeRoot.length + 1);
                                    return removeExtensionAndIndexPostFix(relativeFileName);
                                }
                            }
                        }
                    }

                    function tryGetModuleNameAsNodeModule() {
                        if (getEmitModuleResolutionKind(options) !== ModuleResolutionKind.NodeJs) {
                            // nothing to do here
                            return undefined;
                        }

                        const indexOfNodeModules = moduleFileName.indexOf("node_modules");
                        if (indexOfNodeModules < 0) {
                            return undefined;
                        }

                        let relativeFileName: string;
                        if (sourceDirectory.indexOf(moduleFileName.substring(0, indexOfNodeModules - 1)) === 0) {
                            // if node_modules folder is in this folder or any of its parent folder, no need to keep it.
                            relativeFileName = moduleFileName.substring(indexOfNodeModules + 13 /* "node_modules\".length */);
                        }
                        else {
                            relativeFileName = getRelativePath(moduleFileName, sourceDirectory);
                        }

                        relativeFileName = removeFileExtension(relativeFileName);
                        if (endsWith(relativeFileName, "/index")) {
                            relativeFileName = getDirectoryPath(relativeFileName);
                        }
                        else {
                            try {
                                const moduleDirectory = getDirectoryPath(moduleFileName);
                                const packageJsonContent = JSON.parse(context.host.readFile(combinePaths(moduleDirectory, "package.json")));
                                if (packageJsonContent) {
                                    const mainFile = packageJsonContent.main || packageJsonContent.typings;
                                    if (mainFile) {
                                        const mainExportFile = toPath(mainFile, moduleDirectory, getCanonicalFileName);
                                        if (removeFileExtension(mainExportFile) === removeFileExtension(moduleFileName)) {
                                            relativeFileName = getDirectoryPath(relativeFileName);
                                        }
                                    }
                                }
                            }
                            catch (e) { }
                        }

                        return getPackageNameFromAtTypesDirectory(relativeFileName);
                    }
                }

                function getPathRelativeToRootDirs(path: string, rootDirs: string[]) {
                    for (const rootDir of rootDirs) {
                        const relativeName = getRelativePathIfInDirectory(path, rootDir);
                        if (relativeName !== undefined) {
                            return relativeName;
                        }
                    }
                    return undefined;
                }

                function removeExtensionAndIndexPostFix(fileName: string) {
                    fileName = removeFileExtension(fileName);
                    if (endsWith(fileName, "/index")) {
                        fileName = fileName.substr(0, fileName.length - 6/* "/index".length */);
                    }
                    return fileName;
                }

                function getRelativePathIfInDirectory(path: string, directoryPath: string) {
                    const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, /*isAbsolutePathAnUrl*/ false);
                    return isRootedDiskPath(relativePath) || startsWith(relativePath, "..") ? undefined : relativePath;
                }

                function getRelativePath(path: string, directoryPath: string) {
                    const relativePath = getRelativePathToDirectoryOrUrl(directoryPath, path, directoryPath, getCanonicalFileName, /*isAbsolutePathAnUrl*/ false);
                    return moduleHasNonRelativeName(relativePath) ? "./" + relativePath : relativePath;
                }
            }

        }

        function createChangeTracker() {
            return textChanges.ChangeTracker.fromCodeFixContext(context);
        }

        function createCodeAction(
            description: DiagnosticMessage,
            diagnosticArgs: string[],
            changes: FileTextChanges[],
            kind: ImportCodeActionKind,
            moduleSpecifier?: string): ImportCodeAction {
            return {
                description: formatMessage.apply(undefined, [undefined, description].concat(<any[]>diagnosticArgs)),
                changes,
                kind,
                moduleSpecifier
            };
        }
    }
}

redpajama_set_name: RedPajamaGithub


Pug occur in two basic coat colors: black and fawn. The gene that controls this difference is K. All Pugs have masks, even though they cannot be seen on the black dogs. Therefore all are EMEM genotype. At the agouti locus, all Pugs are ayay genotype. All Pugs have black nose leather and pads and are BB genotype.


Despite the decline in the number of political endorsements made by Midwest newspapers, editorial editors still think the process is a civic duty. There is some disagreement, however, whether or not the endorsements influence voters.
ow-up to an article in the fall 2012 issue of Gateway Journalism Review, here is a quick look at a few of the endorsements from some Midwest newspapers as compared to the election results.


text:
Home > Services & Opportunities > Italians > Civil Status
Italians Toggle navigation
Recognition of a natural child
Civil Partnerships – Living together without being married
Recognition of foreign decrees (of divorce, adoption, and change of name or surname deed poll, or others)
Job and Study Opportunities for Italians
Patrocini: criteri di concessione ed informazioni generali
Italian Missions abroad
Artistic residency awards
St. Petersburg: tribute to Carla Fracci
Artisti, Imprese culturali e creative
(Office of Reference: D.G.IT. - OFFICE III)
Civil Status refers to the sum of acts and events concerning the life of a citizen: birth, marriage, Civil partnerships, death, divorce and citizenship, registration of which falls within the remit of the Office of Vital Records, whose functions are performed in Italy by municipal offices and abroad by consular offices.
The Office of Vital Records of a diplomatic or consular mission is responsible for:
registration of civil status certificates (citizenship, birth, marriage and death) and variations issued by the consulate itself;
reception of certificates issued by foreign authorities and their submission to Italian municipal offices for registration;
reception of rulings and provisions issued abroad (e.g. divorce, adoption, etc.) and their submission to Italian institutions for registration;
submission of requests for change of name or surname to the authorised Prefectures;
drafting of marriage bans and publication on-line;
celebration of consular marriages and the establishment of civil partnerships, as long as there are no legal impediments. The marriage celebration request can be rejected if the parties do not reside in the Consulate's area of jurisdiction. The civil partnership is established before the Head of the competent Consular Office, depending on the place of residence of at least one of the two parties.
regarding all variations in civil status (and to submit related documentation) that take place during their residence abroad, Italian citizens are required to inform the local consular office where the event takes place.
certificates issued for civil status changes that take place abroad may be submitted by the parties concerned, or by anyone else involved, either directly to the office of the Italian municipality of residence (see art. 12, par. 11, DPR 396/2000) or to the consular office (either that of the parties concerned or of the jurisdiction in which the certificates are issued).
certificates issued by countries signatory to the Vienna Convention of 8 September 1976, which must be issued using multilingual forms, are exempt from legalisation and translation. Those countries are: Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Croatia, Estonia, France, Germany, Italy, Lithuania, Luxembourg, Macedonia, Moldova, Montenegro, Netherlands, Poland, Portugal, Serbia, Slovenia, Spain, Switzerland and Turkey. It should be noted that the aforementioned Vienna Convention cannot currently be applied to Greece which, although a signatory country, has not yet ratified it.
Ministry of the Interior – Demographic services
Network of Italian missions abroad
Foreign missions in Italy
Offices Concerned
Directorate General for Italians Abroad and Migration Policies


text:
ITA-Manu:scripte
NanoTrust-Dossiers
Public Sector Information in the Digital Age
Georg AICHHOLZER und Herbert BURKERT (Hrsg.), 2004
This timely volume reviews key issues and developments in the controversial area of public sector information (PSI). It addresses the fundamental themes, challenges and conflicts surrounding the access to, and use of, PSI in the new digital era. Using detailed empirical analyses and case studies from across Europe and the USA, the authors focus on the crucial policy, economic, legal and social issues.
The public sector is the biggest single producer and holder of information including administrative and government documents, regulatory texts, political data and public registers. The authors demonstrate that this huge store of information is a key resource for a broad range of stakeholders such as citizens, civic organisations, private businesses and public sector agencies. They argue that charging the marginal cost of dissemination, a policy favoured in the US, will lead to optimal economic growth in society and will far outweigh the immediate perceived benefits of aggressive cost recovery. They illustrate how open government information policies create significant economic advantages to society and are beneficial in both the short and long term for the general public, the private sector and for governments themselves.
This is one of the first books devoted to addressing the new challenges of access to PSI and the role of public policy. The international contributors, including leading experts from Europe and US, have produced an informative and coherent resource that will be of interest to scholars, students and decision-makers working in the fields of public policy, economics, political science, law and information technology.
Chapter headings
PART ONE INTRODUCTION
1 The Mechanics of Public Sector Information
Herbert Burkert
PART TWO GENERAL OVERVIEW
2 Privacy Issues as Limits to Access
Charles D. Raab
3 Access to Public Sector Information: In Need of Constitutional Recognition?
Corien Prins
4 Information Access Legislation for the Future? Possibilities according to a Norwegian Experience
Dag Wiese Schartum
PART THREE LEGAL POLICY ASPECTS: EUROPE AND THE US
5 Exploitation of Public Sector Information in the Context of the eEurope Action Plan
Yvo Volman
6 European Access Legislation: Consistence or Divergence?
Maeve McDonagh
7 The Foundations of United States Government Information Dissemination Policy
Robert Gellman
8 Borders in Cyberspace: Conflicting Public Sector Information Policies and their Economic Impacts
Peter N. Weiss
PART FOUR ECONOMIC ISSUES
9 Thunder and Lightning: Public Sector Information Policy Experiences of Private Meteorological Service Providers
Michael Kamps
10 Access Models for Public Sector Information: The Spatial Data Context
Massimo Craglia and Michael Blakemore
PART FIVE THE PROBLEMS OF THE DATA HOLDERS
11 Public Broadcasting and Digital Media Archives: The Example of Austrian Broadcasting Corporation
Peter Dusek, Philipp Marouschek and Martin Szerencsi
12 Cultural Heritage: The Conflict between Commercialisation and Public Ownership
Edeltraud Hanappi-Egger
PART SIX THE END USERS' VIEW
13 A Citizen's Perspective on Public Sector Information
Monika Bargmann, Gerald Pfeifer and Boris Piwinger
14 Third-generation Freedom of Information in the Context of E-Government: The Case of Bremen, Germany
Herbert Kubicek
15 Harnessing Public Sector Information for Greater Accessibility: Austria and the UK
Georg Aichholzer and Puay Tang
PART SEVEN OUTLOOK
16 Towards a Blueprint for a Policy on Public Sector Information
Herbert Burkert and Peter N. Weiss
Georg Aichholzer is Senior Scientist at the Institute of Technology Assessment (ITA), Austrian Academy of Sciences, and Senior Lecturer in Sociology at Vienna University of Economics and Business Administration more info
Herbert Burkert is Professor of Public Law, Information and Communication Law at the Research Center for Information Law, University of St. Gallen, Switzerland, and Senior Research Fellow, Fraunhofer Institute for Media Communication, St. Augustin, Germany more info here and here
http://www.herbert-burkert.net/
ISBN 1 84376 383 4 360 Seiten, hardback
Verlag / Bestellung
Georg AICHHOLZER


Alba has started operations on mega-furnace Casthouse 4, part of the Bahrain smelter's Line 6 expansion project [pictured].
Aluminium Bahrain (Alba) has started operations on Casthouse 4, the largest furnace in the kingdom-based aluminium smelter's history.
According to a statement, the first cold-charge of Furnace 3 at Casthouse 4 was witnessed by Shaikh Daij bin Salman bin Daij Al Khalifa, chairman of Alba's board of directors, and Ali Al Baqali, Alba's deputy chief executive officer.
Representatives from the Alba executive management team, the Casthouse 4 start-up team, Bechtel, and other major contractors were also in attendence.
Part of Alba's ambitious Line 6 Expansion Project, Casthouse 4 has a total design value-added capacity of 530,000 tonnes a year. Alba said the first cold-charge of Furnace 3 is a "significant part of the process of commissioning Casthouse 4, which is set to produce soon".
Al Khalifa said the move was "another turning point in Alba's journey towards becoming the largest smelter in the world".
"With this landmark, we are on track to cast final products from [Casthouse 4], another success in the safe start up of Line 6," he added, thanking the teams involved also "for their commitment to achieve this milestone safely and on time".
The update came four months after Alba gave a similar Line 6 expansion update in August.
At the time, the group said an "intensive commissioning effort" was gathering pace as the engineering, procurement, and construction (EPC) consortium, GE-Gama, pressed ahead with work on Alba's Power Station 5 (PS 5), a crucial part of the wider Line 6 expansion.
Alba commissioned the project in earlier this month to coincide with Bahrain's 47th National Day celebrations on 16-17 December.
US construction giant Bechtel worked as the engineering, procurement, and construction management contractor for Alba's Line 6, with the GE and Gama consortium working as the EPC contractor on PS 5.


After reading our report from Wednesday, Shirley Phelps-Roper, the daughter of Westboro Baptist Church's founder, the late Fred Phelps, went straight to Key West to join 82-year old Sen. Jim Inhofe of Oklahoma. As we reported then, Inhofe was spotted by associate solitary reporter Johanna Jones howling at the wind as Hurricane Irma was (and is) heading straight for southern Florida.
Fred Phelps, the founder of Westboro Baptist Church in Kansas, can best be described as a hate monger, and his every movement was tracked by the Southern Poverty Law Center. The pastor of a tiny church with only 70 members, he incited his parishioners to show up with placards bearing hate-filled messages at military funerals, proclaiming their message that America is doomed because it embraces (in his view) homosexuality. Westboro Baptist Church, which boasts 70 members, describes itself as a Primitive Baptist Church, and it is not affiliated with any denomination.
Therefore, Hobarto told Phelps-Roper, "You, Madam, are full of excrement!" Hobarto had never before used such language when addressing a woman.
Phelps-Roper then struck Hobarto firmly on his kisser and in response, Hobarto turned his other cheek and begged Phelps-Roper to deck him. Just then, Hurricane Jose leapfrogged Irma and swept Phelps-Roper into the Gulf of Mexico, but Donald Trump immediately dispatched Coast Guard Commandant Admiral Paul Zukunft to rescue Phelps-Roper, given his pledge to evangelical voters to do whatever they want him to do.
Hobarto promptly returned to his home in Chicago to prepare tracts denouncing leading homophobes such as Phelps-Roper, who has been barred from entering the UK since she is a notorious hate-monger.