text:
package com.amazonaws.services.rds.model.transform;

import javax.annotation.Generated;

import com.amazonaws.SdkClientException;
import com.amazonaws.Request;
import com.amazonaws.DefaultRequest;
import com.amazonaws.http.HttpMethodName;
import com.amazonaws.services.rds.model.*;
import com.amazonaws.transform.Marshaller;
import com.amazonaws.util.StringUtils;

/**
 * CreateDBInstanceReadReplicaRequest Marshaller
 */

@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateDBInstanceReadReplicaRequestMarshaller implements
        Marshaller<Request<CreateDBInstanceReadReplicaRequest>, CreateDBInstanceReadReplicaRequest> {

    public Request<CreateDBInstanceReadReplicaRequest> marshall(CreateDBInstanceReadReplicaRequest createDBInstanceReadReplicaRequest) {

        if (createDBInstanceReadReplicaRequest == null) {
            throw new SdkClientException("Invalid argument passed to marshall(...)");
        }

        Request<CreateDBInstanceReadReplicaRequest> request = new DefaultRequest<CreateDBInstanceReadReplicaRequest>(createDBInstanceReadReplicaRequest,
                "AmazonRDS");
        request.addParameter("Action", "CreateDBInstanceReadReplica");
        request.addParameter("Version", "2014-10-31");
        request.setHttpMethod(HttpMethodName.POST);

        if (createDBInstanceReadReplicaRequest.getDBInstanceIdentifier() != null) {
            request.addParameter("DBInstanceIdentifier", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDBInstanceIdentifier()));
        }

        if (createDBInstanceReadReplicaRequest.getSourceDBInstanceIdentifier() != null) {
            request.addParameter("SourceDBInstanceIdentifier", StringUtils.fromString(createDBInstanceReadReplicaRequest.getSourceDBInstanceIdentifier()));
        }

        if (createDBInstanceReadReplicaRequest.getDBInstanceClass() != null) {
            request.addParameter("DBInstanceClass", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDBInstanceClass()));
        }

        if (createDBInstanceReadReplicaRequest.getAvailabilityZone() != null) {
            request.addParameter("AvailabilityZone", StringUtils.fromString(createDBInstanceReadReplicaRequest.getAvailabilityZone()));
        }

        if (createDBInstanceReadReplicaRequest.getPort() != null) {
            request.addParameter("Port", StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getPort()));
        }

        if (createDBInstanceReadReplicaRequest.getMultiAZ() != null) {
            request.addParameter("MultiAZ", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getMultiAZ()));
        }

        if (createDBInstanceReadReplicaRequest.getAutoMinorVersionUpgrade() != null) {
            request.addParameter("AutoMinorVersionUpgrade", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getAutoMinorVersionUpgrade()));
        }

        if (createDBInstanceReadReplicaRequest.getIops() != null) {
            request.addParameter("Iops", StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getIops()));
        }

        if (createDBInstanceReadReplicaRequest.getOptionGroupName() != null) {
            request.addParameter("OptionGroupName", StringUtils.fromString(createDBInstanceReadReplicaRequest.getOptionGroupName()));
        }

        if (createDBInstanceReadReplicaRequest.getDBParameterGroupName() != null) {
            request.addParameter("DBParameterGroupName", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDBParameterGroupName()));
        }

        if (createDBInstanceReadReplicaRequest.getPubliclyAccessible() != null) {
            request.addParameter("PubliclyAccessible", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getPubliclyAccessible()));
        }

        if (!createDBInstanceReadReplicaRequest.getTags().isEmpty()
                || !((com.amazonaws.internal.SdkInternalList<Tag>) createDBInstanceReadReplicaRequest.getTags()).isAutoConstruct()) {
            com.amazonaws.internal.SdkInternalList<Tag> tagsList = (com.amazonaws.internal.SdkInternalList<Tag>) createDBInstanceReadReplicaRequest.getTags();
            int tagsListIndex = 1;

            for (Tag tagsListValue : tagsList) {
                if (tagsListValue != null) {

                    if (tagsListValue.getKey() != null) {
                        request.addParameter("Tags.Tag." + tagsListIndex + ".Key", StringUtils.fromString(tagsListValue.getKey()));
                    }

                    if (tagsListValue.getValue() != null) {
                        request.addParameter("Tags.Tag." + tagsListIndex + ".Value", StringUtils.fromString(tagsListValue.getValue()));
                    }
                }
                tagsListIndex++;
            }
        }

        if (createDBInstanceReadReplicaRequest.getDBSubnetGroupName() != null) {
            request.addParameter("DBSubnetGroupName", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDBSubnetGroupName()));
        }

        if (!createDBInstanceReadReplicaRequest.getVpcSecurityGroupIds().isEmpty()
                || !((com.amazonaws.internal.SdkInternalList<String>) createDBInstanceReadReplicaRequest.getVpcSecurityGroupIds()).isAutoConstruct()) {
            com.amazonaws.internal.SdkInternalList<String> vpcSecurityGroupIdsList = (com.amazonaws.internal.SdkInternalList<String>) createDBInstanceReadReplicaRequest
                    .getVpcSecurityGroupIds();
            int vpcSecurityGroupIdsListIndex = 1;

            for (String vpcSecurityGroupIdsListValue : vpcSecurityGroupIdsList) {
                if (vpcSecurityGroupIdsListValue != null) {
                    request.addParameter("VpcSecurityGroupIds.VpcSecurityGroupId." + vpcSecurityGroupIdsListIndex,
                            StringUtils.fromString(vpcSecurityGroupIdsListValue));
                }
                vpcSecurityGroupIdsListIndex++;
            }
        }

        if (createDBInstanceReadReplicaRequest.getStorageType() != null) {
            request.addParameter("StorageType", StringUtils.fromString(createDBInstanceReadReplicaRequest.getStorageType()));
        }

        if (createDBInstanceReadReplicaRequest.getCopyTagsToSnapshot() != null) {
            request.addParameter("CopyTagsToSnapshot", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getCopyTagsToSnapshot()));
        }

        if (createDBInstanceReadReplicaRequest.getMonitoringInterval() != null) {
            request.addParameter("MonitoringInterval", StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getMonitoringInterval()));
        }

        if (createDBInstanceReadReplicaRequest.getMonitoringRoleArn() != null) {
            request.addParameter("MonitoringRoleArn", StringUtils.fromString(createDBInstanceReadReplicaRequest.getMonitoringRoleArn()));
        }

        if (createDBInstanceReadReplicaRequest.getKmsKeyId() != null) {
            request.addParameter("KmsKeyId", StringUtils.fromString(createDBInstanceReadReplicaRequest.getKmsKeyId()));
        }

        if (createDBInstanceReadReplicaRequest.getPreSignedUrl() != null) {
            request.addParameter("PreSignedUrl", StringUtils.fromString(createDBInstanceReadReplicaRequest.getPreSignedUrl()));
        }

        if (createDBInstanceReadReplicaRequest.getEnableIAMDatabaseAuthentication() != null) {
            request.addParameter("EnableIAMDatabaseAuthentication",
                    StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getEnableIAMDatabaseAuthentication()));
        }

        if (createDBInstanceReadReplicaRequest.getEnablePerformanceInsights() != null) {
            request.addParameter("EnablePerformanceInsights", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getEnablePerformanceInsights()));
        }

        if (createDBInstanceReadReplicaRequest.getPerformanceInsightsKMSKeyId() != null) {
            request.addParameter("PerformanceInsightsKMSKeyId", StringUtils.fromString(createDBInstanceReadReplicaRequest.getPerformanceInsightsKMSKeyId()));
        }

        if (createDBInstanceReadReplicaRequest.getPerformanceInsightsRetentionPeriod() != null) {
            request.addParameter("PerformanceInsightsRetentionPeriod",
                    StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getPerformanceInsightsRetentionPeriod()));
        }

        if (!createDBInstanceReadReplicaRequest.getEnableCloudwatchLogsExports().isEmpty()
                || !((com.amazonaws.internal.SdkInternalList<String>) createDBInstanceReadReplicaRequest.getEnableCloudwatchLogsExports()).isAutoConstruct()) {
            com.amazonaws.internal.SdkInternalList<String> enableCloudwatchLogsExportsList = (com.amazonaws.internal.SdkInternalList<String>) createDBInstanceReadReplicaRequest
                    .getEnableCloudwatchLogsExports();
            int enableCloudwatchLogsExportsListIndex = 1;

            for (String enableCloudwatchLogsExportsListValue : enableCloudwatchLogsExportsList) {
                if (enableCloudwatchLogsExportsListValue != null) {
                    request.addParameter("EnableCloudwatchLogsExports.member." + enableCloudwatchLogsExportsListIndex,
                            StringUtils.fromString(enableCloudwatchLogsExportsListValue));
                }
                enableCloudwatchLogsExportsListIndex++;
            }
        }

        if (!createDBInstanceReadReplicaRequest.getProcessorFeatures().isEmpty()
                || !((com.amazonaws.internal.SdkInternalList<ProcessorFeature>) createDBInstanceReadReplicaRequest.getProcessorFeatures()).isAutoConstruct()) {
            com.amazonaws.internal.SdkInternalList<ProcessorFeature> processorFeaturesList = (com.amazonaws.internal.SdkInternalList<ProcessorFeature>) createDBInstanceReadReplicaRequest
                    .getProcessorFeatures();
            int processorFeaturesListIndex = 1;

            for (ProcessorFeature processorFeaturesListValue : processorFeaturesList) {
                if (processorFeaturesListValue != null) {

                    if (processorFeaturesListValue.getName() != null) {
                        request.addParameter("ProcessorFeatures.ProcessorFeature." + processorFeaturesListIndex + ".Name",
                                StringUtils.fromString(processorFeaturesListValue.getName()));
                    }

                    if (processorFeaturesListValue.getValue() != null) {
                        request.addParameter("ProcessorFeatures.ProcessorFeature." + processorFeaturesListIndex + ".Value",
                                StringUtils.fromString(processorFeaturesListValue.getValue()));
                    }
                }
                processorFeaturesListIndex++;
            }
        }

        if (createDBInstanceReadReplicaRequest.getUseDefaultProcessorFeatures() != null) {
            request.addParameter("UseDefaultProcessorFeatures", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getUseDefaultProcessorFeatures()));
        }

        if (createDBInstanceReadReplicaRequest.getDeletionProtection() != null) {
            request.addParameter("DeletionProtection", StringUtils.fromBoolean(createDBInstanceReadReplicaRequest.getDeletionProtection()));
        }

        if (createDBInstanceReadReplicaRequest.getDomain() != null) {
            request.addParameter("Domain", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDomain()));
        }

        if (createDBInstanceReadReplicaRequest.getDomainIAMRoleName() != null) {
            request.addParameter("DomainIAMRoleName", StringUtils.fromString(createDBInstanceReadReplicaRequest.getDomainIAMRoleName()));
        }

        if (createDBInstanceReadReplicaRequest.getReplicaMode() != null) {
            request.addParameter("ReplicaMode", StringUtils.fromString(createDBInstanceReadReplicaRequest.getReplicaMode()));
        }

        if (createDBInstanceReadReplicaRequest.getMaxAllocatedStorage() != null) {
            request.addParameter("MaxAllocatedStorage", StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getMaxAllocatedStorage()));
        }

        if (createDBInstanceReadReplicaRequest.getCustomIamInstanceProfile() != null) {
            request.addParameter("CustomIamInstanceProfile", StringUtils.fromString(createDBInstanceReadReplicaRequest.getCustomIamInstanceProfile()));
        }

        if (createDBInstanceReadReplicaRequest.getNetworkType() != null) {
            request.addParameter("NetworkType", StringUtils.fromString(createDBInstanceReadReplicaRequest.getNetworkType()));
        }

        if (createDBInstanceReadReplicaRequest.getStorageThroughput() != null) {
            request.addParameter("StorageThroughput", StringUtils.fromInteger(createDBInstanceReadReplicaRequest.getStorageThroughput()));
        }

        if (createDBInstanceReadReplicaRequest.getSourceRegion() != null) {
            request.addParameter("SourceRegion", StringUtils.fromString(createDBInstanceReadReplicaRequest.getSourceRegion()));
        }

        return request;
    }

}

redpajama_set_name: RedPajamaGithub


Casa Angelina has announced a Late-Summer Sunshine Offer available to guests staying at this stunning property in Praiano on Italy's Amalfi Coast from 1 to 28 October 2018, after which time the property will close until its new seasonal opening next April.
Access to La Gavitella Beach via hotel elevator and 200 steps.
A member of Small Luxury Hotels of the World, Casa Angelina this year unveiled a new treatment room at The Spa accommodating two people for couples' massages and a new pre-and post-treatment terrace lounge where guests can order from a menu of refreshing and nourishing items including freshly squeezed juices, herbal teas, detox water, smoothies, healthy snacks, a healthy SPA lunch, dried fruits, citrus sorbets and more.
New treatments at The Spa include the Orange Blossom Spa Treatment, showcasing this beautiful indigenous flower to the destination. Guests will relax and rejuvenate with orange blossom tea, a foot massage, salt and soil scrub, firm pressure massage using the spa's signature restorative body oil and a warm herbal poultice pressure point massage along with a refreshing scalp massage. At the end of the treatment, each guest will be presented with a herbal poultice to take home.
Guests are also now given the opportunity to paint their own ceramic tiles as Casa Angelina is partnering with Ceramiche Casola to present this fun activity. Guests will be given an insight into the fascinating history and uses of ancient art and craft materials and take home their tile creation as a special keepsake.
Casa Angelina has introduced a Proposal Concierge who will be delighted to assist guests with planning a proposal at the property or anywhere else on the Amalfi Coast.
With views overlooking the Mediterranean Sea and beautiful green gardens accenting the cliffs of the Amalfi Coast, Casa Angelina is the perfect place for proposing to a loved one.
A 10-minute drive from Positano and 15 minutes from Amalfi, Casa Angelina presents 'barefoot luxury' with style and elegance and takes inspiration from the concept of a contemporary 'house' and temple of modernity based on emotions, aesthetic pleasures and the joy of life.
Casa Angelina features 39 superbly appointed guest rooms and suites and magnificent Eaudesea Rooms, located on the exquisite and picturesque beach of La Gavitella. These former fishermen's houses offer an authentic charm, replete with terraces adjoining the sea.
Accommodation rates include complimentary Wi-Fi throughout Casa Angelina, car parking, use of pool with Jacuzzi, sauna, gym and outdoor pool with solarium, daily free return shuttle service to Positano and access to the Beach Club beneath Casa Angelina via an elevator and 190 steps.
Casa Angelina provides the most perfect of settings for an idyllic romantic escape with a loved one, celebration of a wedding or a relaxing intimate holiday with family and friends. Children from 12 years of age are welcome to visit Casa Angelina.


With the opening of Jurassic World this summer, we saw a glimpse of the future: An advanced hybrid zoo-theme park facing an insatiable market demand for instant gratification of bigger, better, and never-before-seen. Sound familiar?
The film presents Jurassic World: a massive revamp of the original Jurassic Park situated on Isla Nublar. This newer, bigger, better park boasts state-of-the-art features like holographic dinosaurs, a massive aquatic show arena where the seats move for views above and below water, and a glass orb gyrosphere ride through the dinosaur savanna. Not to mention the genetically modified hybrid, Indominus Rex.
Despite all of its theme park flair (and apparently unlimited budget), Jurassic World is, at its core, a zoo – a dinosaur zoo. And that combination – that hybridization – of parks, is where we see the future.
Over the last century, zoos have undergone a tremendous evolution. Their origins are rooted in royal collections, menageries, and circuses where animals were displayed in large cages, with little to no thought regarding animal welfare. Recreation, status, and economics (of the owners and spectators) were the primary goals of these prototype zoos. But today, nearly every one of the 229 AZA-accredited zoos and aquariums dedicates resources for conservation, ecosystems, biodiversity, and in-situ research. What's more, today's zoos' primary focus is the welfare of the animals in their care, and the improvement of their lives and natural environments. But that evolution is far from complete.
In 1992, former head of the Brookfield Zoo, George Rabb, presented a diagram that demonstrated the history and future of zoo development. Looking at his 21st Century prediction, he saw immersive exhibits that would focus on ecosystems and the survival of species, at institutions that would create strong networks to achieve holistic conservation.
While Rabb's diagram is an easy-to-follow chart, it implies a linear evolution of zoos where all began at a singular starting point and will follow the same evolutionary path. However, we know that evolution simply isn't that clean. We know it branches off in many directions, creating new and fantastic forms, often surprisingly, through wild mutations or gradual improvement. In the end, evolution isn't a straight line; it's a twisting, crisscrossing, branching tree. And this is how we view the future of zoos: a blending of traditional organizations.
Let's explain. Today, you most likely think of a zoo as an urban park – typically one per city – that's flat, horizontal, mostly outdoors, in which you walk around to see different animal collections on display to learn about animals. The same is actually true for most city destinations: If you want to learn about history, you go to the history museum. If you want to see art, you go to the art museum. If you want to cool off, you drive 30 minutes outside of the city to the waterpark. What is already happening, and what we predict will only continue to happen, is that these elements will find more and more symbiosis between one another, and traditional zoos will begin to occupy a space somewhere in the middle of purely naturalistic and human-centered experiences.
The Columbus Zoo and Aquarium is an excellent example of this evolution. From its humble beginnings in 1905, the Columbus Zoo has become one of the largest and most successful zoos in the world. Today, in addition to its incredible animal collection and programs, it is home to the Safari Golf Club, Zoombezi Bay Waterpark, and The Wilds – the largest wildlife conservation center for endangered species in North America. In addition to shows, ropes courses, zip lines, and special events on site, the Zoo devotes $4 million annually to conservation efforts around the world to 70 projects in 30 countries.
Disney's Animal Kingdom at Walt Disney World Resort in Orlando not only boasts an impressive and healthy animal collection, but is also home to science-museum-quality dinosaur exhibits, 4D theaters, thrill rides, conservation education center, arcade games, live shows, and an open-air safari through a recreated African savanna with numerous live animals.
Six Flags Great Adventure in Jackson, New Jersey has long incorporated animal exhibits and shows alongside thrill rides and roller coasters. Their recent renovation of the once separately ticketed African Safari incorporates over 350 acres of drive-through savanna into a fully produced ride.
Even smaller institutions such as Central Florida Zoo, Greensboro Science Center, South Florida Museum, and Durham Museum of Life and Science illustrate how the lines between museums, zoos, aquariums and theme parks are blurring.
However, SeaWorld might be the prime example in blending zoos and aquariums with other types of destinations. The organization maintains one of the largest animal collections in North America throughout its system of parks, caring for approximately 67,000 animals–including 7,000 marine and terrestrial animals and 60,000 fish. The SeaWorld & Busch Gardens Conservation Fund has awarded over $11 million in conservation grants to over 800 organizations around the world, and has rescued more than 26,000 sick or injured animals. At the three SeaWorld parks, guests can visit numerous animal exhibits, expansive aquariums, and ride some of the world's most famous roller coasters. At SeaWorld's three Aquatica waterparks, visitors enjoy fun and themed slides and lazy rivers that might also pass through aviaries and Commerson's dolphin pools. And at Discovery Cove, 2,000 guests per day experience an exclusive resort setting that enables them to snorkel a coral reef, swim with dolphins, or simply relax on the beach. The lines are all but clear, and many of these destinations defy conventional labels. And that's the mark of evolution.
Stacey Ludlum is Zoological Designer & Site Planner and Eileen Hill is Architectural/ Landscape Designer at PGAV Destinations (www.pgavdestinations.com).


Iraq has been blighted by ongoing conflict since the early 2000's, however the rise of the Islamic State in the northwest of the country in 2014 has caused considerable chaos and loss of life.
Since ISIS gained territory across large swathes of Iraq, more than 3 million people have become internally displaced (IDPs), or have fled to border countries such as Turkey and Jordan as refugees. Almost half of those fleeing have taken refuge in Iraqi Kurdistan, including thousands of ethnic Kurds, Yazidis and Syrians escaping the Syrian civil war. The conflict has significantly weakened the health infrastructure in the country, and over 35% of Iraqi doctors have fled the country.
In 2014, Doctors of the World launched operations in Iraqi Kurdistan to provide access to healthcare for displaced people fleeing the Islamic State. Our teams work alongside the Iraqi government to provide medical and psychological assistance to refugees and IDP populations, such as those living in Chamisku camp on the border with Turkey.
We run mobile health clinic projects in the newly liberated areas around Sinjar, such as Borek village and our teams are also active in the southern governorate of Kirkuk, where we operate 4 mobile clinics. In 2016 we expanded our operations in light of the battle to retake Mosul from the Islamic State, which resulted in the forced movement of thousands of people trying to escape the fighting between the Iraqi government and IS. We currently operate in once-small towns such as Kalata Farhahn, 12 miles from Mosul, where many have taken refuge. Several of the displaced Iraqis fled to Chamisku refugee camp – the largest IDP camp in northern Iraq.
For the 26,000 residents of the camp, access to healthcare is extremely limited. Doctors of the World provides primary medical care, sexual and reproductive healthcare, psychosocial support and nutritional screening to identify cases of malnutrition in babies and children.
Many of the people we treat have undergone tremendous stress due to trauma.
"Even though they are safe here, it's difficult to carry a child and give birth in this environment. We provide advice on family planning and a lot of emotional support," says Ghazwa.
As a result require critical psychosocial support to help them cope. Most of our patients have witnessed shocking human rights abuses, such as acts of torture, executions and enslavement. In addition to providing individual counseling, our teams also provide group counseling sessions and psychosocial activities for children affected by the violence. We also conduct trainings for local medical and paramedical staff.
While the fighting in Mosul rages on, it is likely that more people will flee. Hairan tries not to dwell on the fate of her family too much. "I hope one day we can leave this country, we have no future here". But for now, she concentrates on her work in Chamisku – helping those fleeing the Islamic State to put the horrors of war behind them.


Beyonce: Beyoncé Knowles is an American R&B singer, songwriter, record producer, actress and model. Born and raised in Houston, Texas, she enrolled in various performing arts schools and was first exposed to singing and dancing competitions as a child. Knowles rose to fame in the late 1990s as the lead singer of the R&B girl group Destiny's Child. According to Sony, Knowles record sales, when combined with the group, have surpassed 100 million.
During the hiatus of Destiny's Child, Knowles released her debut solo album, Dangerously in Love (2003), which became one of the most successful albums of that year, and signaled her viability as a solo artist. The album was a commercial and critical success, spawning the hits "Crazy in Love", "Baby Boy", and "Naughty Girl", and earning Knowles five Grammy Awards in 2004. The disbanding of Destiny's Child in 2005 facilitated her continued success: her sophomore solo album, B'Day, released in 2006, debuted at number one on the Billboard charts, and produced the hits "Déjà Vu", "Irreplaceable", and "Beautiful Liar". Her third solo album, I Am… Sasha Fierce, was released in November 2008, and included the hits "If I Were a Boy", "Single Ladies (Put a Ring on It)", "Halo", and "Sweet Dreams", and has been nominated for 10 Grammy Awards.
Knowles began her acting career in 2001, appearing in the musical film Carmen: A Hip Hopera. In 2006, she starred in the lead role in the film adaptation of the 1981 Broadway musical Dreamgirls, for which she earned two Golden Globe nominations. Knowles launched her family's fashion line, House of Deréon, in 2004, and has endorsed such brands as Pepsi, Tommy Hilfiger, Armani and L'Oréal. In 2009, Forbes listed Knowles fourth on its list of the 100 Most Powerful and Influential Celebrities in the world, third on its list of the top-grossing musicians, and number one on the list of top Best-Paid Celebs Under 30 with over $87 million dollars in earnings between 2008 and 2009.
Knowles has attained five Hot 100 number one singles, becoming one of the two female artists with the most number ones attained within the 2000s, excluding her three Hot 100 number one singles with Destiny's Child this decade. In December 2009 Beyoncé was named Billboard's Top Female Artist of the Decade and 4th artist overall.
The I Am… tour was the third worldwide Beyoncé tour. It's in support of her third studio album, I Am… Sasha Fierce. This tour brought Beyoncé Knowles concerts to North America, Europe, Asia, Africa, Australia, and the Middle East and later in Latin America and Caribean.
Beyoncé's tour became the 12th highest grossing tour worldwide, grossing US$37.4 million in its first 41 shows. Since the release of 4 in 2011, Beyonce was been busy raising daughter Blue Ivy with husband Jay-Z, supporting her various charities and business ventures and touring the world on The Mrs. Carter Show World Tour. She returned to recording in 2013 when she spontaneously released her fifth studio album, Beyonce, to the surprise and delight of fans. The album was a monumental success, making Beyonce the first woman to have her first five albums debut at #1 on the Billboard chart.
Jay Z: Shawn Corey Carter -- better known as rapper Jay Z -- has built a hip hop empire through hit albums, elaborate tour dates, and producing. The winner of 13 Grammy Awards has been a mentor to rappers like Kanye West, as well as a husband and collaborator to superstar Beyoncé. With all the music he's making lately, Jay Z fans can be sure it will be an experience to remember.
Jay Z's years as a teenager were spent going rap battling with LL Cool J, selling crack, and performing as a hype man for Big Daddy Kane. In 1995, he co-founded Roc-A-Fella Records and achieved mainstream success with his 1998 album, Vol. 2…Hard Knock Life. The album went five times platinum, won a Grammy for Best Rap Album, and led to tour dates in front of screaming fans. Jay Z scored another hit with his 2003 The Black Album, which was followed by a Madison Square Garden tour date with a dozen or so guest stars. He made headlines in 2008 when he became the controversial headliner for the rock oriented Glastonbury Festival, but put all criticisms to rest with a hugely applauded performance.
Jay Z connected with a whole new generation of hip hop fans when he collaborated with Kanye West on the hugely successful album, Watch the Throne. His career was soaring when he created another very successful first: his and Beyonce's first child together, Blue Ivy Carter. His more mature, paternal style was mixed into the album Magna Carta...Holy Grail, which retained his signature technique while ensuring his status as a modern success.


The first marijuana hearing of the 116th Congress kicked off on Wednesday. A House financial subcommittee asked witnesses about how banking access can improve public safety, how operating on a cash-only basis inhibits transparency and, at one point, whether the cash at these businesses smells like cannabis.
Next Post: Should You Buy, Sell, Or Hold These 7 Medical Cannabis Stocks?


Happy Festive Friday before Christmas!
May your holiday season sparkle with moments of love, laughter and goodwill!
Here are some of my favourite pictures from our holiday photo session.
A has this new smile showing all of those teeth. She busted it out for almost the entire shoot.
By now, most of our friends and family have received our cards. These are the ones that made the cut.
And this one that i almost put in as our Christmas card shot which represents the awesome character my kids call Daddy.
Eat, drink and be merry, lovelies! But let's not forget the reason for this beautiful season! God's blessings to one and all.
What a gorgeous family! Love these precious pictures! Merry Christmas beautiful!
Such beautiful photos friend. I hope y'all have an amazing Christmas this year!
Your holiday pictures turned out amazing! You have such a beautiful family!
Just beautiful. Someday, someday I want to have professional photos taken with my daughters and their daughters, and then with my Prince Charming and me!! Someday.
Favourite Hostess Gifts under $20.


Assuming multiple loci play a role in regulating the expression level of a single phenotype, we propose a new approach to identify cis- and trans-acting loci that regulate gene expression. Using the Problem 1 data set made available for Genetic Analysis Workshop 15 (GAW15), we identified many expression phenotypes that have significant evidence of association and linkage to one or more chromosomal regions. In particular, six of ten phenotypes that we found to be regulated by cis- and trans-acting loci were also mapped by a previous analysis of these data in which a total of 27 phenotypes were identified with expression levels regulated by cis-acting determinants. However, in general, the p-values associated with these regulators identified in our study were larger than in their studies, since we had also identified other factors regulating expression. In fact, we found that most of the gene expression phenotypes are influenced by at least one trans-acting locus. Our study also shows that much of the observable heritability in the phenotypes could be explained by simple single-nucleotide polymorphism associations; residual heritability was reduced and the remaining heritability may represent complex regulation systems with interactions or noise.


text:
F+L Week 2022 Training Workshops
Tue Apr 26, 2022 8:30 AM - Wed Apr 27, 2022 5:00 PM +07
Training Workshop: Fundamentals of Electric Vehicle Lubrication
Conducted by Dr. Edward Becker, President & Founder, Friction & Wear Solutions LLC
Learn lubrication fundamentals and how they apply to current and future automotive propulsion systems, as well as the lubrication challenges unique to hybrid and full electric vehicles.
The class is intended for managers, engineers, scientists, technicians, service and sales professionals involved in lubricants and coolants for automotive transportation. Attendees should have a good understanding of basic physics and chemistry.
Why Should You Attend?
Students will benefit from the detailed descriptions of the tribological requirements of modern automobiles. Attendees will gain a better understanding of the various moving components in an automobile powertrain, including internal combustion engines and electric motors, and the challenges of managing friction and wear to improve efficiency and durability. Course modules will include the specific challenges of cooling for battery-powered vehicles and hybrids. Students will be better prepared to deal with the range of options for lubricating and cooling as the market for electric vehicles and hybrids rapidly expands.
Workshop Leader
Dr. Edward Becker earned a B.S in Metallurgical Engineering from the Illinois Institute of Technology and an M.S in Metallurgical Engineering from the University of Illinois. He joined General Motors at the Cadillac Motor Car Division in Detroit, Michigan, U.S.A. While at GM, he received his Professional Engineer's license, and earned an M.S. and Ph.D. in Mechanical Engineering from the University of Michigan through the GM Technical Education program. He retired from General Motors after 30 years of service, mostly in the Powertrain division working on a variety of GM engines, transmissions, and rare earth permanent magnets for electric motors.
Lubrication & Wear Fundamentals
Internal Combustion Engine Principles
The Electric Motor
Vehicle Architecture (Hybrids and Battery EVs)
Engine Oil, Transmission Fluid and Electric Vehicle Oils
Electric Vehicle Coolants (Charging)
Future Developments in the Automotive Industry (Fuel Cells & HICE)
Course Fee: US$1,198/person (15% discount for ALIA member companies)
Inclusives: Workshop Materials, Lunch, AM and PM coffee breaks with snacks
Training Workshop: Developing and Managing Metalworking Fluids for Sustainable Success
Conducted by Patrick Brutto, CMFS, Founder and Technical Application Specialist, Faith-Full MWF Consulting
Gain a greater understanding of water-dilutable metalworking fluids (MWFs) and why they fail. Learn about fluid problems and their causes, and ways to minimize the risk of failure.
This class is intended for MWF producers and distributors, raw material manufacturers and distributors (base oils, additives, etc.), MWF technical service personnel, MWF users (machinists, plant engineers, fluid managers, etc.), equipment suppliers (filtration, water treatment, mist collectors, recycling, etc.) and lab testing equipment suppliers (biological dip slides, conductivity meters, water hardness and other wet chemical test kits, etc.).
This seminar will help attendees improve their understanding of water-dilutable metalworking fluids (MWFs) and why they fail. Learn about fluid problems and their causes, and ways to minimize the risk of failure. We will review important information on MWFs, water quality, metallurgies, etc., as well as performance factors evaluated in the laboratory and their correlation with field performance. The last part of the seminar will provide detailed guidance on failure modes, possible causes and ways to avoid or minimize these problems.
Patrick (Pat) Brutto, M.Sc., of Faith-Full MWF Consulting
is an STLE-certified Metalworking Fluid Specialist (CMFS) with over 34 years of global experience in metalworking fluids (MWFs), including MWF additive development and application (amino alcohols, corrosion inhibitors, biocides, specialty emulsifiers) and experience formulating and testing water-dilutable MWFs. Pat spent most of his career at ANGUS Chemical Company, as an R&D chemist and technical service specialist, along with time at Hangsterfer's Laboratories as a global MWF scientist for their MWF product line. Pat served as a director on STLE's board in 2014-2020 and was the 2018 winner of the Vic Joll Award, an STLE National Award. He currently serves as vice-chair of STLE's metalworking fluid education and training committee and is an active member of ASTM committee E34.50, which develops health and safety standards for MWFs.
Metalworking Fluid Components and Formulations
Workpiece Metallurgies & Tool Materials
Safety, Health and the Environment
Performance Factors and Laboratory Tests
Physical and Chemical Stability
Corrosion and Staining
Microbiological Resistance
Failure Modes and Causes
Reducing the Risk of Failure
CANCELLATION AND SUBSTITUTION POLICY
You may cancel your registration at any time prior to January 31, 2022. An administrative fee of US$100 will be deducted from your refund.
Cancellations made between February 1, 2022 and February 28, 2022 will be entitled to a 25% refund.
Cancellations made between March 1, 2022 and March 25, 2022 will be entitled to a 50% refund.
There will be no refunds for cancellations beginning March 26, 2022.
All cancellations must be requested in writing.
Substitutions may be made at anytime, but no later than April 20, 2022. Request must be made by either the person who registered the participant or the registered participants themselves.
Registrations are not transferable onsite and will not be entertained.
No shows will not be entitled to refunds.
Mode of refund shall depend on your original mode of payment. If you registered as a group and one person cancels, you will be billed at the individual rate. The amount in your invoice will be amended to reflect this change.
Your registration is for your exclusive use only and non-transferable. You will be billed for an extra registration, should you transfer your badge to another person.
The organizer reserves the right to change the venue and dates of F+L Week 2022 in case of unavoidable circumstances beyond our control.
Need help or lost your ticket?
Contact the event organizer
Powered by Ticket Tailor Powered by:
Need help or lost your ticket? Contact the event organiser Privacy Policy

redpajama_set_name: RedPajamaCommonCrawl


Note: Expresii Lite can still open these artwork files made with the full version, but only the top-most layer gets shown and rendered in one single color (no gradation). We keep the linework layer on top whenever possible so that you can open the files as linework in Expresii Lite.
The following are Expresii Lite artwork files and can be opened by the Full version as well.


Specifically designed for those providing domiciliary care.
The LimeSkills Risk Assessment course ensures employers and employees in the care industry are equipped with a basic knowledge of assessing health & safety risks in their workplace. This includes the duties under UK Health and Safety legislation in relation to domiciliary care.
As this qualification requires no former knowledge of health and safety it is ideal as part of a health and safety development programme. It can also form part of ongoing training designed to improve the health and safety culture in a Care environment.
The Risk Assessment course is a one day workshop, starting at 0930 and finishing at 1630.
It will help if delegates have a basic understanding of practices relating to Health and Safety in the Care environment.
There is no formal assessment, activities and discussions will be observed through the course.
There is no pass or fail, delegates will receive a LimeSkills certificate of achievement on completion of the workshop. Feedback may be given to individuals and/or employers if requested or LimeSkills deems it necessary.
We supply tea, coffee and biscuits but not lunch. There is an on-site cafe ( which has lovely homemade cakes) or local shops if you wish to purchase lunch.
The cost is £75 per person. Group discounts are available for 6 or more people.
Our Risk Assessment courses are held regularly throughout the year. If you would like to book an individual place, or a whole course for your business please contact us.


Humanity can rest easy today, for news has come that reminds us of our place at the top of the evolutionary scale. Aliens from the planet Melmac may indeed have developed technology that allows them to travel between worlds, but they apparently haven't mastered the ability to secure a network pilot pickup.
That's the word from TVLine, which reports the proposed reboot of the old NBC series ALF, about an alien crash-landing on earth and hiding out with a suburban family, is dead for the time being, after "failing to attract a suitor." The obvious reason for said failure—that no network exec in their right mind wants a new iteration of a weirdly sexual low-tech puppet wandering around making puns about eating cats—is left unsaid, but let's go ahead and assume that's the cause of the show not moving forward. All you fans of Gordon Shumway (ALF's real name, lest we forget) will just have to content yourselves with the end of the character's story as we know it from the 1996 made-for-TV movie Project ALF, in which the alien (familiar with interstellar travel yet bearing a personality roughly akin to Rodney Dangerfield) defeats both Martin Sheen and Miguel Ferrer en route to becoming an official ambassador to earth.
Or you could just rewatch that pretty great episode of Mr. Robot from season two. That's probably the best use of ALF we'll see in our lifetimes.


text:
Scalpay – isola dell'arcipelago delle Ebridi Esterne
 Scalpay – isola dell'arcipelago delle Ebridi Interne

redpajama_set_name: RedPajamaWikipedia


All SMSF Trustees are required under the Superannuation Industry (Supervision) Act 1993 (SIS) to prepare and implement an investment strategy for their super fund that complies with both SIS and the relevant Tax Office (ATO) requirements.
Investment rules are one of the most important requirements for SMSFs and failure to comply with these rules can result in trustees being fined and/or the Fund losing its concessional taxation status.
Topdocs provides advisers with a comprehensive, cost effective investment strategy solution. ATO and SIS compliant, our investment strategy documentation includes specific provisions for superfund borrowings (if applicable) and insurance, and can be emailed immediately.
WHY ORDER A TOPDOCS SMSF INVESTMENT STRATEGY?
You can learn more about the Topdocs SMSF Investment Strategy documentation in the RELATED INFORMATION tab.
Why use a one page Investment Strategy for your clients when you can download a comprehensive, compliant Super Fund Investment Strategy for only $84?
Notes on preparing the Investment Strategy.


text:
DIGITAL CAPACITANCE METER
Operation and Calibration Manual
This manual applies directly to instruments with serial numbers 30010 and up, PCB Assembly 8503000-0-3, revision 3.
Copyright 2003, GLK INSTRUMENTS, Rev. 2.0, 01 June 2003
Serial Number: ___________
For technical assistance, contact
GLK INSTRUMENTS
Email: support@glkinst.com
Website: www.glkinst.com
I. Warranty
II. Product Use Restrictions
III. Return Material Authorization
IV. Specifications
V. Description
VI. Initial Preparation
VII. Operating Instructions
VIII. Servicing Information
IX. Calibration
X. Revisions
GLK Instruments products are warranted against defects in workmanship and materials under normal use and service for one year from date of their shipment by GLK Instruments, except that components obtained from others are warranted only to the extent of the original manufacturers' warranties, if any. This warranty does not extend to any products that have been repaired or altered by others. GLK Instruments' sole liability and the Purchaser's sole remedy under this warranty are limited to repairing or replacing defective products. The repair or replacement of defective products does not extend the warranty period. This warranty does not apply to components or products which by the nature of the applications are consumed in operation or which have a normal life inherently shorter than one year. Examples of this are batteries, components or products exposed to nuclear radiation, or used in the measurement of detection of explosions. GLK Instruments shall not be liable for consequential damages under any circumstances.
THE FOREGOING WARRANTY AND REMEDY ARE IN LIEU OF ALL OTHER REMEDIES AND ALL OTHER WARRANTIES, WRITTEN OR ORAL, STATUTORY, EXPRESS, OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
GLK Instruments does not recommend the use of any of its products or the incorporation of any of its products by second parties in their products in (a) life support applications where failure or malfunction of the product can be reasonably expected to cause failure of the life support device or to significantly affect its safety or effectiveness, (b) any nuclear facility applications which including nuclear reactors and devices designed or used in connection with the handling, processing packaging, preparation, utilization, fabricating, alloying, storing, or disposal of fissionable material or waste products, (c) consumer applications where failure or malfunction of the product can be reasonably expected to cause injury, and (d) applications where failure or malfunction of the product can reasonably be expected to place the health and safety of the general public in jeopardy. GLK Instruments will not knowingly sell its products for use in such applications unless GLK Instruments receives in writing satisfactory assurances that (a) the risks of injury or damage have been minimized, (b) the customer assumes all such risks, and (c) the liability of GLK Instruments is adequately protected under the circumstances.
In the unlikely event that any of the products of GLK Instruments need repair, contact GLK Instruments for a return material authorization (RMA) number.
(25 oC unless specified otherwise)
Capacitance range:
2.000 pF to 200.0 nF
0.001 pF to 0.1 nF
3 1/2 digit LCD
Accuracy with or without probes:
± (0.1% of reading + 2 digits)
Measurement frequencies:
24 kHz (2 pF, 20 pF, 200 pF, 2 nF)
2.4 kHz (20 nF)
240 Hz (200 nF)
Charging voltage:
5 V (all ranges)
Offset adjustment:
1.5 pF
Signal output voltage:
0 - 200 mV DC
Source resistance:
1000 ohms (1%)
Reference output voltage:
5.000 V DC
9 V alkaline (NEDA 1604A)
Auxiliary power:
9 - 28 V DC, 50 mA supply
with 2.1 mm DC power jack
0 oC to +50 oC
-20 oC to +70 oC
Operating relative humidity:
80% (noncondensing)
Bench top, portable instrument case
with tilt bail
8.50 x 9.52 x2.44 inches
Accessories Supplied
Two miniature shielded probes and probe accessories (PN 2110112)
9 V battery (NEDA 1604A)
100 nF Chip Capacitor
Battery eliminator (PN 4001200): input 120 VAC, 60 Hz, 6 W; output 9 VDC, 200 mA, 2.1 mm Plug
International battery eliminator (PN 4001201): input 90 to 264 VAC, 47 to 63 Hz, 18 W, IEC 320 connector; output 12 VDC, 1.5 A, 2.1 mm Plug. Customer supplies AC cord set, 3-prong IEC 320 to local connection
The Model 3000 Digital Capacitance Meter is the first commercially available low cost, high accuracy instrument designed exclusively for the measurement of very small value capacitors and capacitors whose size and shape are not conveniently handled by conventional sockets, clamp fixtures, or alligator clip leads. This instrument is particularly useful for the measurement chip capacitors whose small size precludes the use of identifying marks.
The Model 3000 employs a unique and patented (U.S. Patent No. 4806846) switched capacitor circuit and a ratio metric measurement technique that eliminates errors due to stray capacitance to ground. The patented circuit has high common-mode rejection and eliminates errors due to changes in the reference voltage from temperature, aging, etc. This unique circuit allows the capacitor under measurement to be remotely connected to the meter via two, miniature, shielded probes without affecting the accuracy or resolution of the instrument.
The convenience of using miniature probes solves the costly problem of constructing special test fixtures and shielded boxes for the determination of the capacitance of a variety of objects. For example, the Model 3000 with its standard probes can easily determine the capacitance between the pins of a connector, the large signal gate capacitance of power MOSFETs, the depletion capacitance of diodes, the capacitance between the traces on a printed circuit board, or even the static capacitance of microstrip or stripline microwave circuits. Using ultra-miniature, shielded probes, very accurate wafer level, large signal measurements of MOS capacitors are easily obtained.
Miniature, shielded probes are normally supplied with the instrument; however, the Model 3000, due to its unique circuitry, can accommodate a large variety of custom built shielded probes, special shielded connectors, or test fixtures. Coarse and fine offset adjustment potentiometers are provided on the front panel of the instrument to compensate for test fixture capacitances up to 1.5 pF. The Model 3000 maintains its accuracy and resolution with or without probes.
Auxiliary analog outputs of the meter reading and 5V reference voltage are available on the back panel. These outputs can be connected to digital voltmeters, plotters, data loggers, computer data acquisition systems, etc.
A 9 V alkaline battery powers the Model 3000. Battery life is approximately 200 hours. An auxiliary DC power jack is provided for powering the instrument from the battery eliminator (US version PN 4001200 or optional, international version PN 4001201).
The Model 3000 (PN 2903000-112) is supplied ready for use with a battery, battery eliminator, two probes, and probe accessories. If the 9 V battery is not installed, open the battery compartment cover on the back of the instrument and connect the 9 V battery to the polarized snap lead. If the instrument is to be stored for an extended period, remove the battery to prevent damage from leakage.
ALWAYS DISCONNECT THE BATTERY ELIMINATOR AND ANY TEST FIXTURES OR PROBES FROM THE INSTRUMENT WHEN REPLACING THE BATTERY. BEWARE OF STATIC ELECTRICITY
The instrument is now ready for use; however, it is recommended to perform the following initial checkout to become more familiar with the instrument. Select the 2.000 pF range by depressing the respective front panel switch. Turn on the instrument by pressing the ON switch. The LCD display should appear and settle to a stable reading of ± 0.002 within a few seconds. The instrument was adjusted at the factory to read ± 0.002 pF. If the display is not within ± 0.002 pF, then adjust the OFFSET COARSE or FINE potentiometers on the front panel of the instrument. Unpack the two probes, and connect each probe to the front panel BNC connectors. Hold probes at least 6 inches apart and observe the display. The display should read ± 0.002 pF provided the probes are held stationary. If necessary, adjust the OFFSET FINE potentiometer to zero the display. Hold the probes tips about 1/10 inch apart. You should observe a reading of approximately 0.015 pF or 15 femtofarads. Place the probes at least 6 inches apart again and check the zero on the other ranges by depressing each range switch while observing the display. Next, measure a 100 nF chip capacitor supplied with the unit. First select the 200 nF range; second touch each of the metalized ends of the chip capacitor with the probe tips; and third, read the display. The 100 nF chip capacitor has tolerance of ± 20%.
CAUTION - ALWAYS DISCHARGE HIGH VOLTAGE CAPACITORS BEFORE MEASURING TO AVOID DAMAGE TO INSTRUMENT
You should now be familiar with the general use of the Model 3000 Digital Capacitance Meter. For a more detailed discussion of the operation of the Model 3000 refer to the following section.
A detailed description of each function of the instrument is given in this section. The basic functions of the Model 3000 are listed below.
Front Panel:
1) Display, 3 1/2 digit LCD
2) Range switch, 2 pF to 200 nF, push-to-select
3) Power switch, push-ON, push-OFF
4) Cx HIGH input BNC (positive connection)
5) Cx LOW input BNC (negative connection)
6) OFFSET COARSE and FINE potentiometers
Rear panel:
7) 9 V battery compartment
8) Auxiliary DC power jack
9) Analog output jacks, 0 - 200 mV DC
10) Reference voltage output jacks, 5 V DC
1) The display is a self-contained 3 1/2 digit LCD digital voltmeter with polarity and
decimal point indication. The decimal point is automatically selected when the desired range switch is pushed.
2) The range switch is a push-to-select interlocking assembly. Ranges are 2 pF, 20 pF, 200 pF, 2 nF, 20 nF, and 200 nF. A resolution of 0.001 pF or 1 femofarad can be achieved on the 2 pF range.
3) The power switch is a push-ON and push-OFF type with also only 300 gram-force
required for actuation.
4 & 5) Connection to the Model 3000 is via the BNC's on the front panel. Normally the probes supplied with the instrument will be connected to these terminals. However, custom-built shielded probes, connectors, or other special test fixtures can be connected to these terminals without affecting the accuracy of the instrument. The terminal marked (+) or HIGH is the positive drive or charging terminal and should be connected to the positive terminal of polarized capacitors. Likewise, the negative terminal (-) or LOW input should be connected to the negative terminal of polarized capacitors. The HIGH terminal should always be connected to the outer foil, plate, or larger electrode of the capacitor under measurement and the LOW terminal to its other electrode to minimize noise pickup. In the case of 3-terminal capacitors, such as calibration standards, the shield of the capacitor (i.e. its third electrode) should be connected to the ground shield of the probes. An alternative is to connect a 3-terminal capacitor to the instrument using coaxial cables. In electrically noisy environments the capacitor under test may require shielding to obtain a stable reading. To maintain accuracy and low noise readings, connect external shielding to both probe shields.
The Model 3000 uses a combination of CMOS and JFET devices to charge and discharge the capacitor under test; consequently, voltage transients can damage these devices and will cause the instrument to malfunction. All capacitors, but specifically high voltage and high capacitance capacitors, must be discharged first before measurement to avoid damage to the instrument.
DISCHARGE ALL CAPACITORS BEFORE MEASUREMENT TO PREVENT DAMAGE TO THE INSTRUMENT AND TO PREVENT PERSONAL INJURY
The drive level that is presented to the capacitor under test from the (+) or HIGH connection is +5.0 V peak with respect to the (-) or LOW connection; thus, a wide range of capacitors that have breakdown voltages as low as 5 V can be measured with the Model 3000 without damaging the capacitor under test. Avoid capacitors that have leaky dielectric or high conductance. The Model 3000 cannot measure conductance. Depending on the range, leaky dielectric capacitors can produce large erroneous readings. Likewise, the depletion capacitance of diodes must be measured under reverse bias conditions, i.e. HIGH terminal is connected to the cathode, and the LOW terminal is connected to the anode to reverse bias the diode.
6) The OFFSET COARSE and FINE potentiometers on the front panel of the instrument are used primarily to compensate for the capacitance between the unshielded terminals of test fixtures used to measure axial and radial leaded capacitors. The OFFSET potentiometers can subtract up to 1.5 pF of test fixture capacitance. The OFFSET potentiometers are used also to zero the instrument on the 2 pF scale and may be required occasionally due to amplifier drift, component replacement, or operation at elevated temperatures.
7) The 9 V battery is housed in a compartment on the rear of the instrument. The Model 3000 will operate for approximately 200 hours on a 9 V alkaline battery. A low dropout voltage regulator allows extended use of the battery down to a voltage of about 5.2 V before replacement.
8) The auxiliary DC power jack provides the capability of operating the instrument continuously from an external power source such as the optional battery eliminator (PN 4001200). The internal 9 V battery is automatically disconnected from the instrument when the battery eliminator is connected.
9) The analog output provides a 0 - 200 mV DC signal proportional to the capacitor under test and also to the instrument's internal reference voltage. The source resistance is 1000 ohms.
10) The instrument's internal 5.000 V DC reference voltage is available at the reference output jacks. Its source resistance is 1000 ohms. The reference output voltage is used to provide external ratio metric capability to remove errors in the analog output signal due to changes in the reference voltage from temperature and long term drift. For ratio metric measurements, connect the 5 V reference output to the external reference input on digital voltmeters, data loggers, etc. that provide for this option. Alternatively, errors from variations in the reference voltage can be removed from the analog output signal by calculating the ratio of analog output to the 5 V reference output and multiplying by the appropriate scale factor. Using the external outputs of the Model 3000 with precision digital voltmeters or data acquisition systems, capacitors can be measured to 0.05% accuracy and to a resolution of 10 ppm.
For service on your Model 3000 Digital Capacitance Meter contact GLK Instruments directly. Complete repair and calibration services are maintained by GLK Instruments; however, minor repair and calibration can generally be performed in the field if you have access to a precision 3-terminal capacitor standard.
Field calibration of the Model 3000 Digital Capacitance Meter can be accomplished using only a single 1000 pF, 3-terminal standard capacitor such as General Radio Model 1404-A standard reference capacitor. To calibrate the Model 3000, first remove the top half of the instrument case by removing the four screws located in the bottom half of the case. If operating in battery mode, check the battery voltage at TP1. If its voltage is below 7 V, replace the battery with a fresh 9 V alkaline cell. The Model 3000 will function correctly down to a battery voltage of approximately 5.2 V.
Turn on the instrument, measure the voltage at TP2, and adjust the 5 V potentiometer, R5, to set the voltage at TP1 to +5.000 ± 0.002 V. Select the 2.000 pF range and adjust the OFFSET COARSE and FINE potentiometers to zero the display. The display should read ± 0.000 pF after zero adjustment. Select the 2.000 nF range and connect the 1000 pF standard capacitor to the instrument using coaxial cables. Adjust the CAL potentiometer, R11, for a display reading of 1.000 nF ± 0.000 nF. Connect a high impedance voltmeter to the ANALOG OUTPUT terminals on the back of the instrument. Adjust the AUX CAL potentiometer, R27, for a reading of 0.1000 V ± 0.0001 V.
This completes the basic calibration of the instrument. All of the other ranges will track the calibration on the 2.000 nF range to within ± (0.1% of reading + 2 digits). Remove the standard capacitor and replace the cover. The Model 3000 is now ready for use as precision capacitance meter.
The following changes are effective for instruments with serial numbers 30000 and up (PCB Assembly 8503000-0-3 Rev 3).
No revisions at this time. This manual and any future revisions will be posted on our website: www.glkinst.com


text:
package org.zstack.network.service.eip;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.zstack.core.cloudbus.CloudBus;
import org.zstack.core.db.DatabaseFacade;
import org.zstack.core.db.SimpleQuery;
import org.zstack.core.db.SimpleQuery.Op;
import org.zstack.core.errorcode.ErrorFacade;
import org.zstack.header.errorcode.SysErrors;
import org.zstack.header.apimediator.ApiMessageInterceptionException;
import org.zstack.header.apimediator.ApiMessageInterceptor;
import org.zstack.header.apimediator.StopRoutingException;
import org.zstack.header.message.APIMessage;
import org.zstack.header.vm.VmNicVO;
import org.zstack.header.vm.VmNicVO_;
import org.zstack.network.service.vip.VipState;
import org.zstack.network.service.vip.VipVO;
import org.zstack.network.service.vip.VipVO_;

import javax.persistence.Tuple;
import javax.persistence.TypedQuery;
import java.util.concurrent.Callable;

/**
 */
public class EipApiInterceptor implements ApiMessageInterceptor {
    @Autowired
    private DatabaseFacade dbf;
    @Autowired
    private ErrorFacade errf;
    @Autowired
    private CloudBus bus;

    private void setServiceId(APIMessage msg) {
        if (msg instanceof EipMessage) {
            EipMessage emsg = (EipMessage) msg;
            bus.makeTargetServiceIdByResourceUuid(msg, EipConstant.SERVICE_ID, emsg.getEipUuid());
        }
    }

    @Override
    public APIMessage intercept(APIMessage msg) throws ApiMessageInterceptionException {
        if (msg instanceof APICreateEipMsg) {
            validate((APICreateEipMsg) msg);
        } else if (msg instanceof APIDeleteEipMsg) {
            validate((APIDeleteEipMsg) msg);
        } else if (msg instanceof APIDetachEipMsg) {
            validate((APIDetachEipMsg) msg);
        } else if (msg instanceof APIAttachEipMsg) {
            validate((APIAttachEipMsg) msg);
        } else if (msg instanceof APIGetEipAttachableVmNicsMsg) {
            validate((APIGetEipAttachableVmNicsMsg) msg);
        }

        setServiceId(msg);

        return msg;
    }

    private void validate(APIGetEipAttachableVmNicsMsg msg) {
        if (msg.getVipUuid() == null && msg.getEipUuid() == null) {
            throw new ApiMessageInterceptionException(errf.stringToInvalidArgumentError(
                    String.format("either eipUuid or vipUuid must be set")
            ));
        }

        if (msg.getEipUuid() != null) {
            SimpleQuery<EipVO> q = dbf.createQuery(EipVO.class);
            q.select(EipVO_.state, EipVO_.vmNicUuid);
            q.add(EipVO_.uuid, Op.EQ, msg.getEipUuid());
            Tuple t = q.findTuple();

            EipState state = t.get(0, EipState.class);
            if (state != EipState.Enabled) {
                throw new ApiMessageInterceptionException(errf.stringToOperationError(
                        String.format("eip[uuid:%s] is not in state of Enabled, cannot get attachable vm nic", msg.getEipUuid())
                ));
            }

            String vmNicUuid = t.get(1, String.class);
            if (vmNicUuid != null) {
                throw new ApiMessageInterceptionException(errf.stringToOperationError(
                        String.format("eip[uuid:%s] has attached to vm nic[uuid:%s], cannot get attachable vm nic", msg.getEipUuid(), vmNicUuid)
                ));
            }
        }
    }

    private void validate(final APIAttachEipMsg msg) {
        isVmNicUsed(msg.getVmNicUuid());

        SimpleQuery<EipVO> q = dbf.createQuery(EipVO.class);
        q.select(EipVO_.state, EipVO_.vmNicUuid);
        q.add(EipVO_.uuid, Op.EQ, msg.getEipUuid());
        Tuple t = q.findTuple();
        String vmNicUuid = t.get(1, String.class);
        if (vmNicUuid != null) {
            throw new ApiMessageInterceptionException(errf.instantiateErrorCode(SysErrors.OPERATION_ERROR,
                    String.format("eip[uuid:%s] has attached to another vm nic[uuid:%s], can't attach again", msg.getEipUuid(), vmNicUuid)
            ));
        }

        EipState state = t.get(0, EipState.class);
        if (state != EipState.Enabled) {
            throw new ApiMessageInterceptionException(errf.stringToOperationError(
                    String.format("eip[uuid: %s] can only be attached when state is %s, current state is %s", msg.getEipUuid(), EipState.Enabled, state)
            ));
        }

        String vipL3Uuid = new Callable<String>() {
            @Override
            @Transactional(readOnly = true)
            public String call() {
                String sql = "select vip.uuid from VipVO vip, EipVO eip where vip.uuid = eip.vipUuid and eip.uuid = :eipUuid";
                TypedQuery<String> q = dbf.getEntityManager().createQuery(sql, String.class);
                q.setParameter("eipUuid", msg.getEipUuid());
                return q.getSingleResult();
            }
        }.call();

        SimpleQuery<VmNicVO> vq = dbf.createQuery(VmNicVO.class);
        vq.select(VmNicVO_.l3NetworkUuid);
        vq.add(VmNicVO_.uuid, Op.EQ, msg.getVmNicUuid());
        String guestL3Uuid = vq.findValue();
        if (guestL3Uuid.equals(vipL3Uuid)) {
            throw new ApiMessageInterceptionException(errf.stringToInvalidArgumentError(
                    String.format("guest l3Network of vm nic[uuid:%s] and vip l3Network of EIP[uuid:%s] are the same network",
                            msg.getVmNicUuid(), msg.getEipUuid())
            ));
        }
    }

    private void validate(APIDetachEipMsg msg) {
        SimpleQuery<EipVO> q = dbf.createQuery(EipVO.class);
        q.select(EipVO_.vmNicUuid);
        q.add(EipVO_.uuid, Op.EQ, msg.getUuid());
        String vmNicUuid = q.findValue();
        if (vmNicUuid == null) {
            throw new ApiMessageInterceptionException(errf.instantiateErrorCode(SysErrors.OPERATION_ERROR,
                    String.format("eip[uuid:%s] has not attached to any vm nic", msg.getUuid())
            ));
        }
    }

    private void validate(APIDeleteEipMsg msg) {
        if (!dbf.isExist(msg.getUuid(), EipVO.class)) {
            APIDeleteEipEvent evt = new APIDeleteEipEvent(msg.getId());
            bus.publish(evt);
            throw new StopRoutingException();
        }
    }

    private void isVmNicUsed(String vmNicUuid) {
        SimpleQuery<EipVO> eq = dbf.createQuery(EipVO.class);
        eq.select(EipVO_.uuid);
        eq.add(EipVO_.vmNicUuid, Op.EQ, vmNicUuid);
        String eipUuid = eq.findValue();
        if (eipUuid != null) {
            throw new ApiMessageInterceptionException(errf.instantiateErrorCode(SysErrors.OPERATION_ERROR,
                    String.format("vm nic[uuid:%s] has attached to another eip[uuid:%s]", vmNicUuid, eipUuid)
            ));
        }
    }

    private void validate(APICreateEipMsg msg) {
        if (msg.getVmNicUuid() != null) {
            isVmNicUsed(msg.getVmNicUuid());
        }

        SimpleQuery<VipVO> q = dbf.createQuery(VipVO.class);
        q.select(VipVO_.useFor, VipVO_.state);
        q.add(VipVO_.uuid, Op.EQ, msg.getVipUuid());
        Tuple t = q.findTuple();
        String useFor = t.get(0, String.class);
        if (useFor != null) {
            throw new ApiMessageInterceptionException(errf.instantiateErrorCode(SysErrors.OPERATION_ERROR,
                    String.format("vip[uuid:%s] has been occupied other network service entity[%s]", msg.getVipUuid(), useFor)
            ));
        }

        VipState state = t.get(1, VipState.class);
        if (state != VipState.Enabled) {
            throw new ApiMessageInterceptionException(errf.instantiateErrorCode(SysErrors.OPERATION_ERROR,
                    String.format("vip[uuid:%s] is not in state[%s], current state is %s", msg.getVipUuid(), VipState.Enabled, state)
            ));
        }

        if (msg.getVmNicUuid() != null) {
            SimpleQuery<VipVO> vq = dbf.createQuery(VipVO.class);
            vq.select(VipVO_.l3NetworkUuid);
            vq.add(VipVO_.uuid, Op.EQ, msg.getVipUuid());
            String vipL3Uuid = vq.findValue();

            SimpleQuery<VmNicVO> nicq = dbf.createQuery(VmNicVO.class);
            nicq.select(VmNicVO_.l3NetworkUuid);
            nicq.add(VmNicVO_.uuid, Op.EQ, msg.getVmNicUuid());
            String nicL3Uuid = nicq.findValue();
            if (nicL3Uuid.equals(vipL3Uuid)) {
                throw new ApiMessageInterceptionException(errf.stringToInvalidArgumentError(
                        String.format("guest l3Network of vm nic[uuid:%s] and vip l3Network of vip[uuid: %s] are the same network", msg.getVmNicUuid(), msg.getVipUuid())
                ));
            }
        }
    }
}


How often do you meet a family. . . .
The mom actually likes the mom? The dad actually likes the dad? The kids actually like the kids?
What about values, faith, humor, fashion, hobbies, music? Can you talk passionately about God, enjoy a glass of wine, and say anything that comes to mind. . . . . ANYTHING. . . . all in the same evening? What about disciplining THEIR kids in FRONT of them? Stay in the same house with them for a week? Not agree on something & actually express that?
← Battles Worth Fighting. . . .


Go to Logisticare and sign in using your credentials.
Under "Mode" select "Full" and keep format to "Delimited". If there is an additional dropdown menu available to you, make sure to select "Legacy".
In the next window, click Continue.
Select the date you want to download trips for on the Trip Date Calendar. It will display the number of trips available for that day in the right window. Click on the Download (date) Trips. You will need to remember where your file is saved once you download it.
Once the file is saved you can sign out of the Logisticare website.
In DispatchBot, click on "Import Trips" in the upper right corner.
Select "Logisticare" from the "Type" and "Account" drop down menus, then click "Choose File". Browse to the folder you saved the file to earlier and select your file, then click "Open".
When you're back on the "Import Trips" screen click on "Import Trips". If the trips are imported correctly you will get a "The import was successfully uploaded and will be processed shortly" message. If you get any errors during the import, double check that the Logisticare file is properly formatted.


Here you will find all the articles, Toolkit items and Q&As relating to Most able pupils.
Secondary schools are evaluated on their support of and provision for pupil who are more able.
Recent research from the Sutton Trust gives helpful guidance on how to maximise pupil's attainment and what great teaching looks like. Suzanne O'Connell draws out the essential findings.
Ofsted's new report on the most able has implications for every group of students in the school. In this article we look at the report's recommendations.
To download this toolkit, click below.


New Chairlift announced for Sun Peaks!
Home » Blog » New Chairlift announced for Sun Peaks!
Sun Peaks has announced huge infrastructure investment of $60 million for the upcoming 2018/19 season and beyond.
The huge news is that a new chairlift will be installed in time for next season, which will improve mountain, village and ski-in, ski-out access for the east village residences and allow easier movement Morrissey and Sun Dance sides of the mountain.
In addition to this great news, $300,000 is being invested in upgrades to the Sundance Chairlift, located in the centre of the village. With perfect beginner terrain and access to the terrain park from Sundance, it's no wonder this lift is the busiest in resort, so an increased capacity will ease the queues that occasionally (and we mean, occasionally!) build up at this lift.
Sun Peaks previous lift capacity equated to 12,000 people per hour, but with the new lift and increased chairs on Sundance the new lift capacity is 13,600 per hour – this is actually more than double the overnight capacity in Sun Peaks!
The Sun Peaks Grand will be having a make-over during the summer months, with $7,000,000 being spent on room upgrades. Brand new furniture, linens, flooring, wallcoverings and artwork will evoke a sense of warmth and coziness.
Investment in real estate across the village is ongoing, with new developments well under construction, and another piece of big news is that $7,000,000 will be invested in the Sun Peaks Centre. A large scale project will enhance the existing sports centre, the improved venue will include a multi-purpose indoor area which will hold up to 3000 participants, enablingt he community to host concerts, sporting events and corporate trade shows. The centre will have facilities for both local residents and resort guests, and should be an asset to Sun Peaks.
$1,000,000 will be spent on investment in mountain capital. Two new PistenBully Cats will be purchased and ready in time for for next winter. Sun Peaks is renowned for it's cruising blue and green groomers – so 2 new machines will ensure pristine pistes on all areas of the mountain.
The exciting initiatives ensure the continuing evolution of Sun Peaks as a leading destination and Canada's second largest ski area. The developments will enhance the experience of our guests taking part in ski instructor courses, snowboard instructor courses and instructor internships in Sun Peaks.
Full details can be found on the Sun Peaks website.


text:
As Tyre Nichols video is released, Memphians gather to protest his death
News Sports Memphis Tigers Business Music Obituaries eNewspaper Legals
No charges will be filed against officer who killed Ismael Lopez in Southaven
Jennifer Pignolet Daniel Connolly
Memphis Commercial Appeal
A grand jury declined to indict the officer who fatally shot Ismael Lopez at his own home in Southaven last year, according to John Champion, a Mississippi prosecutor involved in the case.
Champion also said he will release neither the name of the Southaven police officer who fired nor the name of another officer who was on the scene. He also will not release the investigative file in the now-closed case. He could not cite any law that supports those decisions.
He said the Mississippi Bureau of Investigation reviewed the evidence of the July 2017 shooting, and that the FBI conducted a parallel investigation.
Champion said his office presented the case to a grand jury in June and July and that the grand jury declined to indict the officer who shot Lopez – one of two who had come to the man's house by mistake.
The fatal shooting prompted public protests and lawsuit threats by the family of Lopez, an auto mechanic originally from Mexico. The limited information released about the case to reporters in Hernando Wednesday is unlikely to put the matter to rest.
A lawyer for the man's family said attorneys will hold a news conference Thursday.
In an interview Wednesday, Champion refused to release the names of the officers involved. "I'm not giving those out. Why would I?" He said they haven't been charged with a crime.
Asked to cite a Mississippi law that prevents him from releasing the names, Champion didn't do it.
He also refused to release the investigative file on the now-closed case. Across the state line in Shelby County, authorities routinely release investigative files of police shootings once the cases are closed. The information released online includes crime scene photos, witness statements and videos, though some of the key information, including names, is redacted.
"We don't give investigative files out," Champion said.
Asked to cite a Mississippi law that stops him from releasing the file, he said. "I'm not getting into this with you right now, ok? You want to ask me some questions, that's fine. I'm not giving you my file."
Asked again about any law that prevents the release, he said, "I'm not going to discuss this with you any more, OK? If you want to get your attorneys involved and go through all the hoops, that's fine. You're not getting the case file."
Champion said the facts were presented to the grand jury with options for both homicide and manslaughter charges, and the jury declined to indict.
An overwhelming percentage of grand jury presentations in the United States result in indictments – the political statistics web site FiveThirtyEight.com reported that of 162,000 federal cases in 2010, grand juries failed to indict in just 11 of them.
Grand juries involving police officers are an exception, with grand juries declining to indict in high-profile cases such as that of the policeman who shot Mike Brown in Ferguson, Missouri, in 2014.
More:Lawyer identifies Southaven police he believes were involved in fatal Ismael Lopez shooting
Lopez, 41, was shot at his home on Surrey Lane in Southaven the evening of July 23, 2017. Champion said shortly after the shooting that officers were looking for a domestic violence suspect.
The officers were at the wrong house, Champion said, but knocked on the door, and that Lopez was armed with a rifle.
"The officers went to the address they thought was the right one," Champion said. "They knocked on the door. They didn't go busting up into the house."
The officers instructed Lopez to put down the gun, Champion said. Lopez was shot once in the side of the head. He may have been turning away when he was shot, the district attorney said.
Family members and friends of Lopez immediately disputed the official account of the shooting.
Aaron Neglia, an attorney with the Memphis-based Horne & Wells law firm that is representing the Lopez family, could not immediately be reached for comment Wednesday.
Neglia earlier identified the officers he believed involved, saying he hoped naming the officers would put pressure on Southaven to release the information. The names were never publicized since no charges had been filed against them.
Champion said he met with the Lopez family face-to-face Wednesday before the press conference.
"I'm not going to tell you what they said, but I did meet with the family and obviously it was difficult," he said.
More:Letter to Jeff Sessions seeks Justice Department investigation of Ismael Lopez death in Southaven
Champion said in the press conference that the autopsy report was "in my opinion very poorly written," and that it was two-to-three pages.
Some others he's seen, he said, are six to eight pages and significantly more comprehensive. Champion said he was not able to confirm or reject the officers' stories based on that report.
Reach Jennifer Pignolet at jennifer.pignolet@commercialappeal.com or on Twitter @JenPignolet.
© 2023 www.commercialappeal.com. All rights reserved.


text:
import voxie
#
# Copyright (c) 2014-2022 The Voxie Authors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
import voxie.json_dbus
import sys
import functools
import dbus
import math

# PYTHONPATH=pythonlib/ python3 -c 'import voxie, voxie.serialize_state; args = voxie.parser.parse_args(); context = voxie.VoxieContext(args); instance = context.createInstance(); voxie.serialize_state.serialize(instance); context.client.destroy()'

class NodeInfo:
    def __init__(self, obj):
        self.obj = obj
        self.path = self.obj._objectPath
        self.prototype = self.obj.Prototype
        self.prototypeName = self.prototype.Name
        self.kind = self.prototype.NodeKind

    def __repr__(self):
        return repr(self.obj)

def isDigit(c):
    return c >= '0' and c <= '9'

def compareStringNumeric(str1, str2):
    pos = 0
    while pos < len(str1) and pos < len(str2) and str1[pos] == str2[pos]:
        pos += 1
    # Check the number of digits in both strings starting at the first character which is different and consider the string with more digits to be larger
    while True:
        isDigit1 = pos < len(str1) and isDigit(str1[pos])
        isDigit2 = pos < len(str2) and isDigit(str2[pos])
        if isDigit1 and not isDigit2:
            return 1
        elif isDigit2 and not isDigit1:
            return -1
        elif not isDigit1 and not isDigit2:
            # Fall back to 'normal' comparison
            if str1 < str2:
                return -1
            elif str1 > str2:
                return 1
            else:
                return 0
        # Else: isDigit1 and isDigit2, continue
        pos = pos + 1

# This objectKindOrder should make sure that all objects which appear as properties of other objects are created before those objects
nodeKindOrder = {
    'de.uni_stuttgart.Voxie.NodeKind.NodeGroup': 1,
    'de.uni_stuttgart.Voxie.NodeKind.Property': 2,
    'de.uni_stuttgart.Voxie.NodeKind.Data': 3,
    'de.uni_stuttgart.Voxie.NodeKind.Object3D': 4,
    'de.uni_stuttgart.Voxie.NodeKind.SegmentationStep': 5,
    'de.uni_stuttgart.Voxie.NodeKind.Filter': 6,
    'de.uni_stuttgart.Voxie.NodeKind.Visualizer': 7,
}

def compareNode(obj1, obj2):
    if obj1.kind in nodeKindOrder:
        if obj2.kind in nodeKindOrder:
            if nodeKindOrder[obj1.kind] < nodeKindOrder[obj2.kind]:
                return -1
            elif nodeKindOrder[obj1.kind] > nodeKindOrder[obj2.kind]:
                return 1
        else:
            return -1
    elif obj2.kind in nodeKindOrder:
        return 1

    res = compareStringNumeric(str(obj1.kind), str(obj2.kind))
    if res < 0:
        return -1
    elif res > 0:
        return 1

    res = compareStringNumeric(
        str(obj1.prototypeName), str(obj2.prototypeName))
    if res < 0:
        return -1
    elif res > 0:
        return 1

    res = compareStringNumeric(str(obj1.path), str(obj2.path))
    if res < 0:
        return -1
    elif res > 0:
        return 1

    return 0

# TODO: remove

def serializePropertyValueSimple(serializedNodes, value):
    if type(value) == tuple or type(value) == list:
        return list(map(lambda x: serializePropertyValueSimple(serializedNodes, x), value))
    if type(value) == dbus.ObjectPath:
        if value == dbus.ObjectPath('/'):
            return None
        elif value in serializedNodes:
            return serializedNodes[value]  # TODO: must not be quoted
        else:
            print('Warning: Could not find node %s' %
                  str(value), file=sys.stderr)
            return None
    if type(value) in [bool, int, float]:
        return value
    print('Got type: %s' % type(value), file=sys.stderr)
    return value

def serializePropertyValue(serializedNodes, sig, value):
    sig = dbus.Signature(sig)
    # return repr(value)
    # return repr(serializePropertyValueSimple(serializedNodes, value))
    if sig == 'b':
        return repr(bool(value))
    elif sig in ['y', 'n', 'q', 'i', 'u', 'x', 't']:
        return repr(int(value))
    elif sig == 'd':
        f = float(value)
        if math.isnan(f):
            return "float('NaN')"
        elif f == float('Infinity'):
            return "float('Infinity')"
        elif f == float('-Infinity'):
            return "float('-Infinity')"
        else:
            return repr(f)
    elif sig == 's':
        return repr(str(value))
    elif sig == 'o':
        if value == dbus.ObjectPath('/'):
            return 'None'
            # return "dbus.ObjectPath('/')"
        elif value in serializedNodes:
            return '%s' % (serializedNodes[value],)
        else:
            print('Warning: Could not find node %s' %
                  str(value), file=sys.stderr)
            return 'None'
            # return "dbus.ObjectPath('/')"
    elif sig[0] == 'a' and sig[1] != '{':
        return '[' + ', '.join([serializePropertyValue(serializedNodes, sig[1:], v) for v in value]) + ']'
    elif sig[0] == '(' and sig[-1] == ')':
        sigs = dbus.Signature(sig[1:-1])
        return '(' + ', '.join([serializePropertyValue(serializedNodes, s, v) for s, v in zip(sigs, value)]) + ')'
    elif sig == 'a{sv}':  # TODO: This assumes this is a JSON-like value
        obj = voxie.json_dbus.dbus_to_json_dict(value)
        # TODO: Is repr() the right thing here?
        return 'voxie.json_dbus.json_to_dbus_dict(' + repr(obj) + ')'
    else:
        print('Warning: Could not serialize DBus signature %s' %
              str(sig), file=sys.stderr)
        return 'None'

def serializeNode(instance, file, serializedNodes, obj, oname):
    propertiesExpr = '{'
    propertiesExpr += '\n'
    for property in obj.prototype.ListProperties():
        propertiesExpr += '  '
        # TODO: Handle errors
        name = property.Name
        try:
            value = obj.obj.GetProperty(name)
        except Exception as e:
            print('Warning: Could not get property %s for node %s: %s' %
                  (repr(name), str(obj.path), e))
            continue
        propertiesExpr += '%s: voxie.Variant(%s, %s),' % (repr(name), repr(str(
            value.signature)), serializePropertyValue(serializedNodes, value.signature, value.value))
        propertiesExpr += '\n'
    propertiesExpr += '}'
    filename = ''
    if obj.kind == 'de.uni_stuttgart.Voxie.NodeKind.Data':
        filename = voxie.cast(
            obj.obj, ['de.uni_stuttgart.Voxie.DataNode']).FileName
    if filename != '':
        objData = obj.obj.CastTo('de.uni_stuttgart.Voxie.DataNode')
        importProperties = objData.ImportProperties
        if len(importProperties) == 0:
            print('%s = instance.OpenFileChecked(%s) # %s' %
                  (oname, repr(filename), repr(obj.prototypeName)), file=file)
        else:
            # TODO: More error handling
            importer = objData.Importer
            importerName = importer.Name
            propertiesExpr2 = '{'
            propertiesExpr2 += '\n'
            for name in importProperties:
                propertiesExpr2 += '  '
                value = importProperties[name]
                propertiesExpr2 += '%s: voxie.Variant(%s, %s),' % (repr(name), repr(str(
                    value.signature)), serializePropertyValue(serializedNodes, value.signature, value.value))
                propertiesExpr2 += '\n'
            propertiesExpr2 += '}'
            print('%s = instance.Components.GetComponent(\'de.uni_stuttgart.Voxie.ComponentType.Importer\', %s).CastTo(\'de.uni_stuttgart.Voxie.Importer\').ImportNode(%s, {\'Properties\': voxie.Variant(\'a{sv}\', %s)}) # %s' %
                  (oname, repr(importerName), repr(filename), propertiesExpr2, repr(obj.prototypeName)), file=file)
        print('%s.SetPropertiesChecked(%s)' %
              (oname, propertiesExpr), file=file)
    else:
        print('%s = instance.CreateNodeChecked(%s, %s)' %
              (oname, repr(obj.prototypeName), propertiesExpr), file=file)
    print('%s.ManualDisplayName = %s' %
          (oname, obj.obj.ManualDisplayName), file=file)
    print('%s.GraphPosition = %s' % (oname, obj.obj.GraphPosition), file=file)
    if obj.kind == 'de.uni_stuttgart.Voxie.NodeKind.Visualizer':
        visObj = voxie.cast(
            obj.obj, ['de.uni_stuttgart.Voxie.VisualizerNode'])
        if instance.Gui.MdiViewMode == 'de.uni_stuttgart.Voxie.MdiViewMode.SubWindow' or not visObj.IsAttached:
            print('%s.CastTo(\'de.uni_stuttgart.Voxie.VisualizerNode\').IsAttached = %s' % (
                oname, visObj.IsAttached), file=file)
            print('%s.CastTo(\'de.uni_stuttgart.Voxie.VisualizerNode\').VisualizerPosition = %s' % (
                oname, visObj.VisualizerPosition), file=file)
            print('%s.CastTo(\'de.uni_stuttgart.Voxie.VisualizerNode\').VisualizerSize = %s' % (
                oname, visObj.VisualizerSize), file=file)

def serializeGui(instance, file):
    print("### GUI ###", file=file)
    print('instance.Gui.MdiViewMode = \'%s\'' %
          instance.Gui.MdiViewMode, file=file)

def isObjectInNodeGroup(obj, nodeGroupPath):
    if obj.obj.ParentNodeGroup is not None:
        if obj.obj.ParentNodeGroup._objectPath == nodeGroupPath:
            return True
        else:
            return isObjectInNodeGroup(obj.obj.ParentNodeGroup, nodeGroupPath)

def serialize(instance, file=sys.stdout, nodeGroupPath=None):
    """Serialize a voxie instance to a file.

    Args:
        instance: The instance which should be serialized.
        file: File to which the serialized output will be written. Defaults to sys.stdout.
        nodeGroupPath: Defaults to None. If set to none all objects in the project will be serialized.
        If set to the dbus object path of a node group in this instance then only that node group and
        all objects which are (indirect) children of it will be serialized.
    """
    versionInfo = instance.VersionInformation
    print('#!/usr/bin/python3', file=file)
    # TODO: print version string in a different format?
    print('# Stored using voxie version %s' %
          (repr(versionInfo['VersionString'].getValue('s')),), file=file)
    print('import voxie, dbus', file=file)
    print('instance = voxie.instanceFromArgs()\n', file=file)
    lastKind = None
    lastPrototypeName = None
    nodes = list(map(NodeInfo, instance.ListNodes()))
    # print(list(map(lambda x: x.prototype._objectPath, nodes)))
    nodes.sort(key=functools.cmp_to_key(compareNode))
    # TODO: support for reordering if necessary or for use SetProperty() to set the properties later when the ordering above is not sufficient?
    serializedNodes = {}
    # id = 0
    usedIDs = {}

    # if nodeGroupPath is set then filter out all objs in the 'objects' list that are not (indirect) children of the node group.
    if nodeGroupPath is not None:
        nodeGroupObjects = []
        for obj in nodes:
            if isObjectInNodeGroup(obj, nodeGroupPath) or obj.obj._objectPath == nodeGroupPath:
                nodeGroupObjects.append(obj)
        nodes = nodeGroupObjects
        nodes.sort(key=functools.cmp_to_key(compareNode))

    for obj in nodes:
        # print(obj.kind, obj.prototypeName, obj.path)
        if obj.kind != lastKind:
            print('\n### %s ###' % (obj.kind,), file=file)
            lastKind = obj.kind
        if obj.prototypeName != lastPrototypeName:
            print('# %s #' % (obj.prototypeName,), file=file)
            lastPrototypeName = obj.prototypeName

        # id = id + 1
        # name = 'obj%d' % id
        pnameShort = obj.prototypeName
        if '.' in pnameShort:
            pnameShort = pnameShort[(pnameShort.rindex('.') + 1):]
        pnameShortFiltered = ''
        for c in pnameShort:
            if (c >= 'a' and c <= 'z') or (c >= 'A' and c <= 'Z') or (c >= '0' and c <= '9') or c == '_':
                pnameShortFiltered += c
        if pnameShortFiltered not in usedIDs:
            usedIDs[pnameShortFiltered] = 0
        usedIDs[pnameShortFiltered] += 1
        name = 'o_%s_%d' % (pnameShortFiltered, usedIDs[pnameShortFiltered])

        serializeNode(instance, file, serializedNodes, obj, name)
        serializedNodes[obj.path] = name

    # node group relations. We can only set these after we're done with serializing all nodes because we
    # can't guarantee that nested node groups are serialized in the "correct" order (top-level first)
    print("\n### Node Group Relations ###", file=file)
    for obj in nodes:
        parentNodeGroup = obj.obj.ParentNodeGroup
        if parentNodeGroup is not None:
            print('%s.ParentNodeGroup = %s' % (
                serializedNodes[obj.path], serializedNodes[parentNodeGroup._objectPath]), file=file)
            print('%s.ExportedProperties = %s' %
                  (serializedNodes[obj.path], obj.obj.ExportedProperties), file=file)

    serializeGui(instance, file)


MINNEAPOLIS — Oct. 29, 2015 — Digital River, Inc., a leading global provider of Commerce-as-a-Service solutions, announced that the company will host a free webinar to reveal the results of a survey of more than 100 ecommerce leaders of small-to-midsized businesses (SMB) from the U.S. and Germany. The webinar called, "Empowering International Ecommerce Expansion," will be held on Wednesday, Nov. 4, 2015, from 1:30 p.m. to 2:30 p.m. CST. Peter Sheldon, vice president and principal analyst at Forrester Research, Inc., will lead the discussion about current ecommerce trends and the challenges these businesses face when selling digital products online outside their domestic borders. The survey was conducted on behalf of Digital River by Forrester Consulting, one of the world's most influential research and advisory firms.
The advantages ecommerce providers offer in reducing the complexities of international ecommerce.
The webinar is open to the public and free of charge. Participation requires a laptop or desktop computer. To register for the Nov. 4 session, please visit http://driv.ws/ag.
Digital River offers a wide range or ecommerce, payments and marketing solutions for companies of all sizes. MyCommerce, Digital River's self-service ecommerce solution, provides small-to-midsized businesses with a robust platform and tools to successfully build, manage and grow profitable online businesses on a worldwide basis. Priced affordably, the solution is based on a do-it-yourself ecommerce model with short click-through contracts, global ecommerce features and customizable e-store set-up options.
For digital commerce practitioners and marketers looking for additional educational resources, Digital River hosts on-demand webinars on its corporate website (http://www-www.digitalriver.com/resources/events-and-webinars/).


Marc Jacobs Stud Earrings 2019 Marc Jacobs Mj Coin Bracelet Marcjacobs is just one of the many collections of pictures or photos that are on this website. you will get a lot of information about in here. We not only provide information about only, you will get a lot more references to design your dream home. So , don't forget to keep visit tinnitusremediesforyou.com to get the latest information about home design, kitchen, bedroom, bathroom, living room, and furniture and more. Marc Jacobs Stud Earrings 2019 Marc Jacobs Mj Coin Bracelet Marcjacobs was posted in October 9, 2018 at 2:08 am. Marc Jacobs Stud Earrings 2019 Marc Jacobs Mj Coin Bracelet Marcjacobs has viewed by 6 users. Click it and download the Marc Jacobs Stud Earrings 2019 Marc Jacobs Mj Coin Bracelet Marcjacobs.


Elizabeth Baldwin Literary Society silver medallion with the carved "E.B.L.S." letters on it. Original resource is a black and white scanned page.
"Elizabeth Baldwin Literary Society Medallion, Rice Institute." (1917) Rice University: https://hdl.handle.net/1911/71788.


Are you ready to enter the Vortal?
The siblings and their family are swept into a bewildering world of time travel and adventure, cutting-edge technology and medieval warfare, dashing heroes and sinister villains. As they tumble through time and space and alternate universes, they find themselves sinking deeper and deeper into the Vortal.
Will they survive? And if they do, how will they find one another again?
From the author of the acclaimed Ramayana and Mahabharata series and the bestselling Krishna Coriolis comes a book which will take your breath away.