Sava Research Corporation (applicant) seeks to register SAVA for secure communication systems. The intent-to-use application was filed on June 5, 1992.
The Examining Attorney refused registration pursuant to Section 2(e)(3) of the Lanham Trademark Act [15 USC 1052(e)(3) ] on the basis that SAVA is primarily merely a surname.
When the refusal was made final, applicant appealed to this Board. Applicant and the Examining Attorney filed briefs. Applicant did not request an oral hearing.
With his first Office Action, the Examining Attorney attached excerpts from nine selected stories which the Examining Attorney retrieved from the NEXIS data base when the term SAVA was searched. The first page of the NEXIS search indicates that there were 1,762 stories containing the term SAVA. On this first page, the Examining Attorney wrote the following statement: "The attached cites are merely representative of the more than 1,700 available cites."
In response, applicant submitted photocopies of the pertinent pages from A Dictionary of Surnames (Oxford University Press), American Surnames (Chilton Book Company) and New Dictionary of American Family Names (Harper & Rowe) showing that SAVA is not listed in any of them. Moreover, applicant attached photocopies of the pertinent pages from the White Pages for Tampa and St. Petersburg (applicant's principal place of business) showing that SAVA was not listed as a surname in either directory. Applicant also stated that "SAVA is not the surname of anyone associated [with] or employed by applicant," and that in point of fact, "SAVA is a coined word that was developed by applicant from the slogan Securing America's Valuable Assets." (Applicant's response dated September 23, 1992 at page 3). In this regard, it must be remembered that the goods for which applicant seeks registration are secure communication systems.
In the second Office Action, the Examining Attorney attached a printout from the PHONEDISC U.S.A. data base (1992 ed.) which the Examining Attorney contends shows "that at least 100 different SAVAs live throughout the United States." (Examining Attorney's brief pages 2-3). The preface to the PHONEDISC U.S.A. data base (1992 ed.) states that "listings making up the data base were gathered from approximately 5,000 U.S. address lists and telephone directories including a total of over 90,000,000 listings."
*2 At the outset, we note that "the PTO [has] the burden of establishing a prima facie case that [SAVA] is 'primarily merely a surname.' " In re Etablissements Darty et Fils, 759 F.2d 15, 225 USPQ 652, 653 (Fed.Cir.1985). Moreover, "the question of whether a word sought to be registered is primarily merely a surname within the meaning of the statute can be resolved only on a case by case basis," taking into account a number of various factual considerations. Darty et Fils, 225 USPQ at 653. See also 1 J. McCarthy, McCarthy on Trademarks and Unfair Competition Section 13.11 at pages 13-55 to 13-58 (3d ed. 1992).
One factor that weighs in favor of a finding that SAVA is not primarily merely a surname is that "there is no evidence that [SAVA] is in fact the surname of anyone connected with applicant." In re Monotype Corp., 14 USPQ2d 1070, 1071 (TTAB 1989). Indeed, applicant has stated that "the mark SAVA is not the surname of anyone associated [with] or employed by applicant."
A second factor weighing against a finding that SAVA would be perceived as primarily merely a surname is the fact that SAVA "does have other meanings." Monotype, 14 USPQ2d at 1071; In re BDH Two Inc., 26 USPQ2d 1556, 1558 (TTAB 1993). In this regard, we have given little weight to the fact that SAVA is the name of a town in Israel and a river in Bosnia. We think that these meanings would most likely not be known to American purchasers of applicant's secure communication systems. However, applicant has also explained that SAVA is an acronym for "Securing America's Valuable Assets." We think that to purchasers of secure communication systems, SAVA does have the look and sound of an acronym, and that applicant's explanation as to the meaning of SAVA is quite plausible.
A third factor which we must consider is "the degree of a surname's rareness." In re Garan Inc., 3 USPQ2d 1537, 1540 (TTAB 1987). At first blush, the material from the PHONEDISC U.S.A. data base (1992 ed.) showing "that at least 100 different SAVAs live throughout the United States" would indicate that SAVA is not an extremely rare surname. However, it must be remembered that this data base includes over 90,000,000 listings. Thus, the uses of SAVA as a surname represent about only one ten-thousandth of one percent of the surnames in this data base.
Moreover, the Examining Attorney's search of the massive NEXIS data base revealed only one individual with the surname SAVA (i.e. Samuel G. Sava). In addition, applicant has made of record the pertinent pages from three large surname dictionaries, and not one of these three dictionaries lists SAVA as a surname.
In light of the foregoing, we find that SAVA is indeed a rare surname, and that this factor weighs in favor of a finding that it would not be perceived as primarily merely a surname.
*3 In sum, given the fact that no one associated with applicant has the surname SAVA; the fact that SAVA would be perceived by American purchasers of secure communication systems as having a meaning other than that of a surname; and the fact that SAVA is indeed a rare surname, we find that SAVA would not be perceived as primarily merely a surname.
FN1. The case cite does not reveal whether SAVA is used as a surname or as a company name.


text:
News Review: ICANN's Extortionate .BRAND Scam Failing
Domain Mondo's weekly internet domain news review (NR 2017-07-09), with analysis and opinion: Features • 1) ICANN's Extortionate .BRAND Scam Failing, 2)ICANN Collaborates with Moscow-Based PIR Center, 3) How Phony Are New gTLDs' Stats? 4) Most Read Posts This Past Week on Domain Mondo.
1) ICANN's Extortionate .BRAND Scam Failing
"ICANN is just a scam and the entire industry is based on monopolistic fraud with DC payoffs."--Mike Mann, domain name registrant, March 30, 2017.
ICANN's new gTLDs program, an "ill-conceived clusterf*ck" driven by greed, incompetence, cronyism, and conflicts of interest, grossly over-expanded the internet's generic top-level domains (gTLDs) from just 22 to over 1200 beginning in 2014. One of the key parts of the new ICANN program opening in 2012 was the ability of corporations to apply to control their very own "piece of the internet" (gTLD) by applying to use their own trademark(s) or brand name(s), e.g., .BARCLAYS, .BMW, .BNPPARIBAS (that's not a misspell), etc., as a new gTLD, something completely counter to the historic principles of the internet (see RFC 1591) as well as ICANN's (and the U.S. government's) position in the recent Weinstein case that TLDs are not property but global public resources. In addition, the .BRAND program has been criticized as contributing to the decline of the free and open internet by encouraging silos of TLDs controlled by profit-making enterprises who also control internet access and have no hesitancy in limiting access to only certain domains if not restrained by governments. Trademarks and corporations exist (and are limited) by virtue of sovereign laws. Some have said ICANN's unbounded desire to serve as the lap dog of a few big corporations in its capacity as the world's supranational policy-making authority and "coordinator" of the global internet DNS, led to the creation of .BRAND gTLDs. Finally, lawyers tell me there are also huge risks in making a trademark a generic top-level domain--ever hear of genericide? Which is why I guess some trademark lawyer wanted to change the word "generic" to "global" in GNSO at ICANN59.
Notwithstanding the above, ICANN proceeded to open the new gTLDs program in 2012 to this new sub-category of generic top-level domains (gTLDs), and by ICANN's standards, it was a big success--a total of 664 brands (34% of all applications) were conned into submitting applications to ICANN--although most applications were, and still are, purely "defensive." Read the U.S. Senate testimony (pdf) of Dawn Grove, corporate counsel for the parent of the manufacturer of PING golf equipment. ICANN knows no shame.
One complete list (updated as of 25 Jan 2017) of all the "dot BRAND" applications and their status is here. A review of that list indicates that the main beneficiaries (besides ICANN) of ICANN's dot BRAND program are principally just three companies which provide the bulk of the .BRAND back-end registry services): Afilias (whose Executive Chairman Jonathan Robinson became GNSO Council Chair in 2012, and whose CTO Ram Mohan has been on the ICANN Board since 2008); Verisign (which is also registry operator of .COM and .NET); and Neustar (note that ARI Registry Services is now owned by Neustar). ICANN Board member Becky Burr (2016-2019), a Washington, D.C., "revolving door lawyer" (Burr used to work for the U.S. Department of Commerce (NTIA) and FTC), has been employed by Neustar since 2012. In addition, the current GNSO Council Vice Chair Donna Austin, a former ICANN employee, works for Neustar.
Of course there are others--ICANN thrives on greed and conflicts of interest--including a menagerie of brand consultants, strategists (e.g., here and here), as well as an assortment of hucksters, lawyers, charlatans, and snake oil salesmen who thought they would get filthy rich off all the big "dumb" rich trademark holders who were told they must pay to defensively register their trademark as an ICANN .BRAND TLD or risk losing their "brand name" and trademark on the internet to other claimants. ICANN charged an initial $185,000 "shakedown" fee per brand name upfront, plus periodic fees thereafter for the "privilege" of operating the .BRAND TLD. Of course, that may be just a drop in the bucket compared to the fees charged by the consultants, lawyers, back end registry service providers, and others, including the aforesaid charlatans.
Despite the best efforts of ICANN, its "partners" Afilias, Verisign, Neustar, et al, and the menagerie of other hucksters, the dot BRAND program is failing with well-known global brand McDonald's recently throwing in the towel on their .MCD (pdf) and .MCDONALDS new gTLDs:
McDonald's back end registry services had been provided by Neustar. McDonald's had also been a client of Fairwinds Partners. I guess greed and conflicts of interest have their limits.
2) ICANN Collaborates with Moscow-Based PIR Center to Present a Collection of Articles on Cyberspace | ICANN.org. See also: PIRcenter.org: Global Internet Governance and Cyber Security: As Viewed by Russian Experts.
3) How Phony Are The Stats on New gTLDs' Domain Name Registrations? Nobody really knows. ICANN is too inept to collect and publish the true data. Update July 13, 2017:
Above data courtesy ntldstats.com July 13, 2017: if the "millions" of new gTLD domain names 'owned' by registry operators were NOT shown above (see second tweet below), how much worse would the actual situation be? ICANN doesn't want to know and doesn't want YOU to know.
Top 5 #GTLD's now account for 50% of all Regs. 500 split/suck other 50%. The weak, getting weaker. #Domains https://t.co/8SrF9wBtW0
— Rick Schwartz (@DomainKing) July 3, 2017
Actually, 28% of all regs shared by 480 new #GTLD's. Look behind the numbers & you'll see regisrtries own MILLIONS! #Fake #Pityful #Domains
4) Most read posts (# of pageviews Sun-Sat) this past week on DomainMondo.com:
1. News Review: ICANN59 Report; .NET Greed: ICANN + Verisign $VRSN
2. a16z VC Marc Andreessen On Tech Valuations and More (podcast)
3. Mobile Economy: Anindya Ghose Says Life Getting Even Faster With Tech
4. G20 Summit, July 7-8: A Push For More Restrictions on Internet Freedom?
-- John Poole, Editor, Domain Mondo
Labels: Afilias, Becky Burr, brand, conflicts of interest, cronyism, domain, domain name, extortionate, greed, gTLD, Hucksters, ICANN, internet, Neustar, new gTLD, newgTLDs, News Review, Scam, Trademark, Verisign
The Big Four: Amazon, Apple, Facebook, Google; & T...
News Review: EFF Warns Registrants To Avoid New gT...
Tech Review: 7 of the Top 10 Global Brands Are Tec...
DEF CON 25 Hacking Conference, July 27-30, Caesars...
Q2 2017 Webcasts Jul 27: Twitter $TWTR Verisign $V...
Facebook $FB Q2 2017 Earnings LIVE Webcast July 26...
Why We are Not Building a Defendable Internet (video)
Alphabet $GOOG $GOOGL Q2 2017 Results LIVE Video J...
News Review: ICANN Accountability, FY16 IRS Form 9...
Tech Review: US Tech Stocks Soar, Hitting New High...
New gTLD .AMAZON IRP Final Declaration, What Happe...
New gTLD .WEB: ICANN Hands Over 7000 Pages to DOJ ...
Q2 2017 Earnings Webcasts July 19: $TMUS 4:30pm, $...
Netflix $NFLX Q2 2017 Earnings LIVE Video July 17 ...
Future Earth: 20 Most Populous Cities in the World...
News Review: ICANN Chairman and ICANN Accountabili...
Tech Review: How Google Cloud Plans to Overtake Am...
Okta & Identity: Oktane17, August 28-30, Aria, Las...
How a Startup Can Thrive in the Digital Age (video)
Fight For the Future's Net Neutrality Day of Actio...
Amazon.com Prime Day Starts July 10, 9pm EDT (US),...
Evolution of Starbucks $SBUX & Coffee (video)
Tech Review: AI, Data, Jet Packs, and the Future o...
G20 Summit, July 7-8: A Push For More Restrictions...
ZTE Mobile CEO Sees Growth Opportunities in the U....
Mobile Economy: Anindya Ghose Says Life Getting Ev...
BlaBlaCar Grows Ride-Share Program Into Uber Chall...
Your Favorite Brand: Whatever Google or Amazon Say...
News Review: ICANN59 Report; .NET Greed: ICANN + V...
Tech Review: Ransomware Attacks Just The Tip of t...

redpajama_set_name: RedPajamaCommonCrawl


The core of the Buddha's teachings recognizes that thoughts, feelings and behaviors are not inherent characteristics, but rather the results of whether or not individuals embody skillfulness. Clinging and craving which in modern terms may be referenced as addictive behaviors, are the principal causes of suffering. Another word for suffering is emotional pain, which can manifest in all of its various forms of stress, uneasiness, dissatisfaction, unhappiness, disheartenment, and despondency.
All behaviors that take away inner peace and joy, and can not be easily stopped or abandoned, are addictive behaviors. Addictive behaviors involve attempting to escape emotional pain by numbing or distracting the mind from this pain. As no addictive action addresses or relieves it's cause, the emotional pain is further exacerbated. Emotional pain continues to exist and the addiction continues to exert influence, as long as the real underlying need remains unconscious. Addiction and addictive behaviors result from a lack of awareness of how to be or do through engagement and the purposeful use of meaning.
Addictive patterns perpetuate themselves by reinforcing a sense of meaninglessness which is at the root of addictive behaviors. To replace addictive patterns with meaningfulness requires changes in one's inner reality, in one's self. Changing anything in external circumstances can support changes to the good, but they are in themselves not enough. Relying upon external change potentiates suffering, and therefore addiction. Although addiction seeks to avoid the experience of not good, it does this without consciously focussing upon and harnessing the skills that govern experiences of what is good. Most people do not realize how these subconscious processes work, and that learning and training is required to do something different. Changing for the good, that is replacing unskillful habits with skillful ones, begins with the development of skillfulness itself.
In the state of meaninglessness, we look at life and life appears to be the source of this meaninglessness. This meaninglessness does not actually exist in life, it exists within us. Suffering (emotional pain) is the natural result of meaninglessness, and in order to escape this suffering, we react to our life. Why do we react to life? Because we formulate interpretations about the causes of our suffering, and about what externally "makes" us happy or unhappy. Resorting to drugs, for example, is putting the control of how we feel and experience life onto external things, external reality. As such, external reality becomes the "cause" and the authority over our lives. We project our ideas about those causes onto life circumstances, not realizing that the causes come from within us. With these projected interpretations, we create strategies to protect ourselves from emotional pain, to acquire what we believe will relieve our pain, and make us happy. With that, we tell ourselves stories about life, and we create roles for ourselves to play a part in those stories. We believe that these stories are life, when in fact, they are merely imagined stories that we carry around in our heads. The stories then become our own experiences of life, yet they have nothing to do with life at all. We do this because we believe life gives us our experiences, causes us to act and feel the ways that we do, although this is not the truth. As nothing can transfer an experience into us, all that is left that can be causative are our inner ways of feeling, thinking and behaving. As long as we believe that the external world gives us our experiences, we are turning over control to those sources, thereby making ourselves helpless and powerless. In this way, we create the basis of self-imposed limitations which remain invisible to most. The sum of our fabrications becomes our meaning in life.
The stories that we tell ourselves about people are primarily regarding what they do or they do not do. Yet, somehow in the stories, we link their behavior to who we think they are. We make up in our mind the characters that exist in our experience of life, but they are just characters in a fictional story. This perception is not real. It occurs because we are not focussing on what we are choosing to do or be in life.
Life is woven into physical existence. It is the living energy that exists in all things and has no relationship to any stories. Meaning does not exist in life. Life energy exists in life. Meaning is a mental construction that exists only within the minds that hold to those meanings. Meanings that are held in the mind, either lead to the experience of meaninglessness, resulting in suffering, or to the experience of fulfillment. Fulfillment comes from within and can only occur within. Knowing that meaningfulness can only come from within, and that it is dependent upon the meanings (mental constructs) that are focussed upon, is fundamental to developing consistency in the experience of meaningfulness. My teacher, Shi Chien Li, used to say that short of enlightenment, everyone is going to be living in delusions (stories and roles). You might as well have delusions that you use to create happiness, rather than those that lead you to misery. Short of being free from stories, choose ways of creating good stories.
Suffering, including addictive behavior, exists to the degree that goodness (as character traits), is not embodied into one's being as a baseline and standard behavior. Embodied means developing nerve pathways that did not previously exist. Embodied means literally embedded and encoded into the nervous system. It becomes a part of who you are, your character. The internalization of spiritual qualities is one of the three functional bases' required to consistently experience meaningfulness.
This relates to Buddha's teaching on "this-that conditionality." This-that, is at the center of how karma works and how we, in fact, influence it! Yes, we are the influencers, life circumstances are not. We choose how life circumstances and environment will exist, by how we choose to feel, think and behave. Our inner reality, our focus, influences and strongly contributes to how we create with our life circumstances. How we create with our life circumstances is how we change what is in our life. This is the beginning place of a consciously aware sacred path.
This-that conditionality means: who we are (this), becomes how we experience in life and how life actually comes to exist for us (that). How we experience life (that), becomes who we are in our character (this). Choosing how we experience what happens in life, is also choosing how our life circumstances will exist and how our environment will be shaped and manifested around us.
The challenge is that if people tell stories about their life and circumstances that are negative, that are not caring or loving, how do you separate yourself from these stories and live from what is positive? How can you choose a fulfilling, pain-free life when so many people in the world live quite contrary to that? These questions seem reasonable, but they are in fact misleading. They mislead by distracting one's focus into things and circumstances in the world as being causative of one's experiences. If you are asking these kinds of questions, you are focusing in an unskillful direction. Recognize it is not separation from the stories that is the real goal in Buddhist Mind-Heart Yoga, it is the establishing of meaning-fullness in one's reality. Being so full of meaning that nothing else can interfere or intrude is the focus. The skillful question then is: Regardless of stories, how do I live from the perpetual experience of meaningfulness and what prevents this?
What prevents meaningfulness is the projection of causality onto the world, and the resulting karma. Addictiveness is not merely constrained to habits of behavior. Addictiveness also manifests in habits of thinking and habits of experiencing. This is the teaching regarding the formative vehicles of karma (ways of feeling, thinking, behaving). Karma literally means action, and implies energy and change. The formative vehicles are how karma becomes automatic in it's effects and side effects. These formatives are the ways energy move, the way life in it's changes, shapes what is around us. The formatives are the fields in which automation takes place (patterns, habits). Within us these formatives are the automated ways of experiencing (feeling), thinking and behaving. From these formatives, the effects of karma come into being and are made to cyclically continue to exist. Meaningfulness is created from the purposeful use of feelings, thoughts and behaviors, free from ideas that external reality is the cause of internal experiences.
Emotional pain is a habit of personal self. The habits of emotional pain exist in the absence of the habits of goodness. The absence of goodness, leaves one open to the possibility of emotional pain, which in turn becomes so overwhelming, that it demands the numbing of negative experiences. The habits of goodness can only originate from an open-hearted trusting in the enlightened nature of a Buddha as a means to overcome suffering. Goodness as an experience does not exist on its own or happen of its own accord, nor is it automatic. Perceiving negativity is not automatic either, but occurs because of personalizing the negative, or getting caught in negative circumstances and blaming, rather than functionally preparing for action. Uncontrolled anger is the effect of blaming anything outside oneself. This often leads to isolation, resentment, misery, and bitterness. Blaming oneself for the negativity in life leads to emotional pain (suffering, in Buddhism), and is at the core of addiction.
It is simple, emotional pain exists and grows in the absence of good that is not purposely embodied, that is lived from and acted upon. This is furthered by the practice and the repetition of non-loving thoughts, feelings, and behaviors. Non-loving thoughts, feelings, and behaviors create a susceptibility to unpleasant experiences and eventually an inner sense of meaninglessness. This occurs all through creating new nerve pathways in the body. Contrasting what a person wants or does not want, with what is not matching up to these expectations, adds greater fuel for dissatisfaction and deepens this pain further. Emotional pain may not manifest as an extreme negative state. It can be as minimal and as heart-numbing as boredom, frustration, impatience, or attachment to being right or having rights. What numbs or hardens the heart, kills joy. This leads to all forms of disheartenment, to all senses of disconnectedness, and to fearfulness.
Addiction can not be overcome, suppressed, or repressed. It can only be replaced. Addiction is what is familiar mentally – it is recognized as what is possible, versus what has not been experienced yet, or not recognized as possible. Addiction is habit wired into the nervous system. Replacing addiction requires a conscious use of change and it's energies (karma).This is why understanding how addiction works in the mind helps to create new habits.
New habits and states of consciousness are inseparably woven together. States of consciousness thereby become the "ground" for the growth of new habits. The best choice for one's state of consciousness is loving consciousness. We learn to do this in all circumstances because this way of experiencing is superior to anything else. Loving consciousness does not mean you allow people to take advantage of you. Being loving does not mean that you have to accept everyone and everything that presents in negative, or unpleasant ways. As strange as this may sound, love is not the same as acceptance of circumstances or behavior. If you have to accept something, that means that you have already deemed it at least to some degree not acceptable. Loving consciousness does not perceive anything as acceptable or not acceptable. Rather it chooses what it will or will not participate with. Love is an "abiding in," that does not exist as a "some-thing" originating from the world. Abiding is an inner state that is not swayed by circumstances in the world because it is not dependent upon the world for its authority to exist.
The stories that we tell ourselves about people are primarily regarding what they do or they do not do. Yet, somehow in the stories, we link their behavior to who we think they are. We make up in our mind the characters that exist in our experience of life, but they are just characters in a fictional story. This perception is not real. It occurs because we are not focussing on what we are choosing to do or be in life. If the environment and other people are not the causes of our experiences, then what is left is the possibility of developing true choice that is not dependent upon anything external. True choice is not reactive, it is proactive. Stripping away the stories is the beginning step for learning how to live as a siddha. This is a path of freedom from suffering.


text:
Q: Node.js: Reading a variable from another module returns wrong value I'm new to Node.js. I just wrote an http server module, with a count variable that stores number of times the module has received an http request:
var http = require("http");
var count = 0; //no of requests so far

function start() {
  function onRequest(request, response) {
    console.log(count + ": Request received in Main Server");
    count++;
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello! you are request no. " + count);
    response.end();
  }

  http.createServer(onRequest).listen(8888);
  console.log("Main Server has started.");
}

function getCount() {
    return count;
}

exports.getCount = getCount;
exports.start = start;

Then I wrote another server, let's call it test.js that starts the server module, but at the same time listens to http requests on another port, let's say 8889. The test.js is supposed to show number of requests that server.js has served so far.
var http = require("http");
 var server = require("./server");
 server.start();

 function onRequest(request, response) {
    console.log("Request received in Test Server");
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello! Server app has served: " + server.getCount());
    response.end();
  }

  http.createServer(onRequest).listen(8889);
  console.log("Test Server has started.");

When I run test.js, and make requests to server.js (http://localhost:8888), it adds up to the count. (I get double requests each time which as I read somewhere is due to the fact that the browser sends another request to get favicon.ico, ok, fine, that is not my problem). My problem is that when I send a request to test.js (http://localhost:8889), I always get number of requests I have already made to server.js plus one extra! In ther words, if http://localhost:8888 shows me 1, http://localhost:8889 which reads the same value from my server module shows 2!
Anyone has a clue why it is like that?
Thanks in advance!

A: When you hit refresh from a browser, requests are usually(I believe always, in Chrome I know it is always, not as sure in other browsers) made in this order:
yourdomain.com/

Followed by
yourdomain.com/favicon.ico

So, you are displaying the count after the first request.  And THEN your favicon is requested, which is incrementing the value of your count.  If you're making requests from a browser you will NEVER see the same value in both windows, because your favicon request will always come in, before you are able to request your 8889 port.  I guess, it is theoretically possible.  If you could hit refresh on both windows within X number of milliseconds, you could ping 8889 before the favicon request, but if you're working from a local machine, this number of milliseconds would be so small as to be impossible.
If you want to validate this you could do a simple check like this:
if(request.url.match(/favicon.ico/i) === false) count++;

Which should keep your count from updating for favicon requests.

redpajama_set_name: RedPajamaStackExchange


text:
Industry Trends • Physician
Top 10 highest paying states for physicians in 2022
Dave Nielsen
Are you thinking about relocating to a new state? Or maybe you're considering a career move that will increase your earning potential? You might even be wondering where to go on your next locum tenens assignment. Regardless of your personal situation, knowing which states pay the most will help you get the pay you deserve. Here's the lowdown on the top 10 highest paying states for physicians according to Medscape's 2022 compensation report.
If you're competing in the local Little League team, tenth place might not be that great. But in terms of highest paying states for physicians, it's not bad. Number 10 on this year's list is Florida, where doctors are making an average of $346,000 a year, not counting bonuses and other incentives. The average income for physicians nationwide is $339,000 — so Florida's number isn't eye-popping — but Florida also ranks high on Medscape's list of Best Places to Practice 2022. Is the pay in Florida out of this world? Maybe not quite. But thanks to all the warm beaches, living there just might be. If you're thinking about a locum tenens assignment in Florida, the Sunshine State pays 109% above the median pay for locum physicians.
View locum tenens jobs in Florida
9. Texas
They say everything is bigger in Texas. So, if the average pay in Florida is $346K, and the average pay in Texas is also $346K, we're going to assume the pay in Texas is bigger and rank it higher. Does our method seem flawed? You're probably right. Still, the Lone Star State ranks number four in Medscape's Best Places to Practice, which is something to consider. According to Medscape, the higher overall ranking is all about Texas's thriving economy. Medscape also reports that Texas has one of the lowest "physicians per capita" ratios in the entire United States. Translation: Texas is a great place to be a doctor. But be prepared for lots of patients!
View locum tenens jobs in Texas
In Connecticut, doctors earn an average of $346,000 per year — the same as Texas and Florida. But according to U.S. News & World Report, Connecticut is a top 10 state for health care, public education, and crime and corrections (meaning, the overall crime rate is low). Add to that the fact that the cost of living in Connecticut is also quite low. Compared to New York and Boston, it's anywhere from 14% to 48% lower. If you want access to all the big events the "Big East" has to offer — Broadway, big-time sports, culture, and arts — without getting in an airplane first to fly there, living and practicing medicine in Connecticut might be your best option.
View locum tenens jobs in Connecticut
7. North Carolina
North Carolina breaks the three-way tie. Doctors in North Carolina make an average of $348,000 per year. If you're wondering what difference a couple of thousand dollars would make, the cost of living in North Carolina is relatively low. Reasons to live and work in North Carolina include: big-city amenities in places like Raleigh and Charlottesville; proximity to both ocean and mountains; an exuberant sports scene, both collegiate and professional (if you watch March Madness, you knew that already!). Locum tenens jobs in NC pay 106% above the median.
View locum tenens jobs in North Carolina
Basketball states must like doctors, because the next highest paying state after North Carolina is Indiana, where physicians are earning an average of $350,000 a year. The Hoosier State is also the 10th cheapest state to live in — right there at the top of the list, next to places like Alabama and Tennessee. In Indiana, $350,000 will go a long way. Good pay, low cost of living, and lots of open space for escaping the crowds and communing with nature. According to Medscape, Indiana is the 5th best state to practice medicine. Conclusion: keep track of Indiana. It's a great state for doctors.
View locum tenens jobs in Indiana
5. Oregon
Oregon isn't exactly known for being inexpensive. In cost of living, it ranks clear down at number 44. But for natural scenery and access to outdoor adventure, it is undoubtedly one of the most spectacular states in the lower 48. Fortunately, for doctors it's also one of the highest paying. Physicians in Oregon are currently making an average of $352,000 per year. To be perfectly straightforward, Oregon doesn't have a lot of other top 10 rankings. But if you like mountain biking or whitewater rafting, exploring sea caves or visiting Pacific lighthouses, you probably won't care. You'll think Oregon is more than enough. Oregon pays a bit above average for locum tenens physicians at 104% of the median.
View locum tenens jobs in Oregon
Physicians in Missouri earn an average of $357,000 a year. Plus, the cost of living in Missouri is relatively cheap as well, which makes that pay feel like even more. That said, U.S. News & World Report ranks Missouri as only the 28th best state to live in. Not an overwhelming ranking, to be sure. But obviously, the person doing the ranking isn't much of a sports fan, considering Missouri is home to two of the most successful franchises in professional sports: the Kansas City Chiefs and St. Louis Cardinals! Furthermore, living in Missouri puts you, at any given moment of the day, within some of the best barbecue in the world. Good pay, good food, good pro sports. What's not to like about Missouri? It's also one of the highest paying states for locum physicians, paying 118% of the median for locum tenens.
View locum tenens jobs in Missouri
3. Alabama
Did you know Alabama has a wildlife safari park? Or that it's quickly becoming a hub for biotech and other medical companies? Plus, the U.S. Space & Rocket Center and NASA's Marshall Space Flight Center are likewise located there. Doctors in Alabama say they are happier, on average, than doctors in most other states, and that they have one of the lowest burnout rates in the country. Add to these small but not inconsequential snippets the fact that Alabama pays its doctors an average of $358,000 a year — third most in the entire country. These details add up. Alabama is a top state for wearing a stethoscope.
View locum tenens jobs in Alabama
2. Tennessee
When moving to Tennessee, most doctors see a sizeable bump in their income. In terms of annual pay, we're nearly at the top of the list here: an average of $364,000 per year. Medscape ranks Tennessee as a best place to practice, with specific shout outs to the state's fun food and famous festivals in cities like Nashville and Memphis, its nationally significant historical sites, thriving healthcare and technology sectors, and the state's vibrant art scene. If your undergraduate degree included a minor in accounting or finance, you'll also be interested to know it's also the country's third most "fiscally stable" state — the perfect benefit to study up on when you can't sleep at night! Enough said: there's no shortage of selling points for the green and verdant state of Tennessee. For locum tenens, Tennessee pays 113% of the median for physicians.
1. Kentucky
in Kentucky, doctors earn an average of $364,000 a year, same as in Tennessee. We studied Medscape's reports, but found little to help us put one state above the other. Both are great places to pursue a career in medicine. But when we checked NCAA Final Four appearances, the state of Kentucky unquestionably had the upper hand. But even for non-basketball fans, there's so much to like about Kentucky: music, horse racing, bourbon, Mammoth Cave. (What's Mammoth Cave? Only the world's longest cavern, a major outdoor attraction for tourists and adrenalin-seeking adventurists.) Kentucky has lots to do, in the country, in the mountains, or in the city. An above-average income could come in handy. Like Missouri, locum tenens physicians earn 118% more for jobs in Kentucky than the median pay across all states.
View locum tenens jobs in Kentucky
Ready to earn more by working in one of the highest paying states for physicians? We can help you see what it's like to practice there with a locum tenens assignment. To learn more, give us a call at 954.343.3050 or view today's locum tenens job opportunities.
TagsMedscape Physician Compensation Report physician compensation physician salaries physician salary
Physician • Provider Stories
For the love of medicine: How locum tenens revived a passion
This physician found that it's never too late to achieve work/life balance
Locum Tenens Tips • Physician • Working with Weatherby
How well trained is your Weatherby Healthcare consultant?
Dave Nielsen lives in Salt Lake City. He writes about healthcare, technology, and business.
What 4 doctors learned while working outside the U.S.
Emergency medicine physician salaries 2022: Income growth returns
Location Spotlights
Working with Weatherby
Archive Select Month January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013
Looking for work?
Request a custom job search.


Tuesday, May 1, The Jean Bradford Kline Senior Center in Eaton Rapids came under the direction of a new director. Rita Honeysett, a former intern and volunteer at the senior center, took over for Deb Malewski, who was the director for three and a half years. Rita's story of coming to work as the director of the senior center wasn't as simple as having a connection and submitting an application.
Rita started her journey to the Eaton Rapids senior center when she worked in homecare for the elderly. While her hands worked to provide care and comfort older folks, her heart ached for their limitations. Rita knew too well from her experience that it's the simple things that make the greatest difference in the lives of the elderly. A Friday haircut, a manicure, keeping track of endless medications, and other overlooked activities can make the day of anyone with limited mobility. Rita saw how important activities are for older folks, so she wanted to orient her work and career around keeping seniors active.
"There's a whole generation of people that are finally needing help after helping others for so long. I thought there had to be a way to have a job where I advocate for those people," said Rita.
The next in Rita's journey involved going back to school, at the age of 60. Rita attended Baker College and earned her degree in human services. While working on her degree, she interned at Jean Bradford Kline Senior Center, under the direction of Deb Malewski. After graduation, Rita continued to volunteer at the senior center until Deb was ready to step down and hand the torch to the next director. Rita submitted her name for the position and stepped into the big shoes Deb left behind.
The senior center is much different than what Rita did previously in that she's not working with the direct care of seniors. Instead she's giving them the care of community interested and socializing.
"I like the fellowship here, and I like the support people give each other," said Rita.
As Deb did, Rita wants her community to know how much happens at the senior center. It's not just a place where folks "go to gossip," but the senior center hosts trips, social hours, game nights, euchre tournaments, meals, and many other opportunities to get out of the house and spend time with new friends. And the center is not just for seniors either. There are activities and opportunities for people of all ages.
"I want people to see you have to get rid of preconceived notions of senior centers. You might really enjoy it and want to come back," said Rita.
Moving forward, Rita hopes to carry on the legacy of Jean Bradford Kline, and others, who made the Eaton Rapids Senior Center become the hub of activity and fellowship it is today.
"My biggest self imposed challenge is to keep this place as a live and active as Jean Bradford Kline built it to be," said Rita.
To learn more about Jean Bradford Kline Senior Center and the opportunities and activities offered there, readers can visit The Jean Bradford Kline Senior Center Facebook page, or eatonrapidsseniorcenter.com.


text:
Q: Let $f : A \to B$ and $g : B \to C$ be functions, Suppose that $g \circ f$ is bijective and $g$ is bijective. Prove $f$ is bijective. My work so far is:
for 1-1:
for all $x,y \in A$, if $f(x)=f(y)$, then
since $g \circ f$ is bijective, $g(f(x))=g(f(y))$.
Since we know $g$ is bijective, then
$f(x)=f(y)$
is there a way I can get this down to $x=y$? I'm not sure I'm doing this the right way but this was all I could think of to at least start the problem. I'm not sure how to start solving onto; should I use substitution from knowing that $g \circ f$ and $g$ are surjective to try to get $f(a)=b$ ?

A: $$g\circ f\text{ is bijective }\iff f\text{ is injective }\&\text{ g is surjective}\tag 1$$
Since $g\circ f$ is bijective, $(\forall c\in C)(\exists !\space a\in A)$ s. t. $c=g(f(a))$.
Since $g$ is bijective, $(\forall c\in C)(\exists!\space b\in B)$  s. t. $c=g(b)$.
As $c=g(f(a))=g(b)$ and $b$ is unique, then $b=f(a)$.
Look at $(1)$.
Hence the statement.

A: I think you didn't notice but you actually proved that $f$ is $injective$.
if $g(f(x))=g(f(y))$ and since $(g\circ f)$ is $bijective$ $\Rightarrow$ $x=y$
Now let  $b \in B$ and let $c=g(b)$. Now since $g \circ f$ is $bijective$ so $\exists$ $k \in A$ such that $(g \circ f)(k)=c$. (Notice that $c \in C$).
So $g(f(k))=c=g(b)$ and since $g$ is $bijective$ so $f(k)=b$ and hence $f$ is $surjective$.
And we are done!!


com www as declares jerusalem president trump Https article wcvb As the fake ID industry grows around Georgia State, police warn of severe consequences for students if caught.
president trump com declares wcvb article Https jerusalem as www With the fake ID industry booming across the Georgia State campus, a lot of freshers to the world of false documents may not know getting caught can come with severe consequences.
trump Https wcvb article jerusalem as www declares president com "Most of the time it works, but sometimes I get turned away," she said.


text:
Home / Underground / Ground Support / Ground Support for underground mines
Ground Support for underground mines
Authors: Professor Yves Potvin and Professor John Hadjigeorgiou
Full-time student prices are available: $132 (inc. GST) for purchases within Australia and $150 for overseas. Please contact sales-acg@uwa.edu.au and provide evidence of full-time student enrolment.
Australian price is AUD 330 including GST.
Pricing Choose an optionPurchased within AustraliaPurchased overseas Clear
Ground Support for underground mines quantity
Categories: Ground Support, Underground
University syllabus
Ground Support for underground mines was written in response to industry's need for a reference book on ground support, with the target audience being practicing geotechnical and mining engineers having the task of designing ground support systems in mines.
This industry funded ACG Ground Support Systems Optimisation research project, which began in 2013, explored whether it was possible to optimise ground support systems, with the aim to maintain, if not improve, mine safety whilst reducing costs and/or time components. The project featured three sub-projects: probabilistic ground support design; the use of numerical modelling for ground support design; and benchmarking of current ground support design practices. The results from these sub-projects fed into the writing of a comprehensive, yet practical, ground support book.
The authors have taken good care to describe existing and novel ground support design methods, and also to provide practical tips and advice on the entire design process.
To see the table of contents, click here.
GSSO book sample.
Full colour, Hardbound, Specialist publication
Purchased within Australia, Purchased overseas
Payment notes
Visa and Mastercard are the only cards we accept
Contact the ACG to include this book on your university underground engineering teaching syllabus.
Ground Support for underground mines was written in response to industry's need for a new reference book on ground support, with the target audience being current and future mining engineers, as well as underground engineering university students. The authors have taken good care to describe existing and novel ground support design methods, and also to provide practical tips and advice on the entire design process.
University testimonials:
"This book is a major contribution to mining geomechanics. It is essential reading for geomechanics engineers, mine design staff and operating staff. For mine geomechanics engineers in particular, it is an authoritative reference and an essential acquisition."
– Emeritus Professor Barry Brady, The University of Western Australia
"The ACG book 'Ground Support for underground mines' provides a balanced introduction to ground
support selection, design considerations, data requirements and methods. Important concepts for
underground miners are explained in detail from the ground up, catering for a range of background from students with only a basic understanding of rock mechanics, to experienced geotechnical professionals. I would strongly recommend the text as part of a study programme in rock mechanics or geotechnical engineering, or as a reference for working professionals."
– Regan Crabbe, student, The University of Western Australia
"The 'Ground Support for underground mines' is an unmissable reference book for readers who are eager to pursue the knowledge of conducting ground support in underground mines. The book systematically introduces both the existing and novel ground support methods for caverns with various geotechnical and geological conditions. Furthermore, the worldwide best ground support practices are reviewed and summarised based on the authors' years of research and field experience, which is precious for readers."
-Chunchen Wei, student, UNSW Sydney
"The order of the chapters is very well organized. A ground control engineer must understand the basics well and this is what is presented. The concepts presented in the book are well covered and refer to very good scientific articles. Anyone who wants to know more about any subjects can refer to these articles. It's a good quality book and can last several years and remain in good condition. This book should be taught in universities for future mining engineers."
-Guillaume Sasseville, Agnico Eagle, Canada
Invite a peer
Let a university colleague know about the Ground Support for underground mines book by sending them this link!
Save up to $28.00!
Design Methods in Underground Mining 2015 Proceedings
Underground Mining Technology 2017 Proceedings
Mine Fill 2014


Borderline Persona Dysfunction, the most often misunderstood and tough dysfunction to deal with. The explanations for that folks don't search treatment range, but a few of the most typical ones are a concern of the social stigma hooked up to psychological disease; a concern of compromised safety (loss of job, spouse, benefits entitlement, and so forth.); an incapability to pay for remedy; or lack of knowledge of the issue.
Or are Graduate Assistants who are enrolled within the Graduate Assistant Health Plan. Contemplating its elevated prevalence today, it is comprehensible that psychological well being has develop into a profitable cash-spinner. Many people with psychological well being challenges live comfortable and productive lives and create many significant relationships.
One in 4 Individuals will experience a diagnosable psychological illness in a given 12 months. The way in which you eat, sleep and keep lively can have a giant effect in your psychological well being. College students and school talk in regards to the distinctive alternative to pursue their passions within the context of rigorous public well being training.
The Office of Suicide Prevention has released its 2016 National and State Suicide Knowledge Stories, sharing new information about Veteran suicide. A rehabilitation programme was initiated between 1870s and 1890s for individuals with psychological illness at the Mysore Lunatic Asylum, after which an occupational therapy department was established during this period in virtually every of the lunatic asylums.
The UK's National Institute for Scientific Excellence (GOOD) issued guidelines for well being professionals on the way to encourage older individuals to have interaction in more physical exercise as a method to boost their psychological well being ; one suggestion is for GPs to encourage their older sufferers to join local walking schemes and inform them how walking advantages mental wellbeing.
If experts are speaking about an integrated strategy which recognizes the interplay of biological, psychological, social and environmental factors – with diet in the middle of it as being key – and difficult the rising burden of mental health issues in developed nations, certainly individuals can speed things up and do one thing about their food regimen themselves and improve their psychological health.


This was our second trip to Anaheim and as the kindly organisers had allowed us from the "Naughty Hall" (E where start ups and debutants reside) we thought we'd land with a splash and ship out a simply gorgeous stand that reflected our pure and honest approach to making sounds.
Its always a nervy start to any major event like this so everyone had to find their sea legs. But we were delighted with how people were responding to us this year and thank everyone who came to see us for their kind words of encouragement.
On day one we were proud to launch our second outing with the kindred spirit that is Olafur Arnalds.
Olafur's new library is on promo until 1st Feb.
With the conference in full swing many of the Spitfire team were delighted to meet with their legends, Homay and Harnek bumped into Dave Smith (above), Christian shook hands with Bernard Purdie and Stevie Wonder casually walked past our stand.
A collaboration with EDM legend and composer Brian Transeau, better known as BT.
With throngs of people parading past our stand we were proud to welcome Damir Price of Red Cola to demo his approaches to his incredibly successful career as a trailer music maker and to talk about his collection of sounds made in collaboration with us, the Trailer Giant series.
Matt Sorum, Abe Laboriel Jnr and Josh Freese, recorded at the former A&M Studios in LA.
Legendary Pixies guitarist Joey Santiago makes some noise.
In collaboration with the estate of epoque-defining composer Bernard Herrmann, we announce a new orchestral library for 2016.
Purpose built tools for writing for Quartets performed by an award winning and much talked about British quartet in arguably the best chamber acoustic in the world.
The whole Spitfire team would humbly like to thank everyone for their kind words too numerous to count. To all the new friends we made and for all the hard work everyone at NAMM put in. We really look forward to seeing you all next year. Next stop Messe.
On a personal note I would love to thank the dogged hard work and unstoppable enthusiasm of the Spitfire crew and the troops holding the fort back in London. Paul and I are truly proud and honoured to be working with you all and look forward to many years of pride filled and rewarding times with you all. You're a bunch of diamonds you really are.


Installing a new roof calls for some extra support and skilled labor. Not everyone is capable of performing this task, except us. We are into this field of roofing installation and repairs for years and can design the perfect installation packages for you. We are your leading flat roofing contractors with classic approach under industrial and commercial sectors now.
While a construction is already in house, you have to deal with the roof installation. Once you have chosen your roof to be installed, contact us as your flat roofing contractors.
Sometimes, the old roofs might not function properly and you are left out with no other option but to change it. You have bought a new roof but don't know how to install it.
If you are looking for the best flat roof specialist, you can always count on us. Give us a call regarding installation needs, and we will help you on that.


RVCA That'll Do Floral woven shirt. Slim fit. Button front. Allover deconstructed floral print. Patch chest pocket with RVCA logo tag. Short sleeves. Button-down collar. 60% cotton/40% polyester. Machine wash. Imported.
I really like the way this brand fits.


text:
Home | About | eLearning | Events/News | Membership | CFA Chicago Blog Subscribe | Archive | Advertise
Search Archive | View Web Version | Advertise
Three ways asset managers can evolve their business model and embrace responsible innovation
Enterprising Investor
Innovation prevails during times of adversity. Organizations can treat the current coronavirus crisis as an existential threat or as an opportunity to help effectively navigate rough terrain now and in the future. Responsible innovation might just be a transformative solution. The traditional, shareholder-value centered asset management business model is under financial and social pressure. A more balanced approach that considers all stakeholders — clients, employees, communities, the environment, and, yes, shareholders — is possible. READ MORE
Distinguished Speaker Series: Cathie Wood
CFA Society Chicago
On June 8th Catherine D. Wood, founder, CEO and CIO of ARK Invest, joins us for an interactive discussion designed to enlighten investors about the impact of rapidly changing market dynamics, breakthrough innovations and the opportunities they can create. In response to fast-moving news and market volatility, ARK Invest believes trusted communication is more important than ever. This event will provide you with an open, transparent and collaborative exchange of insights on the current environment, market volatility, and the role innovation plays during market extremes. READ MORE
Despite zero to negative interest rates in many global bond markets and extraordinary fiscal and monetary policy responses from the Fed and other Central Banks to COVID-19, corporate credit risk continues to rise. Investment grade bond investors must contend with the downgrade risk of BBBs hanging over markets that is likely to be exacerbated by a deep global recession. Anne Walsh, CFA, will analyze current market dynamics in corporate credit and other fixed income sectors, explore the effects and unintended consequences of recent policy responses and discuss fixed income strategies to navigate risks and potential investment opportunities ahead. READ MORE
. PRODUCT SHOWCASE
Leverage data for informed decisions
No matter the depth of your accounting background, you can become a versatile business professional with an online master's in accounting at Gies Business. Earn a certificate or full degree. Through our highly engaging, online, global classrooms, you'll learn to gather and analyze critical information for informed strategic decisions
June Job Seekers Forum 10 and Under (Members Only)
Looking for a new job? Want to gather insight on various job search strategies, techniques and skills necessary to land the job you are looking for? The forum will be designed to encourage open dialogue amongst attendees and will have a member of the Professional Development Advisory Group who serves as a host. The cost to attend is free to all CFA Society Chicago Members and will be limited to 20 people per meeting (must sign up for each meeting separately). READ MORE
Chicago startups raise $68M in May
Chicago Business Journal
Chicago tech and startup companies raised at least $68 million in venture capital throughout the month of May, according to data compiled by Chicago Inno. May's fundings were led by Higi, which landed $30 million, and Tock, which raised $10 million. Local venture capital activity was similar to the month of April, when Chicago tech companies raised about $62 million. READ MORE
Preservation of investment culture worries execs in COVID-19 aftermath
With the likely advent of a much larger remote workforce in the wake of the coronavirus pandemic, preservation of the unique investment culture of their firms is top of mind for money management executives. "One of the biggest impacts of the COVID-19 on asset managers likely will be on investment management culture," said Kevin P. Quirk, a Darien, Conn.-based principal of Casey Quirk, a practice of Deloitte Consulting LLC. READ MORE
Public pensions, public protests, and why it matters
What do the protests engulfing the country have to do with public pensions? More than you'd think. Here's some reporting coming out of Detroit, via the Detroit Free Press. "Following a script seemingly set the day before, protests in downtown Detroit and in many cities nationwide began Saturday afternoon with crowds of peaceful marchers voicing chants about racial justice. READ MORE
Businesses reeling from pandemic face rebuilding after George Floyd protests give way to looting. 'It's going to take a slow climb to build back from this.'
This week was supposed to mark a milestone for a city looking forward to reopening after nearly three months of being sidelined by COVID-19. Chicago's economic engine was expected to restart, with outdoor dining permitted at restaurants, hair salons reopening, and nonessential stores welcoming in customers Wednesday for the first time since mid-March. READ MORE
5 best investment apps for managing your portfolios
Keeping track of your investment accounts is no small task. Between your employer's 401(k) plan, one or more individual retirement accounts (IRAs), a health savings account (HSA) and taxable investment accounts, you could end up managing more than a few investment portfolios. My wife and I have more than a dozen. READ MORE
For family offices, private equity became collateral for cash in the coronavirus crisis
Family offices stepped up borrowing against their private equity investments in the first quarter, moves made to increase their cash in the coronavirus crisis, according to UBS Group. Demand for financing that uses private equity funds and co-investments as collateral rose as family offices sought to defend their portfolios in the market turmoil, Chris Baxter, the U.S. head of fund financing and investment at UBS, said in a phone interview. READ MORE
The hidden dangers of passive investing
Passive investing is an increasingly crowded trade as investors blindly pour money into ETFs that hold many of the same stocks. Passive strategies grew in popularity on the premise that active managers very rarely outperform indices and, therefore, investing in mutual funds cost more than it was worth. READ MORE
US pension plans warned they will run out of money by 2028
The weak financial condition of seven U.S. public pension plans threatens to deplete their assets by 2028, leading to severe risks for the living standards of thousands of American employees and retired workers. Many US public pension plans had not fully recovered from the 2007/08 financial crisis before coronavirus struck, triggering turmoil across financial markets. READ MORE
After flocking downtown to woo millennials, offices might be moving back to the suburbs
It was 2016 when General Electric announced it was moving its global headquarters to a smaller space along the central Boston waterfront, away from the quiet suburbs of Fairfield, Connecticut. Then McDonald's in 2018 opened its glitzy, new worldwide headquarters in Chicago's vibrant Loop neighborhood, moving out of a suburban office park in Oak Brook, Illinois – joining Kraft Heinz, Walgreens and other Fortune 500 businesses in a seismic shift of corporate office space to downtown. READ MORE
Connect with CFA Society Chicago
33 N. LaSalle Street, Suite 910 | Chicago, Illinois 60602 | 312-251-1301 | Contact Us


Please use the accompanying size charts or come into one of our stores or shows to get your sizes!
Please allow 10-14 business days for your order to be processed and delivered to Peabody Retirement Community.
If you are using a voucher online you MUST keep it and turn it in to Kathryn or a Uniforms & More Employee to get your items.
Copyright © 2019 Uniforms & More Peabody RC. Powered by WordPress. Theme: Ample by ThemeGrill.


text:
US-licensed pot producer breaks ground in Canadian stock market
Nevada-licensed marijuana producer Friday Night made its public trading debut on the Canadian Securities Exchange (CSE) last week, making it the first Canada-listed, pure-US play that grows the plant in the US for both medical and recreational use.
"The company's objective is to capitalize on the opportunities presented as a result of the changing regulatory environment governing the THC and marijuana industry in the United States," the company said in a June 12 filing, according to the Financial Post.
US marijuana companies are not allowed on public stock exchanges in their home country because on a federal level, the drug is treated as a Schedule I narcotic. While the Obama administration said it would not go after operators in states where the drug is legal, the Trump administration's stance has been harder to read.
This has made it difficult for regulators and exchanges, such as the Toronto Stock Exchange (TSX), to make policy statements of their own. Because of this, many Canadian marijuana companies have been playing safe by sticking to the US medical market or related businesses that don't touch the plant.
They have also been applying to get listed on the CSE, which requires only that issuers follow the laws of the state they operate in and disclose all the legal risks they face. "Companies since the early days of this industry have seen the TSX deeply ambivalent about the space," Richard Carleton, CEO of the CSE told the Post.
The TMX Group, which owns and operates the TSX, reportedly told Canadian Bioceutical that as long as it was listed on the TSX Venture Exchange, it could not make an acquisitive investment in Arizona's medical market in the US — even though the company would not be cultivating or selling cannabis under the terms of the deal.
"We had no choice, so we had to switch to the CSE," Canadian Bioceutical CEO Scott Boyes told the Post.
According to a spokesperson from TMX Group, it reviews each listing based on their published policies and guidance. But many marijuana issuers have not seen any consistency in decisions, and they don't know how existing guidelines apply to the nascent industry.
The TMX is under increasing pressure to release a clear policy on US investments. Several companies believe the operator will take a more liberal stance following its recent decision to allow Aphria, one of Canada's largest marijuana producers, to invest in a Florida-based medical marijuana company through a CSE-listed subsidiary.
Before launching the world's first cannabis ETF, Horizons ETFs was told by the TMX that it had a hard rule against listing securities doing "illegal operations" in the US.
"But the Aphria offering was a pretty strong catalyst for us to reopen discussions with the regulators and the TMX," said Horizons ETFs president Steve Hawkins, who said the fund's portfolio will be expanded to include companies deriving revenue from the US medical and recreational industry. "There can't be a double standard out there."
For more of Wealth Professional's latest industry news, click here.
Horizons announces changes to pot ETF
Plunge in cannabis stocks tests investors
Daily Wrap-Up: TSX tumbles as oil goes to the bears
Advisor found liable in elder abuse case
Morning Briefing: Markets mixed on regional matters, oil slump


For an orphan, identity can be complicated. By definition, a child in an orphanage usually has no history. They frequently don't know where they came from; they are often brought in with no birthday, no birth certificate, nothing to mark their existence other than they're alive and breathing. Starting from zero is hard.
A big part of orphan care is helping children shape their identity from scratch. Caregivers tend to focus on the basics: food, shelter, medical care, maybe education. The basics are essential (that's why they're called the basics) but there is a deeper level that needs to be addressed once the basics are met. We need to build, or in some cases re-build a child's identity. To help them see themselves, and identify as, someone of value.
The very word "orphan" brings up all kinds of reactions from people, usually not good. Pity is usually the first reaction, in some cultures contempt: "no one wanted you." The reaction to being labeled orphan is almost never a positive force. It's our job to change that.
In many orphan or foster care situations the child embraces the pity reaction, and their identity becomes "victim." They define themselves by what's been done to them by their families, and by society. Living in victimhood is a tough road, it means you're always a little less than others, and it also means you feel entitled to the pity that comes your way. Less is expected of you. When less is expected, that usually results in, something less. If great things are expected, great things can happen.
In some ways, we're all orphans. We've all been hurt, we've all been abandoned, and we've all been victims of the world. How do we redefine ourselves and build a healthy identity that was intended for us? The first step is to realize we are not orphans, our Heavenly Father has adopted us into the greatest family of all. This is no small thing; it marks us, it sets us apart, it gives us an inheritance beyond words or understanding.
To get this across to a young child is a challenge, but if we treat them as the royal children they are, and not as victims, they will begin to see themselves as worthy of love, worthy of belonging. They will take on the identity we place on them, they will see themselves as we see them: as special, precious children in God's sight and ours.
Shifting identity starts with small details: attentively listening to a child, giving them the attention they desire, having a special cake on their birthday (even if it's a made-up date). Letting them know they are special goes a long way in moving them from victim to victor.
Another profoundly powerful way to move someone from victimhood is to show them the joy of serving others. Along with the obvious blessing of being part of a family, comes the responsibilities of being part of a family. Jesus came to serve others, and we are asked to do the same. As a child might "help" their parent to fix the car or prepare dinner, being allowed to help in our own feeble way builds a healthy pride, pride of being part of the family, part of something bigger than us. There is something profoundly healing for us as we reach out to help others. By showing someone, even a young child, that they have the power to influence positive change in someone else's life is profound. It gives them power, and it brings joy, it's deeply healing. Service moves people from someone to be pitied, to someone representing God. This is a big deal. This creates an identity that is larger than anything the world might place on us.
Our identity defines us. Who are you? And who do you encourage those around you to be? Expect and encourage people to live in the identity of our Heavenly Father. There is no greater label, identity, or way of looking at life.


How to connect a microphone to your computer and use it as your audio source.
Connect your microphone to the pink audio jack on the back of your computer (you may also have an audio jack on the front or top panels of your computer).
Windows will notify you that a device has been plugged into the audio jack.
Your microphone will now be available for use with Easylife (you may need to refresh your browser for it to appear in the list of audio sources).


text:
Patrick Swayze Given Doctor's Permission to Return To Work
Posted on June 8th, 2008
by Jan in All News, Celebrity News, Entertainment
Patrick Swayze, 55, was diagnosed with pancreatic Cancer in March with reports to the public that the actor was near death. Now his doctors are saying he has small amounts of cancer that is being treated with chemotherapy which he is responding quite well to. They say he will be ok to return to work.
Swayze shot a pilot in January in the 13 hour long episode series, called The Beast which A&E has picked up. It is set to go into production this summer in Chicago according to The Hollywood Reporter Trade Paper. It is expected to premiere in early 2009.
"I have searched for quite a long time to find a character that is this multilayered, unpredictable and downright entertaining as well as a project this current and cutting-edged," Swayze said Saturday.
A&E's executive vice-president Bob DeBitetto told the New York Times that they have had soken with Swayze and his doctors and are convinced that he will be good to work for a full production schedule. They had considered recasting Swayze's role but everyone that saw the pilot thought he was the better one for the part.
Swayze made it big with his movie Dirty Dancing as a dance teacher, Johnny Castle, in 1987 and then in 1990 in the Academy Award Winning movie Ghost which I personally believe has the most romantic love scene ever with his co-star Demi Moore.
Jan Barrett
No user commented in " Patrick Swayze Given Doctor's Permission to Return To Work "


Based on the assassination of Tamil Politian Rajiv Gandhi in May 1991 by Thenmuli Rajaratnam who wore a belt of explosive material attached to her lower back region with the switches and circuitry in front. Director and writer Santosh Sivan, a well known Indian cinematographer, wanted to make a film about terrorism he chose these real life events for the basis of his story. The Terrorist (1999) portrays a period in the life the 19 year-old Malili (Ajesha Dharkar) who was overjoyed to be chosen to assassinate a leader in South Asia via the suicide bomb strapped to her. Asked to sacrifice her life for the future of her people the film explains how, in slow precise detail, Malili develops doubts about her deadly mission.
Thought provoking and very beautifully shot with what seems constant Indian downpour's playing their part in the overall atmospherics of the movie. Considering the subject matter violence is almost non-existent. John Malkovich was so impressed with the film that he put pressure on to have it released in America. Well worth a look.


text:
Man charged with sending dozens of violent threats to LGBTQ groups
A Pride march in New York, June 27, 2021. A Long Island man was charged on Monday, Dec. 6, with threatening violence against LGBTQ groups and leaders in dozens of hate-filled letters, including one warning of an attack that would make the mass shooting at a gay nightclub in Florida "look like a cakewalk."
By Ed Shanahan
A Long Island man was charged earlier this week with threatening violence against LGBTQ groups and leaders in dozens of hate-filled letters, including one warning of an attack that would make the mass shooting at a gay nightclub in Florida "look like a cakewalk."
The man, Robert Fehring, 74, of Bayport, New York, sent the letters over the course of eight years starting in 2013, according to a federal criminal complaint in which he was charged with making threats via the U.S. mail.
A search of his home last month by FBI agents turned up two loaded shotguns, hundreds of rounds of ammunition, two stun guns, an American flag-patterned machete and a DVD titled "Underground Build Your Own Silencer System," the complaint says.
Investigators also found a stamped envelope addressed to a lawyer who had worked on LGBTQ-related cases, the complaint says. Inside were the remains of a dead bird.
"The defendant's hate-filled invective and threats of violence directed at members of the LGBTQ+ community have no place in our society," Breon Peace, the U.S. attorney in Brooklyn, said in a statement announcing the charges.
Fehring's lawyer, Glenn Obedin, said in a statement that his client "respects the legal process, and asks that the process be allowed to play itself out to its appropriate and lawful conclusion."
David Kilmnick, the president of the New York LGBT Network, which operates four community centers on Long Island and in Queens and runs the annual Long Island Pride event, said he had mixed feelings about Fehring's arrest.
Most of the letters that Fehring is charged with sending went to Kilmnick, his group and other LGBTQ organizations and leaders on Long Island.
Kilmnick said he was glad someone had finally been charged with making the threats. But he also expressed frustration over the failure of the Suffolk County, New York, police — which had investigated some of the letters in recent years — to make an arrest sooner.
"There is no reason why we had to live through this fear and anxiety for the past eight years," Kilmnick said.
In a statement, the Suffolk County Police Department said that its Hate Crimes Unit investigates every report that it gets.
Its investigation into the threats attributed to Fehring by federal authorities "became part of a larger FBI investigation that our department fully cooperated with," the statement said. The department referred all other questions to the FBI, which did not immediately respond to a request for comment.
According to the complaint, investigators identified at least 60 letters from Fehring, postmarked from June 2013 to September of this year, in which he said he would use guns and explosives to attack LGBTQ groups and people. Copies of some of the letters were found during the FBI's search of his home, the complaint says.
A May 20 letter addressed to the executive director of a group involved in planning LGBTQ events warned of a major attack on New York City's Pride March this year, the complaint says.
In the letter, according to the complaint, Fehring said that "we" would use radio-controlled devices at "numerous strategic places, and firepower aimed at you from other strategic places."
"This will make the 2016 Orlando Pulse nightclub shooting look like a cakewalk," he wrote, the complaint says. In June 2016, Omar Mateen fatally shot 49 people at Pulse, a gay nightclub in Orlando, Florida.
Kilmnick said that the first threatening letter sent to his group, in 2013, warned of violence that would make the Boston Marathon bombing pale in comparison.
The other letters that Fehring is accused of sending, according to the complaint, include one this year threatening to shoot a high-powered rifle at a Long Island Pride event in June; another warning a local Chamber of Commerce member that ambulances would be needed if the group allowed an LGBTQ event to proceed; and a third describing a Brooklyn barbershop as a "perfect target for a bombing."
If convicted, Fehring, whom Newsday identified as a retired high school teacher, band director and track coach, faces up to five years in prison.
Court records show that he sued the Suffolk County police unsuccessfully after being taken into custody in 2010 after an off-duty officer saw him hide a shotgun under a raincoat and bring it into a Long Island office building.
After an initial appearance in U.S. District Court in Central Islip, he was released on a $100,000 bond, confined to home detention and ordered to wear a monitoring device, officials said.
Kilmnick expressed outrage over Fehring's release given the nature of the threats he is charged with making and the weapons that were seized from his home.
"This guy should not be out on bail," Kilmnick said.
The CDC's new challenge? Grappling with imperfect science.
Winter storm pushes into the Northeast as the South digs out
Man arrested in shooting of 19-year-old worker at East Harlem Burger King


I mean, A LOT. What's likely to happen: The money won't be issue for , ..
As that happened, Cardinals baseball jerseys for sale offensive linemen began to move, making the ..
Father, , was a corner at the University of Miami. He was inducted into the ..
A never-ending final 10 seconds The Blazers had overcome a 2 deficit the best-of-seven series ..
Night Train , Woodson, Deion Sanders, and all made a huge impact on the position, ..
It's a little tight, White Sox manager Ventura said. And no matter how much the ..
For the second straight year, Hennigan's free agent acquisition took a front-loaded contract. To entrench ..
Like there are completely Derek Dorsett Jersey Womens no Antient Free And Accepted Masonic lodges ..
Along with the Redskins, 'oto has spent time with the Green Bay Packers and Oakland ..


Boston Logic has released the BETA version of our new layout builder!
Boston Logic's new layout builder allows brokers to establish standardized messaging and branding by building generic layouts and allowing agents to then access and customize those layouts. Features like lock down formatting allow brokers to designate which content can be edited by an agent and which content should remain consistent. The emails that are created in layout builder will display beautifully on any mobile device. Below are three training videos that will walk you through the layout building process from the perspective of a broker.
TIP: The header of your layout is pulled from the logo entered under Settings Company Info Company Logos "Company Mailer Logo".
TIP: The footer can pull in your office location information. To manage this, simply click on the footer and change the "Footer Source".


text:
namespace cc {

class LayerTreeHost;

namespace {

template <typename LayerType>
struct DataForRecursion {
  TransformTree* transform_tree;
  ClipTree* clip_tree;
  OpacityTree* opacity_tree;
  LayerType* transform_tree_parent;
  LayerType* transform_fixed_parent;
  LayerType* render_target;
  int clip_tree_parent;
  int opacity_tree_parent;
  const LayerType* page_scale_layer;
  const LayerType* inner_viewport_scroll_layer;
  const LayerType* outer_viewport_scroll_layer;
  float page_scale_factor;
  float device_scale_factor;
  bool in_subtree_of_page_scale_layer;
  bool affected_by_inner_viewport_bounds_delta;
  bool affected_by_outer_viewport_bounds_delta;
  bool should_flatten;
  bool ancestor_clips_subtree;
  const gfx::Transform* device_transform;
  gfx::Vector2dF scroll_compensation_adjustment;
  int sequence_number;
};

template <typename LayerType>
static LayerType* GetTransformParent(const DataForRecursion<LayerType>& data,
                                     LayerType* layer) {
  return layer->position_constraint().is_fixed_position()
             ? data.transform_fixed_parent
             : data.transform_tree_parent;
}

template <typename LayerType>
static ClipNode* GetClipParent(const DataForRecursion<LayerType>& data,
                               LayerType* layer) {
  const bool inherits_clip = !layer->parent() || !layer->clip_parent();
  const int id = inherits_clip ? data.clip_tree_parent
                               : layer->clip_parent()->clip_tree_index();
  return data.clip_tree->Node(id);
}

template <typename LayerType>
static bool RequiresClipNode(LayerType* layer,
                             const DataForRecursion<LayerType>& data,
                             int parent_transform_id,
                             bool is_clipped) {
  const bool render_surface_applies_clip =
      layer->render_surface() && is_clipped;
  const bool render_surface_may_grow_due_to_clip_children =
      layer->render_surface() && layer->num_unclipped_descendants() > 0;

  if (layer->masks_to_bounds() || layer->mask_layer() ||
      render_surface_may_grow_due_to_clip_children)
    return true;

  if (!render_surface_applies_clip)
    return false;

  bool axis_aligned_with_respect_to_parent =
      data.transform_tree->Are2DAxisAligned(layer->transform_tree_index(),
                                            parent_transform_id);

  return !axis_aligned_with_respect_to_parent;
}

template <typename LayerType>
static bool LayerClipsSubtree(LayerType* layer) {
  return layer->masks_to_bounds() || layer->mask_layer();
}

template <typename LayerType>
void AddClipNodeIfNeeded(const DataForRecursion<LayerType>& data_from_ancestor,
                         LayerType* layer,
                         bool created_transform_node,
                         DataForRecursion<LayerType>* data_for_children) {
  ClipNode* parent = GetClipParent(data_from_ancestor, layer);
  int parent_id = parent->id;

  bool ancestor_clips_subtree =
      data_from_ancestor.ancestor_clips_subtree || layer->clip_parent();

  data_for_children->ancestor_clips_subtree = false;
  bool has_unclipped_surface = false;

  if (layer->has_render_surface()) {
    if (ancestor_clips_subtree && layer->num_unclipped_descendants() > 0)
      data_for_children->ancestor_clips_subtree = true;
    else if (!ancestor_clips_subtree && !layer->num_unclipped_descendants())
      has_unclipped_surface = true;
  } else {
    data_for_children->ancestor_clips_subtree = ancestor_clips_subtree;
  }

  if (LayerClipsSubtree(layer))
    data_for_children->ancestor_clips_subtree = true;

  if (has_unclipped_surface)
    parent_id = 0;

  if (!RequiresClipNode(layer, data_from_ancestor, parent->data.transform_id,
                        data_for_children->ancestor_clips_subtree)) {
    // Unclipped surfaces reset the clip rect.
    data_for_children->clip_tree_parent = parent_id;
  } else {
    LayerType* transform_parent = data_for_children->transform_tree_parent;
    if (layer->position_constraint().is_fixed_position() &&
        !created_transform_node) {
      transform_parent = data_for_children->transform_fixed_parent;
    }
    ClipNode node;
    node.data.clip = gfx::RectF(
        gfx::PointF() + layer->offset_to_transform_parent(), layer->bounds());
    node.data.transform_id = transform_parent->transform_tree_index();
    node.data.target_id =
        data_for_children->render_target->transform_tree_index();
    node.owner_id = layer->id();

    data_for_children->clip_tree_parent =
        data_for_children->clip_tree->Insert(node, parent_id);
  }

  layer->SetClipTreeIndex(
      has_unclipped_surface ? 0 : data_for_children->clip_tree_parent);

  // TODO(awoloszyn): Right now when we hit a node with a replica, we reset the
  // clip for all children since we may need to draw. We need to figure out a
  // better way, since we will need both the clipped and unclipped versions.
}

template <typename LayerType>
bool AddTransformNodeIfNeeded(
    const DataForRecursion<LayerType>& data_from_ancestor,
    LayerType* layer,
    DataForRecursion<LayerType>* data_for_children) {
  const bool is_root = !layer->parent();
  const bool is_page_scale_layer = layer == data_from_ancestor.page_scale_layer;
  const bool is_scrollable = layer->scrollable();
  const bool is_fixed = layer->position_constraint().is_fixed_position();

  const bool has_significant_transform =
      !layer->transform().IsIdentityOr2DTranslation();

  const bool has_potentially_animated_transform =
      layer->HasPotentiallyRunningTransformAnimation();
  const bool has_animated_transform = layer->TransformIsAnimating();

  const bool has_surface = !!layer->render_surface();

  bool requires_node = is_root || is_scrollable || has_significant_transform ||
                       has_potentially_animated_transform || has_surface ||
                       is_fixed || is_page_scale_layer;

  LayerType* transform_parent = GetTransformParent(data_from_ancestor, layer);
  DCHECK_IMPLIES(!is_root, transform_parent);

  int parent_index = 0;
  if (transform_parent)
    parent_index = transform_parent->transform_tree_index();

  int source_index = parent_index;

  gfx::Vector2dF source_offset;
  if (transform_parent) {
    if (layer->scroll_parent()) {
      LayerType* source = layer->parent();
      source_offset += source->offset_to_transform_parent();
      source_index = source->transform_tree_index();
    } else if (!is_fixed) {
      source_offset = transform_parent->offset_to_transform_parent();
    } else {
      source_offset = data_from_ancestor.transform_tree_parent
                          ->offset_to_transform_parent();
      source_index =
          data_from_ancestor.transform_tree_parent->transform_tree_index();
      source_offset += data_from_ancestor.scroll_compensation_adjustment;
    }
  }

  if (layer->IsContainerForFixedPositionLayers() || is_root) {
    data_for_children->affected_by_inner_viewport_bounds_delta =
        layer == data_from_ancestor.inner_viewport_scroll_layer;
    data_for_children->affected_by_outer_viewport_bounds_delta =
        layer == data_from_ancestor.outer_viewport_scroll_layer;
    if (is_scrollable) {
      DCHECK(!is_root);
      DCHECK(layer->transform().IsIdentity());
      data_for_children->transform_fixed_parent = layer->parent();
    } else {
      data_for_children->transform_fixed_parent = layer;
    }
  }
  data_for_children->transform_tree_parent = layer;

  if (layer->IsContainerForFixedPositionLayers() || is_fixed)
    data_for_children->scroll_compensation_adjustment = gfx::Vector2dF();

  if (!requires_node) {
    data_for_children->should_flatten |= layer->should_flatten_transform();
    gfx::Vector2dF local_offset = layer->position().OffsetFromOrigin() +
                                  layer->transform().To2dTranslation();
    gfx::Vector2dF source_to_parent;
    if (source_index != parent_index) {
      gfx::Transform to_parent;
      data_from_ancestor.transform_tree->ComputeTransform(
          source_index, parent_index, &to_parent);
      source_to_parent = to_parent.To2dTranslation();
    }
    layer->set_offset_to_transform_parent(source_offset + source_to_parent +
                                          local_offset);
    layer->set_should_flatten_transform_from_property_tree(
        data_from_ancestor.should_flatten);
    layer->SetTransformTreeIndex(parent_index);
    return false;
  }

  data_for_children->transform_tree->Insert(TransformNode(), parent_index);

  TransformNode* node = data_for_children->transform_tree->back();
  layer->SetTransformTreeIndex(node->id);

  node->data.scrolls = is_scrollable;
  node->data.flattens_inherited_transform = data_for_children->should_flatten;

  // Surfaces inherently flatten transforms.
  data_for_children->should_flatten =
      layer->should_flatten_transform() || has_surface;
  node->data.target_id =
      data_from_ancestor.render_target->transform_tree_index();
  node->data.content_target_id =
      data_for_children->render_target->transform_tree_index();
  DCHECK_NE(node->data.target_id, -1);
  node->data.is_animated = has_animated_transform;

  float post_local_scale_factor = 1.0f;
  if (is_root) {
    node->data.post_local = *data_from_ancestor.device_transform;
    post_local_scale_factor = data_from_ancestor.device_scale_factor;
  }

  if (is_page_scale_layer)
    post_local_scale_factor *= data_from_ancestor.page_scale_factor;

  if (has_surface && !is_root) {
    node->data.needs_sublayer_scale = true;
    node->data.layer_scale_factor = data_from_ancestor.device_scale_factor;
    if (data_from_ancestor.in_subtree_of_page_scale_layer)
      node->data.layer_scale_factor *= data_from_ancestor.page_scale_factor;
  }

  node->data.source_node_id = source_index;
  if (is_root) {
    node->data.post_local.Scale(post_local_scale_factor,
                                post_local_scale_factor);
    node->data.post_local.Translate(layer->position().x(),
                                    layer->position().y());
  } else {
    node->data.post_local_scale_factor = post_local_scale_factor;
    node->data.source_offset = source_offset;
    node->data.update_post_local_transform(layer->position(),
                                           layer->transform_origin());
  }

  if (!layer->scroll_parent())
    node->data.scroll_offset = layer->CurrentScrollOffset();

  if (is_fixed) {
    if (data_from_ancestor.affected_by_inner_viewport_bounds_delta) {
      node->data.affected_by_inner_viewport_bounds_delta_x =
          layer->position_constraint().is_fixed_to_right_edge();
      node->data.affected_by_inner_viewport_bounds_delta_y =
          layer->position_constraint().is_fixed_to_bottom_edge();
      if (node->data.affected_by_inner_viewport_bounds_delta_x ||
          node->data.affected_by_inner_viewport_bounds_delta_y) {
        data_for_children->transform_tree
            ->AddNodeAffectedByInnerViewportBoundsDelta(node->id);
      }
    } else if (data_from_ancestor.affected_by_outer_viewport_bounds_delta) {
      node->data.affected_by_outer_viewport_bounds_delta_x =
          layer->position_constraint().is_fixed_to_right_edge();
      node->data.affected_by_outer_viewport_bounds_delta_y =
          layer->position_constraint().is_fixed_to_bottom_edge();
      if (node->data.affected_by_outer_viewport_bounds_delta_x ||
          node->data.affected_by_outer_viewport_bounds_delta_y) {
        data_for_children->transform_tree
            ->AddNodeAffectedByOuterViewportBoundsDelta(node->id);
      }
    }
  }

  node->data.local = layer->transform();
  node->data.update_pre_local_transform(layer->transform_origin());

  node->data.needs_local_transform_update = true;
  data_from_ancestor.transform_tree->UpdateTransforms(node->id);

  layer->set_offset_to_transform_parent(gfx::Vector2dF());

  // Flattening (if needed) will be handled by |node|.
  layer->set_should_flatten_transform_from_property_tree(false);

  data_for_children->scroll_compensation_adjustment +=
      layer->ScrollCompensationAdjustment() - node->data.scroll_snap;

  node->owner_id = layer->id();

  return true;
}

bool IsAnimatingOpacity(Layer* layer) {
  return layer->HasPotentiallyRunningOpacityAnimation() ||
         layer->OpacityCanAnimateOnImplThread();
}

bool IsAnimatingOpacity(LayerImpl* layer) {
  return layer->HasPotentiallyRunningOpacityAnimation();
}

template <typename LayerType>
void AddOpacityNodeIfNeeded(
    const DataForRecursion<LayerType>& data_from_ancestor,
    LayerType* layer,
    DataForRecursion<LayerType>* data_for_children) {
  const bool is_root = !layer->parent();
  const bool has_transparency = layer->opacity() != 1.f;
  const bool has_animated_opacity = IsAnimatingOpacity(layer);
  bool requires_node = is_root || has_transparency || has_animated_opacity;

  int parent_id = data_from_ancestor.opacity_tree_parent;

  if (!requires_node) {
    layer->SetOpacityTreeIndex(parent_id);
    data_for_children->opacity_tree_parent = parent_id;
    return;
  }

  OpacityNode node;
  node.owner_id = layer->id();
  node.data.opacity = layer->opacity();
  node.data.screen_space_opacity = layer->opacity();
  if (!is_root)
    node.data.screen_space_opacity *=
        data_from_ancestor.opacity_tree->Node(parent_id)
            ->data.screen_space_opacity;
  data_for_children->opacity_tree_parent =
      data_for_children->opacity_tree->Insert(node, parent_id);
  layer->SetOpacityTreeIndex(data_for_children->opacity_tree_parent);
}

template <typename LayerType>
void BuildPropertyTreesInternal(
    LayerType* layer,
    const DataForRecursion<LayerType>& data_from_parent) {
  layer->set_property_tree_sequence_number(data_from_parent.sequence_number);
  DataForRecursion<LayerType> data_for_children(data_from_parent);
  if (layer->render_surface())
    data_for_children.render_target = layer;

  bool created_transform_node =
      AddTransformNodeIfNeeded(data_from_parent, layer, &data_for_children);
  AddClipNodeIfNeeded(data_from_parent, layer, created_transform_node,
                      &data_for_children);

  if (data_from_parent.opacity_tree)
    AddOpacityNodeIfNeeded(data_from_parent, layer, &data_for_children);

  if (layer == data_from_parent.page_scale_layer)
    data_for_children.in_subtree_of_page_scale_layer = true;

  for (size_t i = 0; i < layer->children().size(); ++i) {
    if (!layer->child_at(i)->scroll_parent()) {
      BuildPropertyTreesInternal(layer->child_at(i), data_for_children);
    } else {
      // The child should be included in its scroll parent's list of scroll
      // children.
      DCHECK(layer->child_at(i)->scroll_parent()->scroll_children()->count(
          layer->child_at(i)));
    }
  }

  if (layer->scroll_children()) {
    for (LayerType* scroll_child : *layer->scroll_children()) {
      DCHECK_EQ(scroll_child->scroll_parent(), layer);
      BuildPropertyTreesInternal(scroll_child, data_for_children);
    }
  }

  if (layer->has_replica())
    BuildPropertyTreesInternal(layer->replica_layer(), data_for_children);
}

}  // namespace

template <typename LayerType>
void BuildPropertyTreesTopLevelInternal(
    LayerType* root_layer,
    const LayerType* page_scale_layer,
    const LayerType* inner_viewport_scroll_layer,
    const LayerType* outer_viewport_scroll_layer,
    float page_scale_factor,
    float device_scale_factor,
    const gfx::Rect& viewport,
    const gfx::Transform& device_transform,
    PropertyTrees* property_trees) {
  if (!property_trees->needs_rebuild)
    return;

  property_trees->sequence_number++;

  DataForRecursion<LayerType> data_for_recursion;
  data_for_recursion.transform_tree = &property_trees->transform_tree;
  data_for_recursion.clip_tree = &property_trees->clip_tree;
  data_for_recursion.opacity_tree = &property_trees->opacity_tree;
  data_for_recursion.transform_tree_parent = nullptr;
  data_for_recursion.transform_fixed_parent = nullptr;
  data_for_recursion.render_target = root_layer;
  data_for_recursion.clip_tree_parent = 0;
  data_for_recursion.opacity_tree_parent = -1;
  data_for_recursion.page_scale_layer = page_scale_layer;
  data_for_recursion.inner_viewport_scroll_layer = inner_viewport_scroll_layer;
  data_for_recursion.outer_viewport_scroll_layer = outer_viewport_scroll_layer;
  data_for_recursion.page_scale_factor = page_scale_factor;
  data_for_recursion.device_scale_factor = device_scale_factor;
  data_for_recursion.in_subtree_of_page_scale_layer = false;
  data_for_recursion.affected_by_inner_viewport_bounds_delta = false;
  data_for_recursion.affected_by_outer_viewport_bounds_delta = false;
  data_for_recursion.should_flatten = false;
  data_for_recursion.ancestor_clips_subtree = true;
  data_for_recursion.device_transform = &device_transform;

  data_for_recursion.transform_tree->clear();
  data_for_recursion.clip_tree->clear();
  data_for_recursion.opacity_tree->clear();
  data_for_recursion.sequence_number = property_trees->sequence_number;

  ClipNode root_clip;
  root_clip.data.clip = viewport;
  root_clip.data.transform_id = 0;
  data_for_recursion.clip_tree_parent =
      data_for_recursion.clip_tree->Insert(root_clip, 0);
  BuildPropertyTreesInternal(root_layer, data_for_recursion);
  property_trees->needs_rebuild = false;

  // The transform tree is kept up-to-date as it is built, but the
  // combined_clips stored in the clip tree aren't computed during tree
  // building.
  property_trees->transform_tree.set_needs_update(false);
  property_trees->clip_tree.set_needs_update(true);
  property_trees->opacity_tree.set_needs_update(false);
}

void PropertyTreeBuilder::BuildPropertyTrees(
    Layer* root_layer,
    const Layer* page_scale_layer,
    const Layer* inner_viewport_scroll_layer,
    const Layer* outer_viewport_scroll_layer,
    float page_scale_factor,
    float device_scale_factor,
    const gfx::Rect& viewport,
    const gfx::Transform& device_transform,
    PropertyTrees* property_trees) {
  BuildPropertyTreesTopLevelInternal(
      root_layer, page_scale_layer, inner_viewport_scroll_layer,
      outer_viewport_scroll_layer, page_scale_factor, device_scale_factor,
      viewport, device_transform, property_trees);
}

void PropertyTreeBuilder::BuildPropertyTrees(
    LayerImpl* root_layer,
    const LayerImpl* page_scale_layer,
    const LayerImpl* inner_viewport_scroll_layer,
    const LayerImpl* outer_viewport_scroll_layer,
    float page_scale_factor,
    float device_scale_factor,
    const gfx::Rect& viewport,
    const gfx::Transform& device_transform,
    PropertyTrees* property_trees) {
  BuildPropertyTreesTopLevelInternal(
      root_layer, page_scale_layer, inner_viewport_scroll_layer,
      outer_viewport_scroll_layer, page_scale_factor, device_scale_factor,
      viewport, device_transform, property_trees);
}

}  // namespace cc

redpajama_set_name: RedPajamaGithub