I looked online, and I was actually able to find Lemmings Return! The resolution for the game is over twice as large as the resolution of my phone's screen, and I can't seem to change it anywhere. That is a bit unfortunate, as it makes it rather tedious to navigate the menus - you need to try out every option, as you can't read what you've got selected. However, the game itself works fine! Of course the playing field is extremely narrow on such a low resolution screen, but it works.
This is cool! I'll probably play it when I don't have anything else to do, as I am wondering about the levels. The book says there are 30 levels, divided into three ratings. I can only play levels from the first rating, though, so I guess you need to unlock the rest. I expect all levels to be rather easy, but who knows, there might actually be some puzzles in here. In any case, all levels seem to be original, and designed with the original pieces. They are put together poorly, though, none of the levels look good.
But another thing: I've only been able to find this game, and I can't find any mention of there being another Lemmings game for phones, except in the book. The book's probably right, but if the writer reads this: where did you find this information? I'd like to play this game, if it still exists.
My assumption about all levels being original was incorrect: so far, I've come across This should be a doddle! and We all fall down. So there are levels from the original game in here too.
Since then, all levels have been levels from the original game, which makes me a bit confused. I wonder now, if somehow the earlier levels were, too. But I didn't recognise them.
Something I noticed about the mechanics, which makes some things harder: Lemmings without a skill gain priority if you're hovering over multiple Lemmings. This means that if you want to make a miner into a basher, for example, you'll need to isolate it, or it'll keep mining and you'll use up all your bashers on the other Lemmings.
The one in the screenshot looks like it might be a remake of Tame 1?
I've lost my phone yesterday, but I'll get it back (I left it in my cousin's car). When I get it back I'll list the names of the levels I've unlocked so far, in a spoiler tag.
Has anyone had the other Lemmings game? Or The Tribes for cellphones? I read today that that existed as well. I found something on Lemmings 2 for smartphones, but not for Java-based feature phones.
Fun 5 Thunder-Lemmings are go!
Fun 6 This should be a doddle!
Taxing 2 Turn around your Lemmings!
Edit, so I don't create more unnecessary posts: Haha, I was struggling with Perseverance, but then I noticed you've got 20 Floaters for some reason, while the amount of Lemmings in this port is also 20.
In The Boiler Room the fire object is missing, which makes the level pretty much trivial, even though it's placed in the last rank.
Crossroads is called Said the spider to the lemming, and I'm currently at Double Trouble, which when looking online isn't a level in the original Lemmings games. Which is strange, because it sounds and looks like a level that's got two hatches, but it's only got one on the left side.
As Proxima was saying it could possibly be the tame level from the oh no more lemmings.
I think I remember seeing the mobile one being advertised in a magazine but that feels like a long time ago.
Leo sent me the other two games, but unfortunately, I can't use either of them on my phone. They play, but the screen doesn't scroll well enough, and the skills don't display either.
Oh, I forgot to say: I completed the game recently! I thought I had 3 levels to go, but I forgot there are only 8 levels in the last rank, instead of 10. Strange about the last level - but this is something more levels have - is that the save requirement was 10%. I think I got 85%, but 100% doesn't seem too difficult, if you time things better. There were also quite some extra skills, so even though I messed up a few things, I was able to beat the level rather easily.
Oh well, it was a fun experience! It's really rather unfortunate that the other games don't work on my phone.


text:
Article | April 13, 2020
Clothes Sold New And Used While Rented And Repaired Online – Doing More With Less
By Benjamin Wall
Clothes are being handled like cars – and why not? Digital fashion companies can learn from the auto industry in building deeper relations with customers by treating them newly as business partners who supply apparel. Together with re-fashioning the value chain, there are opportunities for online clothes retailers to raise their market profile and market share. And also help the environment to boot.
Clothes are becoming like cars for consumers. You can sell them, e.g. in the twelve months to June 2019, a total of 20 million pre-owned fashion items were sold on eBay for a value of over $200 million, having grown 15 percent in the past five years. Meanwhile, the apps for used clothing sales such as Depop and Vinted are booming. You can trade them in: Patagonia accepts pre-worn clothing in exchange for credit on online purchases. You can rent them: in 2019 Urban Outfitters Inc. and Bloomingdale's began renting clothes online, joining Ann Taylor, Rent the Runway, Express Inc. and New York & Co. Inc. And you can repair them: Along with millions of appropriately skilled and dutiful private persons and thousands of small sewing companies spread throughout America, Patagonia for one offers clothing repair on its website via a facility in Nevada with 45 employees.
Comparing apparel to automobiles raises the point that, like cars, clothes may be regarded as a so-called "investment good", creating value for the owner over time and in some cases generating cash through re-selling. People always have wanted to use and enjoy some of their clothes for a long time, which is why there always have been repairs. Selling them for cash has started to boom in this century. And rentals as a way to bring different clothes into the wardrobe at a reduced cost are quite recent. Currently, consumers rent clothes for a special occasion, but, who knows, just like we rent a car when we fly to a city, maybe someday we will rent clothes while traveling rather than drag them along in the suitcase. With these options available, consumers can start to think of their wardrobe as an "investment portfolio": some items can be held for the value of wearing them over many years; other items are no longer valuable to the owner and can be sold, and the third category of attire can come into the "inventory" for just a few days. In this kind of sharing economy, fewer clothes in total will be produced and disposed of, thereby preserving natural resources and reducing waste.
Indeed, one-third of homes are rented and many people do not own a car; for many consumers, their wardrobe may be their most valuable type of "wealth". And even for those owning a home and a car, their clothing represents a considerable volume of accumulated worth, both in terms of the emotional and increasingly the re-sale value.
For online fashion retailers, addressing this huge accumulated value with more services than simply the sale of new clothes makes very good business sense. Again a comparison to cars reveals some of the potential in second-hand sales, repairs, and rentals, which could be available down the road. First, more than twice as many used cars are sold annually than new cars: in the USA in 2019 it was 40.2 million used vehicles compared to 17.2 million new. Volumes of second-hand car sales are also more stable than for new cars. Second, outlays for auto repairs equaled $188 billion in 2018 and have steadily grown over the years, compared to the cycles in sales of cars. Finally, car rentals in the USA account for roughly $22 billion annually.
Expenditures for products and services in the apparel industry will never reach the magnitudes in the auto industry. Nevertheless, for digital companies in fashion, diversifying the sources of revenue can never be a bad thing and, as will be shown below, can open up very promising chances to improve customer relations and thus loyalty. The successes of eBay and Patagonia are not to be ignored, and in Europe, both the trendy online fashion retailer Zalando in Germany and the staid department store John Lewis in London are starting to sell preworn clothing.
Online fashion retailers can gain six key competitive advantages from repairing and renting attire as well as selling preworn clothes. First, the greater volume of items to be rented or sold - new or used - raises the breadth and depth of the entire product range on the retailer's shop, making it the go-to site for shoppers to see the full spread of what is available on the market. Second, more price-sensitive shoppers will be drawn to the site for the first time. Third, consumers who sell their used items to, or have them repaired by, an e-commerce retailer, will be more loyal to the online shop. Fourth, fashion consumers who are running down their wardrobe also will feel the need to build it up at some point, and what better place to shop than where they sell their clothes? Fifth, consumers who supply preworn clothes to a digital retailer can be treated like a valued business partner, representing a chance for the retailer to build a new and different kind of relation to them. This deepens the overall tie and by its singularity can attract customers away from rivals. Sixth, the environmental benefits of less textile waste and production, with consequent reductions in water use, chemical dyes, animal furs and hides, transport, etc. can improve the corporate image of the retailer in sustainability. Taken together, these benefits can substantially improve the standing and market share of a retailer.
Perhaps the most interesting of these new business areas for digital companies is the sale of preworn clothes, where volumes are likely to be the highest. Looking to the near future, retailers can treat customers who supply their clothes as a kind of business partner. After all, the customer becomes a kind of supplier for the retailer. The relations with these "consumer-suppliers" can be managed by retailers in five different ways, again drawing on the auto industry as food for thought.
Car producers share knowledge about production methods and logistics with their suppliers, working together to solve tricky operational issues. Turning to fashion, the consumers selling their clothes need to learn techniques for selecting the best clothes to be re-sold or to find out about the most efficient ways to pack and ship the items. A fashion retailer could inform the consumer-suppliers about such techniques and form workgroups with them to improve the methods.
Some auto companies encourage their suppliers to fine-tune the parts and components to mutual benefit. A fashion retailer can support consumer-suppliers in fine-tuning their re-sold clothes by making it easy for them to increase the attractiveness of their items. For example, retailers could provide sewing kits and instructions for the consumer-suppliers to sew on new buttons; or there could be the option to add in an accessory, e.g. match a handbag to a dress, making the combined offer more appealing.
Some car companies want the so-called "best practice", i.e. the best way of doing things, from the suppliers, either using the best practice of the suppliers or instructing them in what the best practice is. Fashion retailers can use the "best practice" of the consumer-suppliers by asking them to select and price clothes to re-sell according to their understanding of the market. Or a retailer can use its understanding of the market to send out a call to the consumer-suppliers for specific kinds of used clothes which it believes will sell well.
Car companies help the business development of their suppliers by explaining their long-term plans so the suppliers can plan accordingly and then do the same with their suppliers. Consumer-suppliers can be helped to develop their business by being informed about the retailer's vision and plans and by being helped in mobilizing a circle of sub-consumer-suppliers that they lead.
Lastly, some auto producers build a sense of community with their suppliers around the fascination with automobiles and the engagement to have a positive impact on the customers, the society and the planet. A fashion retailer can make a community out of the consumer-suppliers by stimulating discussions online about trends in the market and use the "wisdom of the crowd" to reach conclusions about demand. Also, the consumer-suppliers could offer their clothes for rent via the digital fashion company, forming a community in the sense of working as one. A strong community feeling could be also formed around the shared fascination with clothes and the collective dedication to reducing the overall levels of clothes production and waste.
Predictions can be made about changes in the value chain for apparel, should second-hand, traded-in, rented, and repaired clothing become more prominent. Raw materials will be of higher quality with more durability to give longer-lasting value. Designs will take account of easier repairability. As for the taste informing the "look" of the clothes, there could be one tendency toward clothes being more timeless, less trendy and more mainstream, i.e. more aligned to the common denominator for the masses. There could also be a tendency toward more niche clothes than before, where extreme clothes as re-sale or rental items find repeated demand from small groups of consumers with special tastes each seeking a short-term kick. Furthermore, retailers could put together collections entirely out of second-hand clothes.
Operations in the value chain for clothes will involve lower production volumes and new kinds of activities, namely handling the in- and outflows as well as refreshing of both preworn and rented clothes. The structure of the retailer's website will become more complex: It will need to be made clear whether an item is offered for rent or sale as new or used; or in any combination thereof. Furthermore, there will presumably be new challenges in selling online: website visitors will need to be aided in searching or navigating through a greater product range, and efficient procedures to handle the logistics and website presentation of single preworn items will need to be developed. After-sales will include more repair work and product warranties will become more widespread. The logistics and pricing for trade-ins as well as the market for "spare parts", e.g. buttons and patches, will be further developed.
The dynamic in online fashion retail has been relentless and by all accounts will continue to be. A comparison to the auto industry reveals some surprising overlaps which could provide guidelines to future innovations in digital commerce, serving as useful orientation for e-commerce apparel companies.
Benjamin Wall is active as an author, professor, and management consultant in the Zurich area. His most recent book is Amazon: Managing Extraordinary Success in 5-D Value.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: WCF REST Service Pass object as parameter in POST method I have a method in my WCF Service.
[OperationContract]
[FaultContract(typeof(Hitachi.WebServices.Common.WebServiceFaultException))]
[WebInvoke(Method = "POST",
           BodyStyle = WebMessageBodyStyle.WrappedRequest,
           RequestFormat = WebMessageFormat.Json,
           ResponseFormat = WebMessageFormat.Json,
           UriTemplate = "Syslog/AddServerConfiguration")]
void AddServerConfiguration(ServerConnectionInfo  serverConnectionInfo);

From the client side , I am using `HttpWebRequest`` . I am consistently getting "The remote server returned an error: (400) Bad Request."
To pass the parameter serverConnectionInfo, I tried different options -
[1] Using simple String formatter -
String body = string.Format("{{\"serverConnectionInfo\":{{\"DeviceIP\":\"{0}\",\"Password\":\"{1}\",\"Port\":0,\"UserName\":\"{2}\"}}}}", ipAddress, password, userName);

if (!String.IsNullOrEmpty(body))
{
    byte[] bodyBytes = Encoding.UTF8.GetBytes(body);
    request.GetRequestStream().Write(bodyBytes, 0, bodyBytes.Length);
    request.GetRequestStream().Close();
}

[2] Using JavaScriptSerializer -
JavaScriptSerializer jss = new JavaScriptSerializer();
string data = jss.Serialize(connInfo);
String body = string.Format("{{\"serverConnectionInfo\":{0}}}", data);

[3] Using JsonConvert -
string body = JsonConvert.SerializeObject(new { serverConnectionInfo = connInfo });
request.ContentLength = body.Length;
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(body);
writer.Close();

[4]Using DataContractJsonSerializer.
I like to point out that I am using DataContract for ServerConnectionInfo. Moreover, inside my class ServerConnectionInfo , I have string and int data members. I am properly setting ContentType and ContentLength for HttpWebRequest.
This method works perfectly well with REST client "POSTMAN".
What am I missing ?

A: I just changed the following line ( not mentioned in the problem) in my code and it starts working.
request.ContentType = "application/json; charset:utf-8";

changed to
request.ContentType = "application/json";

Now, my doubt is , what is wrong in specifying charset in content type of request.

redpajama_set_name: RedPajamaStackExchange


Singapore government has mentioned earlier in the previous year that the land sale for year 2016 will be reduced comparing the number in 2015. Though with the reduction, good condo land is still available up for grab. Taking the head start, the first condo launch in Singapore 2016 is Sturdee Residences.
sturdee residence review has generated quite a number of interest from the ground and many are awaiting for the VVIP Showflat preview. This development is highly sought after as it is directly built in front of shopping mall, and also across the road is Mustafa Shopping Centre.
There are also some good colleges around, the closest being Stamford Elementary school along Queen Road about 11 minutes away.
Additionally take bus 16 from behind City Square Mall (across from Farrer Park MRT) to reach to Broadrick High school, Northlight. Additional and also Tanjong Katong Girls Institution. The traveling time is about 15 minutes, relying on traffic conditions.
sturdee residences location is along Jalan Besar Road and when the sun sets, the bars and also clubs throw their doorways open and also a stream of music, mainly from neighborhood bands executing real-time, flood the roads as well as alleys. These alleyways are dressed up with tables and chairs and on some evenings, live soccer suits are projected into the alleyways.
Benches and also clubs lie in between the alleys and also far from the primary street dealing with Sturdee Residence so the noise won't reach the residential apartment or condos. Staying in Sturdee Residences, lifestyle is well balanced. Enjoying away a cup of coffee or chilling out in a bar is so convenient just a stone throw away from home. Shopping for groceries at the supermarket is a breeze with 2 mega mall located just next to the condo. Envy by all, the cineplex is also a few steps away from Sturdee Road and indeed, this location is simply awesome.


text:
Q: Node.js Forever.js uptime stopped I'm running a node script on my EC2 instance. I 'm using forever.js to run it because I'd like to run it even when I disconnect from my SSH connection.
I run:
forever start app.js

and then list running processes using:
forever list

and for uptime is says STOPPED no matter what I do.
ubuntu@ip-xx-xxx-xxx-xxx:~$ forever list
info:    Forever processes running
data:        uid  command             script          forever pid   id logfile                        uptime
data:    [0] 79f1 /usr/local/bin/node app.js 17099   17100    /home/ubuntu/.forever/79f1.log STOPPED

A: I checked the log file mentioned (duh!) /home/ubuntu/.forever/79f1.log and that had the error.
Turns out, it was a simple path error in my app.js script. I was using a file which wasn't in the same directory from which I ran forever start app.js. So it actually had nothing to do with forever.js, but was a simple path error where node couldn't find a file. Thank goodness for log files!

A: You could just run forever logs yourfile.js to see logs. If you need to be sure that you are seen the right logs.


text:
CASE STUDY / See all
Words by Fiona Negrin, Photography by Tatjana Plitt
Designer demountable
A canny reuse project diverted two prefab office pods from landfill to create a light-filled house on a low budget. The house was built to a BAL-29 Bushfire Attack Level and cost just $200,000 to build.
While many of us would seize the chance to own a country holiday house, the idea didn't sit comfortably with Donna Coutts. "It seemed wasteful," she says. "It's not the most environmentally sustainable thing to run two households." Then an unexpected opportunity gave her pause.
"Two modular commercial buildings were being decommissioned," she recounts. "They were extremely robust and designed to be used as offices all over Australia, including as far north as Townsville, where there are stringent building regulations for cyclones. So they were very strong and far too good to be scrapped." Reflecting on the low embodied energy of reused buildings, Donna concluded that it "seemed wasteful not to use them."
The small town of Walkerville, with a bucolic mix of farmland and small residential blocks, sits overlooking Bass Strait in south-east Victoria. Donna owned a 720m2 vacant block in the town and, after buying the two office pods, she commissioned NRN Architects in Melbourne to transform them into a holiday house on the site.
Donna had unusual ideas about the design of her holiday house: she wasn't interested in having multiple bedrooms or a distinct living area, or even much storage. She wanted to make maximum use of the prefab buildings and, where additional materials were needed, they were to be "as sustainable as possible and made to last for many generations." The space had to accommodate her large family and guests, and adapt to use over time. Because her budget was tight, expenditure had to be smart. Finally, the site had to meet BAL 29 construction standards.
Natasha Nassour from NRN began by considering the two different-sized pods. The smaller 20m2 one had a disabled-access toilet and sink, so that part was designated as the wet area (bathroom and laundry). The office space was earmarked as the sole dedicated bedroom – being a clearly defined space, that was the logical choice. But those were the only fixed elements in the new design. The layout of the larger pod and how it would combine with the smaller one were up for grabs.
The bigger 67m2 pod was oriented with its windows facing north to maximise the solar aspect, with the smaller pod placed at right angles between it and the street. This arrangement has the benefit of turning the view to the garden and nearby farmland, instead of outwards towards the street and neighbours. "When you're inside the space you forget that you're right on the street," says Natasha.
When a brief calls for a flexible living space without partitions, the challenge is where to put the fixtures that need to be locked down, and how to mark out zones – even if they're going to be mutable. For inspiration, Natasha looked to rural buildings like country halls that had a "loose way of inhabiting a space". By placing the fireplace in the centre of the room and the kitchen on the southern wall, Natasha gained freedom to play with the rest of the large pod. She used custom joinery to make lounges that work as both beds and sofas. Mounting these on wheels was a smart way to keep the living space open and adaptable, and to signify zones like sleeping or living areas without the need for walls or partitions.
Colorbond steel was chosen for external cladding; it's an ever-reliable option because of its cost-effectiveness, low maintenance and bushfire protection. Inside the house, whitewashed plywood cladding and flooring dramatically contrasts with the darkened steel and timber lining of the entry porch and hallway (with reading nook) that links the two pods. Rounding out the ESD features, the all-electric house is powered by rooftop solar, and two rainwater tanks (a third is reserved for fire-fighting) provide potable and flushing water. With limited western and eastern exposure, and shading to the north, the house is protected from summer sun, and the fireplace and retained existing air conditioner lend extra cosiness in winter.
The house is notable for creatively repurposing a pair of existing buildings, almost beyond recognition. But it's also inspiring for another, quite practical reason. The entire cost – including purchase of the two pods and interim storage, transport and craning, professional fees, materials, appliances and custom furniture – came to less than $200,000. It's rare to see an environmentally sustainable design that's essentially a new build come in at less than the cost of many home renovations, and Donna's approach can be replicated by others looking to build a low-cost home of their own.
In avoiding the temptation to build just another "regular house", Donna's holiday retreat offers an opportunity for family and friends to come together and reset. She's delighted with the result. "The spaces work beautifully. Sometimes eight or so kids all camp on the floor in the big room; other times they're camping in tents in the backyard. The kitchen is terrific: we line up the two big tables and seat 12 or more people around them and everyone pitches in to get the food ready. Because nothing is hidden away everyone feels they can jump in and help because it's clear where everything goes. It's been a great success!"
Designer: NRN Architects
Location: Walkerville, VIC
Bushfire Attack Level: BAL-29
Size: 67m2 pod + 20m2 pod
Cost: $200,000
Salvaged prefab office buildings creatively repurposed and given a new life
Energy-efficient holiday house achieved on a low budget
Open living space with minimal partitions allows for flexibility in use
Multi-function furniture can be moved around and used as sofas or beds
Top: The larger of the two salvaged prefabricated pods was oriented with its extensive glazing facing north for passive solar performance, and functions as a flexible living, dining and sleeping space. Cleverly designed furniture can be configured as sofas or beds. Middle: The smaller pod was placed at right angles to the main one, creating privacy from the road. It contains the bathroom and laundry and a bedroom. Each pod came with a fold-down deck. Bottom: Extra sleeping space can easily be created in the main room using the moveable furniture. A reading nook is tucked in between the living space and the smaller pod beyond.
Prev project	Next project
Prefabricated straw bale home with BAL-29 rating
Rapid rebuilds in bushfire areas


text:
Millennials' vision of the future looks beyond flying cars
Three futurists—a Baby Boomer, a Gen Xer and a Millennial—discuss the vision captured by Prudential's "The 80-Year-Old Millennial" study.
By Adam Hunter
Fifty years ago, Philip K. Dick's landmark sci-fi novel "Do Androids Dream of Electric Sheep?" envisioned a 21st century of androids, flying cars and space colonies. What happened? Sure, we have Android phones, but what about our flying cars?
Clearly, the predictions of one generation don't always come true for the next. However, three futurists with the Futures Practice at Kantar Consulting—a Baby Boomer, a Gen Xer and a Millennial—say that the year 2068 envisioned by Millennials and visionaries in tech, transportation, education, entrepreneurship and aging as part of Prudential's "The 80-Year-Old Millennial" study represents a considerable shift from the prophecies of prior generations. A recurring theme of social, technological and economic disruption has powerful implications for us today.
So what do Millennials predict for their future? And what do Kantar's futurists think?
Casey Ferrell
Aarti Asrani
Gayle Davey
A workplace of one
The prediction: The rise of the "gig economy," examined in a Prudential study last year, is a glimpse of the workplace to come, Millennials say. Laborers in 2068 are more likely to "swipe right" for gigs and freelance work than hold down the traditional 9-to-5.
What the futurists say: "The nature of the workforce has changed pretty dramatically and it's easy to see why Millennials expect that trajectory to continue, but I'm a little reluctant to buy into that," says Casey Ferrell, a Gen Xer and vice president for Kantar. "What is interesting is that the gig economy, the small business of one, may create opportunities for financial services companies, if those companies can scale their products and services to serve those potential customers."
Education outside the classroom
The prediction: The changed structure of the workforce—and skyrocketing cost of higher education—means that in 2068, traditional four-year colleges are a thing of the past. Instead, online courses and apprenticeships are the way to get ahead.
What the futurists say: "Millennials who are parents are particularly nervous about the education system," says Aarti Asrani, a Millennial and analyst for Kantar. "They say, 'That's probably not going to prepare my child adequately for the workforce that's going to emerge in the future.'"
Technology that knows what you need
The prediction: Millennials are far more optimistic about advancements in personal technology. People can 3D print at home most of the products they need. Almost all possessions are digitally connected, though instead of touchscreens, devices anticipate their owner's desires.
What the futurists say: "More and more we think that people will be moving from screens where you have to input things and more toward sensors, where your environment will be able to understand what your wants and needs are," says Gayle Davey, a Boomer and senior vice president with Kantar. "That's a very interesting space to think about when moving into the future for Millennials."
"There's a big appetite among younger consumers for technology that's predictive," Ferrell says. "For older consumers, that can have a strong creepiness factor. Part of the reason why that's true is that algorithmic programming was not a feature of technology that Boomers or Gen Xers grew up on."
Humanity in a world of virtual reality
The prediction: Robotic assistants help with daily chores and self-driving vehicles rule the roadways. People often develop emotional ties with the robots that serve them, while virtual reality allows us to see, hear and even virtually touch people anywhere in the world as if they were sitting next to us. But people still crave real human connection.
What the futurists say: "People always have this image of Millennials as extremely dependent on tech and using tech to solve everything in their lives, but we don't want to lose control completely," Asrani says. "Millennials say that face-to-face interactions are going to become rarer, but more valuable. They need to have some sort of human, in-real-life interactions in order to feel satisfied."
Ferrell says it's important that we continue to guide technology, rather than technology guiding us.
"The thing that Millennials are most bullish on when it comes to what technology does is the degree in which it connects them to other people," Ferrell says. "In that regard, it becomes a tool for addressing some of those social changes that are also going to unfold and shape the future."
Healthcare in a pill
The prediction: Healthcare is primarily focused on proactive prevention—like a pill to stave off the common cold—rather than reactive diagnosis. Common cancers are curable, babies get customized vaccines at birth based on their DNA.
What the futurists say: "When you try and imagine the future, you ask, 'What are some of the problems we can't solve today that technology may solve 30 to 40 years from now?'" Ferrell says. "One has to imagine the holy grail: when, not if, we cure cancer."
Still, people will prefer doctors over an artificial intelligence assistant when making a diagnosis.
"Millennials are looking forward to technological advances in health care, but that actual caregiving part, that has to remain human," Asrani says.
Retirement for the 80-year-old Millennial's golden years
The prediction: The biggest fear—shared by nearly 80 percent of Millennials—is that while people will live longer, a comfortable retirement will no longer exist.
What the futurists say: Ferrell believes that the frustrated aspirations of the Millennial generation may actually bloom into a creative renaissance during their traditional retirement years.
"There's a very real possibility that the chasing of one's personal dreams and passions manifests itself later in life, when the macroeconomic cards turn in their favor, or after they accumulate that wealth to be able to do those things," Ferrell notes.
Asrani says that while her Millennial generation's future is still being written, she's confident they will find a way, as past generations have, to succeed despite the obstacles.
"The majority of the life I remember has been post-2008, and it has been unpredictable one year after the next," she says. "That's how my generation thinks about the future. We need to be prepared for anything and everything to be disrupted. Now more than ever it's our turn to think about how we want to disrupt things and make the world the place where we want to live."
As for flying cars? Well, Uber recently announced plans for flying taxis are in the works—so the future may be here before you know it.
1003030-00001-00
Scott Gilmore
scott.gilmore@prudential.com


I love tea. It has so many qualities…refreshing, healing, cleansing, warming, cooling. I prefer loose leaf teas…but I have found several "full leaf" bagged teas that I enjoy. If you've never tried loose leaf…you're missing out!
*Ancient Happiness from Gong Fu and Apricot Green from Adagio.
*Rooibos…Vanilla Rooibos is the best.
*Pacific Breeze from Gong Fu…or Citron Oolong by Rishi Tea.
One of my favorite summer teas is Passion Tea by Tazo. You can get it at Starbucks (they make it daily). If you want to get a little wild, try their Passion Tea Lemonade. Yum. Tea is where it's at.
This is embarassing to admit…but I have no idea how to go about drinking loose-leaf tea. I've always just purchased some box of tea bags at the market.
So….if I want to get into loose tea, what would I need to get started (ie equipment)?
Gavrieleh…there are several methods to brewing loose leaf tea. The best, I think, is the steep it in a basket type strainer. You can always use a tea ball, available almost anywhere, but they don't let the leaves move around, and the flavor is compromised. Check out http://www.adagio.com for some good teapots. My favorite for beginners is their IngenuiTEA.


It was 1984, the height of the Personal Robot Age. Robot companies were springing up everywhere, they were the hot ticket. To showcase their products the first annual International Personal Robotics Convention was held. All the big players were in attendance. It must have truly been a site to behold. And then, shortly after it all came crashing down and the era was gone as fast as it started.
The robotics age booth and Polaroid RB Robots had quite the showing Robot People's booth An aisle shot Dig that hair!


I recently attended a funeral for a 32 year previous man that died of pancreatic cancer. Requires health insurance issuers in the small group and individual markets to incorporate coverage which includes defined important benefits, gives a specified actuarial worth, and requires all health plans to comply with limitations on allowable value-sharing.
I love your hub , I used to present my daughter bananas so much ehen they have been forty nine cents a kilo / At $15 a kilo they are a rare treat now, voted you up. You most likely know somebody with a psychological health problem and do not even understand it, as a result of many individuals with mental health issues are extremely energetic and productive members of our communities. Hopefully somebody reading this may remember one thing about this and set the information right.
Banana Face Masks for uninteresting and dry pores and skin, cut back wrinkles – Two medium sized bananas and honey (Non-obligatory). Lower than 1/3 of high school students in 2011 reported getting eight or more hours of sleep per night time. To summarize okra has all these fantastic health benefits that only accrue when it's cooked for as little time as potential and never all benefits will be obtained when it is cooked to dying, like in curries. Developmental, Behavioral and Psychological Health Special Curiosity Group – Member-only network for individuals who have a strong curiosity within the developmental, behavioral and mental health needs of younger kids. The Census report exhibits that in 2010, 16.4 million kids had been dwelling in poverty and seven.three million were with out health insurance. There are some good information in here, but mostly it's just blown ridiculously out of proportion.
Azodicarbonamide is banned in Australia and Europe, and is considered by England's Health and Safety Executive to be a respiratory sensitizer, possibly contributing to asthma by way of occupational exposure. Natural baby carrots nutrition info are similar to these of regular orange carrot.
Vitamin A is a major nutrient found in carrots, and it is good for the health of your eyes — especially these with poor imaginative and prescient. Since much of the vitamin, mineral, and fiber content of potatoes are found in their skin, it is best to eat potatoes with the skin left on. Scrub potatoes beneath working water and remove any bruises or deep eyes with a paring knife. A healthy gut additionally ensures that nutrients from different meals are absorbed nicely thus main to better health total. Also included in this class are residence health companies and hospice care (notice: some plans may restrict protection to no more than forty five days). When researchers on the Health Sciences Institute have been alerted to the news of Graviola,! Preschool and elementary students are nonetheless within the concrete reasonably than abstract thinking mode.


Dr. Dustin Asay is a Wyoming native, and has been in private practice since 2014. He specializes in diagnosing, treating, and managing eye diseases, cataracts, refractive problems and pediatrics. He is also passionate about dry eye disease and works with each patient to create a personalized treatment plan. He is committed and focused on improving life by improving the quality and comfort of your eyes and vision.
Dr. Asay got his undergraduate degree at the University of Wyoming in Math and Natural Sciences. He received his Doctorate of Optometry from The Pennsylvania College of Optometry at Salus University.
Dr. Asay and his wife Amber have two children, Preslee and Thomas. As a family they love going on family trips, and spending time outdoors.


text:
Q: Dotnet core ignores ASPNETCORE_ENVIRONMENT variable I created a simple webapi project with dotnet core.
I'm trying to set the running environment using the ASPNETCORE_ENVIRONMENT system variable.
C:\devel\apps\webapi>set ASPNETCORE_ENVIRONMENT=Production

C:\devel\apps\webapi>echo %ASPNETCORE_ENVIRONMENT%
Production

C:\devel\apps\webapi>dotnet run
Using launch settings from C:\devel\apps\webapi\Properties\launchSettings.json...
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using 'C:\Users\SSCARANO\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: Development
Content root path: C:\devel\apps\webapi
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

I tried opening a different console, and also setting it logged in as administrator, but the app is always running on Development mode.
I saw this (https://stackoverflow.com/a/40102470/47633) related question, but I'm not using IIS

A: I suspect that the issue you're encountering is that the ASPNETCORE_ENVIRONMENT variable is defined in the C:\devel\apps\webapi\Properties\launchSettings.json file.
The way dotnet run works is it loads this file and finds the first profile which commandName is project, and uses it to run the application. There's a high chance, if you haven't made any changes to that file, that the environmentVariables section of that profile contains the ASPNETCORE_ENVIRONMENT variable set to Development.
You have 2 options if you want to run the app in Production mode:

*

*change the existing profile and set the variable to Production, meaning every time you execute dotnet run, it's going to run the app in production mode; or

*add a new profile where the ASPNETCORE_ENVIRONMENT variable is set to Production. You can then use it if you execute dotnet run --launch-profile <name-of-your-new-profile>

A: The problem is how you have set the environment variable. On the command line you don't need the quotes, so you should instead have this:
C:\> set ASPNETCORE_ENVIRONMENT=Production

C:\> echo %ASPNETCORE_ENVIRONMENT%
Production


text:
Home > Webinars > Motions to Reopen Removal Proceedings
Motions to Reopen Removal Proceedings
Looking for your purchased resources? Log in for access!
04/28/2022 11:00am to 12:30pm PDT
Recorded Date:
Registration Deadline:
Thursday, April 28, 2022 - 11:00am
Erin Quinn
Rachel Prandini
Aruna Sury
MCLE:
1.5 CA & TX
Webinar, $155.00
Recording, $120.00
Webinar & Recording, $180.00
This webinar will provide an introduction to the legal requirements and bases for motions to reopen in front of the immigration judge or the BIA. We will discuss filing motions to reopen in absentia orders, motions based on asylum eligibility and motions based on ineffective assistance of counsel. This webinar requires basic understanding of removal proceedings and immigration relief.
Erin Quinn is an attorney based in San Francisco. Her work focuses on building capacity of organizations and practitioners to assist immigrants. She conducts trainings on immigration law throughout the United States and provides legal expertise through the ILRC's Attorney of the Day program. Erin has contributed to numerous ILRC publications as author or editor, including Removal Defense: Defending Immigrants in Immigration Court; Essentials of Asylum and many others. In addition, Erin works on issues related to immigration status and healthcare as well as consumer protection. She has published articles with LexisNexis Emerging Issues and American Immigration Lawyers Association (AILA).
Prior to coming to the ILRC, Erin represented immigrants in all aspects of their immigration matters, with an emphasis on removal defense and complex cases. She was owner and attorney at her own firm for 5 years after defending immigrants as an associate at the Law Office of Robert B. Jobe. Her experience in immigration law and policy includes working as a fellow for the United Nations High Commissioner for Refugees, EU headquarters in Belgium; clerking for the Immigration Court of San Francisco; and teaching courses as a lecturer at California State University, East Bay. Erin is on the Advisory Council for the Northern California Chapter of the American Immigration Lawyers Association (AILA), in which she serves as Consumer Protection Coordinator.
Erin holds a joint degree in law and public policy (JD/MPP) from the University of Michigan, where she was co-editor of Michigan Journal of Gender & Law. She received her undergraduate degree from University of California, Los Angeles, where she majored in English and Anthropology. She is a member of the California Bar and proficient in Spanish.
Rachel is one of ILRC's staff attorneys based in San Francisco. Rachel focuses on immigrant youth issues, including unaccompanied minors and immigrant youth in the juvenile justice and child welfare systems. Rachel provides technical assistance and trainings to immigration and state court attorneys, social workers, and judges. She works on statewide and national policy that affects the rights of immigrant youth and is frequently consulted for her expertise in Special Immigrant Juvenile Status. Rachel co-authored the ILRC's publication Special Immigrant Juvenile Status and Other Immigration Options for Children and Youth.
Prior to joining the ILRC, Rachel represented detained and released unaccompanied minors in removal defense and led a project focusing on Special Immigrant Juvenile Status at Esperanza Immigrant Rights Project in Los Angeles. While at Esperanza, Rachel also performed "Know Your Rights" work in southern California immigration detention centers for minors. Previously, Rachel worked as an associate at Paul Hastings, LLP and volunteered as a Child Advocate for unaccompanied minors.
Rachel earned her law degree from the University of California at Davis, where she was a member of the Immigration Law Clinic and worked on complex deportation defense cases and detention issues. She received her undergraduate degree from Westmont College, where she double-majored in philosophy and political science. Rachel is admitted to the bar in California. She is conversant in Spanish.
Aruna Sury is an immigration attorney with vast experience in removal defense, immigration consequences of crimes, and federal appeals. She is based in Seattle, WA and provides consultation and litigation support to attorneys throughout the country. Through ILRC's Attorney of the Day program, Aruna provides legal guidance to criminal defense and immigration counsel. She regularly contributes to ILRC publications by authoring and updating content that enables practitioners to provide high quality representation to their clients. Aruna also presents ILRC trainings and CLE courses on a variety of topics.
Since obtaining her law degree from the University of Texas at Austin in 2001, Aruna has dedicated her career to the areas of immigration and civil rights in various settings in San Francisco, Seattle, and Austin. She has worked in law firm and solo practice environments as well as in non-profit and public organizations, including Washington Defender Association, University of Washington, Kids in Need of Defense, and Political Asylum Project of Austin (now American Gateways). Aruna's personal interest is in immigrants' due process rights, particularly the right to effective counsel and expansive access to judicial review. She has secured published and unpublished Ninth Circuit decisions in these and other areas. She has also successfully litigated cases in the First, Fourth, Fifth, and Eleventh Circuits.


text:
Browsing by Subject "Skolt Sami language"
An Open Online Dictionary for Endangered Uralic Languages
Hämäläinen, Mika; Rueter, Jack (Lexical Computing CZ s.r.o., 2019)
Electronic lexicography in the 21st century
Numerals and what counts
Rueter, Jack; Partanen, Niko; Pirinen, Tommi A (The Association for Computational Linguistics, 2021)
This study discusses the way different numerals and related expressions are currently annotated in the Universal Dependencies project, with a specific focus on the Uralic language family and only occasional references to the other language groups. We analyse different annotation conventions between individual treebanks, and aim to highlight some areas where further development work and systematization could prove beneficial. At the same time, the Universal Dependencies project already offers a wide range of conventions to mark nuanced variation in numerals and counting expressions, and the harmonization of conventions between different languages could be the next step to take. The discussion here makes specific reference to Universal Dependencies version 2.8, and some differences found may already have been harmonized in version 2.9. Regardless of whether this takes place or not, we believe that the study still forms an important documentation of this period in the project.
On Editing Dictionaries for Uralic Languages in an Online Environment
Alnajjar, Khalid; Hämäläinen, Mika; Rueter, Jack (The Association for Computational Linguistics, 2020)


We have more than 25 years of experience in the construction industry! Planning, implementation, real estate development and property management – we have done it all and have realised that we need an all-embracing documentation tool. This is why in the beginning of 2016, we founded our new brand Housebook and developed an application for construction managers, proprietors, service providers, craftspeople and administrators enabling the digital documentation of all processes within a property.


Thanks to technological advances made over the last two decades, students are no longer limited to learning in traditional classroom environments. Online education options have proliferated, with significant growth occurring at state-sponsored virtual schools allowing students and parents to choose virtual schooling as a viable educational option. During the 2012-2013 school year, 400 full-time virtual schools enrolling nearly 261,000 students were in operation across the country.
In addition, students can take online courses from virtual schools to augment their brick and mortar classroom. Online learning offers school districts, teachers and students access to courses and resources that might not be available in their school.
• Learning outside the classroom: Students, including those who may be homebound for health or personal reasons, use technology to learn and grow in the comfort of familiar environments.
• Personal attention: One-on-one teacher/student contact enables teachers to better focus on each student's unique needs and provide a more customized approach to learning.
• Personalized learning: Students and parents create self-paced learning schedules that work for them based on their hobbies, activities, passions and travel and work schedules.
• Access to more courses: Students can explore course options that meet their unique needs or special interests.
• Global competence skills: Online education opens doors to the world and provides access for students to engage and communicate with other students across the globe; enhancing their world view and global competence.
Most importantly, virtual schools work.
One great example of how school districts across the nation embrace technology is the Guthrie Common School District (GCSD.) Although it serves the third-smallest county in the United States, it lacks neither talented educators nor vision. Located in rural west Texas, the school district recognized the fundamental shifts that were occurring in education and resolved to not only begin leveraging the vast world of educational opportunity, but to become a provider of exemplary education to other rural districts throughout the state.
Realizing the power of blended and personalized learning to address the gaps created by limited resources, GCSD established the Guthrie Virtual School (GVS) to provide the very best in online learning, with its efforts focused primarily on small and rural school districts that offer limited options for their students. In 2015, GVS's online learning averaged a 95 percent completion rate.
Halfway across the country, Florida Virtual School (FLVS), the nation's first state-wide, internet-based public high school, was established in 1997 to provide virtual K-12 education solutions to students not only in the state of Florida, but throughout the U.S. and the world.
Both of these Virtual Schools recognized the importance of bilingualism to the futures of its students in an increasingly global workforce, but were each saddled with unique challenges - ranging from scarce resources to a lack of qualified foreign language instructors.
With a foreign language credit required for graduation and only one language instructor in the district, GVS added a Spanish component, which the district sought to have approved by the Texas Virtual School Network - serving more than 2,000 students throughout Texas - so other rural districts could offer Spanish to its students. Because of this implementation, Guthrie students were able to fulfill their language requirement for graduation.
The GVS's Spanish I and II courses were approved by the state, and the program started with 175 students statewide. Spanish III was recently added, and the program has grown to 850 students, all receiving Spanish credit in the 2014-2015 academic year. The program is currently investigating adding French and German to its course catalog.
A nationally recognized e-learning model, Florida Virtual School needed a digital solution to complement virtual instruction that focused on conversational Spanish at beginning levels, opening the door to higher levels of study. With a focus on part-time students, the school wanted a program that would afford students access to a foreign language course outside of the regular school day and one that could expedite study for students to earn credit through a shortened semester offering. FLVS developed a new virtual Spanish I course. As a result, course completion time was reduced by 12.5 percent.
These are just two example of how virtual schools are re-imagining what is possible in public school education today on both a national and global scale. By creating choices for both students and parents and providing access to high-quality education outside classroom walls, it empowers them to customize an education that meets the scope of aspirations as diverse as our student population.


Undine by Friedrich de la Motte Fouqué.
Home » Undine by Friedrich de la Motte Fouqué.
THE seas, the rivers and brooks contain the numberless tribes of Water-sprites.
Those that dwell there below are noble and lovely to behold, far more so than mankind. Many a fisherman has had a passing glimpse of some fair water nymph, rising out of the sea with her song; he would then spread the report of her apparation, and these wonderful beings came to be called Undines.
And you now see before you, my love, an Undine.
"Undine" by Friedrich de la Motte Fouqué. Muller, Artist.
Friedrich Heinrich Karl Baron de la Motte Fouqué (pseudonyms Pellegrin and A.L.T. Frank; 1777-1843) came from a old aristocratic French Huguenot family. He spent his youth in castles and manor houses of Brandenburg. Especially in the years 1810-1820 he was one of the central figures of the literary life in Berlin and one of the first German romantic poets, considered as representative of the "romantic historicism". The old sagas of the north and the stories of the French knights of the Middle Ages flowed with him together to a fantastic world. In May 1795 he met Elisabeth of Breitenbauch which became the prototype of the "Undine". Undine, interspersed with fantastic elements, partly in fairytale written story, appeared in 1811 in his magazine The Seasons, A quarterly magazine for romantic seals, and as a book.
Quote: Cried and bled there must after all be in this antechamber of the actual eternal life. It weeps and bleeds but is at its best when one is still young.
This entry was posted in 19th Century, Fairy Tales, Genre, Germany, Romantic Era and tagged Character sketches, Romanticism fashion on 5/29/15 by world4.


Narrabri Shire Council hereby notifies that the Ordinary Meeting of Council will be held on MONDAY, 17 December 2018, at the Narrabri Shire Council Chambers, 46-48 Maitland Street, Narrabri.
The Meeting will commence at 1.00pm with the Public Forum.
If anyone is interested in addressing an agenda item at the Public Forum, for the meeting on Monday 17 December 2018, please contact the General Manager on 6799 6833 before 5.00pm on Friday 14 December 2018. You will need to complete the "Request to Speak at Public Forum" form that is available on the Council website, and advise your name, address and the agenda item you wish to speak on, and the subject of your address.


text:
Q: Giving Access Denied error ini IE7/8 and NS_ERROR_PROXY_CONNECTION_REFUSED in firefox I am using JQuery, FLXHR for Cross browser authentications.
I have implemented JQuery FLXHR to my project, all is working fine till I am using the same domain for example if my login page is (http://staging/login/loginpopup.aspx) and its sending the request to (http://staging/login/login.aspx) for user authentication it works great, just when I change it for HTTPS request, I mean when I send to HTTPS request (https://staging/login/login.aspx) from HTTP it is giving error "text/html (NS_ERROR_PROXY_CONNECTION_REFUSED)" in firefox and "Access Denied" error in IE7 and IE8.
If I see in Response Header in HTTPFOX it shows below content.
(Status-Line)   HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )
Via 1.1 DXBMIPX12
Proxy-Authenticate  Negotiate
Kerberos
NTLM
Connection  close
Proxy-Connection    close
Pragma  no-cache
Cache-Control   no-cache
Content-Type    text/html
Content-Length  727

Please suggest what I am missing or what changes are required to fix it.

A: If your sending an ajax request from http to https then it is considered cross domain thus falling foul of the same origin policy.
Firefox 3.5+ has a feature to enable cross domain calls as described here, however this is not a cross browser solution (yet).

A: The issue is resolved with example code here


text:
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: sw=2 ts=2 et :
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "PluginScriptableObjectChild.h"
#include "PluginScriptableObjectUtils.h"
#include "PluginIdentifierChild.h"

using namespace mozilla::plugins;

namespace {
typedef PluginIdentifierChild::StackIdentifier StackIdentifier;
}

// static
NPObject*
PluginScriptableObjectChild::ScriptableAllocate(NPP aInstance,
                                                NPClass* aClass)
{
  AssertPluginThread();

  if (aClass != GetClass()) {
    NS_RUNTIMEABORT("Huh?! Wrong class!");
  }

  return new ChildNPObject();
}

// static
void
PluginScriptableObjectChild::ScriptableInvalidate(NPObject* aObject)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    // This can happen more than once, and is just fine.
    return;
  }

  object->invalidated = true;
}

// static
void
PluginScriptableObjectChild::ScriptableDeallocate(NPObject* aObject)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  PluginScriptableObjectChild* actor = object->parent;
  if (actor) {
    NS_ASSERTION(actor->Type() == Proxy, "Bad type!");
    actor->DropNPObject();
  }

  delete object;
}

// static
bool
PluginScriptableObjectChild::ScriptableHasMethod(NPObject* aObject,
                                                 NPIdentifier aName)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  bool result;
  actor->CallHasMethod(static_cast<PPluginIdentifierChild*>(aName), &result);

  return result;
}

// static
bool
PluginScriptableObjectChild::ScriptableInvoke(NPObject* aObject,
                                              NPIdentifier aName,
                                              const NPVariant* aArgs,
                                              uint32_t aArgCount,
                                              NPVariant* aResult)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  ProtectedVariantArray args(aArgs, aArgCount, actor->GetInstance());
  if (!args.IsOk()) {
    NS_ERROR("Failed to convert arguments!");
    return false;
  }

  Variant remoteResult;
  bool success;
  actor->CallInvoke(static_cast<PPluginIdentifierChild*>(aName), args,
                    &remoteResult, &success);

  if (!success) {
    return false;
  }

  ConvertToVariant(remoteResult, *aResult);
  return true;
}

// static
bool
PluginScriptableObjectChild::ScriptableInvokeDefault(NPObject* aObject,
                                                     const NPVariant* aArgs,
                                                     uint32_t aArgCount,
                                                     NPVariant* aResult)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  ProtectedVariantArray args(aArgs, aArgCount, actor->GetInstance());
  if (!args.IsOk()) {
    NS_ERROR("Failed to convert arguments!");
    return false;
  }

  Variant remoteResult;
  bool success;
  actor->CallInvokeDefault(args, &remoteResult, &success);

  if (!success) {
    return false;
  }

  ConvertToVariant(remoteResult, *aResult);
  return true;
}

// static
bool
PluginScriptableObjectChild::ScriptableHasProperty(NPObject* aObject,
                                                   NPIdentifier aName)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  bool result;
  actor->CallHasProperty(static_cast<PPluginIdentifierChild*>(aName), &result);

  return result;
}

// static
bool
PluginScriptableObjectChild::ScriptableGetProperty(NPObject* aObject,
                                                   NPIdentifier aName,
                                                   NPVariant* aResult)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  Variant result;
  bool success;
  actor->CallGetParentProperty(static_cast<PPluginIdentifierChild*>(aName),
                               &result, &success);

  if (!success) {
    return false;
  }

  ConvertToVariant(result, *aResult);
  return true;
}

// static
bool
PluginScriptableObjectChild::ScriptableSetProperty(NPObject* aObject,
                                                   NPIdentifier aName,
                                                   const NPVariant* aValue)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  ProtectedVariant value(*aValue, actor->GetInstance());
  if (!value.IsOk()) {
    NS_WARNING("Failed to convert variant!");
    return false;
  }

  bool success;
  actor->CallSetProperty(static_cast<PPluginIdentifierChild*>(aName), value,
                         &success);

  return success;
}

// static
bool
PluginScriptableObjectChild::ScriptableRemoveProperty(NPObject* aObject,
                                                      NPIdentifier aName)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  bool success;
  actor->CallRemoveProperty(static_cast<PPluginIdentifierChild*>(aName),
                            &success);

  return success;
}

// static
bool
PluginScriptableObjectChild::ScriptableEnumerate(NPObject* aObject,
                                                 NPIdentifier** aIdentifiers,
                                                 uint32_t* aCount)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  AutoInfallibleTArray<PPluginIdentifierChild*, 10> identifiers;
  bool success;
  actor->CallEnumerate(&identifiers, &success);

  if (!success) {
    return false;
  }

  *aCount = identifiers.Length();
  if (!*aCount) {
    *aIdentifiers = nullptr;
    return true;
  }

  *aIdentifiers = reinterpret_cast<NPIdentifier*>(
      PluginModuleChild::sBrowserFuncs.memalloc(*aCount * sizeof(NPIdentifier)));
  if (!*aIdentifiers) {
    NS_ERROR("Out of memory!");
    return false;
  }

  for (uint32_t index = 0; index < *aCount; index++) {
    (*aIdentifiers)[index] =
      static_cast<PPluginIdentifierChild*>(identifiers[index]);
  }
  return true;
}

// static
bool
PluginScriptableObjectChild::ScriptableConstruct(NPObject* aObject,
                                                 const NPVariant* aArgs,
                                                 uint32_t aArgCount,
                                                 NPVariant* aResult)
{
  AssertPluginThread();

  if (aObject->_class != GetClass()) {
    NS_RUNTIMEABORT("Don't know what kind of object this is!");
  }

  ChildNPObject* object = reinterpret_cast<ChildNPObject*>(aObject);
  if (object->invalidated) {
    NS_WARNING("Calling method on an invalidated object!");
    return false;
  }

  ProtectedActor<PluginScriptableObjectChild> actor(object->parent);
  NS_ASSERTION(actor, "This shouldn't ever be null!");
  NS_ASSERTION(actor->Type() == Proxy, "Bad type!");

  ProtectedVariantArray args(aArgs, aArgCount, actor->GetInstance());
  if (!args.IsOk()) {
    NS_ERROR("Failed to convert arguments!");
    return false;
  }

  Variant remoteResult;
  bool success;
  actor->CallConstruct(args, &remoteResult, &success);

  if (!success) {
    return false;
  }

  ConvertToVariant(remoteResult, *aResult);
  return true;
}

const NPClass PluginScriptableObjectChild::sNPClass = {
  NP_CLASS_STRUCT_VERSION,
  PluginScriptableObjectChild::ScriptableAllocate,
  PluginScriptableObjectChild::ScriptableDeallocate,
  PluginScriptableObjectChild::ScriptableInvalidate,
  PluginScriptableObjectChild::ScriptableHasMethod,
  PluginScriptableObjectChild::ScriptableInvoke,
  PluginScriptableObjectChild::ScriptableInvokeDefault,
  PluginScriptableObjectChild::ScriptableHasProperty,
  PluginScriptableObjectChild::ScriptableGetProperty,
  PluginScriptableObjectChild::ScriptableSetProperty,
  PluginScriptableObjectChild::ScriptableRemoveProperty,
  PluginScriptableObjectChild::ScriptableEnumerate,
  PluginScriptableObjectChild::ScriptableConstruct
};

PluginScriptableObjectChild::PluginScriptableObjectChild(
                                                     ScriptableObjectType aType)
: mInstance(nullptr),
  mObject(nullptr),
  mInvalidated(false),
  mProtectCount(0),
  mType(aType)
{
  AssertPluginThread();
}

PluginScriptableObjectChild::~PluginScriptableObjectChild()
{
  AssertPluginThread();

  if (mObject) {
    PluginModuleChild::current()->UnregisterActorForNPObject(mObject);

    if (mObject->_class == GetClass()) {
      NS_ASSERTION(mType == Proxy, "Wrong type!");
      static_cast<ChildNPObject*>(mObject)->parent = nullptr;
    }
    else {
      NS_ASSERTION(mType == LocalObject, "Wrong type!");
      PluginModuleChild::sBrowserFuncs.releaseobject(mObject);
    }
  }
}

void
PluginScriptableObjectChild::InitializeProxy()
{
  AssertPluginThread();
  NS_ASSERTION(mType == Proxy, "Bad type!");
  NS_ASSERTION(!mObject, "Calling Initialize more than once!");
  NS_ASSERTION(!mInvalidated, "Already invalidated?!");

  mInstance = static_cast<PluginInstanceChild*>(Manager());
  NS_ASSERTION(mInstance, "Null manager?!");

  NPObject* object = CreateProxyObject();
  NS_ASSERTION(object, "Failed to create object!");

  if (!PluginModuleChild::current()->RegisterActorForNPObject(object, this)) {
    NS_ERROR("Out of memory?");
  }

  mObject = object;
}

void
PluginScriptableObjectChild::InitializeLocal(NPObject* aObject)
{
  AssertPluginThread();
  NS_ASSERTION(mType == LocalObject, "Bad type!");
  NS_ASSERTION(!mObject, "Calling Initialize more than once!");
  NS_ASSERTION(!mInvalidated, "Already invalidated?!");

  mInstance = static_cast<PluginInstanceChild*>(Manager());
  NS_ASSERTION(mInstance, "Null manager?!");

  PluginModuleChild::sBrowserFuncs.retainobject(aObject);

  NS_ASSERTION(!mProtectCount, "Should be zero!");
  mProtectCount++;

  if (!PluginModuleChild::current()->RegisterActorForNPObject(aObject, this)) {
      NS_ERROR("Out of memory?");
  }

  mObject = aObject;
}

NPObject*
PluginScriptableObjectChild::CreateProxyObject()
{
  NS_ASSERTION(mInstance, "Must have an instance!");
  NS_ASSERTION(mType == Proxy, "Shouldn't call this for non-proxy object!");

  NPClass* proxyClass = const_cast<NPClass*>(GetClass());
  NPObject* npobject =
    PluginModuleChild::sBrowserFuncs.createobject(mInstance->GetNPP(),
                                                  proxyClass);
  NS_ASSERTION(npobject, "Failed to create object?!");
  NS_ASSERTION(npobject->_class == GetClass(), "Wrong kind of object!");
  NS_ASSERTION(npobject->referenceCount == 1, "Some kind of live object!");

  ChildNPObject* object = static_cast<ChildNPObject*>(npobject);
  NS_ASSERTION(!object->invalidated, "Bad object!");
  NS_ASSERTION(!object->parent, "Bad object!");

  // We don't want to have the actor own this object but rather let the object
  // own this actor. Set the reference count to 0 here so that when the object
  // dies we will send the destructor message to the child.
  object->referenceCount = 0;
  NS_LOG_RELEASE(object, 0, "NPObject");

  object->parent = const_cast<PluginScriptableObjectChild*>(this);
  return object;
}

bool
PluginScriptableObjectChild::ResurrectProxyObject()
{
  NS_ASSERTION(mInstance, "Must have an instance already!");
  NS_ASSERTION(!mObject, "Should not have an object already!");
  NS_ASSERTION(mType == Proxy, "Shouldn't call this for non-proxy object!");

  NPObject* object = CreateProxyObject();
  if (!object) {
    NS_WARNING("Failed to create object!");
    return false;
  }

  InitializeProxy();
  NS_ASSERTION(mObject, "Initialize failed!");

  SendProtect();
  return true;
}

NPObject*
PluginScriptableObjectChild::GetObject(bool aCanResurrect)
{
  if (!mObject && aCanResurrect && !ResurrectProxyObject()) {
    NS_ERROR("Null object!");
    return nullptr;
  }
  return mObject;
}

void
PluginScriptableObjectChild::Protect()
{
  NS_ASSERTION(mObject, "No object!");
  NS_ASSERTION(mProtectCount >= 0, "Negative retain count?!");

  if (mType == LocalObject) {
    ++mProtectCount;
  }
}

void
PluginScriptableObjectChild::Unprotect()
{
  NS_ASSERTION(mObject, "Bad state!");
  NS_ASSERTION(mProtectCount >= 0, "Negative retain count?!");

  if (mType == LocalObject) {
    if (--mProtectCount == 0) {
      PluginScriptableObjectChild::Send__delete__(this);
    }
  }
}

void
PluginScriptableObjectChild::DropNPObject()
{
  NS_ASSERTION(mObject, "Invalidated object!");
  NS_ASSERTION(mObject->_class == GetClass(), "Wrong type of object!");
  NS_ASSERTION(mType == Proxy, "Shouldn't call this for non-proxy object!");

  // We think we're about to be deleted, but we could be racing with the other
  // process.
  PluginModuleChild::current()->UnregisterActorForNPObject(mObject);
  mObject = nullptr;

  SendUnprotect();
}

void
PluginScriptableObjectChild::NPObjectDestroyed()
{
  NS_ASSERTION(LocalObject == mType,
               "ScriptableDeallocate should have handled this for proxies");
  mInvalidated = true;
  mObject = NULL;
}

bool
PluginScriptableObjectChild::AnswerInvalidate()
{
  AssertPluginThread();

  if (mInvalidated) {
    return true;
  }

  mInvalidated = true;

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (mObject->_class && mObject->_class->invalidate) {
    mObject->_class->invalidate(mObject);
  }

  Unprotect();

  return true;
}

bool
PluginScriptableObjectChild::AnswerHasMethod(PPluginIdentifierChild* aId,
                                             bool* aHasMethod)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerHasMethod with an invalidated object!");
    *aHasMethod = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->hasMethod)) {
    *aHasMethod = false;
    return true;
  }

  StackIdentifier id(aId);
  *aHasMethod = mObject->_class->hasMethod(mObject, id->ToNPIdentifier());
  return true;
}

bool
PluginScriptableObjectChild::AnswerInvoke(PPluginIdentifierChild* aId,
                                          const InfallibleTArray<Variant>& aArgs,
                                          Variant* aResult,
                                          bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerInvoke with an invalidated object!");
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->invoke)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  nsAutoTArray<NPVariant, 10> convertedArgs;
  uint32_t argCount = aArgs.Length();

  if (!convertedArgs.SetLength(argCount)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  for (uint32_t index = 0; index < argCount; index++) {
    ConvertToVariant(aArgs[index], convertedArgs[index]);
  }

  NPVariant result;
  VOID_TO_NPVARIANT(result);
  StackIdentifier id(aId);
  bool success = mObject->_class->invoke(mObject, id->ToNPIdentifier(),
                                         convertedArgs.Elements(), argCount,
                                         &result);

  for (uint32_t index = 0; index < argCount; index++) {
    PluginModuleChild::sBrowserFuncs.releasevariantvalue(&convertedArgs[index]);
  }

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  Variant convertedResult;
  success = ConvertToRemoteVariant(result, convertedResult, GetInstance(),
                                   false);

  DeferNPVariantLastRelease(&PluginModuleChild::sBrowserFuncs, &result);

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  *aSuccess = true;
  *aResult = convertedResult;
  return true;
}

bool
PluginScriptableObjectChild::AnswerInvokeDefault(const InfallibleTArray<Variant>& aArgs,
                                                 Variant* aResult,
                                                 bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerInvokeDefault with an invalidated object!");
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->invokeDefault)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  nsAutoTArray<NPVariant, 10> convertedArgs;
  uint32_t argCount = aArgs.Length();

  if (!convertedArgs.SetLength(argCount)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  for (uint32_t index = 0; index < argCount; index++) {
    ConvertToVariant(aArgs[index], convertedArgs[index]);
  }

  NPVariant result;
  VOID_TO_NPVARIANT(result);
  bool success = mObject->_class->invokeDefault(mObject,
                                                convertedArgs.Elements(),
                                                argCount, &result);

  for (uint32_t index = 0; index < argCount; index++) {
    PluginModuleChild::sBrowserFuncs.releasevariantvalue(&convertedArgs[index]);
  }

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  Variant convertedResult;
  success = ConvertToRemoteVariant(result, convertedResult, GetInstance(),
                                   false);

  DeferNPVariantLastRelease(&PluginModuleChild::sBrowserFuncs, &result);

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  *aResult = convertedResult;
  *aSuccess = true;
  return true;
}

bool
PluginScriptableObjectChild::AnswerHasProperty(PPluginIdentifierChild* aId,
                                               bool* aHasProperty)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerHasProperty with an invalidated object!");
    *aHasProperty = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->hasProperty)) {
    *aHasProperty = false;
    return true;
  }

  StackIdentifier id(aId);
  *aHasProperty = mObject->_class->hasProperty(mObject, id->ToNPIdentifier());
  return true;
}

bool
PluginScriptableObjectChild::AnswerGetChildProperty(PPluginIdentifierChild* aId,
                                                    bool* aHasProperty,
                                                    bool* aHasMethod,
                                                    Variant* aResult,
                                                    bool* aSuccess)
{
  AssertPluginThread();

  *aHasProperty = *aHasMethod = *aSuccess = false;
  *aResult = void_t();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerGetProperty with an invalidated object!");
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->hasProperty &&
        mObject->_class->hasMethod && mObject->_class->getProperty)) {
    return true;
  }

  StackIdentifier stackID(aId);
  NPIdentifier id = stackID->ToNPIdentifier();

  *aHasProperty = mObject->_class->hasProperty(mObject, id);
  *aHasMethod = mObject->_class->hasMethod(mObject, id);

  if (*aHasProperty) {
    NPVariant result;
    VOID_TO_NPVARIANT(result);

    if (!mObject->_class->getProperty(mObject, id, &result)) {
      return true;
    }

    Variant converted;
    if ((*aSuccess = ConvertToRemoteVariant(result, converted, GetInstance(),
                                            false))) {
      DeferNPVariantLastRelease(&PluginModuleChild::sBrowserFuncs, &result);
      *aResult = converted;
    }
  }

  return true;
}

bool
PluginScriptableObjectChild::AnswerSetProperty(PPluginIdentifierChild* aId,
                                               const Variant& aValue,
                                               bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerSetProperty with an invalidated object!");
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->hasProperty &&
        mObject->_class->setProperty)) {
    *aSuccess = false;
    return true;
  }

  StackIdentifier stackID(aId);
  NPIdentifier id = stackID->ToNPIdentifier();

  if (!mObject->_class->hasProperty(mObject, id)) {
    *aSuccess = false;
    return true;
  }

  NPVariant converted;
  ConvertToVariant(aValue, converted);

  if ((*aSuccess = mObject->_class->setProperty(mObject, id, &converted))) {
    PluginModuleChild::sBrowserFuncs.releasevariantvalue(&converted);
  }
  return true;
}

bool
PluginScriptableObjectChild::AnswerRemoveProperty(PPluginIdentifierChild* aId,
                                                  bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerRemoveProperty with an invalidated object!");
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->hasProperty &&
        mObject->_class->removeProperty)) {
    *aSuccess = false;
    return true;
  }

  StackIdentifier stackID(aId);
  NPIdentifier id = stackID->ToNPIdentifier();
  *aSuccess = mObject->_class->hasProperty(mObject, id) ?
              mObject->_class->removeProperty(mObject, id) :
              true;

  return true;
}

bool
PluginScriptableObjectChild::AnswerEnumerate(InfallibleTArray<PPluginIdentifierChild*>* aProperties,
                                             bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerEnumerate with an invalidated object!");
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->enumerate)) {
    *aSuccess = false;
    return true;
  }

  NPIdentifier* ids;
  uint32_t idCount;
  if (!mObject->_class->enumerate(mObject, &ids, &idCount)) {
    *aSuccess = false;
    return true;
  }

  if (!aProperties->SetCapacity(idCount)) {
    PluginModuleChild::sBrowserFuncs.memfree(ids);
    *aSuccess = false;
    return true;
  }

  for (uint32_t index = 0; index < idCount; index++) {
    PluginIdentifierChild* id = static_cast<PluginIdentifierChild*>(ids[index]);
    aProperties->AppendElement(id);
  }

  PluginModuleChild::sBrowserFuncs.memfree(ids);
  *aSuccess = true;
  return true;
}

bool
PluginScriptableObjectChild::AnswerConstruct(const InfallibleTArray<Variant>& aArgs,
                                             Variant* aResult,
                                             bool* aSuccess)
{
  AssertPluginThread();

  if (mInvalidated) {
    NS_WARNING("Calling AnswerConstruct with an invalidated object!");
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  if (!(mObject->_class && mObject->_class->construct)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  nsAutoTArray<NPVariant, 10> convertedArgs;
  uint32_t argCount = aArgs.Length();

  if (!convertedArgs.SetLength(argCount)) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  for (uint32_t index = 0; index < argCount; index++) {
    ConvertToVariant(aArgs[index], convertedArgs[index]);
  }

  NPVariant result;
  VOID_TO_NPVARIANT(result);
  bool success = mObject->_class->construct(mObject, convertedArgs.Elements(),
                                            argCount, &result);

  for (uint32_t index = 0; index < argCount; index++) {
    PluginModuleChild::sBrowserFuncs.releasevariantvalue(&convertedArgs[index]);
  }

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  Variant convertedResult;
  success = ConvertToRemoteVariant(result, convertedResult, GetInstance(),
                                   false);

  DeferNPVariantLastRelease(&PluginModuleChild::sBrowserFuncs, &result);

  if (!success) {
    *aResult = void_t();
    *aSuccess = false;
    return true;
  }

  *aResult = convertedResult;
  *aSuccess = true;
  return true;
}

bool
PluginScriptableObjectChild::RecvProtect()
{
  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  Protect();
  return true;
}

bool
PluginScriptableObjectChild::RecvUnprotect()
{
  NS_ASSERTION(mObject->_class != GetClass(), "Bad object type!");
  NS_ASSERTION(mType == LocalObject, "Bad type!");

  Unprotect();
  return true;
}

bool
PluginScriptableObjectChild::Evaluate(NPString* aScript,
                                      NPVariant* aResult)
{
  nsDependentCString script("");
  if (aScript->UTF8Characters && aScript->UTF8Length) {
    script.Rebind(aScript->UTF8Characters, aScript->UTF8Length);
  }

  bool success;
  Variant result;
  CallNPN_Evaluate(script, &result, &success);

  if (!success) {
    return false;
  }

  ConvertToVariant(result, *aResult);
  return true;
}

redpajama_set_name: RedPajamaGithub


Be a man at least 18 years of age, be of good moral character, have a personal belief in a Supreme Being (the definition of a Supreme Being is up to you), decide to become a Mason of "your own free will and accord," be loyal to your country, be dedicated to providing for your own family, have a sincere determination to conduct yourself in a manner that will earn the respect and trust of others, and possess a desire to help others through community service and universal benevolence.
Talk with someone you know who is a member of the Fraternity. If you do not know anyone who is a Mason, just contact Dentsville Lodge No. 398, a lodge in your neighborhood, or the Grand Lodge of South Carolina. Masons do not solicit for members. You'll need to express your personal interest in joining the Fraternity. Complete a petition for membership and return it to your local lodge with your degree fees. Three members will meet with you to answer your questions. Then, your petition will be presented for secret ballot. If accepted, you will be notified to appear to receive the first of three Degrees of Masonry.


Many areas in Greater Lansing are now a balanced market - meaning neither a buyers or sellers market. What does this mean for you? It means listings are down compared to the last couple years and prices are starting to stabilize. It is still a great time to move, especially for move-up buyers. Fill in the info below for a few great seller tips. Feel free to contact me about your area. Don't forget to check out the market statistics links on my other page.


Non-printed or prepared materials manage without jogging process.
POLAR CuttingSystem 300 handling medium sizes (up to 75 x 106 cm) are already semi-automated, because loading and unloading of the high-speed cutter are carried out automatically. This results in performance increase of up to 100 percent, and a substantial improvement of ergonomic conditions.
The workflow: Transomat TR 1 BL automatically pulls the material being cut from the stack onto the Transomat pallet and a pusher takes it to the high-speed cutter front table. After cutting, the Transomat E unit automatically stacks the completed reams on pallets.
Optional POLAR components with performance-enhancing features are available : The loading Transomat TR 3 BL ensures non-intersecting loading of the material onto the rear table of the high-speed cutter. Consequently, while the cutting machine is unloaded the new ream to be cut can already be transported onto the rear table.
High-speed cutter model POLAR "PRO" further optimizes the overall output of the systems.


text:
MacNaughton Clan History
The earliest reference to the clan MacNaughton connects them with the great Pictish rulers of Moray. The name 'Nechtan' which means 'pure' or 'clear' was popular in the Pictish royal line, and the progenitor of the clan is thought to be Nechtan Mor, who lived in the tenth century.
The MacNaughton family opposed Robert the Bruce in his attempt to gain the throne of Scotland and, as a result, forfeited many of their lands when he became king. The fortunes of the clan were somewhat restored by David II when he granted them lands in Lewis.
The direct line of the MacNaughtons died out around 1700 with John MacNaughton, who tried to salvage his fortunes by marrying the second daughter of Sir James Campbell of Ardkinglass. Sir James, however, tricked him into marrying his eldest daughter instead by plying him with drink until he was unable to fully comprehend what was happening. MacNaughton, when he sobered up, fled to Ireland with his original choice and Ardkinglass accused him of incest. MacNaughton was found guilty and Ardkinglass was compensated with the remains of the MacNaughton property.
After this incident, the chiefship remained dormant until the nineteenth century when it was discovered that the direct line of the family could be traced to another John MacNaughton, known as 'Shane Dhu', who had emigrated to Antrim in 1580. His great-grandson Alexander was recognised as chief of the clan in 1818.
Tags: Clan-macnaughton
Sign up for great deals , news, clan stories etc.


EMR are working with the UK's leading independent agency to hire a Group Account Director on a permanent basis. You will manage the senior client facing team within the agency, who look after accounts in the property sector.
You will lead and develop account teams, and have the ability to grow the group further. You will also be tasked with adding value by developing senior client relationships and helping the group build their offering and develop the strategic framework.
You will have an exceptional track record growing accounts, leading integrated communications campaigns, and nurturing internal talent to create successful teams.
The role will require 1-2 days per week in London, the South Coast, and the remote management of a team in the Midlands, so the desire to work in multiple locations is a must.
The role offers a generous salary, with performance related bonuses and excellent benefits.


There are also Year End charts. Billboard top 40 rock albums.
The charts may be dedicated to specific genre such as R& B rock, country they may cover all genres. The chart debuted in the magazine as Hot R& B LPs in 1965 were also called Top Black Albums; fromthey were identified as Soul charts. The Official UK Singles Chart and the Official UK Album presents The Top Pop Songs Of All Time! The results are published in Billboard magazine. The name of the chart was changed from Top R& B Albums in 1999. Billboard biz the online extension of the Billboard charts provides additional weekly charts. Top R& B/ Hip- Hop Albums is a chart published by Billboard magazine that ranks R& B hip hop albums based on sales in the United States is compiled by Nielsen SoundScan.
We have ranked the top pop songs that have charted over the past 50+ years on The ARC Weekly Top 40 and Billboard.
Top Rock Albums ranks the most popular rock albums of the week, as compiled by Nielsen Music, based on multi- metric consumption ( blending traditional album sales, track equivalent albums, and. Customer Service; Subscribe; Buy this issue; Billboard biz.
The online extension of Billboard Magazine, is the essential online destination for the music business. The Billboard charts tabulate the relative weekly popularity of songs and albums in the United States and elsewhere.


Budapest, October 19 (MTI) – Members of the Counter Terrorism Centre (TEK) have arrested a suspect in the September 24 Budapest bomb attack, public television M1 reported on Wednesday citing TEK sources.
News portals 24.hu and Ripost received the same information but MTI was unable to confirm the reports after contacting several authorities.
Spokesperson of the central investigation authority Andrea Nagy said no information could be released about the investigation for the time being.
Two police officers, a 23-year-old woman, and a 26-year-old man, were injured when walking past a ground-level shop near the Grand Boulevard in central Budapest, doing their regular rounds, at 10.36pm on September 24. A homemade shrapnel bomb was used in the explosion.
Budapest, October 20 (MTI) – Authorities have detained a young Hungarian in connection with the late September bomb attack in central Budapest.
On September 24, two police officers were seriously injured when a homemade shrapnel bomb exploded on Grand Boulevard.
Keresztes said that the suspect, who has no criminal record, appealed against his detention.
Prime Minister Viktor Orbán congratulated the police and thanked them for their efforts. "We are proud of our police… they have proved that Hungary is a safe place where no crime will go unpunished," the prime minister told MTI.
The suspect was arrested in southwestern Hungary's Keszthely, the head of counter-terrorism force TEK told a press conference. János Hajdu added that TEK units had also searched a house near the site of the arrest.
National police chief Károly Papp said that the victims, one of whom had been rushed to hospital in critical condition after the blast, were expected to make a full recovery. Papp also said that the arrest had been the result of the authorities' efforts and the reward, offered earlier for information on the perpetrator, would be withdrawn.


'Zombiepura': Would The SAF Be Able To Fend Off A Real Zombie Apocalypse?
Definitely not your typical zombie flick. Lot's of local humour that many Singaporeans can relate to especially the NS men. Thoroughly enjoyed it with the family.
This movie is enjoyable albeit slightly confusing. Good attempt of merging comedy with horror genre.
Wasn't expecting the quality I seen in this movie for a local production. Effort in the plot and cinematography. My family loves it, keep up the good work!!!
Its good, story and plot is quite well thought out and theres some comedy as well. Some scenes are quite intense too.
My Friend is full of praise for this film and he keep recommending this film. Will certainly go watch it!
Zombies already exist in Singapore, just look around you! But anyway, for the bashing it'll definitely get, it was a pretty entertaining film for me. It had shades of I am a Hero, the Japanese zombie film that was obviously much better executed, but zombiepura wasnt too shabby to be honest. There was plenty of local references to laugh at and parts to get slightly nervous about. Just leave your brains at home so the zombies can't get them and you'll enjoy it.
A healthy amount of blood and gore. Cool prosthetic special effects makeup. My biggest lesson is that I now have the skills to survive an actual zombie apocalypse! Lols.
The soundtrack is still ringing in my head. When I heard the chorus of zombiepura... I was like... Wtf is this for real? I am still confused by it. First time I see local film making fun of itself non stop. Very funny film if u are the humorous type into British satire. More for folks into comedy than horror. It is... Proudly b grade and that scene of that flag is omg over the top.


KCON LA 2018 Day 1 – First Bite Random Dance and Meeting In2It!!
First Day first look! This year was my official first time going to Kcon LA!!!!!! The first day I spent mostly doing the random dance and enjoying the booths!