text:
Postmedia, Paul Godfrey and the demise of journalism
The newspaper chain's mideast coverage has been a case study in bias
Opinion by
Photo: Ross G. Strachan
In early 2016, Toronto Star columnist David Olive authored a scathing critique of Postmedia, Canada's largest newspaper publisher. He called Postmedia a "cancer on Canadian journalism," denounced "savage, non-stop cost-cutting" by its management, and described CEO Paul Godfrey as a "kindred spirit" of Stephen Harper — arguably the most right-wing prime minister Canadians have had to endure in the post-WWII period.
Don't like ads?
Automated ads help us pay our journalists, servers, and team. Support us by becoming a member today to hide all automated ads:
As Olive noted, Godfrey took the unprecedented step in Canada's 2015 federal election of ordering all 16 major Postmedia newspapers across Canada to endorse Harper. Mercifully, voters were so appalled by Harper that they turfed him out of office anyway.
The managerial equivalent of the bubonic plague
Godfrey became CEO of Postmedia in 2009. Since that time, he has laid waste to its business while earning millions in compensation. According to the corporation's most recent proxy circular, $100 of its shares purchased in June 2011 (when Postmedia became a TSX-listed company) had a market value on Aug. 31, 2016, of less than one dollar. During that same period, Postmedia paid Godfrey over $8 million.
In mid-2016, Godfrey led the company through a debt restructuring, which appears to have conferred control of Postmedia to New Jersey-based Chatham Asset Management.
Chatham's top priority should be to jettison the wildly over-compensated Godfrey, yet there is no indication that the company is anxious to liberate Postmedia from his disastrous reign. That's bad news not only for Postmedia's employees and shareholders, but also, and more importantly, for the 21 million Canadians who rely on Postmedia for their news. Godfrey not only is the managerial equivalent of the bubonic plague, but also seems determined to have his media empire act as Canada's leading propaganda organ of the hard right.
A case in point is Postmedia's reporting on the Green Party of Canada's recent adoption of policies calling for sanctions on Israel.
Postmedia smears the Green Party
The first of these policies expressed support for the use of boycott, divestment and sanctions as a means of bringing an end to Israel's illegal, decades-long occupation of Palestinian territories. In August 2016, it was adopted by a large majority of participants at the party's biannual convention in Ottawa.
Green Party leader Elizabeth May opposed the policy and publicly contemplated resigning after the party's convention in Ottawa, but resolved to remain as leader when the party's federal council called a special general meeting in order, among other things, to revisit the policy. May assigned two members of the party's shadow cabinet to supervise negotiations over a new sanctions policy that did not endorse the BDS movement, but that nonetheless expressed support for the three goals of the BDS movement and called for targeted sanctions and divestment as a means of pressuring the government of Israel to respect Palestinian rights. On Dec. 3, 2016, at the special general meeting in Calgary, Green Party members voted overwhelmingly to replace the BDS policy with the new sanctions policy.
Greens make history with support for Palestinian human rights
Greens should stick with BDS: Naomi Klein, Noam Chomsky, Bruce Cockburn and others
Since June 2016, Postmedia newspapers have published 15 articles relating to the Green Party's debate on Palestinian rights. The first appeared in the National Post on June 27, 2016, shortly after Green Party members expressed strong support for the BDS policy in a preliminary online vote. Entitled "Greens draw outrage, 'anti-Israel' accusations, over proposal to add BDS to party policies," the article established the highly belligerent tone of all Postmedia reporting on the party's Palestinian rights debate. It quoted only those who vehemently denounced the proposed BDS policy, using such language as "outrageous," "just bizarre," "tremendously hypocritical" and "anti-Jewish-Canadian."
Virtually all of Postmedia's 15 articles bore headlines that suggested extremism, anti-Israel bias or infighting within the party. For example, a Toronto Sun article of Aug. 14, 2016, was headlined "Greens self-destruct with Israel bashing." A mere seven days later, the Toronto Sun published another article, "Greens attacking Israel? Hardly a surprise." (The headlines and dates of all 15 Postmedia articles are listed at the end of this article.)
Even worse than the strident tone of Postmedia's articles was the absence of pro-BDS and Palestinian perspectives. The 15 articles quoted opponents of BDS on 17 occasions, anti-BDS organizations on eight occasions, and Israel's ambassador to Canada on one occasion. By contrast, only once did any of the 15 articles quote a supporter of BDS (Jill Stein, leader of the U.S. Green Party). In none of the articles was a single Palestinian or Palestinian solidarity organization quoted.
At Postmedia, the voices of Palestinians and those who support their rights simply do not matter.
Worst of all, Postmedia's reporters completely ignored the issue at the heart of the debate over BDS: Israel's egregious human rights abuses. Not one of the 15 articles disclosed that the governments of Canada, the United States, and the EU, as well as the UN Security Council and the International Court of Justice, all acknowledge that Israel's settlements in the West Bank violate the Fourth Geneva Convention and are a serious obstacle to peace. Not one article disclosed that Israel makes extensive use of collective punishment, which is also a severe violation of the Fourth Geneva Convention. Not one article disclosed that multiple human rights bodies, including Amnesty International, U.S.-based Human Rights Watch, and the Israeli human rights organization B'Tselem, have documented the Israeli forces' physical and psychological abuse of Palestinian children — in some cases amounting to torture. And not one article disclosed that Gaza, home to nearly 2 million trapped Palestinians, is on the verge of becoming "uninhabitable" due to Israel's unrelenting and cruel siege.
Unethical journalism
In September 2011, the Canadian Association of Journalists issued a set of principles for ethical journalism, which include the following:
We avoid allowing our biases to influence our reporting; We give people, companies or organizations that are criticized in our reporting the opportunity to present their points of view prior to publication; and We seek to capture in our stories the diverse values, viewpoints and lives of the people in our communities.
During the past six months, dozens of Palestinian solidarity organizations have issued statements praising the Green Party's defence of Palestinian rights. Those organizations include Palestine House, Independent Jewish Voices, and Canadians for Justice and Peace in the Middle East. Yet in its 15 articles on the Green Party's Palestinian rights debate, Postmedia quoted no supportive statements from any such organization. At Postmedia, capturing diverse Canadian viewpoints and the voices of Palestinians and those who support their rights simply does not matter.
Postmedia's anti-Palestinian bias is so extreme that, shortly after the Green Party adopted the BDS policy, the Vancouver Sun published a shameless editorial in which it defamed Independent Jewish Voices and three members of the Green Party (including this author). Within days of the publication of its smear job, the Vancouver Sun received a letter from IJV's counsel alleging defamation. The Sun promptly erased the editorial from its website and later published a retraction and apology.
At the end of the day, Paul Godfrey's worst offence is not that he has enriched himself while helping wipe out stunning amounts of shareholder value. No, his worst offence is that the media empire he helped construct cares less about objectivity, fairness and human rights than the promotion of his right-wing agenda. Thus, the best service that Chatham Asset Management can render to Postmedia's vast audience is to replace Godfrey with a CEO who will ensure scrupulous respect for journalistic ethics.
But don't hold your breath.
Postmedia's 15 articles on the Green Party of Canada's Debate Over Palestinian Rights: "Greens draw outrage, 'anti-Israel' accusations, over proposal to add BDS to party policies" (National Post, June 27); "The Green party's anti-Israel agitators" (National Post, July 26); "Holocaust deniers threaten Green Party credibility" (Toronto Sun, Aug. 2); "Elizabeth May: Greens stand firmly against anti-Semitism" (National Post, Aug. 2); "Greens remove reference to Jewish group in new policy to revoke status of charities that violate human rights" (National Post, Aug. 6); "Green Party's boycott Israel policy 'totally unhelpful' to peace, ambassador to Canada says" (National Post, Aug. 8); "Green Party losing members, riding associations as BDS controversy highlights infighting" (National Post, Aug. 10); "Greens self-destruct with Israel Bashing" (Toronto Sun, Aug. 14); "Elizabeth May chooses to stay after Green Party's pro-BDS stance tempted her to step down as leader" (National Post, Aug. 22); "Greens attacking Israel? Hardly a surprise" (Toronto Sun, Aug. 23); "Elizabeth May's leadership versus the card shark" (Toronto Sun, Aug. 23); "Green Party Lost its Way" (Vancouver Sun, Aug. 25); "B.C. Green Party considering name change, as federal leader May fires shadow cabinet trio" (Vancouver Sun, Sept. 13); "Calgary Jewish Federation say Green Party resolution places blame on Israel" (Calgary Herald, Dec. 4); "Green Party rejects BDS movement, but still supports economic pressure on Israel" (National Post, Dec. 5, 2016).
Quebec feminists denounce government consultations for Bill 21
'The world should have stopped': An Indigenous woman responds to Canada's admission of genocide
Leena Minifie
CAJ awards
Ricochet wins national investigative journalism award
Derrick O'Keefe
Ricochet produces independent journalism and ideas in the public interest. Support this experiment in crowdfunded news by becoming a member today.
* By continuing, you agree to be subscribed to our weekly newsletter.


Photo of the Week. Remebering Jupiter.
Astronomy news for the week starting Friday, June 21, 2013.
Summer has arrived. The night of Thursday, June 20, the Sun crossed the Summer Solstice in classical Gemini 23.4 degrees north of the celestial equator. By the time of sunrise Friday morning, the season will have commenced, with the Sun rising and setting as far to the north of east and west as possible. This special day of Friday the 21st will be the longest of the year, the nights of the 20th and 21st the shortest. Enjoy the show, because the Sun is now moving southward toward its next major crossing at the Autumnal Equinox in Virgo. Nevertheless, with the Sun only slowly changing its north-south position, summer will keep getting warmer until perhaps late August, when the southerly solar crawl begins to make itself felt in cooler temperatures.
Number two in the skies, the Moon, begins the week in its fat waxing gibbous phase, which ends at full Moon (the "Rose Moon," "Flower Moon") the morning of Sunday the 23rd near the time of Moonset in North America. With the Sun near the Summer Solstice, the full Moon will be close to the Winter Solstice in Sagittarius, and will thus be the most southerly and lowest full Moon of the year. Behaving opposite to the Sun, it rises in the southeast at sunset and sets in the southwest at sunrise, giving us the shortest full-Moon viewing time of the year. The Moon then enters the waning gibbous phase, which will occupy the remainder of the week. Just an hour before formal full Moon, the Moon passes perigee, where it is at its closest point to the Earth, the coincidence resulting in especially high and low tides at the coasts.
The western evening sky features Venus (with Mercury below and descending out of sight). Though it's near its latest setting time of the year, Venus is still visible only in twilight, so remains a difficult catch and requires a clear horizon to see. Beyond Venus, we have much more visible Saturn. After twilight ends, look just to the west of the southern portion of the meridian for the brightest "star." About a dozen degrees to the west lies slightly fainter Spica in Virgo, toward which Saturn is sluggishly moving while in retrograde against the stellar background (the result of the Earth passing between it and the planet). With Arcturus high to the south, Saturn and Spica make a giant letter "L." The planet is then with us until well after midnight, not setting until 2:30 or so AM Daylight Time. In the dawn sky, neither Mars nor Jupiter is readily visible.
"June is busting out all over"... and so are its stars. Once the Moon has moved out of the way, later at night we get to admire the southern Zodiac's Sagittarius and Scorpius, which lie in the heart of the Milky Way. The most prominent part of Sagittarius is its upside-down Little Milk Dipper, while Scorpius really does look like the scorpion it was named after.


Basin Recreation maintains a busy trail maintenance schedule during the winter months, grooming over 17 miles of trails for cross-country skiing, walking, biking, and more. A grooming report can be found at basinrecreation.org. For trail information or maintenance concerns, email Phares Gines, at phares@basinrecreation.org.
The Heber-Kamas Ranger District maintains trails and campgrounds in the Uinta Mountains east of Kamas. Emergency assistance and road maintenance in the Uinta-Wasatch-Cache National Forest, administered by the U.S. Department of Agriculture, may be impacted by the partial federal government shutdown. If you have scheduled activities within the forest's boundaries, call ahead or visit fs.usda.gov/uwcnf for more information.


text:
De tijmstipspanner (Scopula decorata) is een nachtvlinder uit de familie Geometridae, de spanners. De spanwijdte bedraagt tussen de 20 en 23 millimeter. Hij overwintert als rups.

Waardplanten
De tijmstipspanner heeft als waardplant kleine tijm.

Voorkomen in Nederland en België
De tijmstipspanner is in België een zeer zeldzame soort, alleen bekend is uit de provincies Antwerpen en Luik. Uit Nederland zijn geen recente waarnemingen bekend. De vlinder kent twee generaties die vliegen van eind mei tot en met augustus.

Externe links

 Lepidoptera of Belgium

Dier uit het Palearctisch gebied

redpajama_set_name: RedPajamaWikipedia


I had the pleasure of receiving one of Petzl's new ropes, the VOLTA 9.2 mm, a few months ago and here is my review.
My first impression was, "wow, this thing is light and very supple." I have had many different light weight ropes over the years, all hovering around the same dimension (9.1 - 9.2 mm) but they always wear out very quickly and often are very stiff. The VOLTA is the softest, most flexible rope I have ever used. The suppleness makes it wonderful to climb with; clipping is very easy, falling is soft, and overall handling is superb.
All Petzl ropes come with the climb-ready butterfly coil, which frankly is a huge deal! We have all either witnessed or had the misfortune of trying to climb on a rope that was coiled in the packaging. Failure to un-coiling the rope properly leaves the rope in a giant tangled mess, which is not fun for the climber or the belayer. Having a rope that is ready to climb right out the package is a must, in my option!
Like any skinny rope, they will not hold up as well as a thicker work horse rope, but after 2 months, the rope shows very little signs of usage. With other ropes I would have already cut a few metres off because of excessive wear (I tend to fall a lot). There are a few reasons this rope is so durable. First off, the UltraSonic Finish, which ultrasonically welds the core and sheath together at the rope ends. This helps reduce the sheath slippage over time and frayed ends. Secondly, the DuraTec Dry Treatment, which makes the rope resistant to water, dirt, and abrasion.
I tested the rope in a variety of settings but primarily I used it to work difficult sport climbs. This means the rope has seen many falls, lots of jugging back up to the quickdraw I fell on, and lots boinging back up. I used the rope with old fixed draws (that actually need to be replaced) and shiny new draws. I thought the old worn out draws would have damaged the soft skinny rope, but this was not the case. I could not find any signs of damage after whipping repeatedly onto an old draw.
Here is Petzl's description from their website: "The VOLTA 9.2 mm single rope has the light weight necessary for elite users, offering maximum longevity and performance in any conditions, thanks to its Duratec Dry treatment. Certified for all uses: single, half and twin, for multiple uses and maximum versatility according to the terrain."
The price of the VOLTA is competitive with other companies such as: Sterling Fusion Nano, and Mammut Revelation for the high end super light ropes (Sterling and Mammut do not come with the climb-ready butterfly coil).
My belay device of choice is the Grigri, more specifically the Grigri 2. It has been designed to work with the thinner diameter ropes and there were no issue to report with the Volta. The thinner ropes tend to move through the Grigri 2 very easily, which is excellent when feeding out rope to the leader but sometimes the stiffer ropes get caught with a loop or kink. The VOLTA was the first rope I have ever used that did not kink and jam the Grigri when feeding out rope quickly.
This brings me to how the rope handles. One word says it all, exceptional! I really love the softness of the rope; as I mentioned before clipping draws is a breeze. Because the rope is so supple and light, you almost forget it is there, which is great!
I would personally like to use a slightly thicker rope for working my projects and save the VOLTA for redpoint burns. I would also not use this rope to top rope, unless I had no other choice. It is not because it could not handle it, it is because I want to save the rope for the times when saving every gram makes a difference. I have not used the VOLTA on a multi pitch climb as of yet, but it will be great, especially when I want to go light and fast.
In conclusion, if you are looking for a light, skinny, durable rope to help you push your limits and help you send your projects then you should seriously consider the VOLTA. You will not be disappointed with the handling and performance. It is well rounded and can be taken into the mountain, used on ice or mixed routes, and taken to the crag. Good job Petzl, I am impressed!
Made in GermanyFeatures a climb-ready butterfly coil that lets you use the rope right out of the package with no kinks or tangles.
Finishing process bonds the core and sheath at the ends to improve durability and avoid frayed ends.
EverFlex thermal treatment stabilizes the core strands and provides consist handling over time.
Certified for all uses: single, half and twin, for versatility depending on terrain and circumstances.
Specs described refer to testing as use as a single rope.
By the way, the Sterling Fusion Nano does not come with a climb ready coil, however, the Mammut Revelation does. Just thought I would note that here because in your review you state the contrary.


text:
| Health & Human Services Agency
About HHSA
Regional & Community Data
Demographic Profiles
In the United States, it is estimated that medical care accounts for only 10-20 percent of the modifiable contributors to healthy outcomes in a population. The other 80-90 percent are "the conditions in which people are born, grow, live, work and age, and the systems put in place to deal with illness," known as social determinants of health (SDOH).1 This means that a significant proportion of disease burden within a community is shaped by SDOH, such as distribution of income, housing status, and access to healthcare.
The Demographic Profiles are a compilation of information relating to demographic characteristics of specific populations in San Diego County, including SDOH. Each Profile contains demographic data for each HHSA Region and subregional area (SRA), including age, gender, race/ethnicity distributions, school enrollment, educational attainment, income, occupation, housing, and other SDOH. Many of these factors have been implicated at the roots of health disparities. The profiles are designed to help HHSA staff in each of the Health and Human Services Regions (Regions) and other local organizations, including Live Well San Diego recognized partners, identify, and prioritize needs within their communities.
The demographic profiles below contain the most recent demographic and economic data available by Health and Human Services (HHSA) region, city, and supervisorial district in PDF format.
2020 Region/SRA Demographic Profiles
2020 City Demographic Profiles
2020 Supervisorial District Demographic Profiles
NEW! The 2020 Demographic Profiles are now be available online as dynamic Tableau dashboards.
2020 Region and SRA Demographic Profiles Dashboard
2020 City Demographic Profiles Dashboard
2020 Census Tract Demographic Profiles Dashboard
2020 Supervisorial District Demographic Profiles Dashboard
For machine-readable data, visit the County of San Diego's data access portal.
Community Profiles contain a variety of health-related information in San Diego County and its communities. We currently have data for 2016 to 2020 deaths, hospitalizations, emergency department discharges, in-patient treatment discharges, physical rehabilitation, and skilled nursing facility discharges.
The 2020 Community Profiles are available online as dynamic Tableau dashboards. These dashboards help to visualize the health data by the lenses of health equity: age, sex, geography, and race/ethnicity. There are over 80 conditions with 6 outcomes available for the Health and Human Services Agency (HHSA) Regions and their respective subregional areas (SRAs), as well as for the 18 municipalities and the unincorporated area of San Diego County. Individual tabs can be downloaded as images and the entire profile can be downloaded as PDFs or PowerPoint slides.
2020 Community Profiles by HHSA Region
2020 Community Profiles by Municipality
The 2020 Community Profiles Data Guide and Data Dictionary Dashboards contain technical notes for users of the Community Profiles' morbidity and mortality data. The data guide provides information for data users, describes geographic units used in health data, explains rates and age adjusted rates, and lists the data sources used to create the Community Profiles. Additionally, there are three data dictionary dashboards for the Community Profiles. The first dashboard is a morbidity data dictionary dashboard, which provides a list of Clinical Classifications Software Refined (CCSR) category codes and descriptions, and ICD-10 CM codes and descriptions that are used to categorize each condition with an emergency department discharge, hospitalization, or in-patient treatment outcome. The second dashboard is a mortality data dictionary dashboard which provides a list of ICD-10 mortality codes and descriptions that were used to categorize each condition with a death outcome. The final dashboard is a data standards dashboard where you can find the standard, link to the standard, and notes for each condition and outcome.
2020 Community Profiles Data Guide and Data Dictionary Dashboards
The 2019 Community Profiles are available through the below links:
All HHSA Regions
North Coastal Region
North Inland Region
South Region
San Diego Municipalities
The 2016-2019 Community Profiles are also available to download as excel workbooks below:
Alzheimer's Disease and Related Dementias (ADRD)
Behavioral Health Outcomes
Non-Communicable (Chronic) Diseases
Maternal and Child Health Outcomes
For previous years' health data, dating back to 2000, visit our archives.
Health Briefs
Health Briefs are easy-to-read, printable health statistics by HHSA Region using data from the Community Profiles and the California Health Interview Survey (CHIS). Each health brief contains information on non-communicable disease, communicable disease, ADRD, maternal & child health, injury, and behavioral health data.
Morbidity Dashboard
The morbidity dashboard is an interactive Tableau dashboard that helps visualize the total morbidity rate by age, race/ethnicity, sex, socioeconomic status, and urbanicity in San Diego County. Morbidity is the amount of disease in a population. In this analysis, total morbidity is defined as the sum of all inpatient and outpatient discharges. The 2019 emergency department and patient discharge data were obtained from the California Office of Statewide Health Planning and Development (OSHPD) database.
2019 Morbidity Dashboard
Adverse Childhood Experiences (ACEs)
Adverse childhood experiences (ACEs) are potentially traumatic experiences that occur before the age of 18. Current research indicates that experiencing a higher number of ACEs is associated with chronic health conditions, mental illness, and health risk behaviors. Currently, ACEs are measured through a variety of surveys. The data provided in the ACEs dashboard are from the National Survey of Children's Health (NSCH) and the Behavioral Risk Factor Surveillance System (BRFSS).
The interactive ACEs Tableau dashboard helps to visualize demographic and health outcome data disaggregated by ACE scores. The accompanying brief provides a background of ACEs and their relationship to health and well-being. Additionally, the brief highlights the disparities found in ACEs prevalence among adults in San Diego County.
Adverse Childhood Experiences (ACEs) in San Diego County (September 2022)
Adverse Childhood Experiences Dashboard
Tribal Brief
San Diego County Tribal Brief
The Tribal Brief provides an overview of behavioral health, communicable disease, non-communicable (chronic) disease, injury, and maternal and child health outcomes for the Non-Hispanic Native American/Alaska Native population in San Diego County in 2019.
Primary Care Clinic Utilization Profiles
Primary Care Clinic Utilization Profiles contain a variety of health and operation-related information on community primary care clinics in San Diego County. Our profiles cover years 2013-2015 (see archive section). More recent data is available via the California Health and Human Services (CHHS) Data Portal links below.
Primary Care Clinic Utilization Data
Specialty Care Clinic Utilization Data
Collision-Related Maps and Injury Data Resource
Dashboard on Motor Vehicle Injuries in San Diego County
Injury collisions are those involving a motor vehicle operated on a public road, where at least one person is injured or killed. The Motor Vehicle Injury Indicators in San Diego County Dashboard shows the rates of several injury indicators related to motor vehicle collisions in San Diego County across 2010 to 2019. Where available, rates are provided by sex, age group, and year and data is trended by geography and year. Additionally, the rates of injury collisions indicators are displayed by the injury indicator and year of choice.
Geographical areas included are San Diego County, the six Health and Human Services Agency Regions, and the 41 subregional aras (SRAs).
Outcomes on this dasbhoard:
Alcohol-Involved Injuries
Drinking Drivers
Pedalcycle Injuries
Total Injuries
Transportation Injury Mapping System (TIMS)
TIMS is a web-based data query and download application developed to display pin maps in Google Maps, using the California Statewide Integrated Traffic Records System (SWITRS) collision data. A second application was designed and applied to provide a more map-centric experience with other types of data layers and spatial analysis capabilities typically seen in a Geographic Information System (GIS), which is all available to the public.
Collision statistics you can create tables and graphs for, map or download the raw data:
By Day of Week and Time
By Primary Collision Factor Violation
Victim demographics
Victim degree of injury
Victim role
Use of safety equipment
Pedestrian collision classification and descriptions
Number of collisions by schools by type
3-4-50: Chronic Disease in San Diego County
What is 3-4-50?
Chronic diseases are now the major cause of death and disability worldwide, having surpassed infectious diseases and injuries. This reflects an improvement in the prevention and treatment of infectious diseases and significant changes in dietary habits, physical activity levels, and tobacco use in the population. 2 Three behaviors (poor diet, physical inactivity, and tobacco use) contribute to four chronic diseases (cancer, heart disease and stroke, type 2 diabetes, and pulmonary diseases such as asthma) that cause over 50 percent of all deaths worldwide. This is the foundation of the 3-4-50 concept.3 The influence of these three unhealthy behaviors may be seen in San Diego County as these four chronic diseases are the most common causes of death and disability in our region.
3-4-50 Data
3-4-50 Datasets
3-4-50 Percents, by Geography, 2014-2019 - Geographies include HHSA Regions, Subregional Areas (SRAs), Cities, and Supervisor Districts.
3-4-50 Short Briefs
These printable handouts summarize the burden of chronic disease by HHSA Region from 2000-2020.
3-4-50 Detailed Briefs
Detailed Briefs - give a more detailed look at the burden of chronic disease by HHSA Region from 2000-2020.
Municipalities and Unincorporated Area
Maps for the 3-4-50 chronic diseases, as well as other chronic diseases, can be viewed here:
Chronic Diseases in San Diego County Maps
Demographic and Health Data by Region
The location of where people are born, grow, live, work, and age greatly influences their health and well-being. For example, built and natural environments may determine the food we eat, the quality of the air we breathe, and the healthcare services that are available to us, all of which are connected to health outcomes.4 Exploring health data by geography is important to identify and address the needs of diverse local communities. Most of the demographic and health data for San Diego County is provided at the Health and Human Services Agency (HHSA) regional and subregional area (SRA) levels. The regional and SRA boundaries are shown in the map below
To view demographic and health data by geography, select a region below:
The Central Region in San Diego County is located on the San Diego Bay, and includes downtown San Diego and outlying urban communities, including North Park, College Area, Encanto, Paradise Hills, Barrio Logan, Hillcrest, Mission Hills, and University Heights. The population of Central Region is very ethnically, racially, and culturally diverse.
To view demographic and health information for Central Region, select one of the data products below:
2022 Central Region Community Health Assessment Presentation
2019 Central Region Health Briefs
2019 Demographic Profiles
2019 Central Region Health Status Report
The East Region of San Diego County is the second largest geographical area in the county, and includes the communities of El Cajon, Lemon Grove, Alpine, Spring Valley and Mountain Empire. It is one of two regions that share an international border with Mexico, and the only region in the county to share a boundary with another county and country. East Region is a very diverse geographic region in the county, and includes vast valleys, arid landscapes, and mountainous terrain. The East Region is comprised of incorporated and unincorporated areas, suburban and rural communities, and Indian reservations.
To view demographic and health information for East Region, select one of the data products below:
2022 East Region Community Health Assessment Presentation
2019 East Region Health Briefs
2019 East Region Health Status Report
The North Central Region of San Diego County is bordered by Interstate 8 in the south, the Pacific Ocean to the west, Del Mar and state route 56 to the north and extends to include Scripps Ranch and San Carlos to the East. North Central Region is one of the most diverse geographical regions in the county, including miles of pristine pacific coastline, steep canyons, valleys, and mountainous terrains. The region encompasses the northern half of the City of San Diego, and in all, consists of 24 smaller communities including Linda Vista, Mission Valley, Clairemont and La Jolla. The North Central Region is comprised of coastal towns, university communities, suburban areas, and military facilities.
To view demographic and health information for North Central Region, select one of the data products below:
2022 North Central Region Community Health Assessment Presentation
2019 North Central Region Health Briefs
2019 North Central Region Health Status Report
The North Coastal Region consists of six cities, including Carlsbad, Del Mar, Encinitas, Oceanside, Solana Beach and Vista. Over a dozen more communities stretch geographically from Del Mar in the south to the Orange County border in the north and east, to include Vista and Rancho Santa Fe. The US Marine Corps' largest installation, Camp Pendleton, is also located in the North Coastal Region.
To view demographic and health information for North Coastal Region, select one of the data products below:
2022 North County Regions Community Health Assessment Presentation
2019 North Coastal Region Health Briefs
2019 North Coastal Region Health Status Report
The North Inland Region consists of four cities, including Escondido, Poway, San Marcos and the northern part of the City of San Diego, and dozens of smaller communities. The region's diversity can be attributed to this vast geographic expanse, which includes suburban areas, remote desert communities, historic mountain towns, rural homes and farms, and Indian reservations
2019 North Inland Region Health Briefs
2019 North Inland Region Health Status Report
The South Region of San Diego County is a highly diverse border region. Geographically, the Region covers 155 square miles of urban, suburban, and rural areas. The Region includes the cities of National City, Chula Vista, Imperial Beach, Coronado, and three communities of the City of San Diego: Otay Mesa, Nestor and San Ysidro. San Ysidro is home to the busiest land border crossing in the world.
To view demographic and health information for South Region, select one of the data products below.
2022 South Region Community Health Assessment Presentation
2019 South Region Health Briefs
2019 South Region Health Status Report
Regional Planning Documents:
Regional and Demographic Data: For the most recent demographic, economic, behavioral, and health data available by HHSA Region and community.
1 Magnan, S. 2017. Social Determinants of Health 101 for Health Care: Five Plus Five. NAM Perspectives. Discussion Paper, National Academy of Medicine, Washington, DC. https://doi.org/10.31478/201710c
2 World Health Organization (WHO). "The Global Strategy on Diet, Physical Activity and Health." http://www.who.int/dietphysicalactivity/media/en/gsfs_general.pdf (Accessed September 22, 2011).
3 3Four50, www.3four50.com (Accessed September 22, 2011).
4 Centers for Disease Control and Prevention. (2018). Social Determinants of Health: Know What Affects Health. https://www.cdc.gov/socialdeterminants/index.htm
Demographic and Health Data
Disease Information
Homeless Solutions and Equitable Communities
Housing & Community Development Services
Self-Sufficiency Programs
Support Divisions

redpajama_set_name: RedPajamaCommonCrawl


If you have questions on other topics, please contact us.
Accompa is a requirements management tool – delivered as a 100% cloud-based software. It enables you to store, track and manage requirements for your products and projects.
It is targeted at product management, product marketing, engineering, business analyst, requirements analyst, program management, and project management teams – as well as related teams who gather and manage requirements.
Since Accompa is a cloud-based (SaaS) software, you don't have to install or maintain the software. You simply sign up, and get started in minutes – it is as easy as signing into your favorite website! We take care of all maintenance, upgrades, and backups. Click here to learn more, or start FREE trial now.
What features does Accompa offer?
For a detailed list of features, click here.
How is Accompa different from other requirements management software?
We're glad you asked! We're frequently asked by our prospective customers why they should choose Accompa over competitive products. We've described the reasons in detail here.
What do I need to use Accompa?
Just a computer with a web browser and an internet connection – as Accompa is a cloud-based (SaaS) software!
Accompa works with any standard web browser such as Internet Explorer, Firefox, Safari and Chrome – on Windows as well as Mac computers.
How much does Accompa cost?
Accompa is very affordable – click here for details.
Plus – since Accompa is a cloud-based (SaaS) software, you don't need to spend any resources on installation, configuration or maintenance. You just sign up, and get started in under 5 minutes!
If you have any questions or special needs, please contact us.
What is the minimum number of user licenses I need to buy?
The base price of Accompa includes 5 user licenses – as a result, 5 is the minimum number of licenses.
Monthly payments: Credit card (Visa, MasterCard or American Express).
Annual payments: Your company Purchase Order (PO).
How do I buy Accompa?
It's easy and straightforward – just start your 30-day FREE trial, then you can convert to a paid account at any time. Contact us if you have any questions about this process.
Can I download and install Accompa on my company's servers?
We offer Accompa as a cloud-based (SaaS) software only – i.e. we host it on our secure, carrier-class servers and take care of all backup, maintenance and upgrades.
We do not offer it for download. This enables us to focus on doing one thing very, very well – delivering best-in-class cloud-based (SaaS) requirements management software.
Why is Accompa less expensive compared to other enterprise-quality requirements software? Is your software not as good?
Click here to learn why Accompa costs you much less than comparable enterprise-quality requirements software.
Yes, your data is very secure with Accompa. We have implemented world-class security and network infrastructure to ensure your data is secure. This includes end-to-end encryption of all data using strong SSL, the same technology used by leading banks and financial institutions. Click here for more details on our security infrastructure & processes.
Does anyone at Accompa ever view my data?
We highly value your privacy, and no one at Accompa views your data – with the exception noted below.
The only time when someone at Accompa views your data during the normal course of business is when you have a support request that absolutely requires it – and even then, only with your written permission, for a pre-defined number of hours.
What do you mean by "cloud-based software," "SaaS," or "hosted software"?
Just the same way you log on to your favorite web site, you securely log on to Accompa website using a standard web browser (such as Internet Explorer, Firefox, Chrome or Safari) – and use our software securely over the internet.
As a result, you get to enjoy substantial savings in time and money – as well as peace of mind.
We do not offer it for download. This enables us to focus on doing one thing very, very well – delivering best-in-class cloud-based (SaaS) requirements management software. As a result, our customers enjoy substantial savings in time and money – as well as peace of mind.
Accompa is very reliable – we have a fully redundant network infrastructure that allows us to provide you uninterrupted service. As a result of this, hundreds of companies in 6 continents enjoy 24x7x365 reliability with Accompa.
We have consistently delivered 99.95% uptime since our inception and back it up with a written SLA (service level agreement) – so you can rely on us. Click here for more details.
How do I get upgrades to Accompa?
As Accompa is a cloud-based (SaaS) software, whenever we release a new version of our software or add new features you will immediately have access to it the next time you log in. You don't have to do anything at all to install upgrades!
Furthermore, all upgrades to existing modules are free of charge to our customers.
What size companies currently use Accompa?
Companies of all sizes – from Fortune-500 companies to growing startups – currently use Accompa to meet their requirements management needs.
Due to the combination of our enterprise-quality, affordable pricing and scalable architecture – you will likely find that we can serve your needs well, no matter how large or small your business is.
What types of customer support do you offer?
We offer comprehensive customer support using our online help, and our email support system. Our email support has a guaranteed '8 business hours' response time. Often, your questions will be answered within a few hours.
We don't provide call-in phone support in order to continue offering you attractive prices. However, when you have complex issues that require phone support – we schedule a phone call or a web conference with you in a timely fashion and resolve your issues.
Our support personnel sit right next to personnel who create our product – as a result, we're able to offer fast and accurate resolutions to your support issues.
And… our support is always FREE!
We're dedicated to providing you customer support that delights you. The best proof of our customer support: Greater than 25% of our new customers come via referral from our existing customers!
How do I reach Accompa customer support?
You can reach our customer support via email at support@accompa.com. For further details about support, please visit our Support Portal.


The Airpot Rack & Cover by Bunn: Thermal Server Rack, self-service, holds (1) 2.5 litre server without base, drip tray, design for display & dispensing.
The Airpot Rack & Cover by Bunn: Thermal Server Rack, self-service, holds (2) 2.5 litre server without base, drip tray, design for display & dispensing.
Take a look at the features for Victor Dual Monitor Standing Desk. Color: Black, Width: 28".
Plug-in speakers, handsets and headphones are available two way radio accessories to increase the audio clarity of your broadcasts. Here is some additional information about 3M Tactical Headset. Color: Black, For Use With: Civilian Radio System.


text:
Parenting Beyond Belief Workshop
Author Helen Date June 19, 2013
by Helen Grant
Over nine million parents in the U.S. are raising children without theistic religion. As we've seen in the past few weeks, secular families certainly do exist in Oklahoma. On Sunday June 23rd from 1:30-5:30 p.m. at the First Unitarian Church, 600 NW 13th St, there will be a free workshop called Parenting Beyond Belief, which is based on freethinking philosophy. Speaker Dale McGowan, author of "Parenting Beyond Belief" and a 2008 Harvard Humanist Award recipient, will be hosted by OKC Secular Parenting Group. Organizer Christi Dawson said the group raised funds earlier in the year to make the workshop available to other secular parents in the community. Some of the objectives of the workshop include: encouraging religious literacy without indoctrination, helping kids interact productively with a religious world, helping kids develop active moral reasoning, addressing sensitive issues with religious relatives using the principles of nonviolent communication, and more.
I interviewed Christi Dawson from OKC Secular Parenting, and speaker Dale McGowan to get a better idea of what the workshop aims to provide parents who are interested in the event. I started with Dawson, because the OKC Secular Parenting Group is not only hosting the event, but inspired into being because of McGowan's work.
okc.net: When and how did the OKC Secular Parenting Group come into being?
Dawson: The idea for the group was actually planted in a way by Dale McGowan himself. I believe I first heard about Dale and his book "Parenting Beyond Belief" in early 2010 when I saw and completed a survey online about secular parenting. Included in the survey was a question about whether you would be interested in joining a group of local secular families. I checked "yes" and shortly thereafter got a copy of the book from the library to see what it was all about. "Parenting Beyond Belief" is full of great ideas and information, but it was the final chapter, titled "Seeking Community," that really stood out to me. As a child I had been part of a church community, but as I grew older, religious belief was something that just didn't fit in with my view of the world. I had mostly been at peace with my lack of faith, but as I read Dale's words in that chapter, I realized that I had been missing out on something. It wasn't my lack of belief that had created a void, but that sense of community that the faithful are able to find in church. The more I thought about it, the more passionate I became about the idea that secular families should have an opportunity to create this kind of community for themselves. When an email went out to those who had checked "yes" on the survey and no one else was stepping forward to start one here, I decided to make it happen. The group got its informal start in the summer of 2010, and our Meetup.com page officially launched in September of that year.
okc.net: Can you talk a little bit about Dale McGowan? How did you all discover him?
Dawson: As I mentioned before, I discovered Dale and his writing in 2010 right before I decided to start the OKC Secular Parenting Group. One of the things that makes Dale so great (and why his books are so wonderful and successful) is that he is such a great communicator. He had a series of posts on his blog, The Meming of Life, called "Can You Hear Me Now?" about communicating effectively by truly hearing and being heard, that is just brilliant, especially the post about having an effective conversation with family members with whom your secular parenting is a source of tension. I love that he focuses on things like empathy, communication, and cooperation rather than the things that divide us. I also have immense respect for his work as the executive director of Foundation Beyond Belief, which has funded many wonderful projects and encouraged volunteerism in its aim to "demonstrate humanism at its best by supporting efforts to improve this world and this life, and to challenge humanists to embody the highest principles of humanism, including mutual care and responsibility."
okc.net: What obstacles do you think secular parents face when trying to raise their kids in a predominately religious region? Are there common concerns shared among the members of the OKC Secular Parenting Group or do situations tend to be family specific?
Dawson: In my experience meeting and talking with many different secular families, the most common obstacle secular parents encounter in an area like Oklahoma where religion is so pervasive is facing situations where your lack of faith may cause your children to be ostracized. I hear these stories over and over. The family makes a trip to the park. The kids find another group of siblings and imagine up a great playground game. The parents, watching, strike up a conversation. Everything is going great until, almost inevitably, the question comes up: "So, where do you all go to church?" The secular parent pauses and considers how to answer, weighing a sense of integrity against the fear of where the conversation will go from here. The answer usually varies, but too often when people respond that they are not religious, the conversation ends abruptly and coincidentally it is suddenly time for the other kids to go home. This possibility is frequently there in the back of our minds, with even more at stake, as we meet the parents of a child's best friend from school or the new kid on the basketball team. It can be really difficult worrying that your world view is going to cause problems for your child in school or social situations.
Other common concerns are how to navigate co-parenting with a spouse or ex-spouse who is a believer and how to effectively communicate with religious family members about secular parenting.
okc.net: What haven't I asked about the OKC Secular Parenting Group or Dale McGowan's speaking engagement on Parenting Beyond Belief that you'd like people to know?
Dawson: Secular families are certainly a diverse group, so I can't speak for all of our members, but I would like people to know that for many of us, and definitely for me, the goal of secular parenting isn't to raise our children to be non-believers. It's about raising them to have all of the tools and information about different faiths and about the amazing things that are out there in the world and then giving them the freedom to make a decision about religion for themselves.
It is worth noting that right now the only webpage OKC Secular Parenting has is via Meetup.com. Right now, Dawson says their main focus is on social activities and community support. They get together once a month through Meetup.com to plan museum trips, potluck dinners, and picnics at local playgrounds. They also maintain a Facebook group that functions as support forum. Dawson says of the group, "Essentially support and community are what we are here to offer to families who may feel like they can't find this anywhere else without compromising their world view."
I interviewed Dale McGowan to find out a little more about him, the impetus for his book, if he's noticed trends in his speaking engagements, and what his organization does.
okc.net: What prompted you to write "Parenting Beyond Belief?"
McGowan: Early in my own parenting I went looking for resources addressing the specific issues that come up when you raise children outside of religion — understanding moral development, dealing with death, religious literacy, rites of passage, extended family issues, community, etc — and found zilch. The intention of the book and its companion guide "Raising Freethinkers" is to help nonreligious parents find answers to those challenges without the religious framework.
okc.net: I noticed Harvard awarded you as Humanist of the Year in 2008. Can you tell me about that award and if it has raised awareness for your Beyond Belief Foundation?
McGowan: The award was in recognition of my work in nonreligious parent education. It's connected me closely to the Humanist Community at Harvard, which is one of the best things going in the humanist community, just packed with good people doing great things to build a positive movement.
Foundation Beyond Belief was launched more than a year later, so I'm not sure there's much connection to the award.
okc.net: What has been the impact of humanist intervention as opposed to those of the "non-proselytizing charities based in all five major world religions"?
McGowan: I don't think of them in opposition, really. They're doing the same thing. Every worldview is at its best when it can focus its own values and perspective to make the world a better place. Religions have done this effectively for a long time. Humanists have always been just as generous and compassionate, but only recently have we begun to catch up in creating communities and organizations whose purpose is to focus and encourage that generosity and compassion — not as an incidental aspect of our lives, but as a direct expression of who we are and how we see the world. Because we do not believe in a supernatural power that can care for us, humanism is a very natural fit for compassionate action. If there's no God, it's up to human beings to make the world a better place.
okc.net: Are you seeing measurable change in secular groups banding together to volunteer or provide other non-profit services?
McGowan: Yes, there's been a sea change in the last 3-5 years. Groups that formerly banded together around discussion, debate, and secular activism (such as church-state separation) are now making volunteering and charitable giving a bigger part of their group's identity.
okc.net: How many times do you visit overwhelmingly religious regions in the United States to give these workshops vs. those who contact you in more secular regions? I'm curious to know if you've seen a trend.
McGowan: I'd say my trips run 3-to-1 in overwhelmingly religious regions. When I go to Connecticut, people are polite and engaged, but there's little sense of urgency since they aren't in the same fish-out-of-water situation. My workshops in those areas will tend to draw about 10-15 people. But when it's Texas or Georgia or North Carolina, the workshops are 4-5 times that size, and people come with very concrete questions and issues related to the daily challenge of raising a nonreligious family in a religious culture.
okc.net: Is there anything I haven't asked that you feel is important about your up-coming speaking engagement in Oklahoma?
McGowan: One of the central questions I deal with in my talks and in my workshops is whether we are raising atheists or raising freethinkers — children who will ultimately answer these big questions for themselves and know that we love and support them no matter what. I come down strongly on the latter side, and my workshops focus on how best to do that.
If you would like to attend this free workshop, you'll need to contact: okcsecularparenting@gmail.com or call 405-973-4378 to sign up.
Into The Blue Again
Posted in 365 THINGS TO DO IN OKC, ADVOCACY, EDUCATION
Tagged basketball, community, Dale McGowan, First Unitarian Church, Foundation Beyond Belief, Georgia, OKC Secular Parenting Group, okc.net, Organizer Christi Dawson, Parenting Beyond Belief, Raising Freethinkers, seen, writing. Bookmark the permalink.
Pingback: Secular Parenting in a Non-Secular Society | Great Plains Skeptic


The traditional facelift has been used to tighten the facial skin, usually suspending the facial skin higher into the hairline. While this type of facelift and facial rejuvenation surgery is effective for the forehead and upper eyelid region, it does not impact the midface region under the eyes and down to the jowls. However, the midface lift surgery is a more advanced technique that addresses these areas, giving patients a more powerful option to reduce the signs of aging.
One of the most significant changes in the face when it ages is the drooping and loss of fatty tissue in the cheeks. This sagging is what creates deeper bags under the eyes, a pronounced fold between the cheek and nose, plus the sagging jowls that are associated with age. A midface lift moves the molar fat pads back up to their original level, giving the midface region a youthful appearance.
The midface lift is also referred to as a cheek lift surgery since it primarily is a lifting of the soft tissue of the cheek. There are many nuances to this surgery that can be enhanced depending on the patient. Some patients may need a lift and the addition of tissue to fill out the cheek area. This can be achieved through cheek implants, fat transfers, and in some cases, facial fillers, which Dr. Khosh may suggest as part of the procedure.
If you have deep bags under your eyes or have a noticeable sagging in your jowls, a midface lift surgery might be the best solution to turn back the hands of time. Contact us today to schedule your appointment with Dr. Khosh to determine whether the midface lift or other facelift options will best meet your needs.


Gets your safety courses in Chennai from Safety specialists!
Health and safety, environmental sectors are fast-growing field, which places a wide opportunity to start your career in multiple Industries.
Safety course in Chennai with safety professionals institute will give you the excellent knowledge of the international workplace safety standards.
The Organisation are having legal requirements to appoint safety officers and safety engineers to manage their health and safety standards, risks arising from the operation.
List of Safety engineering courses in Chennai!


text:
Q: Modal window jQuery, Javascript not working I use jQuery modal window and it works fine, but when I want to include website into modal window with code
$("#vsebina").load('validField.html');

the Javascript that validates form doesn't work any more.
I put examples below. Click push button to open modal window. Try just to put some  letters in input field an click out of input field and you'll get error.
Example one (basic jQuery code with modal window): link
Example two (modal window that uses .load() function: link - In this option Javascript doesn't start and I don't get desired error.
Where is mistake, cause I've been searching this for hours.

A: Try calling $( "myForm" ).validate() inside the click() function and after the load() function.
Your html is not present when the script is loaded. Therefore, validation code is not attached to your form and you never do it later.
Hope this helps.
Kind regards

redpajama_set_name: RedPajamaStackExchange


Safety Park Inc is business licensed by the Revenue Division - Business License Office of Santa Monica. The license number is 154973. The business type is Valet Parking. The address is 1535 Ocean Ave, Santa Monica, CA 90401. The zip code is 90401.


A critic of the drug industry's pricing policy is facing virtual corporate exile at Pfizer, according to a published report.
Peter Rost, a vice president for marketing at Pfizer, the world's largest drug company, appeared on the CBS show "60 Minutes" Sunday to criticize U.S. drug prices compared with prices in Canada and countries in Europe.
The New York Times said that his corporate e-mail and cell phone accounts were shut off on Monday.


An estate auction is one of the best ways to deal with the passing of someone close. Holding on to your loved ones furniture, clothing, antiques, cars, firearms, or stamp collection keeps the energy flowing. Giving the items that you can no longer bear to keep to someone else allows you to move forward with the next chapter in your life.
Everything is taken care of when you work with an experienced auction house that has your best interests at heart, not the other way around. Powell Auction is that auction house. For decades, Powell Auction has been helping people deal with unwanted goods with online and public auctions. Unlike an estate sale or estate buyer, your chances of making more are much better.
The prices are set with estate sales and estate dealers. With an estate auction house, you never know what you will get. Of course, the professional team from Powell Auction will give you and idea of what you can expect to be paid for your lot; however, it could be much more. If you have collectibles, price is never an issue. A collector will pay what he or she wants if your Josef miniature or number one Barbie is on their bucket list.
Powell Auction has the facilities to house your auction items putting an end to your monthly storage bill. Of course, you must have an estate auction scheduled before you can drop off, but once it is on the calendar, you are free from the storage burden. When it comes to estate auctions, you will not find a better estate auction house than Powell Auction. Call or click and schedule an obligation consultation with Powell Auction today.


Research on alumina recovery from coal fly ash was initiated in 1998. The industrial production test was finished in August 2004, based on a series of mechanism studies, laboratory tests, pilot scale tests, and small scale industrial production tests.
2018 1 21 · A small scale ammoniasoda plant was put into operation in France in 1858, producing 300 t of soda ash before it shut down two years later. A major drawback with all these efforts was that they wasted too much ammonia or consumed too much salt.
2018 10 27 · Sodium carbonate, Na 2 C O 3, also known as washing soda, soda ash and soda crystals, and in the monohydrate form as crystal carbonate is the water soluble sodium salt of carbonic acid. Itmonly occurs as a crystalline decahydrate , which readily effloresces to form a white powder, the monohydrate.
2007 10 7 · Regarding capacity Caustic soda plant with 150,000 TPA along with Ethylene Di Chloride plant of 100,000 TPA is best suited, as all chlorine can be used totally for production of EDC.
2008 9 23 · The project is a part of the large scaled soda ash calcining/cooling production line, aiming to make natrium carbonicum calcinatum from wet soda ash dense/light separated from vacuum filter.
2018 10 28 · Under the Small scale Renewable Energy Scheme, participants can create small scale technology certificates for up to 12 months after the date the system is installed. This means that during 2014, the Clean Energy Regulator validated small scale technology certificates created for systems installed in 2013 and 2014.
2018 10 24 · The first set was a mixture of sand, alumina, dolomite, soda ash and lime powder. The other set was a mixture of hydrocarbons and dry asphalt type powder. These materials were tested within the GCXM 4 briquette equipment so as to enable the client make an informed decision.
design of soda ash production plant,business plan of soda FMC soda ash Plant, Wyoming . quotSoda ash or sodium carbonate is an important industrial chemical. One of its principal industrial uses is in manufacturing glass.quot soda ash small scale production plant.
1997 2 25 · 477 THE MINERAL INDUSTRY OF KENYA By David Izon1 Kenya's mineral resources were limited. Mineral Major minerals and mineral materials produced in 1994 production consisted mainly of cement, fluorspar, gemstones, were cement, fluorspar, gemstones, salt, and soda ash.
Mithapur, the mother plant. Mithapur is the birthplace of Tata Chemicals. Its importance stems from its massive salt reserves. Due to this it hase the centre of salt and soda ash production in India.
Soda ash is also differentiated into two classes viz natural ash if the classes viz. natural ash if the salt is recovered from naturally occurring sodium carbonate, the synthetic ash if it is the product of the solvay or othermercial processes.
2016 8 29 · Integrated automation and mechanization and the introduction of large capacity production units are the key elements in the creation of large scale specialized enterprises for the production of fertilizers and chemical fibers and yarns, as well as the processing of synthetic resins and plastics.
2005 11 22 · The contract calls for a small scale demonstration unit in year three, and as important a breakthrough as the one pot synthesis is, this brand new reaction will not be ready for a demonstration unit in less than two years.
2018 10 11 · The Solvay process or ammonia soda process is the major industrial process for the production of sodium carbonate soda ash, Na 2 CO 3. The ammonia soda process was developed into its modern form by Ernest Solvay during the 1860s.
The contributions from glass production and soda ash production are relatively small, namely 1.7 and 1.4 , respectively. For the 19902013 period, the industrial emissions of all five production processes increased rapidly.


text:
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
/******/ 		};

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}

/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "/dist/";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ function(module, exports, __webpack_require__) {

	module.exports = __webpack_require__(362);

/***/ },

/***/ 3:
/***/ function(module, exports) {

	/* globals __VUE_SSR_CONTEXT__ */

	// this module is a runtime utility for cleaner component module output and will
	// be included in the final webpack user bundle

	module.exports = function normalizeComponent (
	  rawScriptExports,
	  compiledTemplate,
	  injectStyles,
	  scopeId,
	  moduleIdentifier /* server only */
	) {
	  var esModule
	  var scriptExports = rawScriptExports = rawScriptExports || {}

	  // ES6 modules interop
	  var type = typeof rawScriptExports.default
	  if (type === 'object' || type === 'function') {
	    esModule = rawScriptExports
	    scriptExports = rawScriptExports.default
	  }

	  // Vue.extend constructor export interop
	  var options = typeof scriptExports === 'function'
	    ? scriptExports.options
	    : scriptExports

	  // render functions
	  if (compiledTemplate) {
	    options.render = compiledTemplate.render
	    options.staticRenderFns = compiledTemplate.staticRenderFns
	  }

	  // scopedId
	  if (scopeId) {
	    options._scopeId = scopeId
	  }

	  var hook
	  if (moduleIdentifier) { // server build
	    hook = function (context) {
	      // 2.3 injection
	      context = context || (this.$vnode && this.$vnode.ssrContext)
	      // 2.2 with runInNewContext: true
	      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
	        context = __VUE_SSR_CONTEXT__
	      }
	      // inject component styles
	      if (injectStyles) {
	        injectStyles.call(this, context)
	      }
	      // register component module identifier for async chunk inferrence
	      if (context && context._registeredComponents) {
	        context._registeredComponents.add(moduleIdentifier)
	      }
	    }
	    // used by ssr in case component is cached and beforeCreate
	    // never gets called
	    options._ssrRegister = hook
	  } else if (injectStyles) {
	    hook = injectStyles
	  }

	  if (hook) {
	    // inject component registration as beforeCreate hook
	    var existing = options.beforeCreate
	    options.beforeCreate = existing
	      ? [].concat(existing, hook)
	      : [hook]
	  }

	  return {
	    esModule: esModule,
	    exports: scriptExports,
	    options: options
	  }
	}

/***/ },

/***/ 60:
/***/ function(module, exports) {

	module.exports = require("element-ui/lib/mixins/locale");

/***/ },

/***/ 362:
/***/ function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _src = __webpack_require__(363);

	var _src2 = _interopRequireDefault(_src);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	/* istanbul ignore next */
	_src2.default.install = function (Vue) {
	  Vue.component(_src2.default.name, _src2.default);
	};

	exports.default = _src2.default;

/***/ },

/***/ 363:
/***/ function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(364),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports

/***/ },

/***/ 364:
/***/ function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _uploadList = __webpack_require__(365);

	var _uploadList2 = _interopRequireDefault(_uploadList);

	var _upload = __webpack_require__(369);

	var _upload2 = _interopRequireDefault(_upload);

	var _iframeUpload = __webpack_require__(375);

	var _iframeUpload2 = _interopRequireDefault(_iframeUpload);

	var _progress = __webpack_require__(367);

	var _progress2 = _interopRequireDefault(_progress);

	var _migrating = __webpack_require__(377);

	var _migrating2 = _interopRequireDefault(_migrating);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	function noop() {}

	exports.default = {
	  name: 'ElUpload',

	  mixins: [_migrating2.default],

	  components: {
	    ElProgress: _progress2.default,
	    UploadList: _uploadList2.default,
	    Upload: _upload2.default,
	    IframeUpload: _iframeUpload2.default
	  },

	  provide: {
	    uploader: undefined
	  },

	  props: {
	    action: {
	      type: String,
	      required: true
	    },
	    headers: {
	      type: Object,
	      default: function _default() {
	        return {};
	      }
	    },
	    data: Object,
	    multiple: Boolean,
	    name: {
	      type: String,
	      default: 'file'
	    },
	    drag: Boolean,
	    dragger: Boolean,
	    withCredentials: Boolean,
	    showFileList: {
	      type: Boolean,
	      default: true
	    },
	    accept: String,
	    type: {
	      type: String,
	      default: 'select'
	    },
	    beforeUpload: Function,
	    onRemove: {
	      type: Function,
	      default: noop
	    },
	    onChange: {
	      type: Function,
	      default: noop
	    },
	    onPreview: {
	      type: Function
	    },
	    onSuccess: {
	      type: Function,
	      default: noop
	    },
	    onProgress: {
	      type: Function,
	      default: noop
	    },
	    onError: {
	      type: Function,
	      default: noop
	    },
	    fileList: {
	      type: Array,
	      default: function _default() {
	        return [];
	      }
	    },
	    autoUpload: {
	      type: Boolean,
	      default: true
	    },
	    listType: {
	      type: String,
	      default: 'text' // text,picture,picture-card
	    },
	    httpRequest: Function,
	    disabled: Boolean
	  },

	  data: function data() {
	    return {
	      uploadFiles: [],
	      dragOver: false,
	      draging: false,
	      tempIndex: 1
	    };
	  },

	  watch: {
	    fileList: {
	      immediate: true,
	      handler: function handler(fileList) {
	        var _this = this;

	        this.uploadFiles = fileList.map(function (item) {
	          item.uid = item.uid || Date.now() + _this.tempIndex++;
	          item.status = 'success';
	          return item;
	        });
	      }
	    }
	  },

	  methods: {
	    handleStart: function handleStart(rawFile) {
	      rawFile.uid = Date.now() + this.tempIndex++;
	      var file = {
	        status: 'ready',
	        name: rawFile.name,
	        size: rawFile.size,
	        percentage: 0,
	        uid: rawFile.uid,
	        raw: rawFile
	      };

	      try {
	        file.url = URL.createObjectURL(rawFile);
	      } catch (err) {
	        console.error(err);
	        return;
	      }

	      this.uploadFiles.push(file);
	      this.onChange(file, this.uploadFiles);
	    },
	    handleProgress: function handleProgress(ev, rawFile) {
	      var file = this.getFile(rawFile);
	      this.onProgress(ev, file, this.uploadFiles);
	      file.status = 'uploading';
	      file.percentage = ev.percent || 0;
	    },
	    handleSuccess: function handleSuccess(res, rawFile) {
	      var file = this.getFile(rawFile);

	      if (file) {
	        file.status = 'success';
	        file.response = res;

	        this.onSuccess(res, file, this.uploadFiles);
	        this.onChange(file, this.uploadFiles);
	      }
	    },
	    handleError: function handleError(err, rawFile) {
	      var file = this.getFile(rawFile);
	      var fileList = this.uploadFiles;

	      file.status = 'fail';

	      fileList.splice(fileList.indexOf(file), 1);

	      this.onError(err, file, this.uploadFiles);
	      this.onChange(file, this.uploadFiles);
	    },
	    handleRemove: function handleRemove(file, raw) {
	      if (raw) {
	        file = this.getFile(raw);
	      }
	      this.abort(file);
	      var fileList = this.uploadFiles;
	      fileList.splice(fileList.indexOf(file), 1);
	      this.onRemove(file, fileList);
	    },
	    getFile: function getFile(rawFile) {
	      var fileList = this.uploadFiles;
	      var target;
	      fileList.every(function (item) {
	        target = rawFile.uid === item.uid ? item : null;
	        return !target;
	      });
	      return target;
	    },
	    abort: function abort(file) {
	      this.$refs['upload-inner'].abort(file);
	    },
	    clearFiles: function clearFiles() {
	      this.uploadFiles = [];
	    },
	    submit: function submit() {
	      var _this2 = this;

	      this.uploadFiles.filter(function (file) {
	        return file.status === 'ready';
	      }).forEach(function (file) {
	        _this2.$refs['upload-inner'].upload(file.raw);
	      });
	    },
	    getMigratingConfig: function getMigratingConfig() {
	      return {
	        props: {
	          'default-file-list': 'default-file-list is renamed to file-list.',
	          'show-upload-list': 'show-upload-list is renamed to show-file-list.',
	          'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
	        }
	      };
	    }
	  },

	  render: function render(h) {
	    var uploadList;

	    if (this.showFileList) {
	      uploadList = h(
	        _uploadList2.default,
	        {
	          attrs: {
	            listType: this.listType,
	            files: this.uploadFiles,

	            handlePreview: this.onPreview },
	          on: {
	            'remove': this.handleRemove
	          }
	        },
	        []
	      );
	    }

	    var uploadData = {
	      props: {
	        type: this.type,
	        drag: this.drag,
	        action: this.action,
	        multiple: this.multiple,
	        'before-upload': this.beforeUpload,
	        'with-credentials': this.withCredentials,
	        headers: this.headers,
	        name: this.name,
	        data: this.data,
	        accept: this.accept,
	        fileList: this.uploadFiles,
	        autoUpload: this.autoUpload,
	        listType: this.listType,
	        disabled: this.disabled,
	        'on-start': this.handleStart,
	        'on-progress': this.handleProgress,
	        'on-success': this.handleSuccess,
	        'on-error': this.handleError,
	        'on-preview': this.onPreview,
	        'on-remove': this.handleRemove,
	        'http-request': this.httpRequest
	      },
	      ref: 'upload-inner'
	    };

	    var trigger = this.$slots.trigger || this.$slots.default;
	    var uploadComponent = typeof FormData !== 'undefined' || this.$isServer ? h(
	      'upload',
	      uploadData,
	      [trigger]
	    ) : h(
	      'iframeUpload',
	      uploadData,
	      [trigger]
	    );

	    return h(
	      'div',
	      null,
	      [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']
	    );
	  }
	};

/***/ },

/***/ 365:
/***/ function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(366),
	  /* template */
	  __webpack_require__(368),
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports

/***/ },

/***/ 366:
/***/ function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _locale = __webpack_require__(60);

	var _locale2 = _interopRequireDefault(_locale);

	var _progress = __webpack_require__(367);

	var _progress2 = _interopRequireDefault(_progress);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//

	exports.default = {
	  mixins: [_locale2.default],

	  components: { ElProgress: _progress2.default },

	  props: {
	    files: {
	      type: Array,
	      default: function _default() {
	        return [];
	      }
	    },
	    handlePreview: Function,
	    listType: String
	  },
	  methods: {
	    parsePercentage: function parsePercentage(val) {
	      return parseInt(val, 10);
	    },
	    handleClick: function handleClick(file) {
	      this.handlePreview && this.handlePreview(file);
	    }
	  }
	};

/***/ },

/***/ 367:
/***/ function(module, exports) {

	module.exports = require("element-ui/lib/progress");

/***/ },

/***/ 368:
/***/ function(module, exports) {

	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
	  return _c('transition-group', {
	    class: ['el-upload-list', 'el-upload-list--' + _vm.listType],
	    attrs: {
	      "tag": "ul",
	      "name": "el-list"
	    }
	  }, _vm._l((_vm.files), function(file) {
	    return _c('li', {
	      key: file,
	      class: ['el-upload-list__item', 'is-' + file.status]
	    }, [(file.status !== 'uploading' && ['picture-card', 'picture'].indexOf(_vm.listType) > -1) ? _c('img', {
	      staticClass: "el-upload-list__item-thumbnail",
	      attrs: {
	        "src": file.url,
	        "alt": ""
	      }
	    }) : _vm._e(), _c('a', {
	      staticClass: "el-upload-list__item-name",
	      on: {
	        "click": function($event) {
	          _vm.handleClick(file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-document"
	    }), _vm._v(_vm._s(file.name) + "\n    ")]), _c('label', {
	      staticClass: "el-upload-list__item-status-label"
	    }, [_c('i', {
	      class: {
	        'el-icon-upload-success': true,
	        'el-icon-circle-check': _vm.listType === 'text',
	          'el-icon-check': ['picture-card', 'picture'].indexOf(_vm.listType) > -1
	      }
	    })]), _c('i', {
	      staticClass: "el-icon-close",
	      on: {
	        "click": function($event) {
	          _vm.$emit('remove', file)
	        }
	      }
	    }), (file.status === 'uploading') ? _c('el-progress', {
	      attrs: {
	        "type": _vm.listType === 'picture-card' ? 'circle' : 'line',
	        "stroke-width": _vm.listType === 'picture-card' ? 6 : 2,
	        "percentage": _vm.parsePercentage(file.percentage)
	      }
	    }) : _vm._e(), (_vm.listType === 'picture-card') ? _c('span', {
	      staticClass: "el-upload-list__item-actions"
	    }, [(_vm.handlePreview && _vm.listType === 'picture-card') ? _c('span', {
	      staticClass: "el-upload-list__item-preview",
	      on: {
	        "click": function($event) {
	          _vm.handlePreview(file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-view"
	    })]) : _vm._e(), _c('span', {
	      staticClass: "el-upload-list__item-delete",
	      on: {
	        "click": function($event) {
	          _vm.$emit('remove', file)
	        }
	      }
	    }, [_c('i', {
	      staticClass: "el-icon-delete2"
	    })])]) : _vm._e()], 1)
	  }))
	},staticRenderFns: []}

/***/ },

/***/ 369:
/***/ function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(370),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports

/***/ },

/***/ 370:
/***/ function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _ajax = __webpack_require__(371);

	var _ajax2 = _interopRequireDefault(_ajax);

	var _uploadDragger = __webpack_require__(372);

	var _uploadDragger2 = _interopRequireDefault(_uploadDragger);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	exports.default = {
	  inject: ['uploader'],
	  components: {
	    UploadDragger: _uploadDragger2.default
	  },
	  props: {
	    type: String,
	    action: {
	      type: String,
	      required: true
	    },
	    name: {
	      type: String,
	      default: 'file'
	    },
	    data: Object,
	    headers: Object,
	    withCredentials: Boolean,
	    multiple: Boolean,
	    accept: String,
	    onStart: Function,
	    onProgress: Function,
	    onSuccess: Function,
	    onError: Function,
	    beforeUpload: Function,
	    drag: Boolean,
	    onPreview: {
	      type: Function,
	      default: function _default() {}
	    },
	    onRemove: {
	      type: Function,
	      default: function _default() {}
	    },
	    fileList: Array,
	    autoUpload: Boolean,
	    listType: String,
	    httpRequest: {
	      type: Function,
	      default: _ajax2.default
	    },
	    disabled: Boolean
	  },

	  data: function data() {
	    return {
	      mouseover: false,
	      reqs: {}
	    };
	  },

	  methods: {
	    isImage: function isImage(str) {
	      return str.indexOf('image') !== -1;
	    },
	    handleChange: function handleChange(ev) {
	      var files = ev.target.files;

	      if (!files) return;
	      this.uploadFiles(files);
	      this.$refs.input.value = null;
	    },
	    uploadFiles: function uploadFiles(files) {
	      var _this = this;

	      var postFiles = Array.prototype.slice.call(files);
	      if (!this.multiple) {
	        postFiles = postFiles.slice(0, 1);
	      }

	      if (postFiles.length === 0) {
	        return;
	      }

	      postFiles.forEach(function (rawFile) {
	        _this.onStart(rawFile);
	        if (_this.autoUpload) _this.upload(rawFile);
	      });
	    },
	    upload: function upload(rawFile, file) {
	      var _this2 = this;

	      if (!this.beforeUpload) {
	        return this.post(rawFile);
	      }

	      var before = this.beforeUpload(rawFile);
	      if (before && before.then) {
	        before.then(function (processedFile) {
	          if (Object.prototype.toString.call(processedFile) === '[object File]') {
	            _this2.post(processedFile);
	          } else {
	            _this2.post(rawFile);
	          }
	        }, function () {
	          _this2.onRemove(rawFile, true);
	        });
	      } else if (before !== false) {
	        this.post(rawFile);
	      } else {
	        this.onRemove(rawFile, true);
	      }
	    },
	    abort: function abort(file) {
	      var reqs = this.reqs;

	      if (file) {
	        var uid = file;
	        if (file.uid) uid = file.uid;
	        if (reqs[uid]) {
	          reqs[uid].abort();
	        }
	      } else {
	        Object.keys(reqs).forEach(function (uid) {
	          if (reqs[uid]) reqs[uid].abort();
	          delete reqs[uid];
	        });
	      }
	    },
	    post: function post(rawFile) {
	      var _this3 = this;

	      var uid = rawFile.uid;

	      var options = {
	        headers: this.headers,
	        withCredentials: this.withCredentials,
	        file: rawFile,
	        data: this.data,
	        filename: this.name,
	        action: this.action,
	        onProgress: function onProgress(e) {
	          _this3.onProgress(e, rawFile);
	        },
	        onSuccess: function onSuccess(res) {
	          _this3.onSuccess(res, rawFile);
	          delete _this3.reqs[uid];
	        },
	        onError: function onError(err) {
	          _this3.onError(err, rawFile);
	          delete _this3.reqs[uid];
	        }
	      };
	      var req = this.httpRequest(options);
	      this.reqs[uid] = req;
	      if (req && req.then) {
	        req.then(options.onSuccess, options.onError);
	      }
	    },
	    handleClick: function handleClick() {
	      if (!this.disabled) {
	        this.$refs.input.click();
	      }
	    }
	  },

	  render: function render(h) {
	    var handleClick = this.handleClick,
	        drag = this.drag,
	        name = this.name,
	        handleChange = this.handleChange,
	        multiple = this.multiple,
	        accept = this.accept,
	        listType = this.listType,
	        uploadFiles = this.uploadFiles,
	        disabled = this.disabled;

	    var data = {
	      class: {
	        'el-upload': true
	      },
	      on: {
	        click: handleClick
	      }
	    };
	    data.class['el-upload--' + listType] = true;
	    return h(
	      'div',
	      data,
	      [drag ? h(
	        'upload-dragger',
	        {
	          attrs: { disabled: disabled },
	          on: {
	            'file': uploadFiles
	          }
	        },
	        [this.$slots.default]
	      ) : this.$slots.default, h(
	        'input',
	        { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },
	          ref: 'input', on: {
	            'change': handleChange
	          }
	        },
	        []
	      )]
	    );
	  }
	};

/***/ },

/***/ 371:
/***/ function(module, exports) {

	'use strict';

	exports.__esModule = true;
	exports.default = upload;
	function getError(action, option, xhr) {
	  var msg = void 0;
	  if (xhr.response) {
	    msg = xhr.status + ' ' + (xhr.response.error || xhr.response);
	  } else if (xhr.responseText) {
	    msg = xhr.status + ' ' + xhr.responseText;
	  } else {
	    msg = 'fail to post ' + action + ' ' + xhr.status;
	  }

	  var err = new Error(msg);
	  err.status = xhr.status;
	  err.method = 'post';
	  err.url = action;
	  return err;
	}

	function getBody(xhr) {
	  var text = xhr.responseText || xhr.response;
	  if (!text) {
	    return text;
	  }

	  try {
	    return JSON.parse(text);
	  } catch (e) {
	    return text;
	  }
	}

	function upload(option) {
	  if (typeof XMLHttpRequest === 'undefined') {
	    return;
	  }

	  var xhr = new XMLHttpRequest();
	  var action = option.action;

	  if (xhr.upload) {
	    xhr.upload.onprogress = function progress(e) {
	      if (e.total > 0) {
	        e.percent = e.loaded / e.total * 100;
	      }
	      option.onProgress(e);
	    };
	  }

	  var formData = new FormData();

	  if (option.data) {
	    Object.keys(option.data).map(function (key) {
	      formData.append(key, option.data[key]);
	    });
	  }

	  formData.append(option.filename, option.file);

	  xhr.onerror = function error(e) {
	    option.onError(e);
	  };

	  xhr.onload = function onload() {
	    if (xhr.status < 200 || xhr.status >= 300) {
	      return option.onError(getError(action, option, xhr));
	    }

	    option.onSuccess(getBody(xhr));
	  };

	  xhr.open('post', action, true);

	  if (option.withCredentials && 'withCredentials' in xhr) {
	    xhr.withCredentials = true;
	  }

	  var headers = option.headers || {};

	  for (var item in headers) {
	    if (headers.hasOwnProperty(item) && headers[item] !== null) {
	      xhr.setRequestHeader(item, headers[item]);
	    }
	  }
	  xhr.send(formData);
	  return xhr;
	}

/***/ },

/***/ 372:
/***/ function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(373),
	  /* template */
	  __webpack_require__(374),
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports

/***/ },

/***/ 373:
/***/ function(module, exports) {

	'use strict';

	exports.__esModule = true;
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//
	//

	exports.default = {
	  name: 'ElUploadDrag',
	  props: {
	    disabled: Boolean
	  },
	  data: function data() {
	    return {
	      dragover: false
	    };
	  },

	  methods: {
	    onDragover: function onDragover() {
	      if (!this.disabled) {
	        this.dragover = true;
	      }
	    },
	    onDrop: function onDrop(e) {
	      if (!this.disabled) {
	        this.dragover = false;
	        this.$emit('file', e.dataTransfer.files);
	      }
	    }
	  }
	};

/***/ },

/***/ 374:
/***/ function(module, exports) {

	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
	  return _c('div', {
	    staticClass: "el-upload-dragger",
	    class: {
	      'is-dragover': _vm.dragover
	    },
	    on: {
	      "drop": function($event) {
	        $event.preventDefault();
	        _vm.onDrop($event)
	      },
	      "dragover": function($event) {
	        $event.preventDefault();
	        _vm.onDragover($event)
	      },
	      "dragleave": function($event) {
	        $event.preventDefault();
	        _vm.dragover = false
	      }
	    }
	  }, [_vm._t("default")], 2)
	},staticRenderFns: []}

/***/ },

/***/ 375:
/***/ function(module, exports, __webpack_require__) {

	var Component = __webpack_require__(3)(
	  /* script */
	  __webpack_require__(376),
	  /* template */
	  null,
	  /* styles */
	  null,
	  /* scopeId */
	  null,
	  /* moduleIdentifier (server only) */
	  null
	)

	module.exports = Component.exports

/***/ },

/***/ 376:
/***/ function(module, exports, __webpack_require__) {

	'use strict';

	exports.__esModule = true;

	var _uploadDragger = __webpack_require__(372);

	var _uploadDragger2 = _interopRequireDefault(_uploadDragger);

	function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

	exports.default = {
	  components: {
	    UploadDragger: _uploadDragger2.default
	  },
	  props: {
	    type: String,
	    data: {},
	    action: {
	      type: String,
	      required: true
	    },
	    name: {
	      type: String,
	      default: 'file'
	    },
	    withCredentials: Boolean,
	    accept: String,
	    onStart: Function,
	    onProgress: Function,
	    onSuccess: Function,
	    onError: Function,
	    beforeUpload: Function,
	    onPreview: {
	      type: Function,
	      default: function _default() {}
	    },
	    onRemove: {
	      type: Function,
	      default: function _default() {}
	    },
	    drag: Boolean,
	    listType: String,
	    disabled: Boolean
	  },

	  data: function data() {
	    return {
	      mouseover: false,
	      domain: '',
	      file: null,
	      submitting: false
	    };
	  },

	  methods: {
	    isImage: function isImage(str) {
	      return str.indexOf('image') !== -1;
	    },
	    handleClick: function handleClick() {
	      if (!this.disabled) {
	        this.$refs.input.click();
	      }
	    },
	    handleChange: function handleChange(ev) {
	      var file = ev.target.value;
	      if (file) {
	        this.uploadFiles(file);
	      }
	    },
	    uploadFiles: function uploadFiles(file) {
	      if (this.submitting) return;
	      this.submitting = true;
	      this.file = file;
	      this.onStart(file);

	      var formNode = this.getFormNode();
	      var dataSpan = this.getFormDataNode();
	      var data = this.data;
	      if (typeof data === 'function') {
	        data = data(file);
	      }
	      var inputs = [];
	      for (var key in data) {
	        if (data.hasOwnProperty(key)) {
	          inputs.push('<input name="' + key + '" value="' + data[key] + '"/>');
	        }
	      }
	      dataSpan.innerHTML = inputs.join('');
	      formNode.submit();
	      dataSpan.innerHTML = '';
	    },
	    getFormNode: function getFormNode() {
	      return this.$refs.form;
	    },
	    getFormDataNode: function getFormDataNode() {
	      return this.$refs.data;
	    }
	  },

	  created: function created() {
	    this.frameName = 'frame-' + Date.now();
	  },
	  mounted: function mounted() {
	    var self = this;
	    !this.$isServer && window.addEventListener('message', function (event) {
	      if (!self.file) return;
	      var targetOrigin = new URL(self.action).origin;
	      if (event.origin !== targetOrigin) return;
	      var response = event.data;
	      if (response.result === 'success') {
	        self.onSuccess(response, self.file);
	      } else if (response.result === 'failed') {
	        self.onError(response, self.file);
	      }
	      self.submitting = false;
	      self.file = null;
	    }, false);
	  },
	  render: function render(h) {
	    var drag = this.drag,
	        uploadFiles = this.uploadFiles,
	        listType = this.listType,
	        frameName = this.frameName,
	        disabled = this.disabled;

	    var oClass = { 'el-upload': true };
	    oClass['el-upload--' + listType] = true;

	    return h(
	      'div',
	      {
	        'class': oClass,
	        on: {
	          'click': this.handleClick
	        },
	        nativeOn: {
	          'drop': this.onDrop,
	          'dragover': this.handleDragover,
	          'dragleave': this.handleDragleave
	        }
	      },
	      [h(
	        'iframe',
	        {
	          on: {
	            'load': this.onload
	          },

	          ref: 'iframe',
	          attrs: { name: frameName
	          }
	        },
	        []
	      ), h(
	        'form',
	        { ref: 'form', attrs: { action: this.action, target: frameName, enctype: 'multipart/form-data', method: 'POST' }
	        },
	        [h(
	          'input',
	          {
	            'class': 'el-upload__input',
	            attrs: { type: 'file',

	              name: 'file',

	              accept: this.accept },
	            ref: 'input', on: {
	              'change': this.handleChange
	            }
	          },
	          []
	        ), h(
	          'input',
	          {
	            attrs: { type: 'hidden', name: 'documentDomain', value: this.$isServer ? '' : document.domain }
	          },
	          []
	        ), h(
	          'span',
	          { ref: 'data' },
	          []
	        )]
	      ), drag ? h(
	        'upload-dragger',
	        {
	          on: {
	            'file': uploadFiles
	          },
	          attrs: { disabled: disabled }
	        },
	        [this.$slots.default]
	      ) : this.$slots.default]
	    );
	  }
	};

/***/ },

/***/ 377:
/***/ function(module, exports) {

	module.exports = require("element-ui/lib/mixins/migrating");

/***/ }

/******/ });

redpajama_set_name: RedPajamaGithub


I've ordered the Loom 300 disc however would be interested in a download of Rob Waters new one.
Just discovered the first one is on Amazon for download so hopefully it will also be the case for the new one. Would be great if Mr Waters stuff was available on the excellent Bandcamp site.
Yes. Rob waters first was also in Amazon so perhaps sooner rather than later mehopes.
Ditto, Multivit72. I ordered mine via the JS site through Viktoriapark and saved about 5GBP in doing so. I was set not to buy it but with a saving of around 33% I could not resist it. Maybe JF's site should cut their prices down a bit too!!
Thanks for the answers so far. With them being EPs, I 'd rather wait for the downloads, as I did for 200 and I've Seen The Invisible. When they come, I can then put them onto a cdr for my CD player.
Mmmmh ......more beat heavy. Not sure that will be my thing. Better check some samples out first then. Also will be going for the download when it becomes available .
Also has to be said the Loom EP is way overpriced. With postage - £15.76 , for 16 minutes of music ?????????
I will just be sticking to downloads at these costs. Way over the top.
Music is good however so all is not lost.


My parents were cleaning out a bunch of books they didn't want, so I grabbed some of the ones that looked interesting. A rather wide variety of random stuff. Also, a few more snap purchases on the Kindle even though I've not been actually finishing books recently. (I do have two finished and waiting for me to write reviews, at least.) Who knows when, if ever, I'll read these.
I've already read (and reviewed) American Gods , but didn't own a copy of it, and that seemed like a good book to have a copy of.
The Carey and Brown were snap purchases, and I picked up a couple more Scalzi books in a recent sale.
Posted: 2017-02-19 18:39 — Why no comments?