Antony Reynolds

Subscribe to Antony Reynolds feed
Oracle Blogs
Updated: 3 hours 52 min ago

Reflecting Changes in Business Objects in UI Tables with Visual Builder

Mon, 2018-05-21 13:14

While the quick start wizards in Visual Builder Cloud Service (VBCS) make it very easy to create tables and other UI components and bind them to business objects, it is good to understand what is going on behind the scenes, and what the wizards actually do. Knowing this will help you achieve things that we still don't have wizards for.

For example - let's suppose you created a business object and then created a UI table that shows the fields from that business object in your page. You probably used the "Add Data" quick start wizard to do that. But then you remembered that you need one more column added to your business object, however after you added that one to the BO, you'll notice it is not automatically shown in the UI. That makes sense since we don't want to automatically show all the fields in a BO in the UI.

But how do you add this new column to the UI?

The table's Add Data wizard will be disabled at this point - so is your only option to drop and recreate the UI table? Of course not!

 

If you'll look into the table properties you'll see it is based on a page level ServiceDataProvider ( SDP for short) variable. This is a special type of object that the wizards create to represent collections. If you'll look at the variable, you'll see that it is returning data using a specific type. Note that the type is defined at the flow level - if you'll look at the type definition you'll see where the fields that make up the object are defined.

Type Definition

It is very easy to add a new field here - and modify the type to include the new column you added to the BO. Just make sure you are using the column's id - and not it's title - when you define the new field in the items array.

Now back in the UI you can easily modify the code of the table to add one more column that will be hooked up to this new field in the SDP that is based on the type.

Sounds complex? It really isn't - here is a 3 minute video showing the whole thing end to end:

As you see - a little understanding of the way VBCS works, makes it easy to go beyond the wizards and achieve anything.

European Privacy Requirements: Considerations for Retailers

Mon, 2018-05-21 11:52

When retailers throughout Europe adopt a new set of privacy and security regulations this week, it will be the first major revision of data protection guidelines in more than 20 years. The 2018 regulations address personal as well as financial data, and require that retailers use systems already designed to fulfill these protections by default.

In 1995, the European Commission adopted a Data Protection Directive that regulates the processing of personal data within the European Union. This gave rise to 27 different national data regulations, all of which remain intact today. In 2012, the EC announced that it would supersede these national regulations and unify data protection law across the EU by adopting a new set of requirements called the General Data Protection Regulation (GDPR).

The rules apply to any retailer selling to European consumers. The GDPR, which takes effect May 25, 2018, pertains to any company doing business in, or with citizens of, the European Union, and to both new and existing products and services. Organizations found to be in violation of the GDPR will face a steep penalty of 20 million euros or four percent of their gross annual revenue, whichever is greater.

Retailers Must Protect Consumers While Personalizing Offers

GDPR regulations will encompass personal as well as financial data, including much of the data found in a robust customer engagement system, CRM, or loyalty program. It also includes information not historically considered to be personal data: device IDs, IP addresses, log data, geolocation data, and, very likely, cookies.

For the majority of retailers relying on customer data to personalize offers, it is critically important to understand how to fulfill GDPR requirements and execute core retail, customer, and marketing operations. Developing an intimate relationship with consumers and delivering personalized offers means tapping into myriad data sources.

This can be done, but systems must be GDPR-compliant by design and by default. A key concept underlying the GDPR is Privacy by Design (PBD), which essentially stipulates that systems be designed to minimize the amount of personal data they collect. Beginning this week, Privacy by Design features will become a regulatory requirement for both Oracle and our customers and GDPR stipulates that these protections are, by default, turned on.

Implementing Security Control Features

While the GDPR requires “appropriate security and confidentiality,” exact security controls are not specified. However, a number of security control features are discussed in the text and will likely be required for certain types of data or processing. Among them are multi-factor authentication for cloud services, customer-configurable IP whitelisting, granular access controls (by record, data element, data type, or logs), encryption, anonymization, and tokenization.

Other security controls likely to be required are “separation of duties” (a customer option requiring two people to perform certain administrative tasks); customer options for marking some fields as sensitive and restricted; limited access on the part of the data controller (i.e. Oracle) to customer information; displaying only a portion of a data field; and the permanent removal of portions of a data element.

Summary of Critical GDPR Requirements

The GDPR includes a number of recommendations and requirements governing users’ overall approach to data gathering and use. Among the more important are:

  • Minimization. Users are required to minimize the amount of data used, length of time it is stored, the number of people who have access to it, and the extent of that access.
  • Retention and purging. Data may be retained for only as long as reasonably necessary. This applies in particular to personal data, which should be processed only if the purpose of processing cannot reasonably be fulfilled by other means. Services must delete customer data on completion of the services.
  • Exports and portability. End users must be provided with copies of their data in a structured, commonly used digital format. Customers will be required to allow end users to send data directly to a competing service provider for some services.
  • Access, correction, and deletion. End-user requests for data access, correction, and deletion for data they store in any service. Users may have a “right to be forgotten”—a right to have all their data erased.
  • Notice and consent. When information is collected, end-user notice and consent for data processing is generally required.
  • Backup and disaster recovery. Timely availability of end-user data must be ensured.

Are you prepared?

Oracle is prepared for the EU General Data Protection Regulation (GDPR) that was adopted by the European Parliament in April 2016 and will become effective on May 25, 2018. We welcome the positive changes it is expected to bring to our service offerings by providing a consistent and unified data protection regime for businesses across Europe. Oracle is committed to helping its customers address the GDPR’s new requirements that are relevant to our service offerings, including any applicable processor accountability requirements.

Our customers can rest assured that Oracle Retail’s omnichannel suite will empower them to continue delivering personalized customer experiences that meet complex global data privacy regulations. Contact Oracle Retail to learn more about Oracle systems, services and GDPR compliance: oneretailvoice_ww@oracle.com

 

 

 

 

New Oracle E-Business Suite Person Data Removal Tool Now Available

Mon, 2018-05-21 10:27

Oracle is pleased to announce the availability of the Oracle E-Business Suite Person Data Removal Tool, designed to remove (obfuscate) data associated with people in E-Business Suite systems. Customers can apply the tool to select information in their E-Business Suite production systems to help address internal operational and external regulatory requirements, such as the EU General Data Protection Regulation (GDPR).

For more details, see:

DP World Extends Strategic Collaboration with Oracle to Accelerate Global Digital ...

Mon, 2018-05-21 09:56

Global trade enabler DP World has extended its partnership with Oracle to implement its digital transformation programme that supports its strategy to develop complementary sectors in the global supply chain such as industrial parks, free zones and logistics. 

 

Suhail Al Banna, Senior Vice President, DP World, Middle East and Africa Region; Arun Khehar, Senior Vice President – Business Applications, ECEMEA, Oracle; Mohammed Al Muallem, CEO and Managing Director, DP World, UAE Region and CEO, JAFZA.

Suhail Al Banna, Senior Vice President, DP World, Middle East and Africa Region; Arun Khehar, Senior Vice President – Business Applications, ECEMEA, Oracle; Mohammed Al Muallem, CEO and Managing Director, DP World, UAE Region and CEO, JAFZA.

 

The move follows an announcement by DP World earlier this year to use the Oracle Cloud Suite of Applications drive business transformation. Oracle Consulting will now implement the full suite of Fusion Enterprise Resource Planning (ERP), Human Capital Management (HCM) and Enterprise Performance Management (EPM) Cloud solutions using its True Cloud methodology. The technology roll out across the Group has already started with the Group’s UAE Region and Middle East and Africa Region the first to sign up.

Teo Chin Seng, Senior Vice President IT, DP World Group, said:“Our focus on building our digital capability follows our vision to become a digitised global trade enabler and we working to achieve a new operational efficiency level while creating value for our stakeholders.”

Arun Khehar, Senior Vice President – Business Applications, ECEMEA, Oracle said:“Following the recent announcement of our strategic partnership to help DP World drive its global digital transformation with our best-in-class Cloud Suite of Applications (SaaS), we are proud to extend our collaboration by leveraging the deep expertise of Oracle Consulting to drive this large scale project. We are confident that this strategic cloud deployment will help them deliver the next level of innovation and differentiation.”

The Oracle Consulting team is focused exclusively on Oracle Cloud solutions and staffed with more than 7,000 experts in 175 countries serving more than 20 million users to help organizations implement Oracle Cloud in an efficient and cost-effective manner.

 

Further press releases Oracle Middle East Newsroom 

If You Are Struggling With GDPR, Then You Are Not Alone

Mon, 2018-05-21 08:00

Well, it's only 5 days to go until the infamous GDPR deadline of 25th May 2018 and you can certainly see the activity accelerating.

You would have thought that with the deadline so close, most organisations would be sat back, relaxing, safe in the knowledge that they have had 2 years to prepare for GDPR, and therefore, are completely ready for it. It's true, some organisations are prepared and have spent the last 24 months working hard to meet the regulations. Sadly, there are also a significant proportion of companies who aren't quite ready. Some, because they have left it too late. Others, by choice.

Earlier this week I had the pleasure of being invited to sit on a panel discussing GDPR at Equinix's Innovation through Interconnection conference in London.

As with most panels, we had a very interesting discussion, talking about all aspects of GDPR including readiness, data sovereignty, healthcare, the role of Cloud, and the dreaded Brexit!

I have written before about GDPR, but this time I thought I would take a bit of time to summarise three of the more interesting discussion topics from the panel, particularly areas where I feel companies are struggling.

Are you including all of your personal right data?

There is a clear recognition that an organisation's customer data is in scope for GDPR. Indeed, my own personal email account has been inundated with opt-in consent emails from loads of companies, many of whom I had forgotten even had my data. Clearly, companies are making sure that they are addressing GDPR for their customers. However, I think there is a general concern that some organisations are missing some of the data, especially internal data, such as that of their employees. HR data is just as important when it comes to GDPR. I see some companies paying far less attention to this area than their customer's data.

Does Cloud help or hinder GDPR compliance?

A lot was discussed on the panel around the use of cloud. Personally, I think that cloud can be a great enabler, taking away some of the responsibility and overhead of implementing security controls, processes, and procedures and allowing the Data Processor (the Cloud Service Provider) to bring all of their experience, skill and resources into delivering you a secure environment. Of course, the use of Cloud also changes the dynamic. As the Data Controller, an organisation still has plenty of their own responsibility, including that of the data itself. Therefore, putting your systems and data into the Cloud doesn't allow you to wash your hands of the responsibility. However, it does allow you to focus on your smaller, more focused areas of responsibility. You can read more about shared responsiblity from Oracle's CISO, Gail Coury in this article. Of course, you need to make sure you pick the right cloud service provider to partner with. I'm sure I must have mentioned before that Oracle does Cloud and does it extremely well.

What are the real challenges customers are facing with GDPR?

I talk to lots of customers about GDPR and my observations were acknowledged during the panel discussion. Subject access rights is causing lots of headaches. To put it simply, I think we can break GDPR down into two main areas: Information Security and Subject Access Rights. Organisations have been implementing Information Security for many years (to varying degrees), especially if they have been subject to other legislations like PCI, HIPAA, SOX etc. However, whilst the UK Data Protection Act has always had principles around data subjects, GDPR really brings that front and centre. Implementing many of the principles associated with data subjects, i.e. me and you, can mean changes to applications, implementing new processes, identifying sources of data across an organisation etc. None of this is proving simple.

On a similar theme, responding to subject access rights due to this spread of data across an organisation is worrying many company service desks, concerned that come 25th May, they will be inundated with requests they cannot fulfil in a timely manner.

Oh and of course, that's before you even get to paper-based and unstructured data, which is proving to be a whole new level of challenge.

I could continue, but the above 3 areas are some of the main topics I am hearing over and over again with the customers I talk to. Hopefully, everyone has realised that there is no silver bullet for achieving GDPR compliance, and, for those companies who won't be ready in 5 days time, I hope you at least have a strong plan in place.

Experience, Not Conversion, is the Key to the Switching Economy

Mon, 2018-05-21 08:00

In a world increasingly defined by instant-gratification, the demand for positive and direct shopping experiences has risen exponentially. Today’s always-on customers are drawn to the most convenient products and services available. As a result, we are witnessing higher customer switching rates, with consumers focusing more on convenience than on branding, reputation, or even on price.  

In this switching economy – where information and services are always just a click away –  we tend to reach for what suits our needs in the shortest amount of time. This shift in decision making has made it harder than ever for businesses to build loyalty among their customers and to guarantee repeat purchases. According to recent research, only 1 in 5 consumers now consider it a hassle to switch between brands, while a third would rather shop for better deals than stay loyal to a single organization. 

What's Changed? 

The consumer mindset for one. And the switching tools available to customers have also changed. Customers now have the ability to research extensively before they purchase, with access to reviews and price comparison sites often meaning that consumers don’t even make it to a your website before being captured by a competitor. 

This poses a serious concern for those brands that have devoted their time – and marketing budgets – to building great customer experiences across their websites. 

Clearly this is not to say that on-site experiences aren’t important, but rather that they are only one part of the wider customer journey. In an environment as complex and fast moving as the switching economy, you must look to take a more omnichannel approach to experience, examining how your websites, mobile apps, customer service teams, external reviews and in-store experiences are all shaping the customers’ perceptions of your brand. 

What Still Needs to Change?

Only by getting to know your customers across all of these different channels can you future-proof your brand in the switching economy. To achieve this, you must establish a new set of metrics that go beyond website conversion. The days of conversion optimization being viewed as the secret sauce for competitive differentiation are over; now brands must recognize that high conversion rates are not necessarily synonymous with a great customer experience – or lifetime loyalty. 

Today, the real measure of success does not come from conversion, but from building a true understanding of your customers – across every touchpoint in the omnichannel journey. Through the rise of experience analytics, you finally have the tools and technologies needed to understand customers in this way, and to tailor all aspects of your brand to maximize convenience, encourage positive mindsets and pre-empt when your customers are planning to switch to a different brand. 

It is only through this additional layer of insight that businesses and brands will rebuild the notion of customer loyalty, and ultimately, overcome the challenges of the switching economy. 

Want to learn more about simplifying and improving the customer experience? Read Customer Experience Simplified: Deliver The Experience Your Customers Want to discover how to provide customer experiences that are managed as carefully as the product, the price, and the promotion of the marketing mix.

Customer Experience Simplified

See What Your Guests Think with Data Visualization

Mon, 2018-05-21 06:00

As we approach the end of May, thoughts of summer and vacations begin. Naturally, a key component is finding the best place to stay and often that means considering the hotel options at your chosen destination. But what’s the best way to decide? That’s where reading reviews is so important.   

And that brings us to the latest blog in the series of taking datasets from ‘less typical’ sources and analyzing them with Oracle Data Visualization. Here, we’ve pulled the reviews from Booking.com as a dataset and visualized it to see how we – the general public - rate the hotels we stay in.

Working with Ismail Syed, pre-sales intern, and Harry Snart, pre-sales consultant, both from Oracle UK, we ran the analysis and created visualizations. We decided to look at the most common words used in both positive and negative reviews, see how long each of them is – and work out which countries are the most discerning when they give their feedback. 

So, what are the main irritations when we go away? Conversely - what's making a good impression?

Words of discontent

First, we wanted to combine the most commonly used words in a positive review with those most likely used in a negative review. You can see these in the stacked bar chart below. Interestingly, 'room' and 'staff' both appear in the positive and negative comments list. However, there are far more positive reviews around staff than negative ones, and likewise a lot more negative reviews around the room than positive reviews.

It seems then, across the board, guests find customer service better than the standard of the rooms they receive – implying an effective way to boost client retention would be by starting with improving rooms. In particular the small size of the rooms was complained about, that’s a tough fix, but people were more upset about the standard of the beds, their bathrooms and the toilets, which can be updated a bit more easily.

You’ll also notice 'breakfast' appears prominently in both the positive and negative word clouds – so a more achievable fix could be to start there. A bad breakfast can leave a bad taste, but a good one is obviously remembered. 

Who’ll give a good review?

Next, we wanted to see who the most complimentary reviewers were, by nationality. While North Americans, Australians and Kyrgyz (highlighted in green) tend to leave the most favorable reviews, hotels have a harder time impressing those from Madagascar, Nepal and Mali (in red). Europeans sit somewhere in the middle – except for Bosnia and Herzegovina, who like to leave an upbeat review.   

Next, we wanted to see who is the most verbose in their feedback – the negative reviewers or the positive reviewers – and which countries leave the longest posts.

Are shorter reviews sweeter?

Overall, negative reviews were slightly longer, but only by a small amount – contrary to the popular belief that we tend to ‘rant’ more when we’re perturbed about something. People from Trinidad and Tobago left the longest good reviews, at an average of 29 words. Those from Belarus, the USA and Canada followed as the wordiest positive reviewers. On the flip side, the Romanians, Swedish, Russians and Germans had a lot to say about their bad experiences – leaving an average of 22 words showing their displeasure.

It's business, but also personal...

Clearly data visualization doesn't necessarily just need to be a tool just for the workplace; you can deploy it to gain an insight into other aspects as well – including helping you prepare for some valuable time off.

If you’re an IT leader your organization and need to enable insights for everyone across business, you should consider a complete, connected and collaborative analytics platform like Oracle Analytics Cloud. Why not find out a bit more and get started for free.

If you simply interested in visual analysis of your own data? Why not see what you can find out by taking a look at our short demo and signing up for an Oracle Data Visualization trial?

Either way, make sure you and your business take a vacation from spreadsheets and discover far more from your data through visualization.

HR today: right skills, right place, right time, right price

Mon, 2018-05-21 05:49

The only constant in today’s work environment is change. If you’re going to grow and stay competitive in this era of digital transformation, your business has to keep up—and HR must too.

A wide range of factors all mean that HR constantly has to grow and transform—changing demographics, new business models, economic uncertainty, evolving employee expectations, the bring-your-own-device revolution, increased automation, AI, the relentless search for cost savings, and more.

Things are different today. In the past, business change processes typically had a start and target end date, with specific deliverables that were defined in advance. Now change is open-ended, and its objectives evolve over time—based on the world as it is, rather than a set of assumptions. An agile model for transformation is therefore essential, along with a decision-making process that can survive constant change.

The fact is that people are still—and will always be—the most important part of any business, so HR has to be closely aligned to your overall business goals, delivering benefits to the whole organisation. Every move your HR team makes should be focused on how to deliver the right skills in the right place, at the right time and at the right price, to achieve your business’s goals.

 

Workforce planning

To manage your workforce effectively as the needs of your business change, you need to know what talent you have, where it’s located—and also what skills you are likely to need in the future. It’s much easier to fill skills gaps when you can see, or anticipate, them.

 

Deliver maximum value from your own people

And it’s much easier to do if you’ve already nurtured a culture of personal improvement. Giving people new opportunities to learn and develop, and a sense of control over their own careers will help you maintain up-to-date skills within your business and also identify the most ideal candidates—whether for promotion, relocation within the company or to take on specific roles. Moreover, it should enable them to, for example, pursue areas of personal interest, train for qualifications, or perhaps work flexibly—all of which will improve loyalty and morale.

You can also look for skills gaps that you absolutely must recruit externally to fill, and understand how best to do that, especially at short notice. What are the most cost-efficient and effective channels, for example? You might consider whether offshoring for skills is helpful, or maintaining a base of experienced temporary workers that you can call on.

 

Unknown unknowns

Yet these are all known gaps. Organisations now also have to consider recruiting people for unknown jobs too. Some estimates suggest that as much as two-thirds of primary school children will end up working in jobs that don’t yet exist. So what new roles are being created in your industry, and how are you selecting people that will be able to grow into them?

 

Maximise the value of your HR function

Your HR organisation must be capable of, and ready to support these changes, and that means three things. First, the strategic workforce planning activities described above, supported by modern data and analytics. Next, HR has to provide the very best employee experience possible, enabling personal development and support. Finally, they need to be able to support the process of constant change itself, and move to a more agile way of operating.

 

Get the culture right

Creating and nurturing a strong culture is essential here, and that relies on close co-ordination between HR, line managers and employees. Having a core system of record on everyone’s roles and various skills supports all these objectives, and can help you to grow your business through the modern era of change.

 

Essential enablers for implementing a modern product strategy

Mon, 2018-05-21 05:49

Continuous improvement across your entire mix of products and services is essential to innovate and stay competitive nowadays. Digital disruption requires companies to transform, successfully manage a portfolio of profitable offerings, and deliver unprecedented levels of innovation and quality. But creating your product portfolio strategy is only the first part—four key best practices are necessary to successfully implement it.

New technologies—the Internet of Things (IoT), Big Data, Social Media, 3D printing, and digital collaboration and modelling tools—are creating powerful opportunities to innovate. Increasingly customer-centric propositions are being delivered ‘as-a-service’ via the cloud, with just-in-time fulfilment joining up multiple parts of the supply chain. Your products and services have to evolve continually to keep up, causing massive amounts of data to be generated that has to be fed back in to inform future development.

 

Common language

To minimise complexity, it’s essential that there is just one context for all communication. You therefore need a standardised—and well-understood—enterprise product record that acts as a common denominator for your business processes. And that means every last piece of information—from core service features to how your product uses IoT sensors; from business processes to your roadmap for innovation, and all other details—gets recorded in one place, in the same way, for every one of your products, from innovation through development to commercialisation.

That will make it far easier for you to collect and interpret product information; define service levels and deliver on them; support new business models, and manage the overall future design of your connected offerings. Moreover, it enables your product development methods to become more flexible, so they can be updated more frequently, enabled by innovations in your supply chain, supported more effectively by IT, and improved over time.

 

Greater quality control in the digital world…

By including form, fit and function rules—that describe the characteristics of your product, or part of it—within the product record, you add a vital layer of change control. It enables you to create a formal approvals process for quality assurance. For example, changes made in one area—whether to a product or part of it—may create problems in other areas. The form, fit and function rules force you to perform cross-functional impact analyses and ensure you’re aware of any consequences.

As part of this, you can run simulations with ‘digital twins’ to predict changes in performance and product behaviour before anything goes wrong. This obviously has major cost-saving implications, enabling far more to be understood at the drawing-board stage. Moreover, IoT applications can be leveraged to help product teams test and gather data of your connected assets or production facilities.

 

Transparency and effective communications

The enterprise product record should also contain a full audit trail of decisions about the product, including data from third parties, and from your supply chain. The objective is full traceability from the customer perspective—with evidence of regulatory compliance, provenance of preferred suppliers, and fully-auditable internal quality processes. Additionally, it’s often helpful to be able to prove the safety and quality of your product and processes, as that can be a key market differentiator. Powerful project management and social networking capabilities support the collaborative nature of the innovation process.

 

Lean and efficient

Overall, your innovation platform should be both lean and efficient, based on the continual iteration of the following key stages:

  • Ideation, where you capture, collaborate and analyse ideas
  • Proposal, where you create business cases and model potential features
  • Requirements, where you evaluate, collaborate and manage product needs
  • Concepts, where you accelerate product development and define structures
  • Portfolio analysis, where you revise and optimise your product investment
  • Seamless Integration with downstream ERP and Supply Chain processes

 

The result: Powerful ROI

Being able to innovate effectively in a digital supply chain delivers returns from both top-line growth—with increased revenues and market share—and reduced costs from improved safety, security, sustainability and fewer returns.

 

 

Cloud: Look before you leap—and discover unbelievable new agility

Mon, 2018-05-21 05:48

All around the world, finance teams are now fully embracing the cloud to simplify their operations. The heady allure of reduced costs, increased functionality, and other benefits are driving the migration. Yet what’s getting people really excited is the unexpected flush of new business agility they experience after they’ve made the change.

At long last, the cloud is becoming accepted as the default environment to simplify ERP and EPM. Fifty-six percent* of finance teams have already moved to the cloud—or will do so within the next year—and 24% more plan to move at some point soon.

 

Major cost benefits in the cloud

Businesses are making the change to enjoy a wide range of benefits. According to a recent survey by Oracle*, reducing costs is (predictably) the main motivation, with improved functionality in second place—and culture, timing and the ability to write-off existing investments also key factors. The financial motivation breaks down into a desire to avoid infrastructure investment and on-premises upgrades, and also to achieve a lower total cost of ownership.

And Cloud is delivering on its promise in all these areas—across both ERP and EPM, 70% say they have experienced economic benefits after moving to the cloud.

 

Leap for joy at cloud agility

But the biggest overall benefit of moving to the cloud—quoted by 85% of those who have made the change—is staying current on technology. Moreover, 75% say that cloud improves usability, 71% say it increases flexibility and 68% say that it enables them to deploy faster. Financial gain is the top motivation for moving to the cloud, but that’s only the fourth-ranked advantage overall once there. It turns out that the main strengths of the cloud are in areas that help finance organisations improve business agility.

These are pretty amazing numbers. It would be unheard of, until fairly recently, for any decent-sized organisation to consider migrating its core ERP or EPM systems without a very, very good reason. Now, the majority of companies believe that the advantages of such a move—and specifically, moving to the cloud—overwhelm any downside.

 

The commercial imperative

Indeed, the benefits are more likely viewed as a competitive necessity. Cloud eliminates the old cycle of new system launches every two or three years—replacing it with incremental upgrades several times each year, and easy, instant access to additional features and capabilities.

And that is, no doubt, what’s behind the figures above. Finance professionals have an increasingly strong appetite to experiment with and exploit the latest technologies. AI, robotic process automation, internet of things, intelligent bots, augmented reality and blockchain are all being evaluated and used by significant numbers of organisations.

They’re improving efficiency in their day-to-day operations, joining-up operating processes across their business and reducing manual effort (and human error) through increased automation. Moreover, AI is increasingly being applied to analytics to find answers to compelling new questions that were, themselves, previously unthinkable—providing powerful new strategic insights.

Finance organisations are becoming more agile—able to think smarter, work more flexibly, and act faster using the very latest technical capabilities.

 

But it’s only available via cloud-based ERP and EPM

Increasingly, all these advances are only being developed as part of cloud-based platforms. And more and more advanced features are filtering down to entry-level cloud solutions—at least in basic form—encouraging finance people everywhere to experiment with what’s possible. That means, if you’re not yet using these tools in the cloud, you’re most likely falling behind your competitors that are—and that applies both from the broader business perspective as well as from the internal operating competency viewpoint.

The cloud makes it simple to deploy, integrate and experiment with new capabilities, alongside whatever you may already have in place. It has become the new normal in finance. It seems like we’re now at a watershed moment where those that embrace the potential of cloud will accelerate away from those that do not, and potentially achieve unassailable new operating efficiencies.

The good news is that it’s easy to get started.  According to MIT Technology Review in a 2017 report, 86% of those making a transition to the cloud said the costs were in line with, or better than expected, and 87% said that the timeframe of transition to the cloud was in line with, or better than expected.

_______

* Except where stated otherwise, all figures in this article are taken from ‘Combined ERP and EPM Cloud Trends for 2018’, Oracle, 2018.

 

You’ve got to start with the customer experience

Mon, 2018-05-21 05:47

Visionary business leader Steve Jobs once remarked: ‘You’ve got to start with the customer experience and work backwards to the technology.’ From someone who spent his life creating definitive customer experiences in technology itself, these words should carry some weight—and are as true today as ever.

The fact is that customer experience is a science, and relevance is its key goal. A powerful customer experience is essential to compete today. And relevance is what cuts through the noise of the market to actually make the connection with customers.

 

The fundamentals of success

For companies to transform their customer experience, they need to be able to streamline their processes and create innovative customer experiences. They also have to be able to deliver by connecting all their internal teams together so they always speak with one consistent voice.

But that’s only part of the story. Customers have real choice today. They’re inundated with similar messages to yours and are becoming increasingly discerning in their tastes.

Making yourself relevant depends on the strength of your offering and content, and the effectiveness of your audience targeting. It also depends on your technical capabilities. Many of your competitors will already be experimenting with powerful new technologies to increase loyalty and drive stronger margins.

 

The value of data

Learning to collect and use relevant customer data is essential. Data is the lifeblood of modern business—it’s the basis of being able to deliver any kind of personalised service on a large scale. Businesses need to use data to analyse behaviour, create profiles for potential new customers, build propositions around those target personas and then deliver a compelling experience. They also need to continually capture new data at every touchpoint to constantly improve their offerings.

Artificial intelligence (AI) and machine learning (ML) have a key role to play both in the analysis of the data and also in the automation of the customer experience. These technologies are developing at speed to enable us to improve our data analysis, pre-empt changing customer tastes and automate parts of service delivery.

 

More mature digital marketing

You can also now add in all kinds of technologies to the customer experience mix that are straight out of sci-fi. The internet of things (IoT) is here, with connected devices providing help in all kinds of areas—from keeping you on the right road to telling you when your vehicle needs maintenance, from providing updates on your order status to delivering personal service wherever you are, and much more—enabling you to drive real transformation.

Moreover, intelligent bots are making it much easier to provide high-quality, cost-effective, round-the-clock customer support—able to deal with a wide range of issues—and using ML to improve their own performance over time.

Augmented reality makes it possible to add contextual information, based on your own products and services, to real-world moments. So, if you’re a car manufacturer you may wish to provide help with simple roadside repairs (e.g. change of tire) via a smartphone app.

 

Always omnichannel

Finally, whether at the pre-sale or delivery stage, your customer experience platform must give you the ability to deliver consistency at every touchpoint. Whatever channel, whatever time, whatever context, your customers must all believe that your whole business is one person.

Indeed, as Michael Schrage, author of the Harvard Business Review, said: ‘Innovation is an investment in the capabilities and competencies of your customers. Your future depends on their future.’ So you have to get as close as possible to your customers to learn what they want today, and understand what experiences they are likely to want tomorrow. Work backwards from that and use any technology that can help you deliver it.

How APIs help make application integration intelligent

Mon, 2018-05-21 05:47

Artificial intelligence (AI) represents a technology paradigm shift, with the potential to completely revolutionise the way people work over the next few years. Application programming interfaces (APIs) are crucially important in enabling the rapid development of these AI applications. Conversely AI is also being used to validate APIs, themselves, and also to analyse and optimise their performance.

Wikipedia defines an API as a ‘set of subroutine definitions, protocols and tools for building application software’. In slightly less dry terms, an API is basically a gateway to the core capabilities of an application, enabling that functionality to be built into other software. So, for example, if you were creating an app that needed to show geographic location, you might choose to implement Google Maps’ API. It’s obviously much easier, faster and future-proof to do that than to build your own mapping application from scratch.

 

How APIs are used in AI

And that’s the key strength of API—it’s a hugely efficient way of enabling networked systems to communicate and draw on each other’s functionality, offering major benefits for creating AI applications.

Artificially intelligent machine ‘skills’ are, of course, just applications that can be provided as APIs. So if you ask your voice-activated smart device—whether it’s Siri, Cortana, Google Assistant, or any of the rest—what time you can get to the Town Hall via bus, it’s response will depend on various skills that might include:

  • Awareness of where you are—from a geo-location API
  • Knowledge of bus routes and service delays in your area—from a publicly available bus company API
  • Tracking of general traffic and passenger levels—from APIs that show user locations provided by mobile device manufacturers
  • Being able to find the town hall—from a mapping API

None of these APIs needs to know anything about the others. They simply take information in a pre-defined format and output data in their own way. The AI application, itself, has to understand each API’s data parameters, tie all their skills together, apply the intelligence and then process the data.

 

Everything is possible

That means you can combine the seemingly infinite number of APIs that exist in any way you like, giving you the power to produce highly advanced applications—and create unique sources of value for your business. You could potentially build apps to enhance the customer experience, improve your internal processes, and analyse data more effectively to strengthen decision making—and perhaps even identify whole new areas of business to get into.

 

How AI is being used to improve APIs

APIs are the ideal way of getting information into AI applications and also helping to streamline analytics—yet artificial intelligence also has a vital role to play within API development itself. For example, AI can be used to automatically create, validate and maintain API software development kits (implementations of APIs in multiple different programming languages).

AI can also be used to monitor API traffic. By analysing calls to APIs using intelligent algorithms, you can identify problems and trends, potentially helping you tailor and improve the APIs over time. Indeed, AI can be used to analyse internal company system APIs, for example, helping you score sales leads, predict customer behaviour, optimise elements of your supply chain, and much more.

 

GDPR: What are the priorities for the IT department?

Mon, 2018-05-21 05:46

All too often it is assumed that GDPR compliance is ‘IT’s problem’ because having your personal data and technology in order are such vital parts of it. But compliance must be an organisation-wide commitment. No individual or single department can make an organisation compliant. However, in planning discussions around GDPR compliance, there are clear areas where IT can add significant value.

 

1. Be a data champion

The potential value of data to organisations is increasing all the time, but many departments, business units and even board members may not realise how much data they have access to, where it resides, how it is created, how it could be used and how it is protected. The IT department can play a clear role in helping organisations understand why data, and by extension GDPR, is so important in order to realise the value of such data and how to use and protect it.

 

2. Ensure data security

GDPR considers protection of personal data a fundamental human right. Organisations need to ensure they understand what personal data they have access to and put in place appropriate protective measures. IT has a role to play in working with the organisation to assess security risks and ensure that appropriate protective measures, such as encryption, access controls, attack prevention and detection are in place.

 

3. Help the organisation be responsive

GDPR requires organisations to not only protect personal data but also respond to requests from individuals who, among others, want to amend or delete data held on them. That means that the personal data must be collected, collated and structured in a way that enables effective and reliable control over all personal data. This means breaking down internal silos and ensuring an organisation has a clear view of its processing activities with regard to personal data.

 

4. Identify the best tools for the job

GDPR compliance is as much about process, culture and planning as it is about technology. However, there are products available which can help organisations with key elements of GDPR compliance, such as data management, security and the automated enforcement of security measures. Advances in automation and artificial intelligence mean many tools offer a level of proactivity and scalability which don’t lessen the responsibility upon people within the organisation, but can reduce the workload and put in place an approach which can evolve with changing compliance requirements.

 

5. See the potential

An improved approach to security and compliance management, fit for the digital economy, can give organisations the confidence to unlock the full potential of their data. If data is more secure, better ordered and easier to make sense of, it stands to reason an organisation can do more with it. It may be tempting to see GDPR as an unwelcome chore. It should however be borne in mind that it is also an opportunity to seek differentiation and greater value, to build new data-driven business models, confident in the knowledge that the data is being used in a compliant way.  Giving consumers the confidence to share their data is also good for businesses.

 

The IT department will know better than most how the full value of data can be unlocked and can help businesses pull away from seeing GDPR as a cost of doing business and start seeing it as an opportunity to do business better.

Autonomous: A New Lens for Analytics

Mon, 2018-05-21 05:45

Welcome to the era of intelligent, self-driving software. Just as self-driving vehicles are set to transform motoring, self-driving software promises to transform our productivity, and strengthen our analytical abilities.

Perhaps you drive an automatic car today—how much are you looking forward to the day your car will automatically drive you? And how much more preferable would smoother, less time-consuming journeys be—always via the best route, with fewer hold-ups, and automatically avoiding unexpected road congestion—where you only have to input your destination? The technology is almost here, and similar advances are driving modern business applications.

AI and machine learning are finally coming of age thanks to the recent advances in big data that created—for the first time—data sets that were large enough for computers to draw inferences and learn from. That, along with years of SaaS application development in cloud computing environments, means that autonomous technology—harnessing both AI and business intelligence—is now fuelling self-driving software… for both cars and cloud applications.

 

Autonomy—beyond automation

Automation has, of course, been around for years. But autonomy—running on AI and machine learning—takes it to new levels. Today’s software is truly self-driving—it eliminates the need for humans to provision, secure, monitor, back-up, recover, troubleshoot or tune. It upgrades and patches itself, and automatically applies security updates, all while running normally. Indeed, an autonomous data warehouse, for example, can reduce administration overheads by up to 80%.

 

Intelligent thinking

But the greatest value is perhaps in what AI enables you to discover from your data. When applied to analytics, it can identify patterns in huge data sets that might otherwise go unnoticed. So, for example, you could apply AI to sales data to identify trends—who bought what, where, when and why?—and apply those to improve the accuracy of your future forecasts.

Alternatively, if you were looking for a vibrant location for new business premises, you might use AI to search for an area with a strong social media buzz around its restaurants and bars. You could teach the software to look for specific words or phrases, and harness machine learning to improve results over time.

AI technology is already widely used in HR to take the slog out of sifting through huge numbers of job applications. As well as being faster and requiring less manpower, it’s able to remove both human bias—critical in the highly subjective area of recruitment—and also identify the best candidates based on factors such as the kind of language they use.

 

Knowledge and power for everyone

These technologies are coming online now—today—for everyone. In the past, most database reporting was typically run by data analysts or scientists to update pre-existing dashboards and reports. Nowadays there are many more business users who are demanding access to such insights, which is being made possible by tools that are far easier to use.

Anyone can experiment with large samples of different data sets, combining multiple data formats—structured and unstructured—and discovering new trends. They can get answers in context, at the right time, and convert them into simple-to-understand insights, enabling decisions to be made more quickly for competitive advantages.

 

Smarter and smarter…

Yet it’s the strength of those insights that’s really compelling. As one commentator observed: ‘Machine intelligence can give you answers to questions that you haven’t even thought of.’ The quality of those answers—and their underlying questions—will only improve over time. That’s why it’s becoming a competitive imperative to embrace the power of intelligent analytics to ensure you can keep pace with market leaders.

 

Discover how…

In my last blog, I shared how organisations can profit from data warehouses and data marts, and how Oracle’s self-driving, self-securing, and self-repairing Autonomous Data Warehouse saves resources on maintenance allowing investment in data analytics.

 

CPQ is an Auditor’s Best Friend

Mon, 2018-05-21 03:00

By Andy Pieroux, Founder and Managing Director of Walpole Partnership Ltd.  

One of the reasons many companies invest in a Configure, Price and Quote (CPQ) system is to provide a robust audit trail for their pricing decisions. Let’s take a look at why, and how CPQ can help.


First, apologies if you are an auditor. I’ve always been on the business side - either in sales, sales management, or as a pricing manager. I can appreciate your view may be different from the other side of the controls. Perhaps by the end of this article our points of view may become closer?

If your business has the potential to get audited, I know that I can speak on your behalf to say we all just love being audited. We love the time taken away from our day jobs. We love the stress of feeling that something may be unearthed that exposes us or gets us in trouble, even if we’ve never knowingly done anything wrong. We love the thought of our practices being exposed as 'in need of improvement' and relish the chance to dig through old documents and folders to try and piece together the story of why we did what we did… especially when it was several years ago. Yes sir, bring on the audit.

The reason we love it so much is that in our heart of hearts, we know audits are needed for our organization to prosper in the future. We dread the thought that our company might be caught up in a scandal like the mis-selling of pensions, or PPI (payment protection insurance), or serious accounting frauds like Enron.

It was scandals like Enron in the early 2000s that gave rise to stricter audit requirements and Sarbanes-Oxley (SOX).  This set a high standard required for internal controls, and much tougher penalties for board members who fail to ensure that financial statements are accurate. The role of pricing decisions (e.g. who authorized what and when), and the accuracy of revenue reporting becomes paramount when evidencing compliance with audit arrangements such as this.

At this point, a CPQ system can be the simple answer to your audit needs. All requests for discount, and the way revenue is allocated across products and services is documented. All approvals can be; attributed to an individual, time stamped, and with reasons captured at the time of approval. More importantly, the ability to show an auditor the entire history of a decision and to follow the breadcrumbs from a signed deal all the way to reported revenue at the click of a button means you have nothing to hide, and a clear understanding of the decisions. This is music to an auditor’s ears. It builds trust and confidence in the process and means any anomalies can be quickly analyzed.

When you have all this information securely stored in the cloud, under controlled access to only those who need it, and a tamper-proof process, that means it is designed with integrity in mind, and makes the process of passing an audit so much easier. All the anxiety and pain mentioned above disappears. Auditors are no longer the enemy. You will find they can help advise on improvements to the rules in your system to make future audits even more enjoyable. Yes - that’s right…. I said it. Enjoyable Audits!

So, CPQ is an auditor’s friend, and an auditee’s friend too. It doesn’t just apply to the big-scale audit requirements like SOX, but any organization that is auditable. Whether you’re a telecommunications company affected by IFRS 15, an organization impacted by GDPR, or any one of a thousand other guidelines, rules or quality policies that get checked - having data and decisions stored in a CPQ system will make you love audits too.

 

 

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import

url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw')

;.lst-kix_sholqrhc62dh-7>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-8>li:before {

content: "\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-2.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0}ol.lst-kix_xv318blpjdo-3.start {

counter-reset: lst-ctn-kix_xv318blpjdo-3 0}.lst-kix_sholqrhc62dh-1>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-2>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". "}.lst-kix_sholqrhc62dh-0>li:before {

content: "\0025cf "}.lst-kix_emhp84jkv42c-3>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-3}.lst-kix_ekmayt81kvbz-0>li:before {

content: "\0025cf "}.lst-kix_vf0l197cqv6l-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-4>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-4}.lst-kix_ekmayt81kvbz-2>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-6 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-5 {

list-style-type: none}.lst-kix_ekmayt81kvbz-1>li:before {

content: "\0025cb "}ul.lst-kix_qeqyxe7gm97l-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-3>li:before {

content: "\0025cf "}ul.lst-kix_qeqyxe7gm97l-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-0>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". "}ul.lst-kix_qeqyxe7gm97l-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-1 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-0 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-8.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0}.lst-kix_ekmayt81kvbz-5>li:before {

content: "\0025a0 "}.lst-kix_ekmayt81kvbz-7>li:before {

content: "\0025cb "}ul.lst-kix_4m04az9jmmj8-3 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-2 {

list-style-type: none}ul.lst-kix_qeqyxe7gm97l-8 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-1 {

list-style-type: none}.lst-kix_ekmayt81kvbz-4>li:before {

content: "\0025cb "}.lst-kix_ekmayt81kvbz-8>li:before {

content: "\0025a0 "}ul.lst-kix_qeqyxe7gm97l-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-0 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-7 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-6 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-5 {

list-style-type: none}ul.lst-kix_4m04az9jmmj8-4 {

list-style-type: none}.lst-kix_ekmayt81kvbz-6>li:before {

content: "\0025cf "}ul.lst-kix_4m04az9jmmj8-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-2>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2}.lst-kix_11a9ub9xa97v-0>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-0}ol.lst-kix_emhp84jkv42c-4.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start {

counter-reset: lst-ctn-kix_xv318blpjdo-8 0}ul.lst-kix_6ril5iwt0fcl-5 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-8>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-8}ul.lst-kix_6ril5iwt0fcl-4 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-3 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-2 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-8 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-7 {

list-style-type: none}ul.lst-kix_6ril5iwt0fcl-6 {

list-style-type: none}.lst-kix_vf0l197cqv6l-6>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-6}.lst-kix_vf0l197cqv6l-4>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-8.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0}.lst-kix_vf0l197cqv6l-3>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". "}.lst-kix_vf0l197cqv6l-5>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". "}.lst-kix_vf0l197cqv6l-6>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". "}ul.lst-kix_6ril5iwt0fcl-1 {

list-style-type: none}.lst-kix_vf0l197cqv6l-8>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". "}ul.lst-kix_6ril5iwt0fcl-0 {

list-style-type: none}.lst-kix_xv318blpjdo-1>li {

counter-increment: lst-ctn-kix_xv318blpjdo-1}.lst-kix_vf0l197cqv6l-7>li:before {

content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". "}.lst-kix_bfzyeb917dp8-6>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-6}ol.lst-kix_yly1729bcywk-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-1 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6.start {

counter-reset: lst-ctn-kix_yly1729bcywk-6 0}ol.lst-kix_yly1729bcywk-4 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-3 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". "}ol.lst-kix_yly1729bcywk-8 {

list-style-type: none}ul.lst-kix_hchtl271h88l-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0}ul.lst-kix_hchtl271h88l-2 {

list-style-type: none}ol.lst-kix_yly1729bcywk-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-4 {

list-style-type: none}.lst-kix_gfromclascha-0>li:before {

content: "\0025cf "}ul.lst-kix_hchtl271h88l-1 {

list-style-type: none}ul.lst-kix_hchtl271h88l-0 {

list-style-type: none}.lst-kix_gfromclascha-2>li:before {

content: "\0025a0 "}.lst-kix_gfromclascha-4>li:before {

content: "\0025cb "}ul.lst-kix_hchtl271h88l-7 {

list-style-type: none}ul.lst-kix_hchtl271h88l-6 {

list-style-type: none}ul.lst-kix_hchtl271h88l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0}.lst-kix_6ril5iwt0fcl-0>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-6>li:before {

content: "\0025cf "}.lst-kix_q97rvvc7c69e-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-8.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_6ril5iwt0fcl-2>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-7>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". "}.lst-kix_6ril5iwt0fcl-4>li:before {

content: "\0025cb "}.lst-kix_6ril5iwt0fcl-6>li:before {

content: "\0025cf "}.lst-kix_xv318blpjdo-8>li {

counter-increment: lst-ctn-kix_xv318blpjdo-8}.lst-kix_s3mi7ukxwiwf-5>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-8>li:before {

content: "\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". "}.lst-kix_ne7nl4nhpzqr-0>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0}.lst-kix_ne7nl4nhpzqr-7>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7}.lst-kix_vf0l197cqv6l-5>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-5}ol.lst-kix_jj5w63toozfm-7.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-7 0}.lst-kix_1wulu3ra2vwv-4>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") "}.lst-kix_yly1729bcywk-3>li {

counter-increment: lst-ctn-kix_yly1729bcywk-3}.lst-kix_hchtl271h88l-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-6>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") "}.lst-kix_yly1729bcywk-4>li {

counter-increment: lst-ctn-kix_yly1729bcywk-4}.lst-kix_hchtl271h88l-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-8>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") "}.lst-kix_gfromclascha-8>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-3>li:before {

content: "\0025cf "}.lst-kix_sholqrhc62dh-2>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-0 {

list-style-type: none}.lst-kix_hchtl271h88l-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-4>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". "}.lst-kix_1wulu3ra2vwv-0>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". "}ol.lst-kix_11a9ub9xa97v-3.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0}.lst-kix_emhp84jkv42c-2>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0}ul.lst-kix_h0kibz3smj6t-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_jkgkf1u9sy0c-2>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-2>li:before {

content: "\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before {

content: "\0025cb "}.lst-kix_f5kb4hocu5hh-6>li:before {

content: "\0025cf "}ul.lst-kix_iv2x96orjh4l-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0}ul.lst-kix_iv2x96orjh4l-3 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-5>li:before {

content: "\0025a0 "}ul.lst-kix_iv2x96orjh4l-0 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-3}ul.lst-kix_iv2x96orjh4l-1 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-6 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-7 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6}ul.lst-kix_iv2x96orjh4l-4 {

list-style-type: none}ul.lst-kix_iv2x96orjh4l-5 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-3 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-2 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-5>li:before {

content: "\0025a0 "}ul.lst-kix_h0kibz3smj6t-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-2.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-2 0}ul.lst-kix_h0kibz3smj6t-7 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-6 {

list-style-type: none}ul.lst-kix_h0kibz3smj6t-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-6>li:before {

content: "\0025cf "}ul.lst-kix_h0kibz3smj6t-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-4>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-4}ul.lst-kix_iv2x96orjh4l-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0}.lst-kix_b7256qmdgo85-3>li:before {

content: "\0025cf "}.lst-kix_b7256qmdgo85-4>li:before {

content: "\0025cb "}.lst-kix_b7256qmdgo85-7>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-3 0}.lst-kix_q97rvvc7c69e-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-8>li:before {

content: "\0025a0 "}ol.lst-kix_bfzyeb917dp8-2.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0}ol.lst-kix_1wulu3ra2vwv-6.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0}ol.lst-kix_yly1729bcywk-7.start {

counter-reset: lst-ctn-kix_yly1729bcywk-7 0}.lst-kix_jj5w63toozfm-5>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-5}.lst-kix_s3mi7ukxwiwf-0>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". "}ul.lst-kix_q97rvvc7c69e-4 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-3 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-6.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0}.lst-kix_s3mi7ukxwiwf-8>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-8 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-7 {

list-style-type: none}.lst-kix_gfromclascha-3>li:before {

content: "\0025cf "}ul.lst-kix_q97rvvc7c69e-0 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-2 {

list-style-type: none}ul.lst-kix_q97rvvc7c69e-1 {

list-style-type: none}.lst-kix_yly1729bcywk-3>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". "}.lst-kix_q97rvvc7c69e-6>li:before {

content: "\0025cf "}.lst-kix_6ril5iwt0fcl-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-6>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-7>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". "}ol.lst-kix_s3mi7ukxwiwf-3.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_6ril5iwt0fcl-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-1>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-1}.lst-kix_s3mi7ukxwiwf-4>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before {

content: "\0025a0 "}.lst-kix_b7256qmdgo85-0>li:before {

content: "\0025cf "}ul.lst-kix_vf0l197cqv6l-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") "}.lst-kix_xoos54gyybzj-5>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-5.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0}ol.lst-kix_vf0l197cqv6l-7.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0}.lst-kix_11a9ub9xa97v-7>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-7}.lst-kix_1wulu3ra2vwv-7>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") "}.lst-kix_xoos54gyybzj-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-2 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-3 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-0 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-1 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-6 {

list-style-type: none}.lst-kix_hchtl271h88l-8>li:before {

content: "\0025a0 "}ol.lst-kix_ne7nl4nhpzqr-7 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-4 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-5 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-8 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-6>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-6.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0}ul.lst-kix_pcjo479wrta-0 {

list-style-type: none}.lst-kix_86hsx13ssqid-5>li:before {

content: "\0025a0 "}ul.lst-kix_pcjo479wrta-2 {

list-style-type: none}ul.lst-kix_pcjo479wrta-1 {

list-style-type: none}ul.lst-kix_pcjo479wrta-4 {

list-style-type: none}.lst-kix_hchtl271h88l-4>li:before {

content: "\0025cb "}ul.lst-kix_pcjo479wrta-3 {

list-style-type: none}ul.lst-kix_pcjo479wrta-6 {

list-style-type: none}ul.lst-kix_pcjo479wrta-5 {

list-style-type: none}ul.lst-kix_pcjo479wrta-8 {

list-style-type: none}ul.lst-kix_pcjo479wrta-7 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-8.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0}.lst-kix_hchtl271h88l-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-1>li:before {

content: "\0025cb "}.lst-kix_sholqrhc62dh-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before {

content: "\0025cf "}.lst-kix_7tib3jrzu2u9-5>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-2>li:before {

content: "\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before {

content: "\0025cf "}ul.lst-kix_ndaonzmgp8vn-4 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-3 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-6 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-5 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-0 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-2 {

list-style-type: none}.lst-kix_bfzyeb917dp8-4>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-4}ul.lst-kix_ndaonzmgp8vn-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-8>li:before {

content: "\0025a0 "}ul.lst-kix_sholqrhc62dh-6 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-5 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-4 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-3 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-8 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-7 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0}ul.lst-kix_sholqrhc62dh-1 {

list-style-type: none}ul.lst-kix_sholqrhc62dh-0 {

list-style-type: none}.lst-kix_emhp84jkv42c-1>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-1}ul.lst-kix_ndaonzmgp8vn-8 {

list-style-type: none}ul.lst-kix_ndaonzmgp8vn-7 {

list-style-type: none}.lst-kix_j42a5dwgnqyq-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-6>li:before {

content: "\0025cf "}ol.lst-kix_bfzyeb917dp8-1.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0}.lst-kix_j42a5dwgnqyq-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-7>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-8>li:before {

content: "\0025a0 "}.lst-kix_5anu1k9tsyak-8>li:before {

content: "\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0}.lst-kix_yly1729bcywk-5>li {

counter-increment: lst-ctn-kix_yly1729bcywk-5}ul.lst-kix_686a8e4qhxwx-4 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-3 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-2 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-1 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-8 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-7 {

list-style-type: none}ul.lst-kix_686a8e4qhxwx-6 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-0>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-0>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-5 {

list-style-type: none}.lst-kix_6qnkx7t1adn9-1>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before {

content: "\0025cf "}ul.lst-kix_686a8e4qhxwx-0 {

list-style-type: none}.lst-kix_bfzyeb917dp8-0>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-0}.lst-kix_qeqyxe7gm97l-5>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before {

content: "\0025a0 "}.lst-kix_j42a5dwgnqyq-5>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-3.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_qeqyxe7gm97l-2>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-8>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_s3mi7ukxwiwf-0.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-6 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-4 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-5 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0}ol.lst-kix_vf0l197cqv6l-4 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-6 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-5 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-7 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-8 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-0>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0}ol.lst-kix_vf0l197cqv6l-8 {

list-style-type: none}.lst-kix_yly1729bcywk-2>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". "}.lst-kix_fd1rucpc9vz2-5>li:before {

content: "\0025a0 "}.lst-kix_fd1rucpc9vz2-7>li:before {

content: "\0025cb "}ol.lst-kix_vf0l197cqv6l-2 {

list-style-type: none}.lst-kix_pcjo479wrta-5>li:before {

content: "\0025a0 "}.lst-kix_iv2x96orjh4l-5>li:before {

content: "\0025a0 "}ul.lst-kix_xoos54gyybzj-0 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-3 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-1 {

list-style-type: none}ol.lst-kix_vf0l197cqv6l-0 {

list-style-type: none}ul.lst-kix_xoos54gyybzj-2 {

list-style-type: none}.lst-kix_yly1729bcywk-0>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". "}.lst-kix_yly1729bcywk-8>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". "}ul.lst-kix_xoos54gyybzj-3 {

list-style-type: none}.lst-kix_iv2x96orjh4l-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-3>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before {

content: "\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-8}ol.lst-kix_q8ok0mh9yyto-6 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-5 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-3 {

list-style-type: none}.lst-kix_9jxnjym0nges-0>li:before {

content: "\0025cf "}ol.lst-kix_q8ok0mh9yyto-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-7 {

list-style-type: none}.lst-kix_xoos54gyybzj-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-0.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before {

content: "\0025a0 "}.lst-kix_ndaonzmgp8vn-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-2 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-2>li:before {

content: "\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0 {

list-style-type: none}.lst-kix_xoos54gyybzj-6>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-2>li:before {

content: "\0025a0 "}.lst-kix_opi66v2qdsjs-2>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-0>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". "}ol.lst-kix_bfzyeb917dp8-4.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0}.lst-kix_q8ok0mh9yyto-3>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_xoos54gyybzj-0>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-8>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") "}.lst-kix_86hsx13ssqid-0>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-6>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-6>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") "}ul.lst-kix_9jxnjym0nges-2 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". "}ul.lst-kix_9jxnjym0nges-1 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-4 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-3 {

list-style-type: none}.lst-kix_h0kibz3smj6t-5>li:before {

content: "\0025a0 "}ul.lst-kix_9jxnjym0nges-6 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-5 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-8 {

list-style-type: none}ul.lst-kix_9jxnjym0nges-7 {

list-style-type: none}.lst-kix_xv318blpjdo-2>li {

counter-increment: lst-ctn-kix_xv318blpjdo-2}.lst-kix_f5kb4hocu5hh-3>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-3>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3}.lst-kix_bfzyeb917dp8-7>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-7}.lst-kix_f5kb4hocu5hh-8>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-1.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before {

content: "\0025cb "}ol.lst-kix_jj5w63toozfm-3 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-4 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-5 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-7>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-6 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-7 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-8 {

list-style-type: none}.lst-kix_h0kibz3smj6t-2>li:before {

content: "\0025a0 "}.lst-kix_q8ok0mh9yyto-7>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-7}ol.lst-kix_jj5w63toozfm-0 {

list-style-type: none}ol.lst-kix_jj5w63toozfm-1 {

list-style-type: none}.lst-kix_686a8e4qhxwx-2>li:before {

content: "\0025a0 "}ol.lst-kix_jj5w63toozfm-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0}ol.lst-kix_11a9ub9xa97v-2 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-1 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-0 {

list-style-type: none}.lst-kix_b7256qmdgo85-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-8 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-7 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-6 {

list-style-type: none}ol.lst-kix_11a9ub9xa97v-5 {

list-style-type: none}.lst-kix_4m04az9jmmj8-7>li:before {

content: "\0025cb "}ol.lst-kix_11a9ub9xa97v-4 {

list-style-type: none}.lst-kix_b7256qmdgo85-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-2>li {

counter-increment: lst-ctn-kix_yly1729bcywk-2}.lst-kix_q8ok0mh9yyto-5>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") "}.lst-kix_4m04az9jmmj8-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-3>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-3}.lst-kix_ne7nl4nhpzqr-7>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". "}.lst-kix_q8ok0mh9yyto-8>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") "}ol.lst-kix_bfzyeb917dp8-5 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-4 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-3 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-2 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-8 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-7 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-6 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-5 0}.lst-kix_q8ok0mh9yyto-0>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-0}.lst-kix_l7z426mwssm0-3>li:before {

content: "\0025cf "}.lst-kix_iv2x96orjh4l-8>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-6>li:before {

content: "\0025cf "}.lst-kix_gfromclascha-5>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-2>li:before {

content: "\0025a0 "}ol.lst-kix_emhp84jkv42c-8.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-8 0}.lst-kix_11a9ub9xa97v-8>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-8}.lst-kix_x1epm4iu41dp-5>li:before {

content: "\0025a0 "}.lst-kix_q97rvvc7c69e-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-5>li {

counter-increment: lst-ctn-kix_xv318blpjdo-5}.lst-kix_1wulu3ra2vwv-5>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before {

content: "\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-7>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-0>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-5>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". "}.lst-kix_s3mi7ukxwiwf-2>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". "}.lst-kix_6ril5iwt0fcl-7>li:before {

content: "\0025cb "}.lst-kix_emhp84jkv42c-4>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") "}.lst-kix_emhp84jkv42c-5>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-5}.lst-kix_jj5w63toozfm-4>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". "}.lst-kix_1wulu3ra2vwv-5>li:before {

content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") "}ul.lst-kix_u0uqs69v9qbh-8 {

list-style-type: none}.lst-kix_xoos54gyybzj-3>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-1>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-1}ul.lst-kix_u0uqs69v9qbh-4 {

list-style-type: none}.lst-kix_hchtl271h88l-6>li:before {

content: "\0025cf "}ul.lst-kix_u0uqs69v9qbh-5 {

list-style-type: none}.lst-kix_opi66v2qdsjs-5>li:before {

content: "\0025a0 "}.lst-kix_lemcawe54w5c-5>li:before {

content: "\0025a0 "}ul.lst-kix_u0uqs69v9qbh-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-7 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-0 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-6 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-5 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-8 {

list-style-type: none}ul.lst-kix_u0uqs69v9qbh-3 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-7 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-7.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-7 0}.lst-kix_fd1rucpc9vz2-2>li:before {

content: "\0025a0 "}ul.lst-kix_jkgkf1u9sy0c-4 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-5 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-6 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-7 {

list-style-type: none}.lst-kix_bfzyeb917dp8-2>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". "}.lst-kix_gyhqddkw9i05-1>li:before {

content: "\0025cb "}ul.lst-kix_jkgkf1u9sy0c-8 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-2 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-1 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-4 {

list-style-type: none}ul.lst-kix_gyhqddkw9i05-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-3>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") "}ol.lst-kix_emhp84jkv42c-6.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_8p26nc4xx5n8-1>li:before {

content: "\0025cb "}.lst-kix_u0uqs69v9qbh-5>li:before {

content: "\0025a0 "}.lst-kix_f5kb4hocu5hh-0>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-5>li:before {

content: "\0025a0 "}.lst-kix_86hsx13ssqid-3>li:before {

content: "\0025cf "}ul.lst-kix_jkgkf1u9sy0c-0 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-1 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-2 {

list-style-type: none}ul.lst-kix_jkgkf1u9sy0c-3 {

list-style-type: none}.lst-kix_vf0l197cqv6l-2>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-2}ol.lst-kix_jj5w63toozfm-5.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-5 0}ul.lst-kix_bijol4nzhwf0-8 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-1 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-4 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-3 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-6 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-5 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-8 {

list-style-type: none}.lst-kix_yly1729bcywk-7>li {

counter-increment: lst-ctn-kix_yly1729bcywk-7}ol.lst-kix_emhp84jkv42c-7 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-4}.lst-kix_1qz6dmm9b14l-4>li:before {

content: "\0025cb "}.lst-kix_1qz6dmm9b14l-3>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-5>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-0 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-1 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-2 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-3 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-4 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-5 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-0>li:before {

content: "\0025cf "}.lst-kix_1qz6dmm9b14l-8>li:before {

content: "\0025a0 "}ul.lst-kix_j42a5dwgnqyq-6 {

list-style-type: none}ul.lst-kix_j42a5dwgnqyq-7 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-1>li:before {

content: "\0025cb "}ol.lst-kix_bfzyeb917dp8-0.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0}ul.lst-kix_j42a5dwgnqyq-8 {

list-style-type: none}.lst-kix_1qz6dmm9b14l-2>li:before {

content: "\0025a0 "}ul.lst-kix_bijol4nzhwf0-4 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-5 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-6 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-7 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-0 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-1 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-2 {

list-style-type: none}ul.lst-kix_bijol4nzhwf0-3 {

list-style-type: none}.lst-kix_jj5w63toozfm-3>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". "}.lst-kix_1wulu3ra2vwv-2>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_1qz6dmm9b14l-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-2>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". "}.lst-kix_ne7nl4nhpzqr-3>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3}.lst-kix_q8ok0mh9yyto-4>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_1qz6dmm9b14l-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-1>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". "}.lst-kix_h9mjmxara98n-7>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-0>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". "}.lst-kix_h9mjmxara98n-6>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-8>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-6>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-5>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-3>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-3>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-2>li:before {

content: "\0025a0 "}.lst-kix_h9mjmxara98n-4>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-2>li:before {

content: "\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-1.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-1.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_h9mjmxara98n-0>li:before {

content: "\0025cf "}.lst-kix_bijol4nzhwf0-0>li:before {

content: "\0025cf "}.lst-kix_h9mjmxara98n-1>li:before {

content: "\0025cb "}.lst-kix_bijol4nzhwf0-1>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-8>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-8}ol.lst-kix_ne7nl4nhpzqr-3.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0}ul.lst-kix_gfromclascha-0 {

list-style-type: none}ol.lst-kix_emhp84jkv42c-2.start {

counter-reset: lst-ctn-kix_emhp84jkv42c-2 0}.lst-kix_l7z426mwssm0-2>li:before {

content: "\0025a0 "}.lst-kix_ne7nl4nhpzqr-4>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". "}.lst-kix_l7z426mwssm0-0>li:before {

content: "\0025cf "}.lst-kix_l7z426mwssm0-4>li:before {

content: "\0025cb "}ul.lst-kix_gfromclascha-7 {

list-style-type: none}ul.lst-kix_gfromclascha-8 {

list-style-type: none}ul.lst-kix_gfromclascha-5 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-0>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". "}.lst-kix_ne7nl4nhpzqr-2>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". "}ul.lst-kix_gfromclascha-6 {

list-style-type: none}.lst-kix_x1epm4iu41dp-8>li:before {

content: "\0025a0 "}ul.lst-kix_gfromclascha-3 {

list-style-type: none}ul.lst-kix_gfromclascha-4 {

list-style-type: none}ul.lst-kix_gfromclascha-1 {

list-style-type: none}.lst-kix_bfzyeb917dp8-3>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") "}ul.lst-kix_gfromclascha-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-3 {

list-style-type: none}.lst-kix_x1epm4iu41dp-2>li:before {

content: "\0025a0 "}ol.lst-kix_11a9ub9xa97v-1.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0}ul.lst-kix_opi66v2qdsjs-2 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-1 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-0 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-0>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". "}.lst-kix_fy6y7gyjejoh-3>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-5>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") "}.lst-kix_jj5w63toozfm-0>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-0}.lst-kix_x1epm4iu41dp-6>li:before {

content: "\0025cf "}ul.lst-kix_opi66v2qdsjs-8 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-7 {

list-style-type: none}.lst-kix_x1epm4iu41dp-4>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-6 {

list-style-type: none}ul.lst-kix_opi66v2qdsjs-5 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-1>li:before {

content: "\0025cb "}ul.lst-kix_opi66v2qdsjs-4 {

list-style-type: none}.lst-kix_bfzyeb917dp8-7>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") "}.lst-kix_emhp84jkv42c-7>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-7}.lst-kix_fy6y7gyjejoh-7>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-1.start {

counter-reset: lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_x1epm4iu41dp-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-0.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0}.lst-kix_fy6y7gyjejoh-5>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-3>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") "}.lst-kix_lemcawe54w5c-8>li:before {

content: "\0025a0 "}ol.lst-kix_yly1729bcywk-4.start {

counter-reset: lst-ctn-kix_yly1729bcywk-4 0}.lst-kix_emhp84jkv42c-1>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") "}.lst-kix_lemcawe54w5c-6>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-5>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". "}.lst-kix_bfzyeb917dp8-2>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-2}ul.lst-kix_1qz6dmm9b14l-6 {

list-style-type: none}.lst-kix_lemcawe54w5c-4>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-8>li:before {

content: "\0025a0 "}.lst-kix_jj5w63toozfm-7>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". "}ul.lst-kix_1qz6dmm9b14l-5 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-8 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-1>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-1}ul.lst-kix_1qz6dmm9b14l-2 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-1 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-4 {

list-style-type: none}ul.lst-kix_1qz6dmm9b14l-3 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-0>li:before {

content: "\0025cf "}.lst-kix_u0uqs69v9qbh-4>li:before {

content: "\0025cb "}ul.lst-kix_1qz6dmm9b14l-0 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-6>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_jj5w63toozfm-7>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-7}.lst-kix_lemcawe54w5c-2>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-4.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_l7z426mwssm0-8>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-1>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". "}ul.lst-kix_ekmayt81kvbz-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-7 {

list-style-type: none}.lst-kix_gyhqddkw9i05-4>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-2>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-6 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-5 {

list-style-type: none}.lst-kix_lemcawe54w5c-0>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-4 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-3 {

list-style-type: none}.lst-kix_gyhqddkw9i05-6>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-0>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-8>li:before {

content: "\0025a0 "}ul.lst-kix_ekmayt81kvbz-2 {

list-style-type: none}ul.lst-kix_ekmayt81kvbz-1 {

list-style-type: none}.lst-kix_u0uqs69v9qbh-6>li:before {

content: "\0025cf "}ul.lst-kix_ekmayt81kvbz-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-1 {

list-style-type: none}ol.lst-kix_bfzyeb917dp8-5.start {

counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0}ol.lst-kix_s3mi7ukxwiwf-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-0 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-1 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-2 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-6 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-3 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-0 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-4 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-5 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-6 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-3 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-8 {

list-style-type: none}.lst-kix_gyhqddkw9i05-2>li:before {

content: "\0025a0 "}.lst-kix_8p26nc4xx5n8-4>li:before {

content: "\0025cb "}ul.lst-kix_7tib3jrzu2u9-7 {

list-style-type: none}ul.lst-kix_7tib3jrzu2u9-8 {

list-style-type: none}ol.lst-kix_ne7nl4nhpzqr-7.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0}.lst-kix_yly1729bcywk-6>li {

counter-increment: lst-ctn-kix_yly1729bcywk-6}.lst-kix_xv318blpjdo-1>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". "}.lst-kix_h0kibz3smj6t-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-4>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4}.lst-kix_1wulu3ra2vwv-1>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_h0kibz3smj6t-7>li:before {

content: "\0025cb "}.lst-kix_h0kibz3smj6t-8>li:before {

content: "\0025a0 "}.lst-kix_11a9ub9xa97v-5>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-5}.lst-kix_opi66v2qdsjs-0>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-8>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") "}.lst-kix_h0kibz3smj6t-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-3>li:before {

content: "\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-4>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") "}.lst-kix_h0kibz3smj6t-0>li:before {

content: "\0025cf "}ol.lst-kix_vf0l197cqv6l-4.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0}ol.lst-kix_ne7nl4nhpzqr-2.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0}ol.lst-kix_11a9ub9xa97v-0.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0}.lst-kix_s3mi7ukxwiwf-7>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7}ul.lst-kix_l7z426mwssm0-1 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-2 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-0 {

list-style-type: none}ol.lst-kix_yly1729bcywk-8.start {

counter-reset: lst-ctn-kix_yly1729bcywk-8 0}.lst-kix_ne7nl4nhpzqr-2>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2}.lst-kix_q8ok0mh9yyto-3>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") "}.lst-kix_pcjo479wrta-7>li:before {

content: "\0025cb "}.lst-kix_686a8e4qhxwx-8>li:before {

content: "\0025a0 "}.lst-kix_emhp84jkv42c-6>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-6}ul.lst-kix_l7z426mwssm0-7 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-8 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-2>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". "}.lst-kix_pcjo479wrta-8>li:before {

content: "\0025a0 "}ul.lst-kix_l7z426mwssm0-5 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-6 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-3 {

list-style-type: none}ul.lst-kix_l7z426mwssm0-4 {

list-style-type: none}.lst-kix_yly1729bcywk-8>li {

counter-increment: lst-ctn-kix_yly1729bcywk-8}.lst-kix_vf0l197cqv6l-3>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-3}.lst-kix_q8ok0mh9yyto-6>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before {

content: "\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before {

content: "\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before {

content: "\0025a0 "}ol.lst-kix_vf0l197cqv6l-5.start {

counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0}.lst-kix_ne7nl4nhpzqr-8>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". "}.lst-kix_xv318blpjdo-4>li {

counter-increment: lst-ctn-kix_xv318blpjdo-4}.lst-kix_vf0l197cqv6l-8>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-8}.lst-kix_ne7nl4nhpzqr-5>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". "}.lst-kix_l7z426mwssm0-1>li:before {

content: "\0025cb "}.lst-kix_x1epm4iu41dp-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-1>li {

counter-increment: lst-ctn-kix_yly1729bcywk-1}.lst-kix_6qnkx7t1adn9-4>li:before {

content: "\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before {

content: "\0025a0 "}.lst-kix_xv318blpjdo-6>li {

counter-increment: lst-ctn-kix_xv318blpjdo-6}ol.lst-kix_jj5w63toozfm-1.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-1 0}.lst-kix_ne7nl4nhpzqr-1>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". "}.lst-kix_pcjo479wrta-4>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-8.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0}.lst-kix_bfzyeb917dp8-4>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") "}.lst-kix_x1epm4iu41dp-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-8>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-8>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") "}.lst-kix_fy6y7gyjejoh-2>li:before {

content: "\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before {

content: "\0025cf "}ol.lst-kix_1wulu3ra2vwv-8.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0}.lst-kix_pcjo479wrta-0>li:before {

content: "\0025cf "}ol.lst-kix_s3mi7ukxwiwf-6.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0}ol.lst-kix_jj5w63toozfm-0.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-0 0}.lst-kix_emhp84jkv42c-2>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before {

content: "\0025cf "}.lst-kix_ndaonzmgp8vn-5>li:before {

content: "\0025a0 "}.lst-kix_9jxnjym0nges-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-7>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-1>li:before {

content: "\0025cb "}.lst-kix_gyhqddkw9i05-7>li:before {

content: "\0025cb "}.lst-kix_jj5w63toozfm-6>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". "}.lst-kix_u0uqs69v9qbh-3>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-0>li:before {

content: "\0025cf "}.lst-kix_fd1rucpc9vz2-4>li:before {

content: "\0025cb "}ol.lst-kix_s3mi7ukxwiwf-5.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before {

content: "\0025cf "}.lst-kix_lemcawe54w5c-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-3>li:before {

content: "\0025cf "}.lst-kix_8p26nc4xx5n8-7>li:before {

content: "\0025cb "}.lst-kix_l7z426mwssm0-5>li:before {

content: "\0025a0 "}.lst-kix_u0uqs69v9qbh-7>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-0>li:before {

content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". "}.lst-kix_11a9ub9xa97v-1>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". "}.lst-kix_gyhqddkw9i05-3>li:before {

content: "\0025cf "}.lst-kix_9jxnjym0nges-7>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-5>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") "}ol.lst-kix_11a9ub9xa97v-2.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0}.lst-kix_s3mi7ukxwiwf-4>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before {

content: "\0025cb "}.lst-kix_ne7nl4nhpzqr-5>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5}ol.lst-kix_xv318blpjdo-4 {

list-style-type: none}ol.lst-kix_s3mi7ukxwiwf-7.start {

counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5 {

list-style-type: none}ol.lst-kix_xv318blpjdo-6 {

list-style-type: none}ol.lst-kix_xv318blpjdo-7 {

list-style-type: none}ol.lst-kix_xv318blpjdo-0 {

list-style-type: none}ol.lst-kix_xv318blpjdo-1 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-1>li:before {

content: "\0025cb "}ol.lst-kix_ne7nl4nhpzqr-4.start {

counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0}ol.lst-kix_xv318blpjdo-2 {

list-style-type: none}ol.lst-kix_xv318blpjdo-3 {

list-style-type: none}.lst-kix_q8ok0mh9yyto-6>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-6}ul.lst-kix_5anu1k9tsyak-7 {

list-style-type: none}.lst-kix_jj5w63toozfm-6>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-6}ul.lst-kix_5anu1k9tsyak-8 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-5 {

list-style-type: none}ol.lst-kix_yly1729bcywk-5.start {

counter-reset: lst-ctn-kix_yly1729bcywk-5 0}.lst-kix_11a9ub9xa97v-2>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-2}ol.lst-kix_1wulu3ra2vwv-0 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-6 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-1 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-3 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-4 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-1 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li {

counter-increment: lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-6 {

list-style-type: none}ul.lst-kix_5anu1k9tsyak-0 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-7 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-8 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-8 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-3 {

list-style-type: none}.lst-kix_7tib3jrzu2u9-7>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-4 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-5 {

list-style-type: none}.lst-kix_vf0l197cqv6l-4>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-4}ol.lst-kix_1wulu3ra2vwv-5.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0}ol.lst-kix_11a9ub9xa97v-7.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0}ol.lst-kix_q8ok0mh9yyto-2.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_11a9ub9xa97v-6>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-6}.lst-kix_5anu1k9tsyak-7>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before {

content: "\0025cf "}ol.lst-kix_xv318blpjdo-2.start {

counter-reset: lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_q8ok0mh9yyto-2>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-2}ol.lst-kix_jj5w63toozfm-4.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-4 0}.lst-kix_vf0l197cqv6l-0>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-0}ol.lst-kix_yly1729bcywk-0.start {

counter-reset: lst-ctn-kix_yly1729bcywk-0 0}.lst-kix_6qnkx7t1adn9-2>li:before {

content: "\0025a0 "}.lst-kix_qeqyxe7gm97l-6>li:before {

content: "\0025cf "}.lst-kix_qeqyxe7gm97l-4>li:before {

content: "\0025cb "}.lst-kix_j42a5dwgnqyq-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-1>li:before {

content: "\0025cb "}.lst-kix_qeqyxe7gm97l-3>li:before {

content: "\0025cf "}.lst-kix_j42a5dwgnqyq-4>li:before {

content: "\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0}.lst-kix_j42a5dwgnqyq-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-2>li {

counter-increment: lst-ctn-kix_jj5w63toozfm-2}ol.lst-kix_1wulu3ra2vwv-3.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before {

content: "\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-3.start {

counter-reset: lst-ctn-kix_yly1729bcywk-3 0}.lst-kix_iv2x96orjh4l-7>li:before {

content: "\0025cb "}.lst-kix_pcjo479wrta-3>li:before {

content: "\0025cf "}.lst-kix_yly1729bcywk-6>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". "}.lst-kix_ndaonzmgp8vn-6>li:before {

content: "\0025cf "}.lst-kix_5anu1k9tsyak-1>li:before {

content: "\0025cb "}.lst-kix_ndaonzmgp8vn-8>li:before {

content: "\0025a0 "}.lst-kix_pcjo479wrta-1>li:before {

content: "\0025cb "}.lst-kix_iv2x96orjh4l-1>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-4>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". "}.lst-kix_bfzyeb917dp8-8>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-8}.lst-kix_ne7nl4nhpzqr-1>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1}.lst-kix_opi66v2qdsjs-4>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-1>li:before {

content: "\0025cb "}.lst-kix_fd1rucpc9vz2-3>li:before {

content: "\0025cf "}.lst-kix_opi66v2qdsjs-6>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-4.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0}.lst-kix_xoos54gyybzj-4>li:before {

content: "\0025cb "}.lst-kix_bfzyeb917dp8-1>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-1}.lst-kix_ndaonzmgp8vn-0>li:before {

content: "\0025cf "}ol.lst-kix_jj5w63toozfm-6.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-6 0}.lst-kix_xoos54gyybzj-2>li:before {

content: "\0025a0 "}ul.lst-kix_b7256qmdgo85-6 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-7 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-3>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-3}ul.lst-kix_b7256qmdgo85-8 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-2 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-3 {

list-style-type: none}.lst-kix_11a9ub9xa97v-4>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") "}ul.lst-kix_b7256qmdgo85-4 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-5 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-2>li:before {

content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". "}.lst-kix_9jxnjym0nges-4>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-4>li:before {

content: "\0025cb "}ul.lst-kix_b7256qmdgo85-0 {

list-style-type: none}ul.lst-kix_b7256qmdgo85-1 {

list-style-type: none}.lst-kix_9jxnjym0nges-6>li:before {

content: "\0025cf "}.lst-kix_86hsx13ssqid-2>li:before {

content: "\0025a0 "}.lst-kix_bfzyeb917dp8-5>li {

counter-increment: lst-ctn-kix_bfzyeb917dp8-5}.lst-kix_h0kibz3smj6t-6>li:before {

content: "\0025cf "}.lst-kix_11a9ub9xa97v-3>li {

counter-increment: lst-ctn-kix_11a9ub9xa97v-3}ol.lst-kix_11a9ub9xa97v-5.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0}ul.lst-kix_x1epm4iu41dp-0 {

list-style-type: none}.lst-kix_f5kb4hocu5hh-4>li:before {

content: "\0025cb "}ol.lst-kix_xv318blpjdo-0.start {

counter-reset: lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before {

content: "\0025cf "}.lst-kix_f5kb4hocu5hh-7>li:before {

content: "\0025cb "}ul.lst-kix_x1epm4iu41dp-6 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-5 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-8 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-3>li:before {

content: "\0025cf "}ul.lst-kix_x1epm4iu41dp-7 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-2 {

list-style-type: none}.lst-kix_xv318blpjdo-0>li {

counter-increment: lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_jj5w63toozfm-8.start {

counter-reset: lst-ctn-kix_jj5w63toozfm-8 0}ul.lst-kix_x1epm4iu41dp-1 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-4 {

list-style-type: none}ul.lst-kix_x1epm4iu41dp-3 {

list-style-type: none}ol.lst-kix_1wulu3ra2vwv-2.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before {

content: "\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_h0kibz3smj6t-1>li:before {

content: "\0025cb "}.lst-kix_xv318blpjdo-6>li:before {

content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") "}ul.lst-kix_86hsx13ssqid-3 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-2 {

list-style-type: none}.lst-kix_xv318blpjdo-3>li:before {

content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-4 {

list-style-type: none}.lst-kix_686a8e4qhxwx-1>li:before {

content: "\0025cb "}ol.lst-kix_yly1729bcywk-2.start {

counter-reset: lst-ctn-kix_yly1729bcywk-2 0}ul.lst-kix_86hsx13ssqid-1 {

list-style-type: none}.lst-kix_jkgkf1u9sy0c-8>li:before {

content: "\0025a0 "}ul.lst-kix_86hsx13ssqid-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-0 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-1 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-2 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-3 {

list-style-type: none}.lst-kix_b7256qmdgo85-1>li:before {

content: "\0025cb "}ul.lst-kix_86hsx13ssqid-7 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-0 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-6 {

list-style-type: none}ul.lst-kix_86hsx13ssqid-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-3 {

list-style-type: none}.lst-kix_4m04az9jmmj8-8>li:before {

content: "\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-1 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-2 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-7 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-4 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-8 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-5 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-5 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-6 {

list-style-type: none}ul.lst-kix_h9mjmxara98n-6 {

list-style-type: none}ul.lst-kix_fy6y7gyjejoh-7 {

list-style-type: none}.lst-kix_b7256qmdgo85-6>li:before {

content: "\0025cf "}ol.lst-kix_yly1729bcywk-1.start {

counter-reset: lst-ctn-kix_yly1729bcywk-1 0}ol.lst-kix_1wulu3ra2vwv-1.start {

counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_ne7nl4nhpzqr-8>li {

counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8}.lst-kix_q97rvvc7c69e-0>li:before {

content: "\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before {

content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before {

content: "\0025cf "}ol.lst-kix_11a9ub9xa97v-6.start {

counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0}.lst-kix_q8ok0mh9yyto-4>li:before {

content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") "}.lst-kix_emhp84jkv42c-0>li {

counter-increment: lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li {

counter-increment: lst-ctn-kix_q8ok0mh9yyto-5}ul.lst-kix_lemcawe54w5c-7 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-8 {

list-style-type: none}.lst-kix_ne7nl4nhpzqr-6>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". "}ul.lst-kix_lemcawe54w5c-5 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-6 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-3 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-4 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-1 {

list-style-type: none}ul.lst-kix_lemcawe54w5c-2 {

list-style-type: none}.lst-kix_s3mi7ukxwiwf-1>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1}ul.lst-kix_lemcawe54w5c-0 {

list-style-type: none}.lst-kix_4m04az9jmmj8-3>li:before {

content: "\0025cf "}ul.lst-kix_f5kb4hocu5hh-4 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-3 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-6 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-5 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-8 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-7 {

list-style-type: none}.lst-kix_xv318blpjdo-7>li {

counter-increment: lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_xv318blpjdo-7.start {

counter-reset: lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before {

content: "\0025cb "}.lst-kix_86hsx13ssqid-7>li:before {

content: "\0025cb "}.lst-kix_yly1729bcywk-0>li {

counter-increment: lst-ctn-kix_yly1729bcywk-0}.lst-kix_ne7nl4nhpzqr-3>li:before {

content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". "}ol.lst-kix_q8ok0mh9yyto-3.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-7}ul.lst-kix_f5kb4hocu5hh-0 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-2 {

list-style-type: none}ul.lst-kix_f5kb4hocu5hh-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-0 {

list-style-type: none}.lst-kix_fy6y7gyjejoh-0>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-1 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-2 {

list-style-type: none}.lst-kix_yly1729bcywk-1>li:before {

content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". "}ul.lst-kix_fd1rucpc9vz2-3 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-6.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0}ul.lst-kix_fd1rucpc9vz2-8 {

list-style-type: none}.lst-kix_pcjo479wrta-6>li:before {

content: "\0025cf "}.lst-kix_bfzyeb917dp8-6>li:before {

content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") "}.lst-kix_6ril5iwt0fcl-3>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-4 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-5 {

list-style-type: none}ul.lst-kix_fd1rucpc9vz2-6 {

list-style-type: none}.lst-kix_fd1rucpc9vz2-6>li:before {

content: "\0025cf "}ul.lst-kix_fd1rucpc9vz2-7 {

list-style-type: none}.lst-kix_5anu1k9tsyak-4>li:before {

content: "\0025cb "}.lst-kix_vf0l197cqv6l-7>li {

counter-increment: lst-ctn-kix_vf0l197cqv6l-7}.lst-kix_s3mi7ukxwiwf-8>li {

counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_iv2x96orjh4l-4>li:before {

content: "\0025cb "}.lst-kix_s3mi7ukxwiwf-6>li:before {

content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-4.start {

counter-reset: lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_x1epm4iu41dp-1>li:before {

content: "\0025cb "}.lst-kix_q97rvvc7c69e-8>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-5.start {

counter-reset: lst-ctn-kix_xv318blpjdo-5 0}ul.lst-kix_8p26nc4xx5n8-0 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-1 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-2 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-3 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-4 {

list-style-type: none}.lst-kix_emhp84jkv42c-0>li:before {

content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before {

content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before {

content: "\0025cb "}.lst-kix_xoos54gyybzj-7>li:before {

content: "\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_ndaonzmgp8vn-3>li:before {

content: "\0025cf "}.lst-kix_jj5w63toozfm-8>li:before {

content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". "}.lst-kix_u0uqs69v9qbh-1>li:before {

content: "\0025cb "}.lst-kix_opi66v2qdsjs-1>li:before {

content: "\0025cb "}.lst-kix_lemcawe54w5c-1>li:before {

content: "\0025cb "}.lst-kix_11a9ub9xa97v-7>li:before {

content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") "}.lst-kix_8p26nc4xx5n8-5>li:before {

content: "\0025a0 "}ol.lst-kix_xv318blpjdo-6.start {

counter-reset: lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_l7z426mwssm0-7>li:before {

content: "\0025cb "}.lst-kix_1wulu3ra2vwv-0>li {

counter-increment: lst-ctn-kix_1wulu3ra2vwv-0}.lst-kix_gyhqddkw9i05-5>li:before {

content: "\0025a0 "}.lst-kix_hchtl271h88l-2>li:before {

content: "\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8 {

list-style-type: none}ol.lst-kix_q8ok0mh9yyto-4.start {

counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-5 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-6 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-6 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-5 {

list-style-type: none}.lst-kix_sholqrhc62dh-3>li:before {

content: "\0025cf "}ul.lst-kix_8p26nc4xx5n8-7 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-4 {

list-style-type: none}ul.lst-kix_8p26nc4xx5n8-8 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-3 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-2 {

list-style-type: none}ul.lst-kix_6qnkx7t1adn9-1 {

list-style-type: none}.lst-kix_1wulu3ra2vwv-1>li:before {

content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". "}ul.lst-kix_6qnkx7t1adn9-0 {

list-style-type: none}ol {

margin: 0;

padding: 0}table td, table th {

padding: 0}.c4 {

color: #ff5e0e;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 18pt;

font-family: "PT Sans Narrow";

font-style: normal}.c7 {

color: #38761d;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 16pt;

font-family: "PT Sans Narrow";

font-style: normal}.c14 {

color: #695d46;

font-weight: 700;

text-decoration: none;

vertical-align: baseline;

font-size: 42pt;

font-family: "PT Sans Narrow";

font-style: normal}.c0 {

color: #695d46;

font-weight: 400;

text-decoration: none;

vertical-align: baseline;

font-size: 11pt;

font-family: "Open Sans";

font-style: normal}.c1 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

orphans: 2;

widows: 2;

text-align: left}.c8 {

padding-top: 18pt;

padding-bottom: 6pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c11 {

padding-top: 24pt;

padding-bottom: 0pt;

line-height: 1.3;

page-break-after: avoid;

text-align: left}.c17 {

padding-top: 6pt;

padding-bottom: 0pt;

line-height: 1.2;

page-break-after: avoid;

text-align: left}.c19 {

text-decoration: none;

vertical-align: baseline;

font-size: 12pt;

font-style: normal}.c9 {

padding-top: 16pt;

padding-bottom: 0pt;

line-height: 1.0;

text-align: left}.c18 {

padding-top: 0pt;

padding-bottom: 0pt;

line-height: 1.2;

text-align: left}.c10 {

font-size: 18pt;

font-family: "PT Sans Narrow";

color: #ff5e0e;

font-weight: 700}.c13 {

font-family: "Open Sans";

color: #695d46;

font-weight: 400}.c12 {

background-color: #ffffff;

max-width: 468pt;

padding: 72pt 72pt 72pt 72pt}.c5 {

padding: 0;

margin: 0}.c15 {

color: inherit;

text-decoration: inherit}.c16 {

color: #1155cc;

text-decoration: underline}.c3 {

padding-left: 0pt}.c6 {

margin-left: 72pt}.c2 {

margin-left: 36pt}.title {

padding-top: 0pt;

color: #695d46;

font-size: 26pt;

padding-bottom: 3pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}.subtitle {

padding-top: 0pt;

color: #666666;

font-size: 15pt;

padding-bottom: 16pt;

font-family: "Arial";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}li {

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}p {

margin: 0;

color: #695d46;

font-size: 11pt;

font-family: "Open Sans"}h1 {

padding-top: 24pt;

color: #ff5e0e;

font-weight: 700;

font-size: 18pt;

padding-bottom: 0pt;

font-family: "PT Sans Narrow";

line-height: 1.3;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h2 {

padding-top: 18pt;

color: #38761d;

font-size: 16pt;

padding-bottom: 6pt;

font-family: "PT Sans Narrow";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h3 {

padding-top: 16pt;

color: #434343;

font-size: 14pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h4 {

padding-top: 14pt;

color: #666666;

font-size: 12pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h5 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

orphans: 2;

widows: 2;

text-align: left}h6 {

padding-top: 12pt;

color: #666666;

font-size: 11pt;

padding-bottom: 4pt;

font-family: "Open Sans";

line-height: 1.2;

page-break-after: avoid;

font-style: italic;

orphans: 2;

widows: 2;

text-align: left}

 

Oracle Fusion Middleware Deployments Using

Docker Swarm Part III

Overview

This is the third in a series of blogs that

describe how to build a Fusion Middleware (FMW) Cluster that runs as

a number of Docker images that run in docker containers.  These

containers are coordinated using Docker Swarm and can be deployed to

a single host machine or multiple hosts.  This simplifies the

task of building FMW clusters and also makes it easier to scale them

in and out (adding or subtracting host machines) as well as up and

down (using bigger or smaller host
machines).  Using docker also helps us to avoid port

conflicts when running multiple servers on the same

physical machine.  When we use swarm we will see that we also

get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW

product but the principles are applicable to other FMW products.

In our previous blog we talked about how to

build the required docker images for running FMW on Docker Swarm and

created a database container.

In this entry we will explain how to create

an FMW domain image and how to run that in a docker container
.  The next blog will cover how to run this in

Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to

do the following:

  1. Create the required

    schemas in a database.

  • Service Bus 12.1

    adds a number of new features such as re-sequencing that require the

    use of SOA Suite schemas.  These are in addition to the

    database requirements for Web Services Security Manager that existed

    in Service Bus 11g.
  • The Repository

    Creation Utility is used to create the schemas in a database.

  1. Create service bus

    domain.

  • The service bus

    domain contains all the required service bus binaries and associated

    configuration.  Within the domain we will create a service bus

    cluster.
  • The domain can be

    created using the WebLogic scripting tool by applying the service

    bus domain template.

  1. Create a Service Bus

    cluster within the domain.

  • The service bus

    cluster allows us to have multiple service bus servers running the

    same proxy services and sharing the load.
  • The cluster can be

    created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way

we build our docker images and containers and ultimately into how we

create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could

map a Service Bus cluster onto Docker.  We have chosen the

following approach:

  • Create a Docker

    image that contains the Service Bus domain configuration.

  • This is layered on

    top of the OSB installation image.  This allows us to modify

    and rebuild the scripts without having to reinstall the FMW

    software.  This speeds up the development cycle of the image.

     Once the scripts are working they could be placed in the FMW

    binary image, reducing the number of layers.
  • When creating a

    container from the image we run the RCU to create the schemas in the

    database.  We also run scripts to create the domain and add

    servers to the domain as needed.

  • The same Docker

    image is used for both Admin and Managed Servers.

  • Depending on

    parameters the container decides if it is an admin server or a

    member of a cluster.
  • All servers need

    access to the database.
  • All servers need

    access to the Admin server.
  • The admin server

    requires access to all servers.

Container Summary

We effectively have two images, which are both

built from multiple layers as explained previously.

  1. Database image holds

    the binaries for database and scripts to create a database instance.
  2. Fusion Middleware

    image holds the FMW binaries and scripts to create a domain, or

    extend an existing domain.

We have a single Docker Container to run the

database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain

image.

To simplify starting the containers the git

project includes run scripts (run.sh for database and runNode.sh for

FMW) that can be used to create containers.

Database Container

The database container runs from the database

image and has the following characteristics:

  • When the container is created

    it creates and starts a database
    instance.
  • After starting the

    database we change the database password.
  • When the container

    is stopped it shuts down the database instance.
  • When the container

    is started it starts the database instance.
  • The database

    container exposes the database port (1521 in this case)
  • Only a single

    container runs a given database.

The database container is started using the

following command:

docker run -d -it --name Oracle12cDB

--hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e

ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB

oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW

domain image, or just the FMW image if the layers have been

collapsed.  It has the following characteristics:

  • When the container

    is created it runs the RCU to configure the database.
  • When the container is created

    it creates an FMW
    domain and

    cluster.
  • When the container

    is created it starts the Admin Server.
  • When the container

    is stopped its stops the Admin Server.
  • When the container

    is started it starts the Admin Server.
  • The Admin Server

    exposes the admin console port (7001 in this case)
  • Only a single Admin

    Server container runs in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the admin server using the following

command

runNode.sh admin

This translates to

docker run -d -it \

        -e

"MS_NAME=AdminServer" \

        -e

"MACHINE_NAME=AdminServerMachine" \

        --name

wlsadmin \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

7001:7001 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed

servers and the database to the /etc/hosts file so that the admin

server can access them.  We will show how to avoid doing this in

the final blog post.

Managed Server Containers

The managed server containers runs from the

same FMW domain image as the Admin Server.  It has the following

characteristics:

  • When the container

    is created it creates a new server in the domain and adds it to the

    FMW cluster
  • When the container is created

    it creates
     a local copy of the domain files.
  • When the container

    is created it starts the Managed Server.
  • When the container

    is stopped its stops the Managed Server.
  • When the container

    is started it starts the Managed Server.
  • The Managed Server

    exposes the admin console port (8011 in this case)
  • Multiple Managed

    Server containers may run in a given domain.
  • The same image is

    used for both Admin and Managed Servers.

We start the managed servers using the

following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e

"MS_NAME=osb_server2" \

        -e

"MACHINE_NAME=OsbServer2Machine" \

        --name

wls2 \

        --add-host

osbdb:172.17.0.2 \

        --add-host

wlsadmin:172.17.0.3 \

        --add-host

wls1:172.17.0.4 \

        --add-host

wls2:172.17.0.5 \

        --add-host

wls3:172.17.0.6 \

        --add-host

wls4:172.17.0.7 \

        --hostname

wlsadmin \

        -p

8013:8011 \

        oracle/osb_domain:12.2.1.2

\

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on

port 8011.  Because they each run in their own container their

is no conflict in their port numbers but we need to map them so that

they can be accessed externally without conflicts.

Special Notes for Service Bus

The first managed server in a Service Bus

cluster is special because it runs singleton tasks related to

reporting, collecting performance information from other nodes in the

cluster and aggregating it and making it available to the console.

 Because of this we decided to always create a Service Bus

domain with a pre-existing single Managed Server in the cluster with

the correct singleton targeting.

Because this server already exists if a

container detects it is supposed to run Managed Server 1 then it does

not create the server or associate it with a cluster, it justs

assigns it to a machine (see next section for details) and creates

the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic

server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for

running the repository configuration utility, creating the domain and

configuring it for that particular FMW product (in our case Service

Bus).

The Managed Server containers are responsible

for adding a new Managed Server to the cluster and creating a local

managed server domain.

Both Admin and Managed Server containers need

to figure out key facts about themselves:

  • Hostname - used to

    set the listen address for the server and also the address of the

    machine
  • Type - admin or

    managed server to decide what to do on creation
  • Server identifier -

    managed servers need to make sure they have unique server names.
  • Associated Admin

    Server - managed servers must contact the admin server to obtain and

    update domain configuration.
  • Database Server -

    admin servers must know about the database to be able to run the RCU

    and create data sources required by the FMW product.

Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container

    is created/started
  2. An admin server is

    created/started
  3. One or more managed

    servers are created/started

Containers are created using the “docker

run” command.  We use the “-d” flag to run

them as daemon processes.  By default the CMD directive in the

dockerfile is used choose the command or script to run on container

startup.  We use this for the database container.  For the

admin and managed containers we identify which type of container they

are and pass in an appropriate script to the “docker run”

command.

Containers are started using the “docker

start” command and the container uses the same command or

script as when it was created.  That means we must detect if

this is a new container or a container being started after previously

being shutdown.  With the FMW containers we do this by looking

for the existence of the domain directory, if it exists we have

previously been started, if not this must be our first run.

Tools such as docker compose and docker

compose simplify the task of deploying our multiple container FMW

cluster and we will look at these in the next blog entry.  One

of the benefits we will find with swarm is that it includes a load

balancer.  The current multi-container approach would require

either another container to run a load balancer or an external load

balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required

files to go along with this blog on github
.  You

are welcome to fork from this and improve it.  We cloned many of

these files from the
official

Oracle docker github
.  We removed unused versions

and added a simplified build.sh file to each product directory to

make it easy to see how we actually built our environment.  We

are still updating the files online and will shortly add details on

building the swarm services.

Summary

In this entry we have explained how to create

a Fusion Middleware Domain
and run it on docker

containers
.  In our next entry we will

simplify the deployment
of of our cluster

by taking advatage of swarm

mode by defining swarm services for the database, WebLogic Admin

Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part III Running Docker Containers)

Mon, 2017-03-13 01:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import url('https://themes.googleusercontent.com/fonts/css?kit=soJ-z33zIWP9ip4SlSLqmawpPKmPqgwAG3potzd-b6hLxa5kJlTvGyssufwSrkOWWWXuzMD-CMEVHDC2H45HXw') ; .lst-kix_sholqrhc62dh-7>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-8>li:before { content: "\0025a0 " } .lst-kix_sholqrhc62dh-6>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-2.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-2 0 } ol.lst-kix_xv318blpjdo-3.start { counter-reset: lst-ctn-kix_xv318blpjdo-3 0 } .lst-kix_sholqrhc62dh-1>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-2>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-2, lower-roman) ". " } .lst-kix_sholqrhc62dh-0>li:before { content: "\0025cf " } .lst-kix_emhp84jkv42c-3>li { counter-increment: lst-ctn-kix_emhp84jkv42c-3 } .lst-kix_ekmayt81kvbz-0>li:before { content: "\0025cf " } .lst-kix_vf0l197cqv6l-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-4>li { counter-increment: lst-ctn-kix_jj5w63toozfm-4 } .lst-kix_ekmayt81kvbz-2>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-6 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-5 { list-style-type: none } .lst-kix_ekmayt81kvbz-1>li:before { content: "\0025cb " } ul.lst-kix_qeqyxe7gm97l-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-3>li:before { content: "\0025cf " } ul.lst-kix_qeqyxe7gm97l-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-0>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-0, decimal) ". " } ul.lst-kix_qeqyxe7gm97l-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-1 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-0 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-8.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-8 0 } .lst-kix_ekmayt81kvbz-5>li:before { content: "\0025a0 " } .lst-kix_ekmayt81kvbz-7>li:before { content: "\0025cb " } ul.lst-kix_4m04az9jmmj8-3 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-2 { list-style-type: none } ul.lst-kix_qeqyxe7gm97l-8 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-1 { list-style-type: none } .lst-kix_ekmayt81kvbz-4>li:before { content: "\0025cb " } .lst-kix_ekmayt81kvbz-8>li:before { content: "\0025a0 " } ul.lst-kix_qeqyxe7gm97l-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-0 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-7 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-6 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-5 { list-style-type: none } ul.lst-kix_4m04az9jmmj8-4 { list-style-type: none } .lst-kix_ekmayt81kvbz-6>li:before { content: "\0025cf " } ul.lst-kix_4m04az9jmmj8-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-2>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-2 } .lst-kix_11a9ub9xa97v-0>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-0 } ol.lst-kix_emhp84jkv42c-4.start { counter-reset: lst-ctn-kix_emhp84jkv42c-4 0 } ol.lst-kix_xv318blpjdo-8.start { counter-reset: lst-ctn-kix_xv318blpjdo-8 0 } ul.lst-kix_6ril5iwt0fcl-5 { list-style-type: none } .lst-kix_q8ok0mh9yyto-8>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-8 } ul.lst-kix_6ril5iwt0fcl-4 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-3 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-2 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-8 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-7 { list-style-type: none } ul.lst-kix_6ril5iwt0fcl-6 { list-style-type: none } .lst-kix_vf0l197cqv6l-6>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-6 } .lst-kix_vf0l197cqv6l-4>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-4, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-8.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-8 0 } .lst-kix_vf0l197cqv6l-3>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-3, decimal) ". " } .lst-kix_vf0l197cqv6l-5>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-5, lower-roman) ". " } .lst-kix_vf0l197cqv6l-6>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-6, decimal) ". " } ul.lst-kix_6ril5iwt0fcl-1 { list-style-type: none } .lst-kix_vf0l197cqv6l-8>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-8, lower-roman) ". " } ul.lst-kix_6ril5iwt0fcl-0 { list-style-type: none } .lst-kix_xv318blpjdo-1>li { counter-increment: lst-ctn-kix_xv318blpjdo-1 } .lst-kix_vf0l197cqv6l-7>li:before { content: "" counter(lst-ctn-kix_vf0l197cqv6l-7, lower-latin) ". " } .lst-kix_bfzyeb917dp8-6>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-6 } ol.lst-kix_yly1729bcywk-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-1 { list-style-type: none } ol.lst-kix_yly1729bcywk-6.start { counter-reset: lst-ctn-kix_yly1729bcywk-6 0 } ol.lst-kix_yly1729bcywk-4 { list-style-type: none } ol.lst-kix_yly1729bcywk-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-3 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-1, lower-latin) ". " } ol.lst-kix_yly1729bcywk-8 { list-style-type: none } ul.lst-kix_hchtl271h88l-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-0 0 } ul.lst-kix_hchtl271h88l-2 { list-style-type: none } ol.lst-kix_yly1729bcywk-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-4 { list-style-type: none } .lst-kix_gfromclascha-0>li:before { content: "\0025cf " } ul.lst-kix_hchtl271h88l-1 { list-style-type: none } ul.lst-kix_hchtl271h88l-0 { list-style-type: none } .lst-kix_gfromclascha-2>li:before { content: "\0025a0 " } .lst-kix_gfromclascha-4>li:before { content: "\0025cb " } ul.lst-kix_hchtl271h88l-7 { list-style-type: none } ul.lst-kix_hchtl271h88l-6 { list-style-type: none } ul.lst-kix_hchtl271h88l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-7 0 } .lst-kix_6ril5iwt0fcl-0>li:before { content: "\0025cf " } .lst-kix_gfromclascha-6>li:before { content: "\0025cf " } .lst-kix_q97rvvc7c69e-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-8.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-8 0 } .lst-kix_6ril5iwt0fcl-2>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-7>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-7, lower-latin) ". " } .lst-kix_6ril5iwt0fcl-4>li:before { content: "\0025cb " } .lst-kix_6ril5iwt0fcl-6>li:before { content: "\0025cf " } .lst-kix_xv318blpjdo-8>li { counter-increment: lst-ctn-kix_xv318blpjdo-8 } .lst-kix_s3mi7ukxwiwf-5>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-5, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-8>li:before { content: "\0025a0 " } .lst-kix_s3mi7ukxwiwf-3>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-3, decimal) ". " } .lst-kix_ne7nl4nhpzqr-0>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-0 } .lst-kix_ne7nl4nhpzqr-7>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-7 } .lst-kix_vf0l197cqv6l-5>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-5 } ol.lst-kix_jj5w63toozfm-7.start { counter-reset: lst-ctn-kix_jj5w63toozfm-7 0 } .lst-kix_1wulu3ra2vwv-4>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-4, decimal) ") " } .lst-kix_yly1729bcywk-3>li { counter-increment: lst-ctn-kix_yly1729bcywk-3 } .lst-kix_hchtl271h88l-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-6>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-6, lower-roman) ") " } .lst-kix_yly1729bcywk-4>li { counter-increment: lst-ctn-kix_yly1729bcywk-4 } .lst-kix_hchtl271h88l-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-8>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-8, lower-roman) ") " } .lst-kix_gfromclascha-8>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-3>li:before { content: "\0025cf " } .lst-kix_sholqrhc62dh-2>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-0 { list-style-type: none } .lst-kix_hchtl271h88l-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-4>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-2>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-2, decimal) ". " } .lst-kix_1wulu3ra2vwv-0>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-0, upper-roman) ". " } ol.lst-kix_11a9ub9xa97v-3.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-3 0 } .lst-kix_emhp84jkv42c-2>li { counter-increment: lst-ctn-kix_emhp84jkv42c-2 } ol.lst-kix_s3mi7ukxwiwf-4.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-4 0 } ul.lst-kix_h0kibz3smj6t-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-7 0 } .lst-kix_jkgkf1u9sy0c-2>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-2>li:before { content: "\0025a0 " } .lst-kix_jkgkf1u9sy0c-1>li:before { content: "\0025cb " } .lst-kix_f5kb4hocu5hh-6>li:before { content: "\0025cf " } ul.lst-kix_iv2x96orjh4l-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-1 0 } ul.lst-kix_iv2x96orjh4l-3 { list-style-type: none } .lst-kix_f5kb4hocu5hh-5>li:before { content: "\0025a0 " } ul.lst-kix_iv2x96orjh4l-0 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li { counter-increment: lst-ctn-kix_jj5w63toozfm-3 } ul.lst-kix_iv2x96orjh4l-1 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-6 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-7 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-6 } ul.lst-kix_iv2x96orjh4l-4 { list-style-type: none } ul.lst-kix_iv2x96orjh4l-5 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-3 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-2 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-5>li:before { content: "\0025a0 " } ul.lst-kix_h0kibz3smj6t-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-2.start { counter-reset: lst-ctn-kix_jj5w63toozfm-2 0 } ul.lst-kix_h0kibz3smj6t-7 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-6 { list-style-type: none } ul.lst-kix_h0kibz3smj6t-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-6>li:before { content: "\0025cf " } ul.lst-kix_h0kibz3smj6t-4 { list-style-type: none } .lst-kix_emhp84jkv42c-4>li { counter-increment: lst-ctn-kix_emhp84jkv42c-4 } ul.lst-kix_iv2x96orjh4l-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-3 0 } .lst-kix_b7256qmdgo85-3>li:before { content: "\0025cf " } .lst-kix_b7256qmdgo85-4>li:before { content: "\0025cb " } .lst-kix_b7256qmdgo85-7>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3.start { counter-reset: lst-ctn-kix_jj5w63toozfm-3 0 } .lst-kix_q97rvvc7c69e-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-8>li:before { content: "\0025a0 " } ol.lst-kix_bfzyeb917dp8-2.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-2 0 } ol.lst-kix_1wulu3ra2vwv-6.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-6 0 } ol.lst-kix_yly1729bcywk-7.start { counter-reset: lst-ctn-kix_yly1729bcywk-7 0 } .lst-kix_jj5w63toozfm-5>li { counter-increment: lst-ctn-kix_jj5w63toozfm-5 } .lst-kix_s3mi7ukxwiwf-0>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-0, decimal) ". " } ul.lst-kix_q97rvvc7c69e-4 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-3 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-6.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-6 0 } .lst-kix_s3mi7ukxwiwf-8>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-8, lower-roman) ". " } ul.lst-kix_q97rvvc7c69e-5 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-8 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-7 { list-style-type: none } .lst-kix_gfromclascha-3>li:before { content: "\0025cf " } ul.lst-kix_q97rvvc7c69e-0 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-2 { list-style-type: none } ul.lst-kix_q97rvvc7c69e-1 { list-style-type: none } .lst-kix_yly1729bcywk-3>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-3, decimal) ". " } .lst-kix_q97rvvc7c69e-6>li:before { content: "\0025cf " } .lst-kix_6ril5iwt0fcl-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-6>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-7>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-7, lower-latin) ". " } ol.lst-kix_s3mi7ukxwiwf-3.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-3 0 } .lst-kix_6ril5iwt0fcl-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-1>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-1 } .lst-kix_s3mi7ukxwiwf-4>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-4, lower-latin) ". " } .lst-kix_5anu1k9tsyak-2>li:before { content: "\0025a0 " } .lst-kix_b7256qmdgo85-0>li:before { content: "\0025cf " } ul.lst-kix_vf0l197cqv6l-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-3, lower-latin) ") " } .lst-kix_xoos54gyybzj-5>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-5.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-5 0 } ol.lst-kix_vf0l197cqv6l-7.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-7 0 } .lst-kix_11a9ub9xa97v-7>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-7 } .lst-kix_1wulu3ra2vwv-7>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-7, lower-latin) ") " } .lst-kix_xoos54gyybzj-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-2 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-3 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-0 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-1 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-6 { list-style-type: none } .lst-kix_hchtl271h88l-8>li:before { content: "\0025a0 " } ol.lst-kix_ne7nl4nhpzqr-7 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-4 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-5 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-8 { list-style-type: none } .lst-kix_1wulu3ra2vwv-6>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-6 } .lst-kix_gfromclascha-7>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-6.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-6 0 } ul.lst-kix_pcjo479wrta-0 { list-style-type: none } .lst-kix_86hsx13ssqid-5>li:before { content: "\0025a0 " } ul.lst-kix_pcjo479wrta-2 { list-style-type: none } ul.lst-kix_pcjo479wrta-1 { list-style-type: none } ul.lst-kix_pcjo479wrta-4 { list-style-type: none } .lst-kix_hchtl271h88l-4>li:before { content: "\0025cb " } ul.lst-kix_pcjo479wrta-3 { list-style-type: none } ul.lst-kix_pcjo479wrta-6 { list-style-type: none } ul.lst-kix_pcjo479wrta-5 { list-style-type: none } ul.lst-kix_pcjo479wrta-8 { list-style-type: none } ul.lst-kix_pcjo479wrta-7 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-8.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-8 0 } .lst-kix_hchtl271h88l-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-1>li:before { content: "\0025cb " } .lst-kix_sholqrhc62dh-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-0>li:before { content: "\0025cf " } .lst-kix_7tib3jrzu2u9-5>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-2>li:before { content: "\0025a0 " } .lst-kix_7tib3jrzu2u9-3>li:before { content: "\0025cf " } ul.lst-kix_ndaonzmgp8vn-4 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-3 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-6 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-5 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-0 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-2 { list-style-type: none } .lst-kix_bfzyeb917dp8-4>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-4 } ul.lst-kix_ndaonzmgp8vn-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-8>li:before { content: "\0025a0 " } ul.lst-kix_sholqrhc62dh-6 { list-style-type: none } ul.lst-kix_sholqrhc62dh-5 { list-style-type: none } ul.lst-kix_sholqrhc62dh-4 { list-style-type: none } ul.lst-kix_sholqrhc62dh-3 { list-style-type: none } ul.lst-kix_sholqrhc62dh-8 { list-style-type: none } ul.lst-kix_sholqrhc62dh-7 { list-style-type: none } ul.lst-kix_sholqrhc62dh-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-6 0 } ul.lst-kix_sholqrhc62dh-1 { list-style-type: none } ul.lst-kix_sholqrhc62dh-0 { list-style-type: none } .lst-kix_emhp84jkv42c-1>li { counter-increment: lst-ctn-kix_emhp84jkv42c-1 } ul.lst-kix_ndaonzmgp8vn-8 { list-style-type: none } ul.lst-kix_ndaonzmgp8vn-7 { list-style-type: none } .lst-kix_j42a5dwgnqyq-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-6>li:before { content: "\0025cf " } ol.lst-kix_bfzyeb917dp8-1.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-1 0 } .lst-kix_j42a5dwgnqyq-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-7>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-8>li:before { content: "\0025a0 " } .lst-kix_5anu1k9tsyak-8>li:before { content: "\0025a0 " } ol.lst-kix_s3mi7ukxwiwf-2.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-2 0 } .lst-kix_yly1729bcywk-5>li { counter-increment: lst-ctn-kix_yly1729bcywk-5 } ul.lst-kix_686a8e4qhxwx-4 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-3 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-2 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-1 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-8 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-7 { list-style-type: none } ul.lst-kix_686a8e4qhxwx-6 { list-style-type: none } .lst-kix_6qnkx7t1adn9-0>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-0>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-5 { list-style-type: none } .lst-kix_6qnkx7t1adn9-1>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-3>li:before { content: "\0025cf " } ul.lst-kix_686a8e4qhxwx-0 { list-style-type: none } .lst-kix_bfzyeb917dp8-0>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-0 } .lst-kix_qeqyxe7gm97l-5>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-0>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-2>li:before { content: "\0025a0 " } .lst-kix_j42a5dwgnqyq-5>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-3.start { counter-reset: lst-ctn-kix_emhp84jkv42c-3 0 } .lst-kix_qeqyxe7gm97l-2>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-8>li { counter-increment: lst-ctn-kix_emhp84jkv42c-8 } ol.lst-kix_s3mi7ukxwiwf-0.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-0 0 } .lst-kix_86hsx13ssqid-8>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-6 { list-style-type: none } ul.lst-kix_xoos54gyybzj-4 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-5 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-3 0 } ol.lst-kix_vf0l197cqv6l-4 { list-style-type: none } ul.lst-kix_xoos54gyybzj-6 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-5 { list-style-type: none } ul.lst-kix_xoos54gyybzj-7 { list-style-type: none } ul.lst-kix_xoos54gyybzj-8 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-0>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-0 } ol.lst-kix_vf0l197cqv6l-8 { list-style-type: none } .lst-kix_yly1729bcywk-2>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-2, lower-roman) ". " } .lst-kix_fd1rucpc9vz2-5>li:before { content: "\0025a0 " } .lst-kix_fd1rucpc9vz2-7>li:before { content: "\0025cb " } ol.lst-kix_vf0l197cqv6l-2 { list-style-type: none } .lst-kix_pcjo479wrta-5>li:before { content: "\0025a0 " } .lst-kix_iv2x96orjh4l-5>li:before { content: "\0025a0 " } ul.lst-kix_xoos54gyybzj-0 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-3 { list-style-type: none } ul.lst-kix_xoos54gyybzj-1 { list-style-type: none } ol.lst-kix_vf0l197cqv6l-0 { list-style-type: none } ul.lst-kix_xoos54gyybzj-2 { list-style-type: none } .lst-kix_yly1729bcywk-0>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-0, decimal) ". " } .lst-kix_yly1729bcywk-8>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-8, lower-roman) ". " } ul.lst-kix_xoos54gyybzj-3 { list-style-type: none } .lst-kix_iv2x96orjh4l-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-3>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-5>li:before { content: "\0025a0 " } .lst-kix_1wulu3ra2vwv-8>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-8 } ol.lst-kix_q8ok0mh9yyto-6 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-5 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-3 { list-style-type: none } .lst-kix_9jxnjym0nges-0>li:before { content: "\0025cf " } ol.lst-kix_q8ok0mh9yyto-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-7 { list-style-type: none } .lst-kix_xoos54gyybzj-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-0.start { counter-reset: lst-ctn-kix_emhp84jkv42c-0 0 } .lst-kix_opi66v2qdsjs-8>li:before { content: "\0025a0 " } .lst-kix_ndaonzmgp8vn-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-2 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-1 { list-style-type: none } .lst-kix_9jxnjym0nges-2>li:before { content: "\0025a0 " } ol.lst-kix_q8ok0mh9yyto-0 { list-style-type: none } .lst-kix_xoos54gyybzj-6>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-2>li:before { content: "\0025a0 " } .lst-kix_opi66v2qdsjs-2>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-0>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-0, upper-roman) ". " } ol.lst-kix_bfzyeb917dp8-4.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-4 0 } .lst-kix_q8ok0mh9yyto-3>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-3 } .lst-kix_xoos54gyybzj-0>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-8>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-8, lower-roman) ") " } .lst-kix_86hsx13ssqid-0>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-6>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-6>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-6, lower-roman) ") " } ul.lst-kix_9jxnjym0nges-2 { list-style-type: none } .lst-kix_xv318blpjdo-2>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-2, decimal) ". " } ul.lst-kix_9jxnjym0nges-1 { list-style-type: none } ul.lst-kix_9jxnjym0nges-4 { list-style-type: none } ul.lst-kix_9jxnjym0nges-3 { list-style-type: none } .lst-kix_h0kibz3smj6t-5>li:before { content: "\0025a0 " } ul.lst-kix_9jxnjym0nges-6 { list-style-type: none } ul.lst-kix_9jxnjym0nges-5 { list-style-type: none } ul.lst-kix_9jxnjym0nges-8 { list-style-type: none } ul.lst-kix_9jxnjym0nges-7 { list-style-type: none } .lst-kix_xv318blpjdo-2>li { counter-increment: lst-ctn-kix_xv318blpjdo-2 } .lst-kix_f5kb4hocu5hh-3>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-3>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-3 } .lst-kix_bfzyeb917dp8-7>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-7 } .lst-kix_f5kb4hocu5hh-8>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-1.start { counter-reset: lst-ctn-kix_emhp84jkv42c-1 0 } .lst-kix_jkgkf1u9sy0c-4>li:before { content: "\0025cb " } ol.lst-kix_jj5w63toozfm-3 { list-style-type: none } ol.lst-kix_jj5w63toozfm-4 { list-style-type: none } ol.lst-kix_jj5w63toozfm-5 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-7>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-7, lower-latin) ") " } .lst-kix_686a8e4qhxwx-5>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-6 { list-style-type: none } ol.lst-kix_jj5w63toozfm-7 { list-style-type: none } ol.lst-kix_jj5w63toozfm-8 { list-style-type: none } .lst-kix_h0kibz3smj6t-2>li:before { content: "\0025a0 " } .lst-kix_q8ok0mh9yyto-7>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-7 } ol.lst-kix_jj5w63toozfm-0 { list-style-type: none } ol.lst-kix_jj5w63toozfm-1 { list-style-type: none } .lst-kix_686a8e4qhxwx-2>li:before { content: "\0025a0 " } ol.lst-kix_jj5w63toozfm-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-8 0 } ol.lst-kix_11a9ub9xa97v-2 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-1 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-0 { list-style-type: none } .lst-kix_b7256qmdgo85-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-8 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-7 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-6 { list-style-type: none } ol.lst-kix_11a9ub9xa97v-5 { list-style-type: none } .lst-kix_4m04az9jmmj8-7>li:before { content: "\0025cb " } ol.lst-kix_11a9ub9xa97v-4 { list-style-type: none } .lst-kix_b7256qmdgo85-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-2>li { counter-increment: lst-ctn-kix_yly1729bcywk-2 } .lst-kix_q8ok0mh9yyto-5>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-5, lower-latin) ") " } .lst-kix_4m04az9jmmj8-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-3>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-3 } .lst-kix_ne7nl4nhpzqr-7>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-7, lower-latin) ". " } .lst-kix_q8ok0mh9yyto-8>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-8, lower-roman) ") " } ol.lst-kix_bfzyeb917dp8-5 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-4 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-3 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-2 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-8 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-7 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-6 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5.start { counter-reset: lst-ctn-kix_emhp84jkv42c-5 0 } .lst-kix_q8ok0mh9yyto-0>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-0 } .lst-kix_l7z426mwssm0-3>li:before { content: "\0025cf " } .lst-kix_iv2x96orjh4l-8>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-6>li:before { content: "\0025cf " } .lst-kix_gfromclascha-5>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-2>li:before { content: "\0025a0 " } ol.lst-kix_emhp84jkv42c-8.start { counter-reset: lst-ctn-kix_emhp84jkv42c-8 0 } .lst-kix_11a9ub9xa97v-8>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-8 } .lst-kix_x1epm4iu41dp-5>li:before { content: "\0025a0 " } .lst-kix_q97rvvc7c69e-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-5>li { counter-increment: lst-ctn-kix_xv318blpjdo-5 } .lst-kix_1wulu3ra2vwv-5>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-5 } .lst-kix_5anu1k9tsyak-0>li:before { content: "\0025cf " } .lst-kix_fy6y7gyjejoh-4>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-7>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-0>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-5>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-5, lower-roman) ". " } .lst-kix_s3mi7ukxwiwf-2>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-2, lower-roman) ". " } .lst-kix_6ril5iwt0fcl-7>li:before { content: "\0025cb " } .lst-kix_emhp84jkv42c-4>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-4, decimal) ") " } .lst-kix_emhp84jkv42c-5>li { counter-increment: lst-ctn-kix_emhp84jkv42c-5 } .lst-kix_jj5w63toozfm-4>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-4, lower-latin) ". " } .lst-kix_1wulu3ra2vwv-5>li:before { content: "(" counter(lst-ctn-kix_1wulu3ra2vwv-5, lower-latin) ") " } ul.lst-kix_u0uqs69v9qbh-8 { list-style-type: none } .lst-kix_xoos54gyybzj-3>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-1>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-1 } ul.lst-kix_u0uqs69v9qbh-4 { list-style-type: none } .lst-kix_hchtl271h88l-6>li:before { content: "\0025cf " } ul.lst-kix_u0uqs69v9qbh-5 { list-style-type: none } .lst-kix_opi66v2qdsjs-5>li:before { content: "\0025a0 " } .lst-kix_lemcawe54w5c-5>li:before { content: "\0025a0 " } ul.lst-kix_u0uqs69v9qbh-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-7 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-0 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-6 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-5 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-8 { list-style-type: none } ul.lst-kix_u0uqs69v9qbh-3 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-7 { list-style-type: none } ol.lst-kix_emhp84jkv42c-7.start { counter-reset: lst-ctn-kix_emhp84jkv42c-7 0 } .lst-kix_fd1rucpc9vz2-2>li:before { content: "\0025a0 " } ul.lst-kix_jkgkf1u9sy0c-4 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-5 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-6 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-7 { list-style-type: none } .lst-kix_bfzyeb917dp8-2>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-2, decimal) ". " } .lst-kix_gyhqddkw9i05-1>li:before { content: "\0025cb " } ul.lst-kix_jkgkf1u9sy0c-8 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-2 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-1 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-4 { list-style-type: none } ul.lst-kix_gyhqddkw9i05-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-3>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-3, lower-latin) ") " } ol.lst-kix_emhp84jkv42c-6.start { counter-reset: lst-ctn-kix_emhp84jkv42c-6 0 } .lst-kix_8p26nc4xx5n8-1>li:before { content: "\0025cb " } .lst-kix_u0uqs69v9qbh-5>li:before { content: "\0025a0 " } .lst-kix_f5kb4hocu5hh-0>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-5>li:before { content: "\0025a0 " } .lst-kix_86hsx13ssqid-3>li:before { content: "\0025cf " } ul.lst-kix_jkgkf1u9sy0c-0 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-1 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-2 { list-style-type: none } ul.lst-kix_jkgkf1u9sy0c-3 { list-style-type: none } .lst-kix_vf0l197cqv6l-2>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-2 } ol.lst-kix_jj5w63toozfm-5.start { counter-reset: lst-ctn-kix_jj5w63toozfm-5 0 } ul.lst-kix_bijol4nzhwf0-8 { list-style-type: none } ol.lst-kix_emhp84jkv42c-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2 { list-style-type: none } ol.lst-kix_emhp84jkv42c-1 { list-style-type: none } ol.lst-kix_emhp84jkv42c-4 { list-style-type: none } ol.lst-kix_emhp84jkv42c-3 { list-style-type: none } ol.lst-kix_emhp84jkv42c-6 { list-style-type: none } ol.lst-kix_emhp84jkv42c-5 { list-style-type: none } ol.lst-kix_emhp84jkv42c-8 { list-style-type: none } .lst-kix_yly1729bcywk-7>li { counter-increment: lst-ctn-kix_yly1729bcywk-7 } ol.lst-kix_emhp84jkv42c-7 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-4 } .lst-kix_1qz6dmm9b14l-4>li:before { content: "\0025cb " } .lst-kix_1qz6dmm9b14l-3>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-5>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-0 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-1 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-2 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-3 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-4 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-5 { list-style-type: none } .lst-kix_1qz6dmm9b14l-0>li:before { content: "\0025cf " } .lst-kix_1qz6dmm9b14l-8>li:before { content: "\0025a0 " } ul.lst-kix_j42a5dwgnqyq-6 { list-style-type: none } ul.lst-kix_j42a5dwgnqyq-7 { list-style-type: none } .lst-kix_1qz6dmm9b14l-1>li:before { content: "\0025cb " } ol.lst-kix_bfzyeb917dp8-0.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-0 0 } ul.lst-kix_j42a5dwgnqyq-8 { list-style-type: none } .lst-kix_1qz6dmm9b14l-2>li:before { content: "\0025a0 " } ul.lst-kix_bijol4nzhwf0-4 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-5 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-6 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-7 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-0 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-1 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-2 { list-style-type: none } ul.lst-kix_bijol4nzhwf0-3 { list-style-type: none } .lst-kix_jj5w63toozfm-3>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-3, decimal) ". " } .lst-kix_1wulu3ra2vwv-2>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-2 } .lst-kix_1qz6dmm9b14l-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-2>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-2, lower-roman) ". " } .lst-kix_ne7nl4nhpzqr-3>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-3 } .lst-kix_q8ok0mh9yyto-4>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-4 } .lst-kix_1qz6dmm9b14l-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-1>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-1, lower-latin) ". " } .lst-kix_h9mjmxara98n-7>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-0>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-0, decimal) ". " } .lst-kix_h9mjmxara98n-6>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-8>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-6>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-8>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-5>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-5>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-3>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-3>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-2>li:before { content: "\0025a0 " } .lst-kix_h9mjmxara98n-4>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-2>li:before { content: "\0025a0 " } .lst-kix_bijol4nzhwf0-4>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-1.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-1 0 } ol.lst-kix_s3mi7ukxwiwf-1.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-1 0 } .lst-kix_h9mjmxara98n-0>li:before { content: "\0025cf " } .lst-kix_bijol4nzhwf0-0>li:before { content: "\0025cf " } .lst-kix_h9mjmxara98n-1>li:before { content: "\0025cb " } .lst-kix_bijol4nzhwf0-1>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-8>li { counter-increment: lst-ctn-kix_jj5w63toozfm-8 } ol.lst-kix_ne7nl4nhpzqr-3.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-3 0 } ul.lst-kix_gfromclascha-0 { list-style-type: none } ol.lst-kix_emhp84jkv42c-2.start { counter-reset: lst-ctn-kix_emhp84jkv42c-2 0 } .lst-kix_l7z426mwssm0-2>li:before { content: "\0025a0 " } .lst-kix_ne7nl4nhpzqr-4>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-4, lower-latin) ". " } .lst-kix_l7z426mwssm0-0>li:before { content: "\0025cf " } .lst-kix_l7z426mwssm0-4>li:before { content: "\0025cb " } ul.lst-kix_gfromclascha-7 { list-style-type: none } ul.lst-kix_gfromclascha-8 { list-style-type: none } ul.lst-kix_gfromclascha-5 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-0>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-0, decimal) ". " } .lst-kix_ne7nl4nhpzqr-2>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-2, lower-roman) ". " } ul.lst-kix_gfromclascha-6 { list-style-type: none } .lst-kix_x1epm4iu41dp-8>li:before { content: "\0025a0 " } ul.lst-kix_gfromclascha-3 { list-style-type: none } ul.lst-kix_gfromclascha-4 { list-style-type: none } ul.lst-kix_gfromclascha-1 { list-style-type: none } .lst-kix_bfzyeb917dp8-3>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-3, lower-latin) ") " } ul.lst-kix_gfromclascha-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-3 { list-style-type: none } .lst-kix_x1epm4iu41dp-2>li:before { content: "\0025a0 " } ol.lst-kix_11a9ub9xa97v-1.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-1 0 } ul.lst-kix_opi66v2qdsjs-2 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-1 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-0 { list-style-type: none } .lst-kix_q8ok0mh9yyto-0>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-0, upper-roman) ". " } .lst-kix_fy6y7gyjejoh-3>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-5>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-5, lower-latin) ") " } .lst-kix_jj5w63toozfm-0>li { counter-increment: lst-ctn-kix_jj5w63toozfm-0 } .lst-kix_x1epm4iu41dp-6>li:before { content: "\0025cf " } ul.lst-kix_opi66v2qdsjs-8 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-7 { list-style-type: none } .lst-kix_x1epm4iu41dp-4>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-6 { list-style-type: none } ul.lst-kix_opi66v2qdsjs-5 { list-style-type: none } .lst-kix_fy6y7gyjejoh-1>li:before { content: "\0025cb " } ul.lst-kix_opi66v2qdsjs-4 { list-style-type: none } .lst-kix_bfzyeb917dp8-7>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-7, lower-latin) ") " } .lst-kix_emhp84jkv42c-7>li { counter-increment: lst-ctn-kix_emhp84jkv42c-7 } .lst-kix_fy6y7gyjejoh-7>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-1.start { counter-reset: lst-ctn-kix_xv318blpjdo-1 0 } .lst-kix_x1epm4iu41dp-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-0.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-0 0 } .lst-kix_fy6y7gyjejoh-5>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-3>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-3, lower-latin) ") " } .lst-kix_emhp84jkv42c-5>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-5, lower-latin) ") " } .lst-kix_lemcawe54w5c-8>li:before { content: "\0025a0 " } ol.lst-kix_yly1729bcywk-4.start { counter-reset: lst-ctn-kix_yly1729bcywk-4 0 } .lst-kix_emhp84jkv42c-1>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-1, upper-latin) ". " } .lst-kix_emhp84jkv42c-7>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-7, lower-latin) ") " } .lst-kix_lemcawe54w5c-6>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-5>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-5, lower-roman) ". " } .lst-kix_bfzyeb917dp8-2>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-2 } ul.lst-kix_1qz6dmm9b14l-6 { list-style-type: none } .lst-kix_lemcawe54w5c-4>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-8>li:before { content: "\0025a0 " } .lst-kix_jj5w63toozfm-7>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-7, lower-latin) ". " } ul.lst-kix_1qz6dmm9b14l-5 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-8 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-7 { list-style-type: none } .lst-kix_jj5w63toozfm-1>li { counter-increment: lst-ctn-kix_jj5w63toozfm-1 } ul.lst-kix_1qz6dmm9b14l-2 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-1 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-4 { list-style-type: none } ul.lst-kix_1qz6dmm9b14l-3 { list-style-type: none } .lst-kix_u0uqs69v9qbh-0>li:before { content: "\0025cf " } .lst-kix_u0uqs69v9qbh-4>li:before { content: "\0025cb " } ul.lst-kix_1qz6dmm9b14l-0 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-6>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-6 } .lst-kix_jj5w63toozfm-7>li { counter-increment: lst-ctn-kix_jj5w63toozfm-7 } .lst-kix_lemcawe54w5c-2>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-4.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-4 0 } .lst-kix_l7z426mwssm0-8>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-1>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-1, upper-latin) ". " } ul.lst-kix_ekmayt81kvbz-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-7 { list-style-type: none } .lst-kix_gyhqddkw9i05-4>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-2>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-6 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-5 { list-style-type: none } .lst-kix_lemcawe54w5c-0>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-4 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-3 { list-style-type: none } .lst-kix_gyhqddkw9i05-6>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-0>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-8>li:before { content: "\0025a0 " } ul.lst-kix_ekmayt81kvbz-2 { list-style-type: none } ul.lst-kix_ekmayt81kvbz-1 { list-style-type: none } .lst-kix_u0uqs69v9qbh-6>li:before { content: "\0025cf " } ul.lst-kix_ekmayt81kvbz-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-1 { list-style-type: none } ol.lst-kix_bfzyeb917dp8-5.start { counter-reset: lst-ctn-kix_bfzyeb917dp8-5 0 } ol.lst-kix_s3mi7ukxwiwf-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-0 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-1 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-2 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-6 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-3 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-0 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-4 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-5 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-6 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-3 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-8 { list-style-type: none } .lst-kix_gyhqddkw9i05-2>li:before { content: "\0025a0 " } .lst-kix_8p26nc4xx5n8-4>li:before { content: "\0025cb " } ul.lst-kix_7tib3jrzu2u9-7 { list-style-type: none } ul.lst-kix_7tib3jrzu2u9-8 { list-style-type: none } ol.lst-kix_ne7nl4nhpzqr-7.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-7 0 } .lst-kix_yly1729bcywk-6>li { counter-increment: lst-ctn-kix_yly1729bcywk-6 } .lst-kix_xv318blpjdo-1>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-1, upper-latin) ". " } .lst-kix_xv318blpjdo-0>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-0, upper-roman) ". " } .lst-kix_h0kibz3smj6t-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-4>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-4 } .lst-kix_1wulu3ra2vwv-1>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-1 } .lst-kix_h0kibz3smj6t-7>li:before { content: "\0025cb " } .lst-kix_h0kibz3smj6t-8>li:before { content: "\0025a0 " } .lst-kix_11a9ub9xa97v-5>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-5 } .lst-kix_opi66v2qdsjs-0>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-7>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-8>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-8, lower-roman) ") " } .lst-kix_xv318blpjdo-5>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-5, lower-latin) ") " } .lst-kix_h0kibz3smj6t-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-3>li:before { content: "\0025cf " } .lst-kix_686a8e4qhxwx-4>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-4>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-4, decimal) ") " } .lst-kix_h0kibz3smj6t-0>li:before { content: "\0025cf " } ol.lst-kix_vf0l197cqv6l-4.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-4 0 } ol.lst-kix_ne7nl4nhpzqr-2.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-2 0 } ol.lst-kix_11a9ub9xa97v-0.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-0 0 } .lst-kix_s3mi7ukxwiwf-7>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-7 } ul.lst-kix_l7z426mwssm0-1 { list-style-type: none } ul.lst-kix_l7z426mwssm0-2 { list-style-type: none } ul.lst-kix_l7z426mwssm0-0 { list-style-type: none } ol.lst-kix_yly1729bcywk-8.start { counter-reset: lst-ctn-kix_yly1729bcywk-8 0 } .lst-kix_ne7nl4nhpzqr-2>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-2 } .lst-kix_q8ok0mh9yyto-3>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-3, lower-latin) ") " } .lst-kix_pcjo479wrta-7>li:before { content: "\0025cb " } .lst-kix_686a8e4qhxwx-8>li:before { content: "\0025a0 " } .lst-kix_emhp84jkv42c-6>li { counter-increment: lst-ctn-kix_emhp84jkv42c-6 } ul.lst-kix_l7z426mwssm0-7 { list-style-type: none } ul.lst-kix_l7z426mwssm0-8 { list-style-type: none } .lst-kix_q8ok0mh9yyto-2>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-2, decimal) ". " } .lst-kix_pcjo479wrta-8>li:before { content: "\0025a0 " } ul.lst-kix_l7z426mwssm0-5 { list-style-type: none } ul.lst-kix_l7z426mwssm0-6 { list-style-type: none } ul.lst-kix_l7z426mwssm0-3 { list-style-type: none } ul.lst-kix_l7z426mwssm0-4 { list-style-type: none } .lst-kix_yly1729bcywk-8>li { counter-increment: lst-ctn-kix_yly1729bcywk-8 } .lst-kix_vf0l197cqv6l-3>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-3 } .lst-kix_q8ok0mh9yyto-6>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-6, lower-roman) ") " } .lst-kix_4m04az9jmmj8-2>li:before { content: "\0025a0 " } .lst-kix_4m04az9jmmj8-6>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-7>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-7, lower-latin) ") " } .lst-kix_4m04az9jmmj8-1>li:before { content: "\0025cb " } .lst-kix_4m04az9jmmj8-5>li:before { content: "\0025a0 " } ol.lst-kix_vf0l197cqv6l-5.start { counter-reset: lst-ctn-kix_vf0l197cqv6l-5 0 } .lst-kix_ne7nl4nhpzqr-8>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-8, lower-roman) ". " } .lst-kix_xv318blpjdo-4>li { counter-increment: lst-ctn-kix_xv318blpjdo-4 } .lst-kix_vf0l197cqv6l-8>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-8 } .lst-kix_ne7nl4nhpzqr-5>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-5, lower-roman) ". " } .lst-kix_l7z426mwssm0-1>li:before { content: "\0025cb " } .lst-kix_x1epm4iu41dp-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-1>li { counter-increment: lst-ctn-kix_yly1729bcywk-1 } .lst-kix_6qnkx7t1adn9-4>li:before { content: "\0025cb " } .lst-kix_6qnkx7t1adn9-8>li:before { content: "\0025a0 " } .lst-kix_xv318blpjdo-6>li { counter-increment: lst-ctn-kix_xv318blpjdo-6 } ol.lst-kix_jj5w63toozfm-1.start { counter-reset: lst-ctn-kix_jj5w63toozfm-1 0 } .lst-kix_ne7nl4nhpzqr-1>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-1, lower-latin) ". " } .lst-kix_pcjo479wrta-4>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-8.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-8 0 } .lst-kix_bfzyeb917dp8-4>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-4, decimal) ") " } .lst-kix_x1epm4iu41dp-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-8>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-8>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-8, lower-roman) ") " } .lst-kix_fy6y7gyjejoh-2>li:before { content: "\0025a0 " } .lst-kix_fy6y7gyjejoh-6>li:before { content: "\0025cf " } ol.lst-kix_1wulu3ra2vwv-8.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-8 0 } .lst-kix_pcjo479wrta-0>li:before { content: "\0025cf " } ol.lst-kix_s3mi7ukxwiwf-6.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-6 0 } ol.lst-kix_jj5w63toozfm-0.start { counter-reset: lst-ctn-kix_jj5w63toozfm-0 0 } .lst-kix_emhp84jkv42c-2>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-2, decimal) ". " } .lst-kix_emhp84jkv42c-6>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-6, lower-roman) ") " } .lst-kix_686a8e4qhxwx-0>li:before { content: "\0025cf " } .lst-kix_ndaonzmgp8vn-5>li:before { content: "\0025a0 " } .lst-kix_9jxnjym0nges-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-7>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-7>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-1>li:before { content: "\0025cb " } .lst-kix_gyhqddkw9i05-7>li:before { content: "\0025cb " } .lst-kix_jj5w63toozfm-6>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-6, decimal) ". " } .lst-kix_u0uqs69v9qbh-3>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-0>li:before { content: "\0025cf " } .lst-kix_fd1rucpc9vz2-4>li:before { content: "\0025cb " } ol.lst-kix_s3mi7ukxwiwf-5.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-5 0 } .lst-kix_opi66v2qdsjs-3>li:before { content: "\0025cf " } .lst-kix_lemcawe54w5c-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-3>li:before { content: "\0025cf " } .lst-kix_8p26nc4xx5n8-7>li:before { content: "\0025cb " } .lst-kix_l7z426mwssm0-5>li:before { content: "\0025a0 " } .lst-kix_u0uqs69v9qbh-7>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-0>li:before { content: "" counter(lst-ctn-kix_bfzyeb917dp8-0, upper-roman) ". " } .lst-kix_11a9ub9xa97v-1>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-1, upper-latin) ". " } .lst-kix_gyhqddkw9i05-3>li:before { content: "\0025cf " } .lst-kix_9jxnjym0nges-7>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-5>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-5, lower-latin) ") " } ol.lst-kix_11a9ub9xa97v-2.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-2 0 } .lst-kix_s3mi7ukxwiwf-4>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-4 } .lst-kix_7tib3jrzu2u9-4>li:before { content: "\0025cb " } .lst-kix_ne7nl4nhpzqr-5>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-5 } ol.lst-kix_xv318blpjdo-4 { list-style-type: none } ol.lst-kix_s3mi7ukxwiwf-7.start { counter-reset: lst-ctn-kix_s3mi7ukxwiwf-7 0 } ol.lst-kix_xv318blpjdo-5 { list-style-type: none } ol.lst-kix_xv318blpjdo-6 { list-style-type: none } ol.lst-kix_xv318blpjdo-7 { list-style-type: none } ol.lst-kix_xv318blpjdo-0 { list-style-type: none } ol.lst-kix_xv318blpjdo-1 { list-style-type: none } .lst-kix_7tib3jrzu2u9-1>li:before { content: "\0025cb " } ol.lst-kix_ne7nl4nhpzqr-4.start { counter-reset: lst-ctn-kix_ne7nl4nhpzqr-4 0 } ol.lst-kix_xv318blpjdo-2 { list-style-type: none } ol.lst-kix_xv318blpjdo-3 { list-style-type: none } .lst-kix_q8ok0mh9yyto-6>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-6 } ul.lst-kix_5anu1k9tsyak-7 { list-style-type: none } .lst-kix_jj5w63toozfm-6>li { counter-increment: lst-ctn-kix_jj5w63toozfm-6 } ul.lst-kix_5anu1k9tsyak-8 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-5 { list-style-type: none } ol.lst-kix_yly1729bcywk-5.start { counter-reset: lst-ctn-kix_yly1729bcywk-5 0 } .lst-kix_11a9ub9xa97v-2>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-2 } ol.lst-kix_1wulu3ra2vwv-0 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-6 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-1 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-3 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-4 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-1 { list-style-type: none } .lst-kix_xv318blpjdo-3>li { counter-increment: lst-ctn-kix_xv318blpjdo-3 } ul.lst-kix_5anu1k9tsyak-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-6 { list-style-type: none } ul.lst-kix_5anu1k9tsyak-0 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-7 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-8 { list-style-type: none } .lst-kix_7tib3jrzu2u9-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-8 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-3 { list-style-type: none } .lst-kix_7tib3jrzu2u9-7>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-4 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-5 { list-style-type: none } .lst-kix_vf0l197cqv6l-4>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-4 } ol.lst-kix_1wulu3ra2vwv-5.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-5 0 } ol.lst-kix_11a9ub9xa97v-7.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-7 0 } ol.lst-kix_q8ok0mh9yyto-2.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-2 0 } .lst-kix_11a9ub9xa97v-6>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-6 } .lst-kix_5anu1k9tsyak-7>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-6>li:before { content: "\0025cf " } ol.lst-kix_xv318blpjdo-2.start { counter-reset: lst-ctn-kix_xv318blpjdo-2 0 } .lst-kix_1wulu3ra2vwv-4>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-4 } .lst-kix_q8ok0mh9yyto-2>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-2 } ol.lst-kix_jj5w63toozfm-4.start { counter-reset: lst-ctn-kix_jj5w63toozfm-4 0 } .lst-kix_vf0l197cqv6l-0>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-0 } ol.lst-kix_yly1729bcywk-0.start { counter-reset: lst-ctn-kix_yly1729bcywk-0 0 } .lst-kix_6qnkx7t1adn9-2>li:before { content: "\0025a0 " } .lst-kix_qeqyxe7gm97l-6>li:before { content: "\0025cf " } .lst-kix_qeqyxe7gm97l-4>li:before { content: "\0025cb " } .lst-kix_j42a5dwgnqyq-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-1>li:before { content: "\0025cb " } .lst-kix_qeqyxe7gm97l-3>li:before { content: "\0025cf " } .lst-kix_j42a5dwgnqyq-4>li:before { content: "\0025cb " } ol.lst-kix_1wulu3ra2vwv-0.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-0 0 } ol.lst-kix_q8ok0mh9yyto-7.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-7 0 } .lst-kix_j42a5dwgnqyq-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-2>li { counter-increment: lst-ctn-kix_jj5w63toozfm-2 } ol.lst-kix_1wulu3ra2vwv-3.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-3 0 } ol.lst-kix_q8ok0mh9yyto-0.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-0 0 } .lst-kix_6qnkx7t1adn9-5>li:before { content: "\0025a0 " } .lst-kix_6qnkx7t1adn9-7>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-3.start { counter-reset: lst-ctn-kix_yly1729bcywk-3 0 } .lst-kix_iv2x96orjh4l-7>li:before { content: "\0025cb " } .lst-kix_pcjo479wrta-3>li:before { content: "\0025cf " } .lst-kix_yly1729bcywk-6>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-6, decimal) ". " } .lst-kix_ndaonzmgp8vn-6>li:before { content: "\0025cf " } .lst-kix_5anu1k9tsyak-1>li:before { content: "\0025cb " } .lst-kix_ndaonzmgp8vn-8>li:before { content: "\0025a0 " } .lst-kix_pcjo479wrta-1>li:before { content: "\0025cb " } .lst-kix_iv2x96orjh4l-1>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-4>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-4, lower-latin) ". " } .lst-kix_bfzyeb917dp8-8>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-8 } .lst-kix_ne7nl4nhpzqr-1>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-1 } .lst-kix_opi66v2qdsjs-4>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-1>li:before { content: "\0025cb " } .lst-kix_fd1rucpc9vz2-3>li:before { content: "\0025cf " } .lst-kix_opi66v2qdsjs-6>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-4.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-4 0 } .lst-kix_xoos54gyybzj-4>li:before { content: "\0025cb " } .lst-kix_bfzyeb917dp8-1>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-1 } .lst-kix_ndaonzmgp8vn-0>li:before { content: "\0025cf " } ol.lst-kix_jj5w63toozfm-6.start { counter-reset: lst-ctn-kix_jj5w63toozfm-6 0 } .lst-kix_xoos54gyybzj-2>li:before { content: "\0025a0 " } ul.lst-kix_b7256qmdgo85-6 { list-style-type: none } ul.lst-kix_b7256qmdgo85-7 { list-style-type: none } .lst-kix_1wulu3ra2vwv-3>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-3 } ul.lst-kix_b7256qmdgo85-8 { list-style-type: none } ul.lst-kix_b7256qmdgo85-2 { list-style-type: none } ul.lst-kix_b7256qmdgo85-3 { list-style-type: none } .lst-kix_11a9ub9xa97v-4>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-4, decimal) ") " } ul.lst-kix_b7256qmdgo85-4 { list-style-type: none } ul.lst-kix_b7256qmdgo85-5 { list-style-type: none } .lst-kix_f5kb4hocu5hh-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-2>li:before { content: "" counter(lst-ctn-kix_11a9ub9xa97v-2, decimal) ". " } .lst-kix_9jxnjym0nges-4>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-4>li:before { content: "\0025cb " } ul.lst-kix_b7256qmdgo85-0 { list-style-type: none } ul.lst-kix_b7256qmdgo85-1 { list-style-type: none } .lst-kix_9jxnjym0nges-6>li:before { content: "\0025cf " } .lst-kix_86hsx13ssqid-2>li:before { content: "\0025a0 " } .lst-kix_bfzyeb917dp8-5>li { counter-increment: lst-ctn-kix_bfzyeb917dp8-5 } .lst-kix_h0kibz3smj6t-6>li:before { content: "\0025cf " } .lst-kix_11a9ub9xa97v-3>li { counter-increment: lst-ctn-kix_11a9ub9xa97v-3 } ol.lst-kix_11a9ub9xa97v-5.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-5 0 } ul.lst-kix_x1epm4iu41dp-0 { list-style-type: none } .lst-kix_f5kb4hocu5hh-4>li:before { content: "\0025cb " } ol.lst-kix_xv318blpjdo-0.start { counter-reset: lst-ctn-kix_xv318blpjdo-0 0 } .lst-kix_jkgkf1u9sy0c-0>li:before { content: "\0025cf " } .lst-kix_f5kb4hocu5hh-7>li:before { content: "\0025cb " } ul.lst-kix_x1epm4iu41dp-6 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-5 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-8 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-3>li:before { content: "\0025cf " } ul.lst-kix_x1epm4iu41dp-7 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-2 { list-style-type: none } .lst-kix_xv318blpjdo-0>li { counter-increment: lst-ctn-kix_xv318blpjdo-0 } ol.lst-kix_jj5w63toozfm-8.start { counter-reset: lst-ctn-kix_jj5w63toozfm-8 0 } ul.lst-kix_x1epm4iu41dp-1 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-4 { list-style-type: none } ul.lst-kix_x1epm4iu41dp-3 { list-style-type: none } ol.lst-kix_1wulu3ra2vwv-2.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-2 0 } .lst-kix_686a8e4qhxwx-6>li:before { content: "\0025cf " } .lst-kix_s3mi7ukxwiwf-5>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-5 } .lst-kix_h0kibz3smj6t-1>li:before { content: "\0025cb " } .lst-kix_xv318blpjdo-6>li:before { content: "(" counter(lst-ctn-kix_xv318blpjdo-6, lower-roman) ") " } ul.lst-kix_86hsx13ssqid-3 { list-style-type: none } ul.lst-kix_86hsx13ssqid-2 { list-style-type: none } .lst-kix_xv318blpjdo-3>li:before { content: "" counter(lst-ctn-kix_xv318blpjdo-3, lower-latin) ") " } ul.lst-kix_86hsx13ssqid-5 { list-style-type: none } ul.lst-kix_86hsx13ssqid-4 { list-style-type: none } .lst-kix_686a8e4qhxwx-1>li:before { content: "\0025cb " } ol.lst-kix_yly1729bcywk-2.start { counter-reset: lst-ctn-kix_yly1729bcywk-2 0 } ul.lst-kix_86hsx13ssqid-1 { list-style-type: none } .lst-kix_jkgkf1u9sy0c-8>li:before { content: "\0025a0 " } ul.lst-kix_86hsx13ssqid-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-0 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-1 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-2 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-3 { list-style-type: none } .lst-kix_b7256qmdgo85-1>li:before { content: "\0025cb " } ul.lst-kix_86hsx13ssqid-7 { list-style-type: none } ul.lst-kix_h9mjmxara98n-0 { list-style-type: none } ul.lst-kix_86hsx13ssqid-6 { list-style-type: none } ul.lst-kix_86hsx13ssqid-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-3 { list-style-type: none } .lst-kix_4m04az9jmmj8-8>li:before { content: "\0025a0 " } ul.lst-kix_fy6y7gyjejoh-8 { list-style-type: none } ul.lst-kix_h9mjmxara98n-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-1 { list-style-type: none } ul.lst-kix_h9mjmxara98n-2 { list-style-type: none } ul.lst-kix_h9mjmxara98n-7 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-4 { list-style-type: none } ul.lst-kix_h9mjmxara98n-8 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-5 { list-style-type: none } ul.lst-kix_h9mjmxara98n-5 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-6 { list-style-type: none } ul.lst-kix_h9mjmxara98n-6 { list-style-type: none } ul.lst-kix_fy6y7gyjejoh-7 { list-style-type: none } .lst-kix_b7256qmdgo85-6>li:before { content: "\0025cf " } ol.lst-kix_yly1729bcywk-1.start { counter-reset: lst-ctn-kix_yly1729bcywk-1 0 } ol.lst-kix_1wulu3ra2vwv-1.start { counter-reset: lst-ctn-kix_1wulu3ra2vwv-1 0 } .lst-kix_ne7nl4nhpzqr-8>li { counter-increment: lst-ctn-kix_ne7nl4nhpzqr-8 } .lst-kix_q97rvvc7c69e-0>li:before { content: "\0025cf " } .lst-kix_q8ok0mh9yyto-1>li:before { content: "" counter(lst-ctn-kix_q8ok0mh9yyto-1, upper-latin) ". " } .lst-kix_4m04az9jmmj8-0>li:before { content: "\0025cf " } ol.lst-kix_11a9ub9xa97v-6.start { counter-reset: lst-ctn-kix_11a9ub9xa97v-6 0 } .lst-kix_q8ok0mh9yyto-4>li:before { content: "(" counter(lst-ctn-kix_q8ok0mh9yyto-4, decimal) ") " } .lst-kix_emhp84jkv42c-0>li { counter-increment: lst-ctn-kix_emhp84jkv42c-0 } .lst-kix_q8ok0mh9yyto-5>li { counter-increment: lst-ctn-kix_q8ok0mh9yyto-5 } ul.lst-kix_lemcawe54w5c-7 { list-style-type: none } ul.lst-kix_lemcawe54w5c-8 { list-style-type: none } .lst-kix_ne7nl4nhpzqr-6>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-6, decimal) ". " } ul.lst-kix_lemcawe54w5c-5 { list-style-type: none } ul.lst-kix_lemcawe54w5c-6 { list-style-type: none } ul.lst-kix_lemcawe54w5c-3 { list-style-type: none } ul.lst-kix_lemcawe54w5c-4 { list-style-type: none } ul.lst-kix_lemcawe54w5c-1 { list-style-type: none } ul.lst-kix_lemcawe54w5c-2 { list-style-type: none } .lst-kix_s3mi7ukxwiwf-1>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-1 } ul.lst-kix_lemcawe54w5c-0 { list-style-type: none } .lst-kix_4m04az9jmmj8-3>li:before { content: "\0025cf " } ul.lst-kix_f5kb4hocu5hh-4 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-3 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-6 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-5 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-8 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-7 { list-style-type: none } .lst-kix_xv318blpjdo-7>li { counter-increment: lst-ctn-kix_xv318blpjdo-7 } ol.lst-kix_xv318blpjdo-7.start { counter-reset: lst-ctn-kix_xv318blpjdo-7 0 } .lst-kix_gfromclascha-1>li:before { content: "\0025cb " } .lst-kix_86hsx13ssqid-7>li:before { content: "\0025cb " } .lst-kix_yly1729bcywk-0>li { counter-increment: lst-ctn-kix_yly1729bcywk-0 } .lst-kix_ne7nl4nhpzqr-3>li:before { content: "" counter(lst-ctn-kix_ne7nl4nhpzqr-3, decimal) ". " } ol.lst-kix_q8ok0mh9yyto-3.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-3 0 } .lst-kix_1wulu3ra2vwv-7>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-7 } ul.lst-kix_f5kb4hocu5hh-0 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-2 { list-style-type: none } ul.lst-kix_f5kb4hocu5hh-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-0 { list-style-type: none } .lst-kix_fy6y7gyjejoh-0>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-1 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-2 { list-style-type: none } .lst-kix_yly1729bcywk-1>li:before { content: "" counter(lst-ctn-kix_yly1729bcywk-1, lower-latin) ". " } ul.lst-kix_fd1rucpc9vz2-3 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-6.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-6 0 } ul.lst-kix_fd1rucpc9vz2-8 { list-style-type: none } .lst-kix_pcjo479wrta-6>li:before { content: "\0025cf " } .lst-kix_bfzyeb917dp8-6>li:before { content: "(" counter(lst-ctn-kix_bfzyeb917dp8-6, lower-roman) ") " } .lst-kix_6ril5iwt0fcl-3>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-4 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-5 { list-style-type: none } ul.lst-kix_fd1rucpc9vz2-6 { list-style-type: none } .lst-kix_fd1rucpc9vz2-6>li:before { content: "\0025cf " } ul.lst-kix_fd1rucpc9vz2-7 { list-style-type: none } .lst-kix_5anu1k9tsyak-4>li:before { content: "\0025cb " } .lst-kix_vf0l197cqv6l-7>li { counter-increment: lst-ctn-kix_vf0l197cqv6l-7 } .lst-kix_s3mi7ukxwiwf-8>li { counter-increment: lst-ctn-kix_s3mi7ukxwiwf-8 } .lst-kix_iv2x96orjh4l-4>li:before { content: "\0025cb " } .lst-kix_s3mi7ukxwiwf-6>li:before { content: "" counter(lst-ctn-kix_s3mi7ukxwiwf-6, decimal) ". " } .lst-kix_fy6y7gyjejoh-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-4.start { counter-reset: lst-ctn-kix_xv318blpjdo-4 0 } .lst-kix_x1epm4iu41dp-1>li:before { content: "\0025cb " } .lst-kix_q97rvvc7c69e-8>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-5.start { counter-reset: lst-ctn-kix_xv318blpjdo-5 0 } ul.lst-kix_8p26nc4xx5n8-0 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-1 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-2 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-3 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-4 { list-style-type: none } .lst-kix_emhp84jkv42c-0>li:before { content: "" counter(lst-ctn-kix_emhp84jkv42c-0, upper-roman) ". " } .lst-kix_emhp84jkv42c-8>li:before { content: "(" counter(lst-ctn-kix_emhp84jkv42c-8, lower-roman) ") " } .lst-kix_9jxnjym0nges-1>li:before { content: "\0025cb " } .lst-kix_xoos54gyybzj-7>li:before { content: "\0025cb " } ol.lst-kix_q8ok0mh9yyto-5.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-5 0 } .lst-kix_ndaonzmgp8vn-3>li:before { content: "\0025cf " } .lst-kix_jj5w63toozfm-8>li:before { content: "" counter(lst-ctn-kix_jj5w63toozfm-8, lower-roman) ". " } .lst-kix_u0uqs69v9qbh-1>li:before { content: "\0025cb " } .lst-kix_opi66v2qdsjs-1>li:before { content: "\0025cb " } .lst-kix_lemcawe54w5c-1>li:before { content: "\0025cb " } .lst-kix_11a9ub9xa97v-7>li:before { content: "(" counter(lst-ctn-kix_11a9ub9xa97v-7, lower-latin) ") " } .lst-kix_8p26nc4xx5n8-5>li:before { content: "\0025a0 " } ol.lst-kix_xv318blpjdo-6.start { counter-reset: lst-ctn-kix_xv318blpjdo-6 0 } .lst-kix_l7z426mwssm0-7>li:before { content: "\0025cb " } .lst-kix_1wulu3ra2vwv-0>li { counter-increment: lst-ctn-kix_1wulu3ra2vwv-0 } .lst-kix_gyhqddkw9i05-5>li:before { content: "\0025a0 " } .lst-kix_hchtl271h88l-2>li:before { content: "\0025a0 " } ul.lst-kix_6qnkx7t1adn9-8 { list-style-type: none } ol.lst-kix_q8ok0mh9yyto-4.start { counter-reset: lst-ctn-kix_q8ok0mh9yyto-4 0 } ul.lst-kix_6qnkx7t1adn9-7 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-5 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-6 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-6 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-5 { list-style-type: none } .lst-kix_sholqrhc62dh-3>li:before { content: "\0025cf " } ul.lst-kix_8p26nc4xx5n8-7 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-4 { list-style-type: none } ul.lst-kix_8p26nc4xx5n8-8 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-3 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-2 { list-style-type: none } ul.lst-kix_6qnkx7t1adn9-1 { list-style-type: none } .lst-kix_1wulu3ra2vwv-1>li:before { content: "" counter(lst-ctn-kix_1wulu3ra2vwv-1, upper-latin) ". " } ul.lst-kix_6qnkx7t1adn9-0 { list-style-type: none } ol { margin: 0; padding: 0 } table td, table th { padding: 0 } .c4 { color: #ff5e0e; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 18pt; font-family: "PT Sans Narrow"; font-style: normal } .c7 { color: #38761d; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 16pt; font-family: "PT Sans Narrow"; font-style: normal } .c14 { color: #695d46; font-weight: 700; text-decoration: none; vertical-align: baseline; font-size: 42pt; font-family: "PT Sans Narrow"; font-style: normal } .c0 { color: #695d46; font-weight: 400; text-decoration: none; vertical-align: baseline; font-size: 11pt; font-family: "Open Sans"; font-style: normal } .c1 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; orphans: 2; widows: 2; text-align: left } .c8 { padding-top: 18pt; padding-bottom: 6pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c11 { padding-top: 24pt; padding-bottom: 0pt; line-height: 1.3; page-break-after: avoid; text-align: left } .c17 { padding-top: 6pt; padding-bottom: 0pt; line-height: 1.2; page-break-after: avoid; text-align: left } .c19 { text-decoration: none; vertical-align: baseline; font-size: 12pt; font-style: normal } .c9 { padding-top: 16pt; padding-bottom: 0pt; line-height: 1.0; text-align: left } .c18 { padding-top: 0pt; padding-bottom: 0pt; line-height: 1.2; text-align: left } .c10 { font-size: 18pt; font-family: "PT Sans Narrow"; color: #ff5e0e; font-weight: 700 } .c13 { font-family: "Open Sans"; color: #695d46; font-weight: 400 } .c12 { background-color: #ffffff; max-width: 468pt; padding: 72pt 72pt 72pt 72pt } .c5 { padding: 0; margin: 0 } .c15 { color: inherit; text-decoration: inherit } .c16 { color: #1155cc; text-decoration: underline } .c3 { padding-left: 0pt } .c6 { margin-left: 72pt } .c2 { margin-left: 36pt } .title { padding-top: 0pt; color: #695d46; font-size: 26pt; padding-bottom: 3pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } .subtitle { padding-top: 0pt; color: #666666; font-size: 15pt; padding-bottom: 16pt; font-family: "Arial"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } li { color: #695d46; font-size: 11pt; font-family: "Open Sans" } p { margin: 0; color: #695d46; font-size: 11pt; font-family: "Open Sans" } h1 { padding-top: 24pt; color: #ff5e0e; font-weight: 700; font-size: 18pt; padding-bottom: 0pt; font-family: "PT Sans Narrow"; line-height: 1.3; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h2 { padding-top: 18pt; color: #38761d; font-size: 16pt; padding-bottom: 6pt; font-family: "PT Sans Narrow"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h3 { padding-top: 16pt; color: #434343; font-size: 14pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h4 { padding-top: 14pt; color: #666666; font-size: 12pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h5 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; orphans: 2; widows: 2; text-align: left } h6 { padding-top: 12pt; color: #666666; font-size: 11pt; padding-bottom: 4pt; font-family: "Open Sans"; line-height: 1.2; page-break-after: avoid; font-style: italic; orphans: 2; widows: 2; text-align: left }  

Oracle Fusion Middleware Deployments Using Docker Swarm Part III

Overview

This is the third in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).  Using docker also helps us to avoid port conflicts when running multiple servers on the same physical machine.  When we use swarm we will see that we also get benefits from a built in load balancer.

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In our previous blog we talked about how to build the required docker images for running FMW on Docker Swarm and created a database container.

In this entry we will explain how to create an FMW domain image and how to run that in a docker container.  The next blog will cover how to run this in Docker Swarm.

Key Steps in Creating a Service Bus Cluster

When creating a service bus cluster we need to do the following:

  1. Create the required schemas in a database.
  • Service Bus 12.1 adds a number of new features such as re-sequencing that require the use of SOA Suite schemas.  These are in addition to the database requirements for Web Services Security Manager that existed in Service Bus 11g.
  • The Repository Creation Utility is used to create the schemas in a database.
  1. Create service bus domain.
  • The service bus domain contains all the required service bus binaries and associated configuration.  Within the domain we will create a service bus cluster.
  • The domain can be created using the WebLogic scripting tool by applying the service bus domain template.
  1. Create a Service Bus cluster within the domain.
  • The service bus cluster allows us to have multiple service bus servers running the same proxy services and sharing the load.
  • The cluster can be created and servers assigned using the WebLogic scripting tool.

These steps need to be factored into the way we build our docker images and containers and ultimately into how we create Docker Swarm services.

Mapping the Service Bus Cluster onto Docker

There are a number of ways in which we could map a Service Bus cluster onto Docker.  We have chosen the following approach:

  • Create a Docker image that contains the Service Bus domain configuration.
  • This is layered on top of the OSB installation image.  This allows us to modify and rebuild the scripts without having to reinstall the FMW software.  This speeds up the development cycle of the image.  Once the scripts are working they could be placed in the FMW binary image, reducing the number of layers.
  • When creating a container from the image we run the RCU to create the schemas in the database.  We also run scripts to create the domain and add servers to the domain as needed.
  • The same Docker image is used for both Admin and Managed Servers.
  • Depending on parameters the container decides if it is an admin server or a member of a cluster.
  • All servers need access to the database.
  • All servers need access to the Admin server.
  • The admin server requires access to all servers.
Container Summary

We effectively have two images, which are both built from multiple layers as explained previously.

  1. Database image holds the binaries for database and scripts to create a database instance.
  2. Fusion Middleware image holds the FMW binaries and scripts to create a domain, or extend an existing domain.

We have a single Docker Container to run the database from the database image.

We have multiple Docker Containers, one per managed server, to run Fusion Middleware from the single domain image.

To simplify starting the containers the git project includes run scripts (run.sh for database and runNode.sh for FMW) that can be used to create containers.

Database Container

The database container runs from the database image and has the following characteristics:

  • When the container is created it creates and starts a database instance.
  • After starting the database we change the database password.
  • When the container is stopped it shuts down the database instance.
  • When the container is started it starts the database instance.
  • The database container exposes the database port (1521 in this case)
  • Only a single container runs a given database.

The database container is started using the following command:

docker run -d -it --name Oracle12cDB --hostname osbdb -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCL -e ORACLE_PDB=OSB -v /opt/oracle/oradata/OracleDB oracle/database:12.1.0.2-ee

We expose ports 1521 (database) and 5500 (em).

Admin Server Container

The admin server container runs from the FMW domain image, or just the FMW image if the layers have been collapsed.  It has the following characteristics:

  • When the container is created it runs the RCU to configure the database.
  • When the container is created it creates an FMW domain and cluster.
  • When the container is created it starts the Admin Server.
  • When the container is stopped its stops the Admin Server.
  • When the container is started it starts the Admin Server.
  • The Admin Server exposes the admin console port (7001 in this case)
  • Only a single Admin Server container runs in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the admin server using the following command

runNode.sh admin

This translates to

docker run -d -it \

        -e "MS_NAME=AdminServer" \

        -e "MACHINE_NAME=AdminServerMachine" \

        --name wlsadmin \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 7001:7001 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

We need to add the hostnames of the managed servers and the database to the /etc/hosts file so that the admin server can access them.  We will show how to avoid doing this in the final blog post.

Managed Server Containers

The managed server containers runs from the same FMW domain image as the Admin Server.  It has the following characteristics:

  • When the container is created it creates a new server in the domain and adds it to the FMW cluster
  • When the container is created it creates a local copy of the domain files.
  • When the container is created it starts the Managed Server.
  • When the container is stopped its stops the Managed Server.
  • When the container is started it starts the Managed Server.
  • The Managed Server exposes the admin console port (8011 in this case)
  • Multiple Managed Server containers may run in a given domain.
  • The same image is used for both Admin and Managed Servers.

We start the managed servers using the following command

runNode.sh N

Where N is the number of the managed server.

When N=2 this  translates to

docker run -d -it \

        -e "MS_NAME=osb_server2" \

        -e "MACHINE_NAME=OsbServer2Machine" \

        --name wls2 \

        --add-host osbdb:172.17.0.2 \

        --add-host wlsadmin:172.17.0.3 \

        --add-host wls1:172.17.0.4 \

        --add-host wls2:172.17.0.5 \

        --add-host wls3:172.17.0.6 \

        --add-host wls4:172.17.0.7 \

        --hostname wlsadmin \

        -p 8013:8011 \

        oracle/osb_domain:12.2.1.2 \

        /u01/oracle/container-scripts/createAndStartOSBDomain.sh

Note that all the managed servers listen on port 8011.  Because they each run in their own container their is no conflict in their port numbers but we need to map them so that they can be accessed externally without conflicts. Special Notes for Service Bus

The first managed server in a Service Bus cluster is special because it runs singleton tasks related to reporting, collecting performance information from other nodes in the cluster and aggregating it and making it available to the console.  Because of this we decided to always create a Service Bus domain with a pre-existing single Managed Server in the cluster with the correct singleton targeting.

Because this server already exists if a container detects it is supposed to run Managed Server 1 then it does not create the server or associate it with a cluster, it justs assigns it to a machine (see next section for details) and creates the local managed server domain.

Containers and FMW Mapping

Each container maps to a single WebLogic server, either Admin Server or a Managed Server in a cluster.

The Admin Server container is responsible for running the repository configuration utility, creating the domain and configuring it for that particular FMW product (in our case Service Bus).

The Managed Server containers are responsible for adding a new Managed Server to the cluster and creating a local managed server domain.

Both Admin and Managed Server containers need to figure out key facts about themselves:

  • Hostname - used to set the listen address for the server and also the address of the machine
  • Type - admin or managed server to decide what to do on creation
  • Server identifier - managed servers need to make sure they have unique server names.
  • Associated Admin Server - managed servers must contact the admin server to obtain and update domain configuration.
  • Database Server - admin servers must know about the database to be able to run the RCU and create data sources required by the FMW product.
Starting the FMW Cluster

The FMW cluster is started as follows:

  1. A database container is created/started
  2. An admin server is created/started
  3. One or more managed servers are created/started

Containers are created using the “docker run” command.  We use the “-d” flag to run them as daemon processes.  By default the CMD directive in the dockerfile is used choose the command or script to run on container startup.  We use this for the database container.  For the admin and managed containers we identify which type of container they are and pass in an appropriate script to the “docker run” command.

Containers are started using the “docker start” command and the container uses the same command or script as when it was created.  That means we must detect if this is a new container or a container being started after previously being shutdown.  With the FMW containers we do this by looking for the existence of the domain directory, if it exists we have previously been started, if not this must be our first run.

Tools such as docker compose and docker compose simplify the task of deploying our multiple container FMW cluster and we will look at these in the next blog entry.  One of the benefits we will find with swarm is that it includes a load balancer.  The current multi-container approach would require either another container to run a load balancer or an external load balancer, we will see that swarm removes this need.

Retrieving Docker Files for OSB Cluster

We are posting all the required files to go along with this blog on github.  You are welcome to fork from this and improve it.  We cloned many of these files from the official Oracle docker github.  We removed unused versions and added a simplified build.sh file to each product directory to make it easy to see how we actually built our environment.  We are still updating the files online and will shortly add details on building the swarm services.

Summary

In this entry we have explained how to create a Fusion Middleware Domain and run it on docker containers.  In our next entry we will simplify the deploymentof of our cluster by taking advatage of swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part II Building Docker Images)

Fri, 2017-01-20 20:02

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import url('https://themes.googleusercontent.com/fonts/css?kit=cGvuclDC_Z1vE_cnVEU6AQ3B2cQio22zuQYmMduN3_mWtMd0Jq3ZhX9v3IQGKB3u249SeSIUngoluNcHmRb61Bz1ZjgTUtEb3dCu921NmgQ');.lst-kix_sholqrhc62dh-7>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-8>li:before{content:"\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-3.start{counter-reset:lst-ctn-kix_xv318blpjdo-3 0}.lst-kix_sholqrhc62dh-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-0>li:before{content:"\0025cf "}.lst-kix_emhp84jkv42c-3>li{counter-increment:lst-ctn-kix_emhp84jkv42c-3}.lst-kix_ekmayt81kvbz-0>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-4>li{counter-increment:lst-ctn-kix_jj5w63toozfm-4}.lst-kix_ekmayt81kvbz-2>li:before{content:"\0025a0 "}ul.lst-kix_qeqyxe7gm97l-6{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-5{list-style-type:none}.lst-kix_ekmayt81kvbz-1>li:before{content:"\0025cb "}ul.lst-kix_qeqyxe7gm97l-4{list-style-type:none}.lst-kix_ekmayt81kvbz-3>li:before{content:"\0025cf "}ul.lst-kix_qeqyxe7gm97l-3{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-2{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-1{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-0{list-style-type:none}ol.lst-kix_11a9ub9xa97v-8.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-8 0}.lst-kix_ekmayt81kvbz-5>li:before{content:"\0025a0 "}.lst-kix_ekmayt81kvbz-7>li:before{content:"\0025cb "}ul.lst-kix_4m04az9jmmj8-3{list-style-type:none}ul.lst-kix_4m04az9jmmj8-2{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-8{list-style-type:none}ul.lst-kix_4m04az9jmmj8-1{list-style-type:none}.lst-kix_ekmayt81kvbz-4>li:before{content:"\0025cb "}.lst-kix_ekmayt81kvbz-8>li:before{content:"\0025a0 "}ul.lst-kix_qeqyxe7gm97l-7{list-style-type:none}ul.lst-kix_4m04az9jmmj8-0{list-style-type:none}ul.lst-kix_4m04az9jmmj8-7{list-style-type:none}ul.lst-kix_4m04az9jmmj8-6{list-style-type:none}ul.lst-kix_4m04az9jmmj8-5{list-style-type:none}ul.lst-kix_4m04az9jmmj8-4{list-style-type:none}.lst-kix_ekmayt81kvbz-6>li:before{content:"\0025cf "}ul.lst-kix_4m04az9jmmj8-8{list-style-type:none}.lst-kix_s3mi7ukxwiwf-2>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-2}.lst-kix_11a9ub9xa97v-0>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-0}ol.lst-kix_emhp84jkv42c-4.start{counter-reset:lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start{counter-reset:lst-ctn-kix_xv318blpjdo-8 0}ul.lst-kix_6ril5iwt0fcl-5{list-style-type:none}.lst-kix_q8ok0mh9yyto-8>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-8}ul.lst-kix_6ril5iwt0fcl-4{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-3{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-2{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-8{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-7{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-6{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-8.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-8 0}ul.lst-kix_6ril5iwt0fcl-1{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-0{list-style-type:none}.lst-kix_xv318blpjdo-1>li{counter-increment:lst-ctn-kix_xv318blpjdo-1}.lst-kix_bfzyeb917dp8-6>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-6}.lst-kix_s3mi7ukxwiwf-1>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-1,lower-latin) ". "}.lst-kix_gfromclascha-0>li:before{content:"\0025cf "}.lst-kix_gfromclascha-2>li:before{content:"\0025a0 "}.lst-kix_gfromclascha-4>li:before{content:"\0025cb "}ol.lst-kix_bfzyeb917dp8-7.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-7 0}.lst-kix_6ril5iwt0fcl-0>li:before{content:"\0025cf "}.lst-kix_gfromclascha-6>li:before{content:"\0025cf "}.lst-kix_q97rvvc7c69e-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-8.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_6ril5iwt0fcl-2>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-3>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-7>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-7,lower-latin) ". "}.lst-kix_6ril5iwt0fcl-4>li:before{content:"\0025cb "}.lst-kix_6ril5iwt0fcl-6>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-8>li{counter-increment:lst-ctn-kix_xv318blpjdo-8}.lst-kix_s3mi7ukxwiwf-5>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-5,lower-roman) ". "}.lst-kix_6ril5iwt0fcl-8>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-3,decimal) ". "}ol.lst-kix_jj5w63toozfm-7.start{counter-reset:lst-ctn-kix_jj5w63toozfm-7 0}.lst-kix_1wulu3ra2vwv-4>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-4,decimal) ") "}.lst-kix_1wulu3ra2vwv-6>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-6,lower-roman) ") "}.lst-kix_1wulu3ra2vwv-8>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-8,lower-roman) ") "}.lst-kix_gfromclascha-8>li:before{content:"\0025a0 "}.lst-kix_sholqrhc62dh-2>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-0{list-style-type:none}.lst-kix_sholqrhc62dh-4>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-2,decimal) ". "}.lst-kix_1wulu3ra2vwv-0>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-0,upper-roman) ". "}ol.lst-kix_11a9ub9xa97v-3.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-3 0}.lst-kix_emhp84jkv42c-2>li{counter-increment:lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-4 0}ul.lst-kix_h0kibz3smj6t-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-7.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_jkgkf1u9sy0c-2>li:before{content:"\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before{content:"\0025cb "}ul.lst-kix_iv2x96orjh4l-2{list-style-type:none}ul.lst-kix_iv2x96orjh4l-3{list-style-type:none}ul.lst-kix_iv2x96orjh4l-0{list-style-type:none}.lst-kix_jj5w63toozfm-3>li{counter-increment:lst-ctn-kix_jj5w63toozfm-3}ul.lst-kix_iv2x96orjh4l-1{list-style-type:none}ul.lst-kix_iv2x96orjh4l-6{list-style-type:none}ul.lst-kix_iv2x96orjh4l-7{list-style-type:none}ul.lst-kix_iv2x96orjh4l-4{list-style-type:none}ul.lst-kix_iv2x96orjh4l-5{list-style-type:none}ul.lst-kix_h0kibz3smj6t-3{list-style-type:none}ul.lst-kix_h0kibz3smj6t-2{list-style-type:none}ul.lst-kix_h0kibz3smj6t-1{list-style-type:none}.lst-kix_jkgkf1u9sy0c-5>li:before{content:"\0025a0 "}ul.lst-kix_h0kibz3smj6t-0{list-style-type:none}ol.lst-kix_jj5w63toozfm-2.start{counter-reset:lst-ctn-kix_jj5w63toozfm-2 0}ul.lst-kix_h0kibz3smj6t-7{list-style-type:none}ul.lst-kix_h0kibz3smj6t-6{list-style-type:none}ul.lst-kix_h0kibz3smj6t-5{list-style-type:none}.lst-kix_jkgkf1u9sy0c-6>li:before{content:"\0025cf "}ul.lst-kix_h0kibz3smj6t-4{list-style-type:none}.lst-kix_emhp84jkv42c-4>li{counter-increment:lst-ctn-kix_emhp84jkv42c-4}ul.lst-kix_iv2x96orjh4l-8{list-style-type:none}ol.lst-kix_bfzyeb917dp8-3.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-3 0}.lst-kix_b7256qmdgo85-3>li:before{content:"\0025cf "}.lst-kix_b7256qmdgo85-4>li:before{content:"\0025cb "}.lst-kix_b7256qmdgo85-7>li:before{content:"\0025cb "}ol.lst-kix_jj5w63toozfm-3.start{counter-reset:lst-ctn-kix_jj5w63toozfm-3 0}.lst-kix_q97rvvc7c69e-2>li:before{content:"\0025a0 "}.lst-kix_b7256qmdgo85-8>li:before{content:"\0025a0 "}ol.lst-kix_bfzyeb917dp8-2.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-2 0}ol.lst-kix_1wulu3ra2vwv-6.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-6 0}.lst-kix_jj5w63toozfm-5>li{counter-increment:lst-ctn-kix_jj5w63toozfm-5}.lst-kix_s3mi7ukxwiwf-0>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-0,decimal) ". "}ul.lst-kix_q97rvvc7c69e-4{list-style-type:none}ul.lst-kix_q97rvvc7c69e-3{list-style-type:none}ul.lst-kix_q97rvvc7c69e-6{list-style-type:none}.lst-kix_s3mi7ukxwiwf-8>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-8,lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5{list-style-type:none}ul.lst-kix_q97rvvc7c69e-8{list-style-type:none}ul.lst-kix_q97rvvc7c69e-7{list-style-type:none}.lst-kix_gfromclascha-3>li:before{content:"\0025cf "}ul.lst-kix_q97rvvc7c69e-0{list-style-type:none}ul.lst-kix_q97rvvc7c69e-2{list-style-type:none}ul.lst-kix_q97rvvc7c69e-1{list-style-type:none}.lst-kix_q97rvvc7c69e-6>li:before{content:"\0025cf "}.lst-kix_6ril5iwt0fcl-1>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-6>li:before{content:"\0025cf "}ol.lst-kix_s3mi7ukxwiwf-3.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_6ril5iwt0fcl-5>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-2>li:before{content:"\0025a0 "}.lst-kix_q8ok0mh9yyto-1>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-1}.lst-kix_s3mi7ukxwiwf-4>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-4,lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before{content:"\0025a0 "}.lst-kix_b7256qmdgo85-0>li:before{content:"\0025cf "}.lst-kix_1wulu3ra2vwv-3>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-3,lower-latin) ") "}.lst-kix_11a9ub9xa97v-7>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-7}.lst-kix_1wulu3ra2vwv-7>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-7,lower-latin) ") "}.lst-kix_1wulu3ra2vwv-6>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-5>li:before{content:"\0025a0 "}.lst-kix_86hsx13ssqid-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-5>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before{content:"\0025cf "}.lst-kix_7tib3jrzu2u9-5>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-2>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before{content:"\0025cf "}ul.lst-kix_ndaonzmgp8vn-4{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-3{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-6{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-5{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-0{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-2{list-style-type:none}.lst-kix_bfzyeb917dp8-4>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-4}ul.lst-kix_ndaonzmgp8vn-1{list-style-type:none}.lst-kix_7tib3jrzu2u9-8>li:before{content:"\0025a0 "}ul.lst-kix_sholqrhc62dh-6{list-style-type:none}ul.lst-kix_sholqrhc62dh-5{list-style-type:none}ul.lst-kix_sholqrhc62dh-4{list-style-type:none}ul.lst-kix_sholqrhc62dh-3{list-style-type:none}ul.lst-kix_sholqrhc62dh-8{list-style-type:none}ul.lst-kix_sholqrhc62dh-7{list-style-type:none}ul.lst-kix_sholqrhc62dh-2{list-style-type:none}ol.lst-kix_bfzyeb917dp8-6.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-6 0}ul.lst-kix_sholqrhc62dh-1{list-style-type:none}ul.lst-kix_sholqrhc62dh-0{list-style-type:none}.lst-kix_emhp84jkv42c-1>li{counter-increment:lst-ctn-kix_emhp84jkv42c-1}ul.lst-kix_ndaonzmgp8vn-8{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-7{list-style-type:none}.lst-kix_j42a5dwgnqyq-8>li:before{content:"\0025a0 "}.lst-kix_5anu1k9tsyak-6>li:before{content:"\0025cf "}ol.lst-kix_bfzyeb917dp8-1.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-1 0}.lst-kix_j42a5dwgnqyq-7>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-7>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-8>li:before{content:"\0025a0 "}.lst-kix_5anu1k9tsyak-8>li:before{content:"\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-2 0}ul.lst-kix_686a8e4qhxwx-4{list-style-type:none}ul.lst-kix_686a8e4qhxwx-3{list-style-type:none}ul.lst-kix_686a8e4qhxwx-2{list-style-type:none}ul.lst-kix_686a8e4qhxwx-1{list-style-type:none}ul.lst-kix_686a8e4qhxwx-8{list-style-type:none}ul.lst-kix_686a8e4qhxwx-7{list-style-type:none}ul.lst-kix_686a8e4qhxwx-6{list-style-type:none}.lst-kix_6qnkx7t1adn9-0>li:before{content:"\0025cf "}.lst-kix_qeqyxe7gm97l-0>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-5{list-style-type:none}.lst-kix_6qnkx7t1adn9-1>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-0{list-style-type:none}.lst-kix_bfzyeb917dp8-0>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-0}.lst-kix_qeqyxe7gm97l-5>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-5>li:before{content:"\0025a0 "}ol.lst-kix_emhp84jkv42c-3.start{counter-reset:lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_qeqyxe7gm97l-2>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-8>li{counter-increment:lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_s3mi7ukxwiwf-0.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-0>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-0}.lst-kix_fd1rucpc9vz2-5>li:before{content:"\0025a0 "}.lst-kix_fd1rucpc9vz2-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-5>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-3>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-3>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before{content:"\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-8}ol.lst-kix_q8ok0mh9yyto-6{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-5{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-3{list-style-type:none}.lst-kix_9jxnjym0nges-0>li:before{content:"\0025cf "}ol.lst-kix_q8ok0mh9yyto-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-7{list-style-type:none}ol.lst-kix_emhp84jkv42c-0.start{counter-reset:lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before{content:"\0025a0 "}.lst-kix_ndaonzmgp8vn-4>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-2{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-1{list-style-type:none}.lst-kix_9jxnjym0nges-2>li:before{content:"\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0{list-style-type:none}.lst-kix_ndaonzmgp8vn-2>li:before{content:"\0025a0 "}.lst-kix_opi66v2qdsjs-2>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-0>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-0,upper-roman) ". "}ol.lst-kix_bfzyeb917dp8-4.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-4 0}.lst-kix_q8ok0mh9yyto-3>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_11a9ub9xa97v-8>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-8,lower-roman) ") "}.lst-kix_86hsx13ssqid-0>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-6>li:before{content:"\0025cf "}.lst-kix_9jxnjym0nges-8>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-6>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-6,lower-roman) ") "}ul.lst-kix_9jxnjym0nges-2{list-style-type:none}.lst-kix_xv318blpjdo-2>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-2,decimal) ". "}ul.lst-kix_9jxnjym0nges-1{list-style-type:none}ul.lst-kix_9jxnjym0nges-4{list-style-type:none}ul.lst-kix_9jxnjym0nges-3{list-style-type:none}.lst-kix_h0kibz3smj6t-5>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-6{list-style-type:none}ul.lst-kix_9jxnjym0nges-5{list-style-type:none}ul.lst-kix_9jxnjym0nges-8{list-style-type:none}ul.lst-kix_9jxnjym0nges-7{list-style-type:none}.lst-kix_xv318blpjdo-2>li{counter-increment:lst-ctn-kix_xv318blpjdo-2}.lst-kix_s3mi7ukxwiwf-3>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-3}.lst-kix_bfzyeb917dp8-7>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-7}ol.lst-kix_emhp84jkv42c-1.start{counter-reset:lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before{content:"\0025cb "}ol.lst-kix_jj5w63toozfm-3{list-style-type:none}ol.lst-kix_jj5w63toozfm-4{list-style-type:none}ol.lst-kix_jj5w63toozfm-5{list-style-type:none}.lst-kix_jkgkf1u9sy0c-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-7>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-7,lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before{content:"\0025a0 "}ol.lst-kix_jj5w63toozfm-6{list-style-type:none}ol.lst-kix_jj5w63toozfm-7{list-style-type:none}ol.lst-kix_jj5w63toozfm-8{list-style-type:none}.lst-kix_h0kibz3smj6t-2>li:before{content:"\0025a0 "}.lst-kix_q8ok0mh9yyto-7>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-7}ol.lst-kix_jj5w63toozfm-0{list-style-type:none}ol.lst-kix_jj5w63toozfm-1{list-style-type:none}.lst-kix_686a8e4qhxwx-2>li:before{content:"\0025a0 "}ol.lst-kix_jj5w63toozfm-2{list-style-type:none}ol.lst-kix_11a9ub9xa97v-3{list-style-type:none}ol.lst-kix_bfzyeb917dp8-8.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-8 0}ol.lst-kix_11a9ub9xa97v-2{list-style-type:none}ol.lst-kix_11a9ub9xa97v-1{list-style-type:none}ol.lst-kix_11a9ub9xa97v-0{list-style-type:none}.lst-kix_b7256qmdgo85-2>li:before{content:"\0025a0 "}ol.lst-kix_11a9ub9xa97v-8{list-style-type:none}ol.lst-kix_11a9ub9xa97v-7{list-style-type:none}ol.lst-kix_11a9ub9xa97v-6{list-style-type:none}ol.lst-kix_11a9ub9xa97v-5{list-style-type:none}.lst-kix_4m04az9jmmj8-7>li:before{content:"\0025cb "}ol.lst-kix_11a9ub9xa97v-4{list-style-type:none}.lst-kix_b7256qmdgo85-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-1>li:before{content:"\0025cb "}.lst-kix_q8ok0mh9yyto-5>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-5,lower-latin) ") "}.lst-kix_4m04az9jmmj8-4>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-3>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-3}.lst-kix_q8ok0mh9yyto-8>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-8,lower-roman) ") "}ol.lst-kix_bfzyeb917dp8-5{list-style-type:none}ol.lst-kix_bfzyeb917dp8-4{list-style-type:none}ol.lst-kix_bfzyeb917dp8-3{list-style-type:none}ol.lst-kix_bfzyeb917dp8-2{list-style-type:none}ol.lst-kix_bfzyeb917dp8-8{list-style-type:none}ol.lst-kix_bfzyeb917dp8-7{list-style-type:none}ol.lst-kix_bfzyeb917dp8-6{list-style-type:none}ol.lst-kix_bfzyeb917dp8-1{list-style-type:none}ol.lst-kix_bfzyeb917dp8-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-5.start{counter-reset:lst-ctn-kix_emhp84jkv42c-5 0}.lst-kix_q8ok0mh9yyto-0>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-0}.lst-kix_iv2x96orjh4l-8>li:before{content:"\0025a0 "}.lst-kix_6qnkx7t1adn9-6>li:before{content:"\0025cf "}.lst-kix_gfromclascha-5>li:before{content:"\0025a0 "}ol.lst-kix_emhp84jkv42c-8.start{counter-reset:lst-ctn-kix_emhp84jkv42c-8 0}.lst-kix_11a9ub9xa97v-8>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-8}.lst-kix_x1epm4iu41dp-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-4>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-5>li{counter-increment:lst-ctn-kix_xv318blpjdo-5}.lst-kix_1wulu3ra2vwv-5>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before{content:"\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-0>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-2>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-2,lower-roman) ". "}.lst-kix_6ril5iwt0fcl-7>li:before{content:"\0025cb "}.lst-kix_emhp84jkv42c-4>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-4,decimal) ") "}.lst-kix_emhp84jkv42c-5>li{counter-increment:lst-ctn-kix_emhp84jkv42c-5}.lst-kix_jj5w63toozfm-4>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-4,lower-latin) ". "}.lst-kix_1wulu3ra2vwv-5>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-5,lower-latin) ") "}ul.lst-kix_u0uqs69v9qbh-8{list-style-type:none}.lst-kix_11a9ub9xa97v-1>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-1}ul.lst-kix_u0uqs69v9qbh-4{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-5{list-style-type:none}.lst-kix_opi66v2qdsjs-5>li:before{content:"\0025a0 "}ul.lst-kix_u0uqs69v9qbh-6{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-7{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-0{list-style-type:none}ul.lst-kix_gyhqddkw9i05-6{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-1{list-style-type:none}ul.lst-kix_gyhqddkw9i05-5{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-2{list-style-type:none}ul.lst-kix_gyhqddkw9i05-8{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-3{list-style-type:none}ul.lst-kix_gyhqddkw9i05-7{list-style-type:none}ol.lst-kix_emhp84jkv42c-7.start{counter-reset:lst-ctn-kix_emhp84jkv42c-7 0}.lst-kix_fd1rucpc9vz2-2>li:before{content:"\0025a0 "}ul.lst-kix_jkgkf1u9sy0c-4{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-5{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-6{list-style-type:none}ul.lst-kix_gyhqddkw9i05-0{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-7{list-style-type:none}.lst-kix_bfzyeb917dp8-2>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-2,decimal) ". "}.lst-kix_gyhqddkw9i05-1>li:before{content:"\0025cb "}ul.lst-kix_jkgkf1u9sy0c-8{list-style-type:none}ul.lst-kix_gyhqddkw9i05-2{list-style-type:none}ul.lst-kix_gyhqddkw9i05-1{list-style-type:none}ul.lst-kix_gyhqddkw9i05-4{list-style-type:none}ul.lst-kix_gyhqddkw9i05-3{list-style-type:none}.lst-kix_11a9ub9xa97v-3>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-3,lower-latin) ") "}ol.lst-kix_emhp84jkv42c-6.start{counter-reset:lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_8p26nc4xx5n8-1>li:before{content:"\0025cb "}.lst-kix_u0uqs69v9qbh-5>li:before{content:"\0025a0 "}.lst-kix_9jxnjym0nges-5>li:before{content:"\0025a0 "}.lst-kix_86hsx13ssqid-3>li:before{content:"\0025cf "}ul.lst-kix_jkgkf1u9sy0c-0{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-1{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-2{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-3{list-style-type:none}ol.lst-kix_jj5w63toozfm-5.start{counter-reset:lst-ctn-kix_jj5w63toozfm-5 0}ul.lst-kix_bijol4nzhwf0-8{list-style-type:none}ol.lst-kix_emhp84jkv42c-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-2{list-style-type:none}ol.lst-kix_emhp84jkv42c-1{list-style-type:none}ol.lst-kix_emhp84jkv42c-4{list-style-type:none}ol.lst-kix_emhp84jkv42c-3{list-style-type:none}ol.lst-kix_emhp84jkv42c-6{list-style-type:none}ol.lst-kix_emhp84jkv42c-5{list-style-type:none}ol.lst-kix_emhp84jkv42c-8{list-style-type:none}ol.lst-kix_emhp84jkv42c-7{list-style-type:none}.lst-kix_11a9ub9xa97v-4>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-4}.lst-kix_1qz6dmm9b14l-4>li:before{content:"\0025cb "}.lst-kix_1qz6dmm9b14l-3>li:before{content:"\0025cf "}.lst-kix_1qz6dmm9b14l-5>li:before{content:"\0025a0 "}ul.lst-kix_j42a5dwgnqyq-0{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-1{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-2{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-3{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-4{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-5{list-style-type:none}.lst-kix_1qz6dmm9b14l-0>li:before{content:"\0025cf "}.lst-kix_1qz6dmm9b14l-8>li:before{content:"\0025a0 "}ul.lst-kix_j42a5dwgnqyq-6{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-7{list-style-type:none}.lst-kix_1qz6dmm9b14l-1>li:before{content:"\0025cb "}ol.lst-kix_bfzyeb917dp8-0.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-0 0}ul.lst-kix_j42a5dwgnqyq-8{list-style-type:none}.lst-kix_1qz6dmm9b14l-2>li:before{content:"\0025a0 "}ul.lst-kix_bijol4nzhwf0-4{list-style-type:none}ul.lst-kix_bijol4nzhwf0-5{list-style-type:none}ul.lst-kix_bijol4nzhwf0-6{list-style-type:none}ul.lst-kix_bijol4nzhwf0-7{list-style-type:none}ul.lst-kix_bijol4nzhwf0-0{list-style-type:none}ul.lst-kix_bijol4nzhwf0-1{list-style-type:none}ul.lst-kix_bijol4nzhwf0-2{list-style-type:none}ul.lst-kix_bijol4nzhwf0-3{list-style-type:none}.lst-kix_jj5w63toozfm-3>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-3,decimal) ". "}.lst-kix_1wulu3ra2vwv-2>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_1qz6dmm9b14l-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-2>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-2,lower-roman) ". "}.lst-kix_q8ok0mh9yyto-4>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_1qz6dmm9b14l-6>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-1>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-1,lower-latin) ". "}.lst-kix_h9mjmxara98n-7>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-0>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-0,decimal) ". "}.lst-kix_h9mjmxara98n-6>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-8>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-6>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-5>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-3>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-3>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-2>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-4>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-2>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-1.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-1.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_h9mjmxara98n-0>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-0>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-1>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-1>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-8>li{counter-increment:lst-ctn-kix_jj5w63toozfm-8}ul.lst-kix_gfromclascha-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-2.start{counter-reset:lst-ctn-kix_emhp84jkv42c-2 0}ul.lst-kix_gfromclascha-7{list-style-type:none}ul.lst-kix_gfromclascha-8{list-style-type:none}ul.lst-kix_gfromclascha-5{list-style-type:none}ul.lst-kix_gfromclascha-6{list-style-type:none}.lst-kix_x1epm4iu41dp-8>li:before{content:"\0025a0 "}ul.lst-kix_gfromclascha-3{list-style-type:none}ul.lst-kix_gfromclascha-4{list-style-type:none}ul.lst-kix_gfromclascha-1{list-style-type:none}.lst-kix_bfzyeb917dp8-3>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-3,lower-latin) ") "}ul.lst-kix_gfromclascha-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-3{list-style-type:none}.lst-kix_x1epm4iu41dp-2>li:before{content:"\0025a0 "}ol.lst-kix_11a9ub9xa97v-1.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-1 0}ul.lst-kix_opi66v2qdsjs-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-1{list-style-type:none}ul.lst-kix_opi66v2qdsjs-0{list-style-type:none}.lst-kix_q8ok0mh9yyto-0>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-0,upper-roman) ". "}.lst-kix_fy6y7gyjejoh-3>li:before{content:"\0025cf "}.lst-kix_bfzyeb917dp8-5>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-5,lower-latin) ") "}.lst-kix_jj5w63toozfm-0>li{counter-increment:lst-ctn-kix_jj5w63toozfm-0}.lst-kix_x1epm4iu41dp-6>li:before{content:"\0025cf "}ul.lst-kix_opi66v2qdsjs-8{list-style-type:none}ul.lst-kix_opi66v2qdsjs-7{list-style-type:none}.lst-kix_x1epm4iu41dp-4>li:before{content:"\0025cb "}ul.lst-kix_opi66v2qdsjs-6{list-style-type:none}ul.lst-kix_opi66v2qdsjs-5{list-style-type:none}.lst-kix_fy6y7gyjejoh-1>li:before{content:"\0025cb "}ul.lst-kix_opi66v2qdsjs-4{list-style-type:none}.lst-kix_bfzyeb917dp8-7>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-7,lower-latin) ") "}.lst-kix_emhp84jkv42c-7>li{counter-increment:lst-ctn-kix_emhp84jkv42c-7}.lst-kix_fy6y7gyjejoh-7>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-1.start{counter-reset:lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_x1epm4iu41dp-0>li:before{content:"\0025cf "}.lst-kix_fy6y7gyjejoh-5>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-3>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-3,lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-5,lower-latin) ") "}.lst-kix_emhp84jkv42c-1>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-1,upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-7,lower-latin) ") "}.lst-kix_jj5w63toozfm-5>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-5,lower-roman) ". "}.lst-kix_bfzyeb917dp8-2>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-2}ul.lst-kix_1qz6dmm9b14l-6{list-style-type:none}.lst-kix_gyhqddkw9i05-8>li:before{content:"\0025a0 "}.lst-kix_jj5w63toozfm-7>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-7,lower-latin) ". "}ul.lst-kix_1qz6dmm9b14l-5{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-8{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-7{list-style-type:none}.lst-kix_jj5w63toozfm-1>li{counter-increment:lst-ctn-kix_jj5w63toozfm-1}ul.lst-kix_1qz6dmm9b14l-2{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-1{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-4{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-3{list-style-type:none}.lst-kix_u0uqs69v9qbh-0>li:before{content:"\0025cf "}.lst-kix_u0uqs69v9qbh-4>li:before{content:"\0025cb "}ul.lst-kix_1qz6dmm9b14l-0{list-style-type:none}.lst-kix_s3mi7ukxwiwf-6>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_jj5w63toozfm-7>li{counter-increment:lst-ctn-kix_jj5w63toozfm-7}.lst-kix_u0uqs69v9qbh-2>li:before{content:"\0025a0 "}.lst-kix_8p26nc4xx5n8-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-4.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_u0uqs69v9qbh-8>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-1>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-1,upper-latin) ". "}ul.lst-kix_ekmayt81kvbz-8{list-style-type:none}.lst-kix_gyhqddkw9i05-0>li:before{content:"\0025cf "}ul.lst-kix_ekmayt81kvbz-7{list-style-type:none}.lst-kix_gyhqddkw9i05-4>li:before{content:"\0025cb "}.lst-kix_8p26nc4xx5n8-2>li:before{content:"\0025a0 "}ul.lst-kix_ekmayt81kvbz-6{list-style-type:none}ul.lst-kix_ekmayt81kvbz-5{list-style-type:none}ul.lst-kix_ekmayt81kvbz-4{list-style-type:none}ul.lst-kix_ekmayt81kvbz-3{list-style-type:none}.lst-kix_gyhqddkw9i05-6>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-0>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-8>li:before{content:"\0025a0 "}ul.lst-kix_ekmayt81kvbz-2{list-style-type:none}ul.lst-kix_ekmayt81kvbz-1{list-style-type:none}.lst-kix_u0uqs69v9qbh-6>li:before{content:"\0025cf "}ul.lst-kix_ekmayt81kvbz-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-1{list-style-type:none}ol.lst-kix_bfzyeb917dp8-5.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-5 0}ol.lst-kix_s3mi7ukxwiwf-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-0{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-1{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-6{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-3{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-4{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-6{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-3{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-8{list-style-type:none}.lst-kix_gyhqddkw9i05-2>li:before{content:"\0025a0 "}.lst-kix_8p26nc4xx5n8-4>li:before{content:"\0025cb "}ul.lst-kix_7tib3jrzu2u9-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-8{list-style-type:none}.lst-kix_xv318blpjdo-1>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-1,upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-0,upper-roman) ". "}.lst-kix_h0kibz3smj6t-4>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-1>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_h0kibz3smj6t-7>li:before{content:"\0025cb "}.lst-kix_h0kibz3smj6t-8>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-5>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-5}.lst-kix_opi66v2qdsjs-0>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-8>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-8,lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-5,lower-latin) ") "}.lst-kix_h0kibz3smj6t-3>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-3>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-4>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-4,decimal) ") "}.lst-kix_h0kibz3smj6t-0>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-0.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-0 0}.lst-kix_s3mi7ukxwiwf-7>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-7}.lst-kix_q8ok0mh9yyto-3>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-3,lower-latin) ") "}.lst-kix_686a8e4qhxwx-8>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-6>li{counter-increment:lst-ctn-kix_emhp84jkv42c-6}.lst-kix_q8ok0mh9yyto-2>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-2,decimal) ". "}.lst-kix_q8ok0mh9yyto-6>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-6,lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before{content:"\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-7,lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before{content:"\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-4>li{counter-increment:lst-ctn-kix_xv318blpjdo-4}.lst-kix_x1epm4iu41dp-7>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-4>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-6>li{counter-increment:lst-ctn-kix_xv318blpjdo-6}ol.lst-kix_jj5w63toozfm-1.start{counter-reset:lst-ctn-kix_jj5w63toozfm-1 0}.lst-kix_bfzyeb917dp8-4>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-4,decimal) ") "}.lst-kix_x1epm4iu41dp-3>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-8>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-8>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-8,lower-roman) ") "}.lst-kix_fy6y7gyjejoh-2>li:before{content:"\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-8.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-8 0}ol.lst-kix_s3mi7ukxwiwf-6.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-6 0}ol.lst-kix_jj5w63toozfm-0.start{counter-reset:lst-ctn-kix_jj5w63toozfm-0 0}.lst-kix_emhp84jkv42c-2>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-2,decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-6,lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before{content:"\0025cf "}.lst-kix_ndaonzmgp8vn-5>li:before{content:"\0025a0 "}.lst-kix_9jxnjym0nges-3>li:before{content:"\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-1>li:before{content:"\0025cb "}.lst-kix_gyhqddkw9i05-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-6>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-6,decimal) ". "}.lst-kix_u0uqs69v9qbh-3>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-0>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-4>li:before{content:"\0025cb "}ol.lst-kix_s3mi7ukxwiwf-5.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-3>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-7>li:before{content:"\0025cb "}.lst-kix_u0uqs69v9qbh-7>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-0>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-0,upper-roman) ". "}.lst-kix_11a9ub9xa97v-1>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-1,upper-latin) ". "}.lst-kix_gyhqddkw9i05-3>li:before{content:"\0025cf "}.lst-kix_9jxnjym0nges-7>li:before{content:"\0025cb "}.lst-kix_11a9ub9xa97v-5>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-5,lower-latin) ") "}ol.lst-kix_11a9ub9xa97v-2.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-2 0}.lst-kix_s3mi7ukxwiwf-4>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5{list-style-type:none}ol.lst-kix_xv318blpjdo-6{list-style-type:none}ol.lst-kix_xv318blpjdo-7{list-style-type:none}ol.lst-kix_xv318blpjdo-0{list-style-type:none}ol.lst-kix_xv318blpjdo-1{list-style-type:none}.lst-kix_7tib3jrzu2u9-1>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-2{list-style-type:none}ol.lst-kix_xv318blpjdo-3{list-style-type:none}.lst-kix_q8ok0mh9yyto-6>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-6}ul.lst-kix_5anu1k9tsyak-7{list-style-type:none}.lst-kix_jj5w63toozfm-6>li{counter-increment:lst-ctn-kix_jj5w63toozfm-6}ul.lst-kix_5anu1k9tsyak-8{list-style-type:none}ul.lst-kix_5anu1k9tsyak-5{list-style-type:none}.lst-kix_11a9ub9xa97v-2>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-2}ol.lst-kix_1wulu3ra2vwv-0{list-style-type:none}ul.lst-kix_5anu1k9tsyak-6{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-1{list-style-type:none}ul.lst-kix_5anu1k9tsyak-3{list-style-type:none}ul.lst-kix_5anu1k9tsyak-4{list-style-type:none}ul.lst-kix_5anu1k9tsyak-1{list-style-type:none}.lst-kix_xv318blpjdo-3>li{counter-increment:lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-6{list-style-type:none}ul.lst-kix_5anu1k9tsyak-0{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-7{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-8{list-style-type:none}.lst-kix_7tib3jrzu2u9-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-2{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-3{list-style-type:none}.lst-kix_7tib3jrzu2u9-7>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-4{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-5{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-5.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-5 0}ol.lst-kix_11a9ub9xa97v-7.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-7 0}ol.lst-kix_q8ok0mh9yyto-2.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_11a9ub9xa97v-6>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-6}.lst-kix_5anu1k9tsyak-7>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-2.start{counter-reset:lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_q8ok0mh9yyto-2>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-2}ol.lst-kix_jj5w63toozfm-4.start{counter-reset:lst-ctn-kix_jj5w63toozfm-4 0}.lst-kix_6qnkx7t1adn9-2>li:before{content:"\0025a0 "}.lst-kix_qeqyxe7gm97l-6>li:before{content:"\0025cf "}.lst-kix_qeqyxe7gm97l-4>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-1>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-1>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-3>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-4>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-7 0}.lst-kix_j42a5dwgnqyq-3>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-2>li{counter-increment:lst-ctn-kix_jj5w63toozfm-2}ol.lst-kix_1wulu3ra2vwv-3.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before{content:"\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-7>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-6>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-1>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-8>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-1>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-8>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-8}.lst-kix_opi66v2qdsjs-4>li:before{content:"\0025cb "}.lst-kix_fd1rucpc9vz2-1>li:before{content:"\0025cb "}.lst-kix_fd1rucpc9vz2-3>li:before{content:"\0025cf "}.lst-kix_opi66v2qdsjs-6>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-4.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-4 0}.lst-kix_bfzyeb917dp8-1>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-1}.lst-kix_ndaonzmgp8vn-0>li:before{content:"\0025cf "}ol.lst-kix_jj5w63toozfm-6.start{counter-reset:lst-ctn-kix_jj5w63toozfm-6 0}ul.lst-kix_b7256qmdgo85-6{list-style-type:none}ul.lst-kix_b7256qmdgo85-7{list-style-type:none}.lst-kix_1wulu3ra2vwv-3>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-3}ul.lst-kix_b7256qmdgo85-8{list-style-type:none}ul.lst-kix_b7256qmdgo85-2{list-style-type:none}ul.lst-kix_b7256qmdgo85-3{list-style-type:none}.lst-kix_11a9ub9xa97v-4>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-4,decimal) ") "}ul.lst-kix_b7256qmdgo85-4{list-style-type:none}ul.lst-kix_b7256qmdgo85-5{list-style-type:none}.lst-kix_11a9ub9xa97v-2>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-2,decimal) ". "}.lst-kix_9jxnjym0nges-4>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-4>li:before{content:"\0025cb "}ul.lst-kix_b7256qmdgo85-0{list-style-type:none}ul.lst-kix_b7256qmdgo85-1{list-style-type:none}.lst-kix_9jxnjym0nges-6>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-2>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-5>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-5}.lst-kix_h0kibz3smj6t-6>li:before{content:"\0025cf "}.lst-kix_11a9ub9xa97v-3>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-3}ol.lst-kix_11a9ub9xa97v-5.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-5 0}ul.lst-kix_x1epm4iu41dp-0{list-style-type:none}ol.lst-kix_xv318blpjdo-0.start{counter-reset:lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before{content:"\0025cf "}ul.lst-kix_x1epm4iu41dp-6{list-style-type:none}ul.lst-kix_x1epm4iu41dp-5{list-style-type:none}ul.lst-kix_x1epm4iu41dp-8{list-style-type:none}.lst-kix_jkgkf1u9sy0c-3>li:before{content:"\0025cf "}ul.lst-kix_x1epm4iu41dp-7{list-style-type:none}ul.lst-kix_x1epm4iu41dp-2{list-style-type:none}.lst-kix_xv318blpjdo-0>li{counter-increment:lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_jj5w63toozfm-8.start{counter-reset:lst-ctn-kix_jj5w63toozfm-8 0}ul.lst-kix_x1epm4iu41dp-1{list-style-type:none}ul.lst-kix_x1epm4iu41dp-4{list-style-type:none}ul.lst-kix_x1epm4iu41dp-3{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-2.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_h0kibz3smj6t-1>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-6>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-6,lower-roman) ") "}ul.lst-kix_86hsx13ssqid-3{list-style-type:none}ul.lst-kix_86hsx13ssqid-2{list-style-type:none}.lst-kix_xv318blpjdo-3>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-3,lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5{list-style-type:none}ul.lst-kix_86hsx13ssqid-4{list-style-type:none}.lst-kix_686a8e4qhxwx-1>li:before{content:"\0025cb "}ul.lst-kix_86hsx13ssqid-1{list-style-type:none}.lst-kix_jkgkf1u9sy0c-8>li:before{content:"\0025a0 "}ul.lst-kix_86hsx13ssqid-0{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-0{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-1{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-2{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-3{list-style-type:none}.lst-kix_b7256qmdgo85-1>li:before{content:"\0025cb "}ul.lst-kix_86hsx13ssqid-7{list-style-type:none}ul.lst-kix_h9mjmxara98n-0{list-style-type:none}ul.lst-kix_86hsx13ssqid-6{list-style-type:none}ul.lst-kix_86hsx13ssqid-8{list-style-type:none}ul.lst-kix_h9mjmxara98n-3{list-style-type:none}.lst-kix_4m04az9jmmj8-8>li:before{content:"\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8{list-style-type:none}ul.lst-kix_h9mjmxara98n-4{list-style-type:none}ul.lst-kix_h9mjmxara98n-1{list-style-type:none}ul.lst-kix_h9mjmxara98n-2{list-style-type:none}ul.lst-kix_h9mjmxara98n-7{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-4{list-style-type:none}ul.lst-kix_h9mjmxara98n-8{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-5{list-style-type:none}ul.lst-kix_h9mjmxara98n-5{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-6{list-style-type:none}ul.lst-kix_h9mjmxara98n-6{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-7{list-style-type:none}.lst-kix_b7256qmdgo85-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-1.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_q97rvvc7c69e-0>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-1,upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-6.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-6 0}.lst-kix_q8ok0mh9yyto-4>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-4,decimal) ") "}.lst-kix_emhp84jkv42c-0>li{counter-increment:lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-5}.lst-kix_s3mi7ukxwiwf-1>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-1}.lst-kix_4m04az9jmmj8-3>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-7>li{counter-increment:lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_xv318blpjdo-7.start{counter-reset:lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-7>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-3.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-7}ul.lst-kix_fd1rucpc9vz2-0{list-style-type:none}.lst-kix_fy6y7gyjejoh-0>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-1{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-2{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-3{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-6.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-6 0}ul.lst-kix_fd1rucpc9vz2-8{list-style-type:none}.lst-kix_bfzyeb917dp8-6>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-6,lower-roman) ") "}.lst-kix_6ril5iwt0fcl-3>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-4{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-5{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-6{list-style-type:none}.lst-kix_fd1rucpc9vz2-6>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-7{list-style-type:none}.lst-kix_5anu1k9tsyak-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-8>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_iv2x96orjh4l-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-6>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-6,decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-4.start{counter-reset:lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_x1epm4iu41dp-1>li:before{content:"\0025cb "}.lst-kix_q97rvvc7c69e-8>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-5.start{counter-reset:lst-ctn-kix_xv318blpjdo-5 0}ul.lst-kix_8p26nc4xx5n8-0{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-1{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-2{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-3{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-4{list-style-type:none}.lst-kix_emhp84jkv42c-0>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-0,upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-8,lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_ndaonzmgp8vn-3>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-8>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-8,lower-roman) ". "}.lst-kix_u0uqs69v9qbh-1>li:before{content:"\0025cb "}.lst-kix_opi66v2qdsjs-1>li:before{content:"\0025cb "}.lst-kix_11a9ub9xa97v-7>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-7,lower-latin) ") "}.lst-kix_8p26nc4xx5n8-5>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-6.start{counter-reset:lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_1wulu3ra2vwv-0>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-0}.lst-kix_gyhqddkw9i05-5>li:before{content:"\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-5{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-6{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-6{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-5{list-style-type:none}.lst-kix_sholqrhc62dh-3>li:before{content:"\0025cf "}ul.lst-kix_8p26nc4xx5n8-7{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-4{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-8{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-3{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-2{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-1{list-style-type:none}.lst-kix_1wulu3ra2vwv-1>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-1,upper-latin) ". "}ul.lst-kix_6qnkx7t1adn9-0{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.c30{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c17{color:#666666;font-weight:400;text-decoration:underline;vertical-align:baseline;font-family:"Trebuchet MS";font-style:normal}.c2{padding-top:6pt;padding-bottom:0pt;line-height:1.2;orphans:2;widows:2;text-align:left}.c9{padding-top:24pt;padding-bottom:0pt;line-height:1.3;page-break-after:avoid;text-align:left}.c15{padding-top:8pt;padding-bottom:0pt;line-height:1.2;page-break-after:avoid;text-align:left}.c0{padding-top:0pt;padding-bottom:0pt;line-height:1.2;text-align:left}.c13{color:#008575;font-weight:400;font-size:16pt;font-family:"PT Sans Narrow"}.c3{font-size:9pt;font-family:"Consolas";color:#666600;font-weight:400}.c10{padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c1{font-size:9pt;font-family:"Consolas";color:#000000;font-weight:400}.c8{font-size:9pt;font-family:"Consolas";color:#006666;font-weight:400}.c31{color:#695d46;font-weight:700;font-size:42pt;font-family:"PT Sans Narrow"}.c20{padding-top:16pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c24{font-family:"Open Sans";color:#1155cc;font-weight:400;text-decoration:underline}.c22{color:#ff5e0e;font-weight:700;font-size:18pt;font-family:"PT Sans Narrow"}.c21{color:#000000;font-weight:700;font-size:9pt;font-family:"Consolas"}.c23{font-size:9pt;font-family:"Consolas";color:#660066;font-weight:400}.c25{font-size:9pt;font-family:"Consolas";color:#880000;font-weight:400}.c19{font-size:9pt;font-family:"Consolas";color:#000088;font-weight:400}.c6{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.c26{color:#000000;font-weight:400;font-family:"Arial"}.c11{font-family:"Open Sans";color:#695d46;font-weight:400}.c5{text-decoration:none;vertical-align:baseline;font-style:normal}.c27{color:#000000;font-weight:400;font-family:"Open Sans"}.c18{color:inherit;text-decoration:inherit}.c32{orphans:2;widows:2}.c28{font-weight:400;font-family:"Open Sans"}.c14{padding:0;margin:0}.c7{margin-left:36pt}.c4{margin-left:72pt}.c12{font-size:11pt}.c33{font-size:12pt}.c29{font-size:8pt}.c16{padding-left:0pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left} 

Oracle Fusion Middleware Deployments Using Docker Swarm Part II

Overview

This is the second in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In our previous blog we talked about the overall requirements for running FMW on Docker Swarm and sketched out our overall approach.

In this entry we will explain the concepts of using Docker base images and create an Oracle database image and an Oracle Service Bus image.  The next blog will cover how to create an OSB domain and how to run this in Docker Swarm.

Notes on Building on Existing Docker Images

Docker allows you to create a new image by basing it on an existing image.  The “FROM” instruction in a dockerfile tells docker the base image that you are using as your foundation.  We will build a number of database base images that can then be reused later.

A docker image is a set of files and configuration.  A docker image runs in a docker container.  So a single image may be running in zero, one or more containers.  Think of the image as the software and configuration, think of the container as the active running image.

The diagram shows the images that we will build and their base images referenced in the FROM instruction.


Docker FMW Image Dependencies

The solid lines indicate the image reference by the FROM command in the dockerfile used to create an image.  The dotted lines represent dependencies on other images.

More details on the images will be given in the next section, but the following bullets explain how they work.  Note that we can store the created images in a company docker registry so that they can be reused.

  • Oracle Linux is an image that we use as our starting point.  This is available from github along with instructions (dockerfiles) to create the other images.
  • Oracle Database image is created by installing the Oracle database binaries into the Oracle Linux image.  This image can be used to create databases with different characteristics, such as different character sets, different service and instance names etc.
  • An Oracle Database Instance is created by running the database configuration assistant in a container created from the Oracle Database image.
  • JDK 8 image is created by installing a JDK 8 into the generic Linux image, this could be reused by any software requiring Java.
  • Fusion Middleware Infrastructure image is created by installing the WebLogic Fusion Middleware Infrastructure into the JDK image.  This provides WebLogic and some additional Oracle infrastructure files that are used by Fusion Middleware.  This image can be reused by any Fusion Middleware product image.
  • Oracle Service Bus image provides us with Service Bus installation on top of the Fusion Middleware Infrastructure image.  This provides a software only installation, no domain is created so the image can be used to create any desired Service Bus domain configuration.
  • Service Bus Domain image is the image where we run the domain configuration utility to create a Service Bus domain.  Prior to running the domain configuration wizard the FMW repository configuration utility is run against the database container created from the Oracle Database Instance image.  Depending on the options chosen this could be pointed to and used by a number of different FMW components.  In our case we will install the SOA schemas. We need to refer to the Oracle Database Container to be able to run the RCU and also to complete the domain creation.  Different run commands are used to start a container to run either the Admin Server or a Managed Server.
Retrieving Docker Files for OSB Cluster

We are posting all the required files to go along with this blog on github.  You are welcome to fork from this and improve it.  We cloned many of these files from the official Oracle docker github.  We removed unused versions and added a simplified build.sh file to each product directory to make it easy to see how we actually built our environment.  We are still updating the files online and will shortly add details on building the service bus cluster.  We made the following additional changes to the standard Oracle files:

  • Java - we used the JDK rather than the JRE.
  • WebLogic - we added a 12.2.1.2 FMW Infrastructure alongside the generic and developer options.  This is available in other versions of the Oracle files but not in the 12.2.1.2 files.
  • OSB and SOA - Added OSB and SOA directories along with their associated files.
Database Creation

Because Oracle Fusion Middleware relies on a database we need to create a database image.  Once we have created the database then we need to create the FMW schemas within it by running the Repository Creation Utility.  The Repository Creation Utility is only available in the FMW installed code, so to create the schemas we also need to install our FMW component, in our case Service Bus.  The steps we will follow to build, create and configure the database are as follows:

  1. Build Oracle Database image using the Oracle provided database dockerfile.
  2. Create an Oracle Database Instance by creating a docker container and using the provided scripts to initialize the container with a database instance.

Detailed instructions to build the database image are provided in the section “Oracle Database Build Steps

We create the database instance in a docker container rather than baking it into an image because we only want to run a single instance of the database container.

FMW Installation

We will use multiple layered images to get to our FMW install image.  Each image is kept separate to make it flexible and reusable.  For example given the WebLogic FMW Infrastructure image we could create separate FMW images for SOA Suite, WebCenter and Business Intelligence for example.

  • We will install JDK 8 to create a JDK 8 image.  This can be used to create any image requiring a JDK 8 installation.  This if built on top of the Oracle Linux 7 image.
  • We build on top of the JDK 8 image to install Fusion Middleware Infrastructure into a WebLogic FMW Infrastructure image.  This can be used as the basis of any FMW images in the future.
  • In our example we install SOA or OSB on top of the WebLogic FMW Infrastructure image as our FMW component.  This does not create a domain.  It just installs the software.

Detailed steps are given in the sections “Weblogic Docker Image Build Steps” and “OSB Docker Image Build steps

General Build Instructions

You can download our dockerfiles by cloning our github onto your build machine.

git clone https://github.com/Shuxuan/OSB-Docker-Swarm.git

This will create a directory OSB-Docker-Swarm.  We will refer to the location of this as <MASTER> in subsequent instructions.

Database Docker Image Build Steps

There is an excellent blog on Creating an Oracle Database Docker image by Gerald Venzi that covers everything.  We have provided a minimal description of the steps here only to be self contained.

  1. Get Oracle Database Binaries

Retrieve the Oracle 12.1.0.2 binaries from OTN http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

  • linuxamd64_12102_database_1of2.zip
  • linuxamd64_12102_database_2of2.zip

  and place them at <MASTER>/OracleDatabase/dockerfiles/12.1.0.2.

  1. Build Oracle Database Docker Image
  • Create a Docker Image for the database using the binaries from the previous step.  This installs the database binaries and saves the result as a docker image.  The build.sh has all the paramters needed by the dockerfile, if you are interested in what they do check out the official Oracle docker database image docs.  Note that if we don’t have the Oracle Linux image then the build process will retrieve it from docker hub.

<MASTER>/OracleDatabase/build.sh

  • Check the image has been built properly by making sure it is listed by the docker images command.

$ docker images

REPOSITORY      TAG         IMAGE ID      CREATED         SIZE

oracle/database 12.1.0.2-ee 8f0f3c5f4170  49 seconds ago  11.24 GB

oraclelinux     latest      27a5201e554e  3 weeks ago     225.1 MB

  1. Create Oracle Database
  • Run a docker container based on the previously built docker image to create the database instance.  The create_db.sh command that we provide will do this.  Again the details of how it works are in the official Oracle docker database image docs.  We also added a -d parameter to run the container in the background.

./create_db.sh

  • Check container logs
    docker logs <container_id>
  • Change DB password by running the set_db_password.sh we provide which sets the database password to be FMWDocker.  You can edit the file to change the password.  We also modified this file to set the password policy to not expire the passwords.

./set_db_password.sh

We now have an Oracle database instance running in a docker container.

Weblogic Docker Image Build Steps
  1. Build JDK 1.8 Docker image based on base image
  • Go to <MASTER>/oraclejdk8 folder
  • Download jdk 8 install binary file, jdk-8uXXX-linux-x64.tar.gz from OTN into oraclejdk8 folder.  Any version that starts jdk-8 should work.
  • Run build.sh

./build.sh

  • Check that image has been created

$ docker images

REPOSITORY       TAG          IMAGE ID      CREATED         SIZE

oracle/database  12.1.0.2-ee  086a4a3541bc  34 minutes ago  11.24 GB

oracle/serverjdk 8            85aebb7b773e  22 hours ago    590.4 MB

oraclelinux      latest       27a5201e554e  3 weeks ago     225.1 MB

This JDK image is then used as a base for future images.

  1. Build Weblogic 12.2.1.2 installation image based on JDK 1.8 image
  • Go to folder <MASTER>/wls12.2.1.2
  • Download fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip from OTN to folder wls12.2.1.2
  • Run build.sh

./build.sh

  • Run docker images to check the image created in the above steps

$ docker images

REPOSITORY        TAG                      IMAGE ID     CREATED              SIZE

oracle/weblogic   12.2.1.2-infrastructure  9eceea30c474 About a minute ago   4.096 GB

oracle/database   12.1.0.2-ee              086a4a3541bc About an hour ago    11.24 GB

oracle/serverjdk  8                        85aebb7b773e 22 hours ago         590.4 MB

oraclelinux       latest                   27a5201e554e 3 weeks ago          225.1 MB

This gives us our FMW infrastructure docker image.

OSB Docker Image Build steps
  • Go to folder <MASTER>/osb
  • Download fmw_12.2.1.2.0_osb.jar from OTN to folder osb.  If unavailable on OTN it is available from e-delivery if you have a Service Bus license.
  • Run build.sh

./build.sh

  • Check docker image built in the above step

$ docker images

REPOSITORY        TAG                     IMAGE ID     CREATED             SIZE

oracle/osb        12.2.1.2                59021dc16e40 5 minutes ago       7.231 GB

oracle/weblogic   12.2.1.2-infrastructure 9eceea30c474 12 minutes ago      4.096 GB

oracle/database   12.1.0.2-ee             086a4a3541bc About an hour ago   11.24 GB

oracle/serverjdk  8                       85aebb7b773e 23 hours ago        590.4 MB

oraclelinux       latest                  27a5201e554e 3 weeks ago         225.1 MB

This gives us our FMW product docker image, in our case service bus.  We also provided SOA Suite dockerfiles in the git repository.

Summary

In this entry we have explained how to install Fusion Middleware and Oracle Database as Docker images, and how to create a Database container.  In our next entry we will use these images to create a cluster in swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part II Building Docker Images)

Fri, 2017-01-20 20:02
@import url('https://themes.googleusercontent.com/fonts/css?kit=cGvuclDC_Z1vE_cnVEU6AQ3B2cQio22zuQYmMduN3_mWtMd0Jq3ZhX9v3IQGKB3u249SeSIUngoluNcHmRb61Bz1ZjgTUtEb3dCu921NmgQ');.lst-kix_sholqrhc62dh-7>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-8>li:before{content:"\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-3.start{counter-reset:lst-ctn-kix_xv318blpjdo-3 0}.lst-kix_sholqrhc62dh-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-0>li:before{content:"\0025cf "}.lst-kix_emhp84jkv42c-3>li{counter-increment:lst-ctn-kix_emhp84jkv42c-3}.lst-kix_ekmayt81kvbz-0>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-4>li{counter-increment:lst-ctn-kix_jj5w63toozfm-4}.lst-kix_ekmayt81kvbz-2>li:before{content:"\0025a0 "}ul.lst-kix_qeqyxe7gm97l-6{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-5{list-style-type:none}.lst-kix_ekmayt81kvbz-1>li:before{content:"\0025cb "}ul.lst-kix_qeqyxe7gm97l-4{list-style-type:none}.lst-kix_ekmayt81kvbz-3>li:before{content:"\0025cf "}ul.lst-kix_qeqyxe7gm97l-3{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-2{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-1{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-0{list-style-type:none}ol.lst-kix_11a9ub9xa97v-8.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-8 0}.lst-kix_ekmayt81kvbz-5>li:before{content:"\0025a0 "}.lst-kix_ekmayt81kvbz-7>li:before{content:"\0025cb "}ul.lst-kix_4m04az9jmmj8-3{list-style-type:none}ul.lst-kix_4m04az9jmmj8-2{list-style-type:none}ul.lst-kix_qeqyxe7gm97l-8{list-style-type:none}ul.lst-kix_4m04az9jmmj8-1{list-style-type:none}.lst-kix_ekmayt81kvbz-4>li:before{content:"\0025cb "}.lst-kix_ekmayt81kvbz-8>li:before{content:"\0025a0 "}ul.lst-kix_qeqyxe7gm97l-7{list-style-type:none}ul.lst-kix_4m04az9jmmj8-0{list-style-type:none}ul.lst-kix_4m04az9jmmj8-7{list-style-type:none}ul.lst-kix_4m04az9jmmj8-6{list-style-type:none}ul.lst-kix_4m04az9jmmj8-5{list-style-type:none}ul.lst-kix_4m04az9jmmj8-4{list-style-type:none}.lst-kix_ekmayt81kvbz-6>li:before{content:"\0025cf "}ul.lst-kix_4m04az9jmmj8-8{list-style-type:none}.lst-kix_s3mi7ukxwiwf-2>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-2}.lst-kix_11a9ub9xa97v-0>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-0}ol.lst-kix_emhp84jkv42c-4.start{counter-reset:lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start{counter-reset:lst-ctn-kix_xv318blpjdo-8 0}ul.lst-kix_6ril5iwt0fcl-5{list-style-type:none}.lst-kix_q8ok0mh9yyto-8>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-8}ul.lst-kix_6ril5iwt0fcl-4{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-3{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-2{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-8{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-7{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-6{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-8.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-8 0}ul.lst-kix_6ril5iwt0fcl-1{list-style-type:none}ul.lst-kix_6ril5iwt0fcl-0{list-style-type:none}.lst-kix_xv318blpjdo-1>li{counter-increment:lst-ctn-kix_xv318blpjdo-1}.lst-kix_bfzyeb917dp8-6>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-6}.lst-kix_s3mi7ukxwiwf-1>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-1,lower-latin) ". "}.lst-kix_gfromclascha-0>li:before{content:"\0025cf "}.lst-kix_gfromclascha-2>li:before{content:"\0025a0 "}.lst-kix_gfromclascha-4>li:before{content:"\0025cb "}ol.lst-kix_bfzyeb917dp8-7.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-7 0}.lst-kix_6ril5iwt0fcl-0>li:before{content:"\0025cf "}.lst-kix_gfromclascha-6>li:before{content:"\0025cf "}.lst-kix_q97rvvc7c69e-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-8.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_6ril5iwt0fcl-2>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-3>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-7>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-7,lower-latin) ". "}.lst-kix_6ril5iwt0fcl-4>li:before{content:"\0025cb "}.lst-kix_6ril5iwt0fcl-6>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-8>li{counter-increment:lst-ctn-kix_xv318blpjdo-8}.lst-kix_s3mi7ukxwiwf-5>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-5,lower-roman) ". "}.lst-kix_6ril5iwt0fcl-8>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-3,decimal) ". "}ol.lst-kix_jj5w63toozfm-7.start{counter-reset:lst-ctn-kix_jj5w63toozfm-7 0}.lst-kix_1wulu3ra2vwv-4>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-4,decimal) ") "}.lst-kix_1wulu3ra2vwv-6>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-6,lower-roman) ") "}.lst-kix_1wulu3ra2vwv-8>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-8,lower-roman) ") "}.lst-kix_gfromclascha-8>li:before{content:"\0025a0 "}.lst-kix_sholqrhc62dh-2>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-0{list-style-type:none}.lst-kix_sholqrhc62dh-4>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-2,decimal) ". "}.lst-kix_1wulu3ra2vwv-0>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-0,upper-roman) ". "}ol.lst-kix_11a9ub9xa97v-3.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-3 0}.lst-kix_emhp84jkv42c-2>li{counter-increment:lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-4 0}ul.lst-kix_h0kibz3smj6t-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-7.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_jkgkf1u9sy0c-2>li:before{content:"\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before{content:"\0025cb "}ul.lst-kix_iv2x96orjh4l-2{list-style-type:none}ul.lst-kix_iv2x96orjh4l-3{list-style-type:none}ul.lst-kix_iv2x96orjh4l-0{list-style-type:none}.lst-kix_jj5w63toozfm-3>li{counter-increment:lst-ctn-kix_jj5w63toozfm-3}ul.lst-kix_iv2x96orjh4l-1{list-style-type:none}ul.lst-kix_iv2x96orjh4l-6{list-style-type:none}ul.lst-kix_iv2x96orjh4l-7{list-style-type:none}ul.lst-kix_iv2x96orjh4l-4{list-style-type:none}ul.lst-kix_iv2x96orjh4l-5{list-style-type:none}ul.lst-kix_h0kibz3smj6t-3{list-style-type:none}ul.lst-kix_h0kibz3smj6t-2{list-style-type:none}ul.lst-kix_h0kibz3smj6t-1{list-style-type:none}.lst-kix_jkgkf1u9sy0c-5>li:before{content:"\0025a0 "}ul.lst-kix_h0kibz3smj6t-0{list-style-type:none}ol.lst-kix_jj5w63toozfm-2.start{counter-reset:lst-ctn-kix_jj5w63toozfm-2 0}ul.lst-kix_h0kibz3smj6t-7{list-style-type:none}ul.lst-kix_h0kibz3smj6t-6{list-style-type:none}ul.lst-kix_h0kibz3smj6t-5{list-style-type:none}.lst-kix_jkgkf1u9sy0c-6>li:before{content:"\0025cf "}ul.lst-kix_h0kibz3smj6t-4{list-style-type:none}.lst-kix_emhp84jkv42c-4>li{counter-increment:lst-ctn-kix_emhp84jkv42c-4}ul.lst-kix_iv2x96orjh4l-8{list-style-type:none}ol.lst-kix_bfzyeb917dp8-3.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-3 0}.lst-kix_b7256qmdgo85-3>li:before{content:"\0025cf "}.lst-kix_b7256qmdgo85-4>li:before{content:"\0025cb "}.lst-kix_b7256qmdgo85-7>li:before{content:"\0025cb "}ol.lst-kix_jj5w63toozfm-3.start{counter-reset:lst-ctn-kix_jj5w63toozfm-3 0}.lst-kix_q97rvvc7c69e-2>li:before{content:"\0025a0 "}.lst-kix_b7256qmdgo85-8>li:before{content:"\0025a0 "}ol.lst-kix_bfzyeb917dp8-2.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-2 0}ol.lst-kix_1wulu3ra2vwv-6.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-6 0}.lst-kix_jj5w63toozfm-5>li{counter-increment:lst-ctn-kix_jj5w63toozfm-5}.lst-kix_s3mi7ukxwiwf-0>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-0,decimal) ". "}ul.lst-kix_q97rvvc7c69e-4{list-style-type:none}ul.lst-kix_q97rvvc7c69e-3{list-style-type:none}ul.lst-kix_q97rvvc7c69e-6{list-style-type:none}.lst-kix_s3mi7ukxwiwf-8>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-8,lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5{list-style-type:none}ul.lst-kix_q97rvvc7c69e-8{list-style-type:none}ul.lst-kix_q97rvvc7c69e-7{list-style-type:none}.lst-kix_gfromclascha-3>li:before{content:"\0025cf "}ul.lst-kix_q97rvvc7c69e-0{list-style-type:none}ul.lst-kix_q97rvvc7c69e-2{list-style-type:none}ul.lst-kix_q97rvvc7c69e-1{list-style-type:none}.lst-kix_q97rvvc7c69e-6>li:before{content:"\0025cf "}.lst-kix_6ril5iwt0fcl-1>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-6>li:before{content:"\0025cf "}ol.lst-kix_s3mi7ukxwiwf-3.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_6ril5iwt0fcl-5>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-2>li:before{content:"\0025a0 "}.lst-kix_q8ok0mh9yyto-1>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-1}.lst-kix_s3mi7ukxwiwf-4>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-4,lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before{content:"\0025a0 "}.lst-kix_b7256qmdgo85-0>li:before{content:"\0025cf "}.lst-kix_1wulu3ra2vwv-3>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-3,lower-latin) ") "}.lst-kix_11a9ub9xa97v-7>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-7}.lst-kix_1wulu3ra2vwv-7>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-7,lower-latin) ") "}.lst-kix_1wulu3ra2vwv-6>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-5>li:before{content:"\0025a0 "}.lst-kix_86hsx13ssqid-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-5>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before{content:"\0025cf "}.lst-kix_7tib3jrzu2u9-5>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-2>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before{content:"\0025cf "}ul.lst-kix_ndaonzmgp8vn-4{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-3{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-6{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-5{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-0{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-2{list-style-type:none}.lst-kix_bfzyeb917dp8-4>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-4}ul.lst-kix_ndaonzmgp8vn-1{list-style-type:none}.lst-kix_7tib3jrzu2u9-8>li:before{content:"\0025a0 "}ul.lst-kix_sholqrhc62dh-6{list-style-type:none}ul.lst-kix_sholqrhc62dh-5{list-style-type:none}ul.lst-kix_sholqrhc62dh-4{list-style-type:none}ul.lst-kix_sholqrhc62dh-3{list-style-type:none}ul.lst-kix_sholqrhc62dh-8{list-style-type:none}ul.lst-kix_sholqrhc62dh-7{list-style-type:none}ul.lst-kix_sholqrhc62dh-2{list-style-type:none}ol.lst-kix_bfzyeb917dp8-6.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-6 0}ul.lst-kix_sholqrhc62dh-1{list-style-type:none}ul.lst-kix_sholqrhc62dh-0{list-style-type:none}.lst-kix_emhp84jkv42c-1>li{counter-increment:lst-ctn-kix_emhp84jkv42c-1}ul.lst-kix_ndaonzmgp8vn-8{list-style-type:none}ul.lst-kix_ndaonzmgp8vn-7{list-style-type:none}.lst-kix_j42a5dwgnqyq-8>li:before{content:"\0025a0 "}.lst-kix_5anu1k9tsyak-6>li:before{content:"\0025cf "}ol.lst-kix_bfzyeb917dp8-1.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-1 0}.lst-kix_j42a5dwgnqyq-7>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-7>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-8>li:before{content:"\0025a0 "}.lst-kix_5anu1k9tsyak-8>li:before{content:"\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-2 0}ul.lst-kix_686a8e4qhxwx-4{list-style-type:none}ul.lst-kix_686a8e4qhxwx-3{list-style-type:none}ul.lst-kix_686a8e4qhxwx-2{list-style-type:none}ul.lst-kix_686a8e4qhxwx-1{list-style-type:none}ul.lst-kix_686a8e4qhxwx-8{list-style-type:none}ul.lst-kix_686a8e4qhxwx-7{list-style-type:none}ul.lst-kix_686a8e4qhxwx-6{list-style-type:none}.lst-kix_6qnkx7t1adn9-0>li:before{content:"\0025cf "}.lst-kix_qeqyxe7gm97l-0>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-5{list-style-type:none}.lst-kix_6qnkx7t1adn9-1>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-0{list-style-type:none}.lst-kix_bfzyeb917dp8-0>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-0}.lst-kix_qeqyxe7gm97l-5>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-5>li:before{content:"\0025a0 "}ol.lst-kix_emhp84jkv42c-3.start{counter-reset:lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_qeqyxe7gm97l-2>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-8>li{counter-increment:lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_s3mi7ukxwiwf-0.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-0>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-0}.lst-kix_fd1rucpc9vz2-5>li:before{content:"\0025a0 "}.lst-kix_fd1rucpc9vz2-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-5>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-3>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-3>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before{content:"\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-8}ol.lst-kix_q8ok0mh9yyto-6{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-5{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-3{list-style-type:none}.lst-kix_9jxnjym0nges-0>li:before{content:"\0025cf "}ol.lst-kix_q8ok0mh9yyto-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-7{list-style-type:none}ol.lst-kix_emhp84jkv42c-0.start{counter-reset:lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before{content:"\0025a0 "}.lst-kix_ndaonzmgp8vn-4>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-2{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-1{list-style-type:none}.lst-kix_9jxnjym0nges-2>li:before{content:"\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0{list-style-type:none}.lst-kix_ndaonzmgp8vn-2>li:before{content:"\0025a0 "}.lst-kix_opi66v2qdsjs-2>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-0>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-0,upper-roman) ". "}ol.lst-kix_bfzyeb917dp8-4.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-4 0}.lst-kix_q8ok0mh9yyto-3>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_11a9ub9xa97v-8>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-8,lower-roman) ") "}.lst-kix_86hsx13ssqid-0>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-6>li:before{content:"\0025cf "}.lst-kix_9jxnjym0nges-8>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-6>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-6,lower-roman) ") "}ul.lst-kix_9jxnjym0nges-2{list-style-type:none}.lst-kix_xv318blpjdo-2>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-2,decimal) ". "}ul.lst-kix_9jxnjym0nges-1{list-style-type:none}ul.lst-kix_9jxnjym0nges-4{list-style-type:none}ul.lst-kix_9jxnjym0nges-3{list-style-type:none}.lst-kix_h0kibz3smj6t-5>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-6{list-style-type:none}ul.lst-kix_9jxnjym0nges-5{list-style-type:none}ul.lst-kix_9jxnjym0nges-8{list-style-type:none}ul.lst-kix_9jxnjym0nges-7{list-style-type:none}.lst-kix_xv318blpjdo-2>li{counter-increment:lst-ctn-kix_xv318blpjdo-2}.lst-kix_s3mi7ukxwiwf-3>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-3}.lst-kix_bfzyeb917dp8-7>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-7}ol.lst-kix_emhp84jkv42c-1.start{counter-reset:lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before{content:"\0025cb "}ol.lst-kix_jj5w63toozfm-3{list-style-type:none}ol.lst-kix_jj5w63toozfm-4{list-style-type:none}ol.lst-kix_jj5w63toozfm-5{list-style-type:none}.lst-kix_jkgkf1u9sy0c-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-7>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-7,lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before{content:"\0025a0 "}ol.lst-kix_jj5w63toozfm-6{list-style-type:none}ol.lst-kix_jj5w63toozfm-7{list-style-type:none}ol.lst-kix_jj5w63toozfm-8{list-style-type:none}.lst-kix_h0kibz3smj6t-2>li:before{content:"\0025a0 "}.lst-kix_q8ok0mh9yyto-7>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-7}ol.lst-kix_jj5w63toozfm-0{list-style-type:none}ol.lst-kix_jj5w63toozfm-1{list-style-type:none}.lst-kix_686a8e4qhxwx-2>li:before{content:"\0025a0 "}ol.lst-kix_jj5w63toozfm-2{list-style-type:none}ol.lst-kix_11a9ub9xa97v-3{list-style-type:none}ol.lst-kix_bfzyeb917dp8-8.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-8 0}ol.lst-kix_11a9ub9xa97v-2{list-style-type:none}ol.lst-kix_11a9ub9xa97v-1{list-style-type:none}ol.lst-kix_11a9ub9xa97v-0{list-style-type:none}.lst-kix_b7256qmdgo85-2>li:before{content:"\0025a0 "}ol.lst-kix_11a9ub9xa97v-8{list-style-type:none}ol.lst-kix_11a9ub9xa97v-7{list-style-type:none}ol.lst-kix_11a9ub9xa97v-6{list-style-type:none}ol.lst-kix_11a9ub9xa97v-5{list-style-type:none}.lst-kix_4m04az9jmmj8-7>li:before{content:"\0025cb "}ol.lst-kix_11a9ub9xa97v-4{list-style-type:none}.lst-kix_b7256qmdgo85-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-1>li:before{content:"\0025cb "}.lst-kix_q8ok0mh9yyto-5>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-5,lower-latin) ") "}.lst-kix_4m04az9jmmj8-4>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-3>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-3}.lst-kix_q8ok0mh9yyto-8>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-8,lower-roman) ") "}ol.lst-kix_bfzyeb917dp8-5{list-style-type:none}ol.lst-kix_bfzyeb917dp8-4{list-style-type:none}ol.lst-kix_bfzyeb917dp8-3{list-style-type:none}ol.lst-kix_bfzyeb917dp8-2{list-style-type:none}ol.lst-kix_bfzyeb917dp8-8{list-style-type:none}ol.lst-kix_bfzyeb917dp8-7{list-style-type:none}ol.lst-kix_bfzyeb917dp8-6{list-style-type:none}ol.lst-kix_bfzyeb917dp8-1{list-style-type:none}ol.lst-kix_bfzyeb917dp8-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-5.start{counter-reset:lst-ctn-kix_emhp84jkv42c-5 0}.lst-kix_q8ok0mh9yyto-0>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-0}.lst-kix_iv2x96orjh4l-8>li:before{content:"\0025a0 "}.lst-kix_6qnkx7t1adn9-6>li:before{content:"\0025cf "}.lst-kix_gfromclascha-5>li:before{content:"\0025a0 "}ol.lst-kix_emhp84jkv42c-8.start{counter-reset:lst-ctn-kix_emhp84jkv42c-8 0}.lst-kix_11a9ub9xa97v-8>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-8}.lst-kix_x1epm4iu41dp-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-4>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-5>li{counter-increment:lst-ctn-kix_xv318blpjdo-5}.lst-kix_1wulu3ra2vwv-5>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before{content:"\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-0>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-2>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-2,lower-roman) ". "}.lst-kix_6ril5iwt0fcl-7>li:before{content:"\0025cb "}.lst-kix_emhp84jkv42c-4>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-4,decimal) ") "}.lst-kix_emhp84jkv42c-5>li{counter-increment:lst-ctn-kix_emhp84jkv42c-5}.lst-kix_jj5w63toozfm-4>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-4,lower-latin) ". "}.lst-kix_1wulu3ra2vwv-5>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-5,lower-latin) ") "}ul.lst-kix_u0uqs69v9qbh-8{list-style-type:none}.lst-kix_11a9ub9xa97v-1>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-1}ul.lst-kix_u0uqs69v9qbh-4{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-5{list-style-type:none}.lst-kix_opi66v2qdsjs-5>li:before{content:"\0025a0 "}ul.lst-kix_u0uqs69v9qbh-6{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-7{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-0{list-style-type:none}ul.lst-kix_gyhqddkw9i05-6{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-1{list-style-type:none}ul.lst-kix_gyhqddkw9i05-5{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-2{list-style-type:none}ul.lst-kix_gyhqddkw9i05-8{list-style-type:none}ul.lst-kix_u0uqs69v9qbh-3{list-style-type:none}ul.lst-kix_gyhqddkw9i05-7{list-style-type:none}ol.lst-kix_emhp84jkv42c-7.start{counter-reset:lst-ctn-kix_emhp84jkv42c-7 0}.lst-kix_fd1rucpc9vz2-2>li:before{content:"\0025a0 "}ul.lst-kix_jkgkf1u9sy0c-4{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-5{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-6{list-style-type:none}ul.lst-kix_gyhqddkw9i05-0{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-7{list-style-type:none}.lst-kix_bfzyeb917dp8-2>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-2,decimal) ". "}.lst-kix_gyhqddkw9i05-1>li:before{content:"\0025cb "}ul.lst-kix_jkgkf1u9sy0c-8{list-style-type:none}ul.lst-kix_gyhqddkw9i05-2{list-style-type:none}ul.lst-kix_gyhqddkw9i05-1{list-style-type:none}ul.lst-kix_gyhqddkw9i05-4{list-style-type:none}ul.lst-kix_gyhqddkw9i05-3{list-style-type:none}.lst-kix_11a9ub9xa97v-3>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-3,lower-latin) ") "}ol.lst-kix_emhp84jkv42c-6.start{counter-reset:lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_8p26nc4xx5n8-1>li:before{content:"\0025cb "}.lst-kix_u0uqs69v9qbh-5>li:before{content:"\0025a0 "}.lst-kix_9jxnjym0nges-5>li:before{content:"\0025a0 "}.lst-kix_86hsx13ssqid-3>li:before{content:"\0025cf "}ul.lst-kix_jkgkf1u9sy0c-0{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-1{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-2{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-3{list-style-type:none}ol.lst-kix_jj5w63toozfm-5.start{counter-reset:lst-ctn-kix_jj5w63toozfm-5 0}ul.lst-kix_bijol4nzhwf0-8{list-style-type:none}ol.lst-kix_emhp84jkv42c-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-2{list-style-type:none}ol.lst-kix_emhp84jkv42c-1{list-style-type:none}ol.lst-kix_emhp84jkv42c-4{list-style-type:none}ol.lst-kix_emhp84jkv42c-3{list-style-type:none}ol.lst-kix_emhp84jkv42c-6{list-style-type:none}ol.lst-kix_emhp84jkv42c-5{list-style-type:none}ol.lst-kix_emhp84jkv42c-8{list-style-type:none}ol.lst-kix_emhp84jkv42c-7{list-style-type:none}.lst-kix_11a9ub9xa97v-4>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-4}.lst-kix_1qz6dmm9b14l-4>li:before{content:"\0025cb "}.lst-kix_1qz6dmm9b14l-3>li:before{content:"\0025cf "}.lst-kix_1qz6dmm9b14l-5>li:before{content:"\0025a0 "}ul.lst-kix_j42a5dwgnqyq-0{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-1{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-2{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-3{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-4{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-5{list-style-type:none}.lst-kix_1qz6dmm9b14l-0>li:before{content:"\0025cf "}.lst-kix_1qz6dmm9b14l-8>li:before{content:"\0025a0 "}ul.lst-kix_j42a5dwgnqyq-6{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-7{list-style-type:none}.lst-kix_1qz6dmm9b14l-1>li:before{content:"\0025cb "}ol.lst-kix_bfzyeb917dp8-0.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-0 0}ul.lst-kix_j42a5dwgnqyq-8{list-style-type:none}.lst-kix_1qz6dmm9b14l-2>li:before{content:"\0025a0 "}ul.lst-kix_bijol4nzhwf0-4{list-style-type:none}ul.lst-kix_bijol4nzhwf0-5{list-style-type:none}ul.lst-kix_bijol4nzhwf0-6{list-style-type:none}ul.lst-kix_bijol4nzhwf0-7{list-style-type:none}ul.lst-kix_bijol4nzhwf0-0{list-style-type:none}ul.lst-kix_bijol4nzhwf0-1{list-style-type:none}ul.lst-kix_bijol4nzhwf0-2{list-style-type:none}ul.lst-kix_bijol4nzhwf0-3{list-style-type:none}.lst-kix_jj5w63toozfm-3>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-3,decimal) ". "}.lst-kix_1wulu3ra2vwv-2>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_1qz6dmm9b14l-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-2>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-2,lower-roman) ". "}.lst-kix_q8ok0mh9yyto-4>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_1qz6dmm9b14l-6>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-1>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-1,lower-latin) ". "}.lst-kix_h9mjmxara98n-7>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-0>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-0,decimal) ". "}.lst-kix_h9mjmxara98n-6>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-8>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-6>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-5>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-3>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-3>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-2>li:before{content:"\0025a0 "}.lst-kix_h9mjmxara98n-4>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-2>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-1.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-1.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_h9mjmxara98n-0>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-0>li:before{content:"\0025cf "}.lst-kix_h9mjmxara98n-1>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-1>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-8>li{counter-increment:lst-ctn-kix_jj5w63toozfm-8}ul.lst-kix_gfromclascha-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-2.start{counter-reset:lst-ctn-kix_emhp84jkv42c-2 0}ul.lst-kix_gfromclascha-7{list-style-type:none}ul.lst-kix_gfromclascha-8{list-style-type:none}ul.lst-kix_gfromclascha-5{list-style-type:none}ul.lst-kix_gfromclascha-6{list-style-type:none}.lst-kix_x1epm4iu41dp-8>li:before{content:"\0025a0 "}ul.lst-kix_gfromclascha-3{list-style-type:none}ul.lst-kix_gfromclascha-4{list-style-type:none}ul.lst-kix_gfromclascha-1{list-style-type:none}.lst-kix_bfzyeb917dp8-3>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-3,lower-latin) ") "}ul.lst-kix_gfromclascha-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-3{list-style-type:none}.lst-kix_x1epm4iu41dp-2>li:before{content:"\0025a0 "}ol.lst-kix_11a9ub9xa97v-1.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-1 0}ul.lst-kix_opi66v2qdsjs-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-1{list-style-type:none}ul.lst-kix_opi66v2qdsjs-0{list-style-type:none}.lst-kix_q8ok0mh9yyto-0>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-0,upper-roman) ". "}.lst-kix_fy6y7gyjejoh-3>li:before{content:"\0025cf "}.lst-kix_bfzyeb917dp8-5>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-5,lower-latin) ") "}.lst-kix_jj5w63toozfm-0>li{counter-increment:lst-ctn-kix_jj5w63toozfm-0}.lst-kix_x1epm4iu41dp-6>li:before{content:"\0025cf "}ul.lst-kix_opi66v2qdsjs-8{list-style-type:none}ul.lst-kix_opi66v2qdsjs-7{list-style-type:none}.lst-kix_x1epm4iu41dp-4>li:before{content:"\0025cb "}ul.lst-kix_opi66v2qdsjs-6{list-style-type:none}ul.lst-kix_opi66v2qdsjs-5{list-style-type:none}.lst-kix_fy6y7gyjejoh-1>li:before{content:"\0025cb "}ul.lst-kix_opi66v2qdsjs-4{list-style-type:none}.lst-kix_bfzyeb917dp8-7>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-7,lower-latin) ") "}.lst-kix_emhp84jkv42c-7>li{counter-increment:lst-ctn-kix_emhp84jkv42c-7}.lst-kix_fy6y7gyjejoh-7>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-1.start{counter-reset:lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_x1epm4iu41dp-0>li:before{content:"\0025cf "}.lst-kix_fy6y7gyjejoh-5>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-3>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-3,lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-5,lower-latin) ") "}.lst-kix_emhp84jkv42c-1>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-1,upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-7,lower-latin) ") "}.lst-kix_jj5w63toozfm-5>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-5,lower-roman) ". "}.lst-kix_bfzyeb917dp8-2>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-2}ul.lst-kix_1qz6dmm9b14l-6{list-style-type:none}.lst-kix_gyhqddkw9i05-8>li:before{content:"\0025a0 "}.lst-kix_jj5w63toozfm-7>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-7,lower-latin) ". "}ul.lst-kix_1qz6dmm9b14l-5{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-8{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-7{list-style-type:none}.lst-kix_jj5w63toozfm-1>li{counter-increment:lst-ctn-kix_jj5w63toozfm-1}ul.lst-kix_1qz6dmm9b14l-2{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-1{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-4{list-style-type:none}ul.lst-kix_1qz6dmm9b14l-3{list-style-type:none}.lst-kix_u0uqs69v9qbh-0>li:before{content:"\0025cf "}.lst-kix_u0uqs69v9qbh-4>li:before{content:"\0025cb "}ul.lst-kix_1qz6dmm9b14l-0{list-style-type:none}.lst-kix_s3mi7ukxwiwf-6>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_jj5w63toozfm-7>li{counter-increment:lst-ctn-kix_jj5w63toozfm-7}.lst-kix_u0uqs69v9qbh-2>li:before{content:"\0025a0 "}.lst-kix_8p26nc4xx5n8-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-4.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_u0uqs69v9qbh-8>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-1>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-1,upper-latin) ". "}ul.lst-kix_ekmayt81kvbz-8{list-style-type:none}.lst-kix_gyhqddkw9i05-0>li:before{content:"\0025cf "}ul.lst-kix_ekmayt81kvbz-7{list-style-type:none}.lst-kix_gyhqddkw9i05-4>li:before{content:"\0025cb "}.lst-kix_8p26nc4xx5n8-2>li:before{content:"\0025a0 "}ul.lst-kix_ekmayt81kvbz-6{list-style-type:none}ul.lst-kix_ekmayt81kvbz-5{list-style-type:none}ul.lst-kix_ekmayt81kvbz-4{list-style-type:none}ul.lst-kix_ekmayt81kvbz-3{list-style-type:none}.lst-kix_gyhqddkw9i05-6>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-0>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-8>li:before{content:"\0025a0 "}ul.lst-kix_ekmayt81kvbz-2{list-style-type:none}ul.lst-kix_ekmayt81kvbz-1{list-style-type:none}.lst-kix_u0uqs69v9qbh-6>li:before{content:"\0025cf "}ul.lst-kix_ekmayt81kvbz-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-1{list-style-type:none}ol.lst-kix_bfzyeb917dp8-5.start{counter-reset:lst-ctn-kix_bfzyeb917dp8-5 0}ol.lst-kix_s3mi7ukxwiwf-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-0{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-1{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-6{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-3{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-4{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-6{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-3{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-8{list-style-type:none}.lst-kix_gyhqddkw9i05-2>li:before{content:"\0025a0 "}.lst-kix_8p26nc4xx5n8-4>li:before{content:"\0025cb "}ul.lst-kix_7tib3jrzu2u9-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-8{list-style-type:none}.lst-kix_xv318blpjdo-1>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-1,upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-0,upper-roman) ". "}.lst-kix_h0kibz3smj6t-4>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-1>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_h0kibz3smj6t-7>li:before{content:"\0025cb "}.lst-kix_h0kibz3smj6t-8>li:before{content:"\0025a0 "}.lst-kix_11a9ub9xa97v-5>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-5}.lst-kix_opi66v2qdsjs-0>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-8>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-8,lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-5,lower-latin) ") "}.lst-kix_h0kibz3smj6t-3>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-3>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-4>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-4,decimal) ") "}.lst-kix_h0kibz3smj6t-0>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-0.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-0 0}.lst-kix_s3mi7ukxwiwf-7>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-7}.lst-kix_q8ok0mh9yyto-3>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-3,lower-latin) ") "}.lst-kix_686a8e4qhxwx-8>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-6>li{counter-increment:lst-ctn-kix_emhp84jkv42c-6}.lst-kix_q8ok0mh9yyto-2>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-2,decimal) ". "}.lst-kix_q8ok0mh9yyto-6>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-6,lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before{content:"\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-7,lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before{content:"\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-4>li{counter-increment:lst-ctn-kix_xv318blpjdo-4}.lst-kix_x1epm4iu41dp-7>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-4>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-6>li{counter-increment:lst-ctn-kix_xv318blpjdo-6}ol.lst-kix_jj5w63toozfm-1.start{counter-reset:lst-ctn-kix_jj5w63toozfm-1 0}.lst-kix_bfzyeb917dp8-4>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-4,decimal) ") "}.lst-kix_x1epm4iu41dp-3>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-8>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-8>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-8,lower-roman) ") "}.lst-kix_fy6y7gyjejoh-2>li:before{content:"\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-8.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-8 0}ol.lst-kix_s3mi7ukxwiwf-6.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-6 0}ol.lst-kix_jj5w63toozfm-0.start{counter-reset:lst-ctn-kix_jj5w63toozfm-0 0}.lst-kix_emhp84jkv42c-2>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-2,decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-6,lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before{content:"\0025cf "}.lst-kix_ndaonzmgp8vn-5>li:before{content:"\0025a0 "}.lst-kix_9jxnjym0nges-3>li:before{content:"\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-1>li:before{content:"\0025cb "}.lst-kix_gyhqddkw9i05-7>li:before{content:"\0025cb "}.lst-kix_jj5w63toozfm-6>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-6,decimal) ". "}.lst-kix_u0uqs69v9qbh-3>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-0>li:before{content:"\0025cf "}.lst-kix_fd1rucpc9vz2-4>li:before{content:"\0025cb "}ol.lst-kix_s3mi7ukxwiwf-5.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-3>li:before{content:"\0025cf "}.lst-kix_8p26nc4xx5n8-7>li:before{content:"\0025cb "}.lst-kix_u0uqs69v9qbh-7>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-0>li:before{content:"" counter(lst-ctn-kix_bfzyeb917dp8-0,upper-roman) ". "}.lst-kix_11a9ub9xa97v-1>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-1,upper-latin) ". "}.lst-kix_gyhqddkw9i05-3>li:before{content:"\0025cf "}.lst-kix_9jxnjym0nges-7>li:before{content:"\0025cb "}.lst-kix_11a9ub9xa97v-5>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-5,lower-latin) ") "}ol.lst-kix_11a9ub9xa97v-2.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-2 0}.lst-kix_s3mi7ukxwiwf-4>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5{list-style-type:none}ol.lst-kix_xv318blpjdo-6{list-style-type:none}ol.lst-kix_xv318blpjdo-7{list-style-type:none}ol.lst-kix_xv318blpjdo-0{list-style-type:none}ol.lst-kix_xv318blpjdo-1{list-style-type:none}.lst-kix_7tib3jrzu2u9-1>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-2{list-style-type:none}ol.lst-kix_xv318blpjdo-3{list-style-type:none}.lst-kix_q8ok0mh9yyto-6>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-6}ul.lst-kix_5anu1k9tsyak-7{list-style-type:none}.lst-kix_jj5w63toozfm-6>li{counter-increment:lst-ctn-kix_jj5w63toozfm-6}ul.lst-kix_5anu1k9tsyak-8{list-style-type:none}ul.lst-kix_5anu1k9tsyak-5{list-style-type:none}.lst-kix_11a9ub9xa97v-2>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-2}ol.lst-kix_1wulu3ra2vwv-0{list-style-type:none}ul.lst-kix_5anu1k9tsyak-6{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-1{list-style-type:none}ul.lst-kix_5anu1k9tsyak-3{list-style-type:none}ul.lst-kix_5anu1k9tsyak-4{list-style-type:none}ul.lst-kix_5anu1k9tsyak-1{list-style-type:none}.lst-kix_xv318blpjdo-3>li{counter-increment:lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-6{list-style-type:none}ul.lst-kix_5anu1k9tsyak-0{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-7{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-8{list-style-type:none}.lst-kix_7tib3jrzu2u9-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-2{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-3{list-style-type:none}.lst-kix_7tib3jrzu2u9-7>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-4{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-5{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-5.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-5 0}ol.lst-kix_11a9ub9xa97v-7.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-7 0}ol.lst-kix_q8ok0mh9yyto-2.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_11a9ub9xa97v-6>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-6}.lst-kix_5anu1k9tsyak-7>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-2.start{counter-reset:lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_q8ok0mh9yyto-2>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-2}ol.lst-kix_jj5w63toozfm-4.start{counter-reset:lst-ctn-kix_jj5w63toozfm-4 0}.lst-kix_6qnkx7t1adn9-2>li:before{content:"\0025a0 "}.lst-kix_qeqyxe7gm97l-6>li:before{content:"\0025cf "}.lst-kix_qeqyxe7gm97l-4>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-1>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-1>li:before{content:"\0025cb "}.lst-kix_qeqyxe7gm97l-3>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-4>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-7 0}.lst-kix_j42a5dwgnqyq-3>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-2>li{counter-increment:lst-ctn-kix_jj5w63toozfm-2}ol.lst-kix_1wulu3ra2vwv-3.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before{content:"\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before{content:"\0025cb "}.lst-kix_iv2x96orjh4l-7>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-6>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-1>li:before{content:"\0025cb "}.lst-kix_ndaonzmgp8vn-8>li:before{content:"\0025a0 "}.lst-kix_iv2x96orjh4l-1>li:before{content:"\0025cb "}.lst-kix_bfzyeb917dp8-8>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-8}.lst-kix_opi66v2qdsjs-4>li:before{content:"\0025cb "}.lst-kix_fd1rucpc9vz2-1>li:before{content:"\0025cb "}.lst-kix_fd1rucpc9vz2-3>li:before{content:"\0025cf "}.lst-kix_opi66v2qdsjs-6>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-4.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-4 0}.lst-kix_bfzyeb917dp8-1>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-1}.lst-kix_ndaonzmgp8vn-0>li:before{content:"\0025cf "}ol.lst-kix_jj5w63toozfm-6.start{counter-reset:lst-ctn-kix_jj5w63toozfm-6 0}ul.lst-kix_b7256qmdgo85-6{list-style-type:none}ul.lst-kix_b7256qmdgo85-7{list-style-type:none}.lst-kix_1wulu3ra2vwv-3>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-3}ul.lst-kix_b7256qmdgo85-8{list-style-type:none}ul.lst-kix_b7256qmdgo85-2{list-style-type:none}ul.lst-kix_b7256qmdgo85-3{list-style-type:none}.lst-kix_11a9ub9xa97v-4>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-4,decimal) ") "}ul.lst-kix_b7256qmdgo85-4{list-style-type:none}ul.lst-kix_b7256qmdgo85-5{list-style-type:none}.lst-kix_11a9ub9xa97v-2>li:before{content:"" counter(lst-ctn-kix_11a9ub9xa97v-2,decimal) ". "}.lst-kix_9jxnjym0nges-4>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-4>li:before{content:"\0025cb "}ul.lst-kix_b7256qmdgo85-0{list-style-type:none}ul.lst-kix_b7256qmdgo85-1{list-style-type:none}.lst-kix_9jxnjym0nges-6>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-2>li:before{content:"\0025a0 "}.lst-kix_bfzyeb917dp8-5>li{counter-increment:lst-ctn-kix_bfzyeb917dp8-5}.lst-kix_h0kibz3smj6t-6>li:before{content:"\0025cf "}.lst-kix_11a9ub9xa97v-3>li{counter-increment:lst-ctn-kix_11a9ub9xa97v-3}ol.lst-kix_11a9ub9xa97v-5.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-5 0}ul.lst-kix_x1epm4iu41dp-0{list-style-type:none}ol.lst-kix_xv318blpjdo-0.start{counter-reset:lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before{content:"\0025cf "}ul.lst-kix_x1epm4iu41dp-6{list-style-type:none}ul.lst-kix_x1epm4iu41dp-5{list-style-type:none}ul.lst-kix_x1epm4iu41dp-8{list-style-type:none}.lst-kix_jkgkf1u9sy0c-3>li:before{content:"\0025cf "}ul.lst-kix_x1epm4iu41dp-7{list-style-type:none}ul.lst-kix_x1epm4iu41dp-2{list-style-type:none}.lst-kix_xv318blpjdo-0>li{counter-increment:lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_jj5w63toozfm-8.start{counter-reset:lst-ctn-kix_jj5w63toozfm-8 0}ul.lst-kix_x1epm4iu41dp-1{list-style-type:none}ul.lst-kix_x1epm4iu41dp-4{list-style-type:none}ul.lst-kix_x1epm4iu41dp-3{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-2.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_h0kibz3smj6t-1>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-6>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-6,lower-roman) ") "}ul.lst-kix_86hsx13ssqid-3{list-style-type:none}ul.lst-kix_86hsx13ssqid-2{list-style-type:none}.lst-kix_xv318blpjdo-3>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-3,lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5{list-style-type:none}ul.lst-kix_86hsx13ssqid-4{list-style-type:none}.lst-kix_686a8e4qhxwx-1>li:before{content:"\0025cb "}ul.lst-kix_86hsx13ssqid-1{list-style-type:none}.lst-kix_jkgkf1u9sy0c-8>li:before{content:"\0025a0 "}ul.lst-kix_86hsx13ssqid-0{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-0{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-1{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-2{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-3{list-style-type:none}.lst-kix_b7256qmdgo85-1>li:before{content:"\0025cb "}ul.lst-kix_86hsx13ssqid-7{list-style-type:none}ul.lst-kix_h9mjmxara98n-0{list-style-type:none}ul.lst-kix_86hsx13ssqid-6{list-style-type:none}ul.lst-kix_86hsx13ssqid-8{list-style-type:none}ul.lst-kix_h9mjmxara98n-3{list-style-type:none}.lst-kix_4m04az9jmmj8-8>li:before{content:"\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8{list-style-type:none}ul.lst-kix_h9mjmxara98n-4{list-style-type:none}ul.lst-kix_h9mjmxara98n-1{list-style-type:none}ul.lst-kix_h9mjmxara98n-2{list-style-type:none}ul.lst-kix_h9mjmxara98n-7{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-4{list-style-type:none}ul.lst-kix_h9mjmxara98n-8{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-5{list-style-type:none}ul.lst-kix_h9mjmxara98n-5{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-6{list-style-type:none}ul.lst-kix_h9mjmxara98n-6{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-7{list-style-type:none}.lst-kix_b7256qmdgo85-6>li:before{content:"\0025cf "}ol.lst-kix_1wulu3ra2vwv-1.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_q97rvvc7c69e-0>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-1,upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before{content:"\0025cf "}ol.lst-kix_11a9ub9xa97v-6.start{counter-reset:lst-ctn-kix_11a9ub9xa97v-6 0}.lst-kix_q8ok0mh9yyto-4>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-4,decimal) ") "}.lst-kix_emhp84jkv42c-0>li{counter-increment:lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-5}.lst-kix_s3mi7ukxwiwf-1>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-1}.lst-kix_4m04az9jmmj8-3>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-7>li{counter-increment:lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_xv318blpjdo-7.start{counter-reset:lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-7>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-3.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-7}ul.lst-kix_fd1rucpc9vz2-0{list-style-type:none}.lst-kix_fy6y7gyjejoh-0>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-1{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-2{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-3{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-6.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-6 0}ul.lst-kix_fd1rucpc9vz2-8{list-style-type:none}.lst-kix_bfzyeb917dp8-6>li:before{content:"(" counter(lst-ctn-kix_bfzyeb917dp8-6,lower-roman) ") "}.lst-kix_6ril5iwt0fcl-3>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-4{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-5{list-style-type:none}ul.lst-kix_fd1rucpc9vz2-6{list-style-type:none}.lst-kix_fd1rucpc9vz2-6>li:before{content:"\0025cf "}ul.lst-kix_fd1rucpc9vz2-7{list-style-type:none}.lst-kix_5anu1k9tsyak-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-8>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_iv2x96orjh4l-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-6>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-6,decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-4.start{counter-reset:lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_x1epm4iu41dp-1>li:before{content:"\0025cb "}.lst-kix_q97rvvc7c69e-8>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-5.start{counter-reset:lst-ctn-kix_xv318blpjdo-5 0}ul.lst-kix_8p26nc4xx5n8-0{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-1{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-2{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-3{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-4{list-style-type:none}.lst-kix_emhp84jkv42c-0>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-0,upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-8,lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_ndaonzmgp8vn-3>li:before{content:"\0025cf "}.lst-kix_jj5w63toozfm-8>li:before{content:"" counter(lst-ctn-kix_jj5w63toozfm-8,lower-roman) ". "}.lst-kix_u0uqs69v9qbh-1>li:before{content:"\0025cb "}.lst-kix_opi66v2qdsjs-1>li:before{content:"\0025cb "}.lst-kix_11a9ub9xa97v-7>li:before{content:"(" counter(lst-ctn-kix_11a9ub9xa97v-7,lower-latin) ") "}.lst-kix_8p26nc4xx5n8-5>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-6.start{counter-reset:lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_1wulu3ra2vwv-0>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-0}.lst-kix_gyhqddkw9i05-5>li:before{content:"\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-5{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-6{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-6{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-5{list-style-type:none}.lst-kix_sholqrhc62dh-3>li:before{content:"\0025cf "}ul.lst-kix_8p26nc4xx5n8-7{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-4{list-style-type:none}ul.lst-kix_8p26nc4xx5n8-8{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-3{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-2{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-1{list-style-type:none}.lst-kix_1wulu3ra2vwv-1>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-1,upper-latin) ". "}ul.lst-kix_6qnkx7t1adn9-0{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.c1{margin-left:36pt;padding-top:6pt;padding-left:0pt;padding-bottom:0pt;line-height:1.2;orphans:2;widows:2;text-align:left}.c9{color:#ff5e0e;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:18pt;font-family:"PT Sans Narrow";font-style:normal}.c21{color:#666666;font-weight:400;text-decoration:underline;vertical-align:baseline;font-size:11pt;font-family:"Trebuchet MS";font-style:normal}.c26{padding-top:0pt;padding-bottom:0pt;line-height:1.15;orphans:2;widows:2;text-align:left}.c2{padding-top:6pt;padding-bottom:0pt;line-height:1.2;orphans:2;widows:2;text-align:left}.c10{padding-top:24pt;padding-bottom:0pt;line-height:1.3;page-break-after:avoid;text-align:left}.c4{margin-left:36pt;padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c18{margin-left:72pt;padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c24{padding-top:8pt;padding-bottom:0pt;line-height:1.2;page-break-after:avoid;text-align:left}.c0{font-size:9pt;font-family:"Consolas";color:#880000;font-weight:400}.c11{font-size:9pt;font-family:"Consolas";color:#666600;font-weight:400}.c17{color:#008575;font-weight:400;font-size:16pt;font-family:"PT Sans Narrow"}.c37{color:#695d46;font-weight:700;font-size:42pt;font-family:"PT Sans Narrow"}.c8{font-size:9pt;font-family:"Consolas";color:#006666;font-weight:400}.c29{padding-top:0pt;padding-bottom:0pt;line-height:1.2;text-align:left}.c25{font-size:9pt;font-family:"Consolas";color:#660066;font-weight:400}.c19{padding-top:16pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c36{font-size:18pt;font-family:"PT Sans Narrow";color:#ff5e0e;font-weight:700}.c35{font-size:9pt;font-family:"Consolas";color:#000088;font-weight:400}.c6{font-size:9pt;font-family:"Consolas";color:#000000;font-weight:400}.c13{text-decoration:none;vertical-align:baseline;font-size:11pt;font-style:normal}.c16{text-decoration:none;vertical-align:baseline;font-style:normal}.c31{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}.c27{font-weight:700;font-size:9pt;font-family:"Consolas"}.c3{font-family:"Open Sans";color:#695d46;font-weight:400}.c33{orphans:2;widows:2}.c15{color:#1155cc;text-decoration:underline}.c5{color:inherit;text-decoration:inherit}.c12{margin-left:72pt;padding-left:0pt}.c20{margin-left:36pt;padding-left:0pt}.c30{font-weight:400;font-family:"Arial"}.c14{font-weight:400;font-family:"Open Sans"}.c7{padding:0;margin:0}.c22{color:#000000}.c32{font-size:12pt}.c23{margin-left:36pt}.c34{font-size:8pt}.c28{margin-left:72pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left} 

Oracle Fusion Middleware Deployments Using Docker Swarm Part II

Overview

This is the second in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In our previous blog we talked about the overall requirements for running FMW on Docker Swarm and sketched out our overall approach.

In this entry we will explain the concepts of using Docker base images and create an Oracle database image and an Oracle Service Bus image.  The next blog will cover how to create an OSB domain and how to run this in Docker Swarm.

Notes on Building on Existing Docker Images

Docker allows you to create a new image by basing it on an existing image.  The “FROM” instruction in a dockerfile tells docker the base image that you are using as your foundation.  We will build a number of database base images that can then be reused later.

A docker image is a set of files and configuration.  A docker image runs in a docker container.  So a single image may be running in zero, one or more containers.  Think of the image as the software and configuration, think of the container as the active running image.

The diagram shows the images that we will build and their base images referenced in the FROM instruction.


Docker FMW Image Dependencies

The solid lines indicate the image reference by the FROM command in the dockerfile used to create an image.  The dotted lines represent dependencies on other images.

More details on the images will be given in the next section, but the following bullets explain how they work.  Note that we can store the created images in a company docker registry so that they can be reused.

  • Oracle Linux is an image that we use as our starting point.  This is available from github along with instructions (dockerfiles) to create the other images.
  • Oracle Database image is created by installing the Oracle database binaries into the Oracle Linux image.  This image can be used to create databases with different characteristics, such as different character sets, different service and instance names etc.
  • An Oracle Database Instance is created by running the database configuration assistant in a container created from the Oracle Database image.
  • JDK 8 image is created by installing a JDK 8 into the generic Linux image, this could be reused by any software requiring Java.
  • Fusion Middleware Infrastructure image is created by installing the WebLogic Fusion Middleware Infrastructure into the JDK image.  This provides WebLogic and some additional Oracle infrastructure files that are used by Fusion Middleware.  This image can be reused by any Fusion Middleware product image.
  • Oracle Service Bus image provides us with Service Bus installation on top of the Fusion Middleware Infrastructure image.  This provides a software only installation, no domain is created so the image can be used to create any desired Service Bus domain configuration.
  • Service Bus Domain image is the image where we run the domain configuration utility to create a Service Bus domain.  Prior to running the domain configuration wizard the FMW repository configuration utility is run against the database container created from the Oracle Database Instance image.  Depending on the options chosen this could be pointed to and used by a number of different FMW components.  In our case we will install the SOA schemas. We need to refer to the Oracle Database Container to be able to run the RCU and also to complete the domain creation.  Different run commands are used to start a container to run either the Admin Server or a Managed Server.
Retrieving Docker Files for OSB Cluster

We are posting all the required files to go along with this blog on github.  You are welcome to fork from this and improve it.  We cloned many of these files from the official Oracle docker github.  We removed unused versions and added a simplified build.sh file to each product directory to make it easy to see how we actually built our environment.  We are still updating the files online and will shortly add details on building the service bus cluster.  We made the following additional changes to the standard Oracle files:

  • Java - we used the JDK rather than the JRE.
  • WebLogic - we added a 12.2.1.2 FMW Infrastructure alongside the generic and developer options.  This is available in other versions of the Oracle files but not in the 12.2.1.2 files.
  • OSB and SOA - Added OSB and SOA directories along with their associated files.
Database Creation

Because Oracle Fusion Middleware relies on a database we need to create a database image.  Once we have created the database then we need to create the FMW schemas within it by running the Repository Creation Utility.  The Repository Creation Utility is only available in the FMW installed code, so to create the schemas we also need to install our FMW component, in our case Service Bus.  The steps we will follow to build, create and configure the database are as follows:

  1. Build Oracle Database image using the Oracle provided database dockerfile.
  2. Create an Oracle Database Instance by creating a docker container and using the provided scripts to initialize the container with a database instance.

Detailed instructions to build the database image are provided in the section “Oracle Database Build Steps

We create the database instance in a docker container rather than baking it into an image because we only want to run a single instance of the database container.

FMW Installation

We will use multiple layered images to get to our FMW install image.  Each image is kept separate to make it flexible and reusable.  For example given the WebLogic FMW Infrastructure image we could create separate FMW images for SOA Suite, WebCenter and Business Intelligence for example.

  • We will install JDK 8 to create a JDK 8 image.  This can be used to create any image requiring a JDK 8 installation.  This if built on top of the Oracle Linux 7 image.
  • We build on top of the JDK 8 image to install Fusion Middleware Infrastructure into a WebLogic FMW Infrastructure image.  This can be used as the basis of any FMW images in the future.
  • In our example we install SOA or OSB on top of the WebLogic FMW Infrastructure image as our FMW component.  This does not create a domain.  It just installs the software.

Detailed steps are given in the sections “Weblogic Docker Image Build Steps” and “OSB Docker Image Build steps

General Build Instructions

You can download our dockerfiles by cloning our github onto your build machine.

git clone https://github.com/Shuxuan/OSB-Docker-Swarm.git

This will create a directory OSB-Docker-Swarm.  We will refer to the location of this as <MASTER> in subsequent instructions.

Database Docker Image Build Steps

There is an excellent blog on Creating an Oracle Database Docker image by Gerald Venzi that covers everything.  We have provided a minimal description of the steps here only to be self contained.

  1. Get Oracle Database Binaries

Retrieve the Oracle 12.1.0.2 binaries from OTN http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

  • linuxamd64_12102_database_1of2.zip
  • linuxamd64_12102_database_2of2.zip

  and place them at <MASTER>/OracleDatabase/dockerfiles/12.1.0.2.

  1. Build Oracle Database Docker Image
  • Create a Docker Image for the database using the binaries from the previous step.  This installs the database binaries and saves the result as a docker image.  The build.sh has all the paramters needed by the dockerfile, if you are interested in what they do check out the official Oracle docker database image docs.  Note that if we don’t have the Oracle Linux image then the build process will retrieve it from docker hub.

<MASTER>/OracleDatabase/build.sh

  • Check the image has been built properly by making sure it is listed by the docker images command.

$ docker images

REPOSITORY      TAG         IMAGE ID      CREATED         SIZE

oracle/database 12.1.0.2-ee 8f0f3c5f4170  49 seconds ago  11.24 GB

oraclelinux     latest      27a5201e554e  3 weeks ago     225.1 MB

  1. Create Oracle Database
  • Run a docker container based on the previously built docker image to create the database instance.  The create_db.sh command that we provide will do this.  Again the details of how it works are in the official Oracle docker database image docs.  We also added a -d parameter to run the container in the background.

./create_db.sh

  • Check container logs
    docker logs <container_id>
  • Change DB password by running the set_db_password.sh we provide which sets the database password to be FMWDocker.  You can edit the file to change the password.  We also modified this file to set the password policy to not expire the passwords.

./set_db_password.sh

We now have an Oracle database instance running in a docker container.

Weblogic Docker Image Build Steps
  1. Build JDK 1.8 Docker image based on base image
  • Go to <MASTER>/oraclejdk8 folder
  • Download jdk 8 install binary file, jdk-8uXXX-linux-x64.tar.gz from OTN into oraclejdk8 folder.  Any version that starts jdk-8 should work.
  • Run build.sh

./build.sh

  • Check that image has been created

$ docker images

REPOSITORY       TAG          IMAGE ID      CREATED         SIZE

oracle/database  12.1.0.2-ee  086a4a3541bc  34 minutes ago  11.24 GB

oracle/serverjdk 8            85aebb7b773e  22 hours ago    590.4 MB

oraclelinux      latest       27a5201e554e  3 weeks ago     225.1 MB

This JDK image is then used as a base for future images.

  1. Build Weblogic 12.2.1.2 installation image based on JDK 1.8 image
  • Go to folder <MASTER>/wls12.2.1.2
  • Download fmw_12.2.1.2.0_infrastructure_Disk1_1of1.zip from OTN to folder wls12.2.1.2
  • Run build.sh

./build.sh

  • Run docker images to check the image created in the above steps

$ docker images

REPOSITORY        TAG                      IMAGE ID     CREATED              SIZE

oracle/weblogic   12.2.1.2-infrastructure  9eceea30c474 About a minute ago   4.096 GB

oracle/database   12.1.0.2-ee              086a4a3541bc About an hour ago    11.24 GB

oracle/serverjdk  8                        85aebb7b773e 22 hours ago         590.4 MB

oraclelinux       latest                   27a5201e554e 3 weeks ago          225.1 MB

This gives us our FMW infrastructure docker image.

OSB Docker Image Build steps
  • Go to folder <MASTER>/osb
  • Download fmw_12.2.1.2.0_osb.jar from OTN to folder osb.  If unavailable on OTN it is available from e-delivery if you have a Service Bus license.
  • Run build.sh

./build.sh

  • Check docker image built in the above step

$ docker images

REPOSITORY        TAG                     IMAGE ID     CREATED             SIZE

oracle/osb        12.2.1.2                59021dc16e40 5 minutes ago       7.231 GB

oracle/weblogic   12.2.1.2-infrastructure 9eceea30c474 12 minutes ago      4.096 GB

oracle/database   12.1.0.2-ee             086a4a3541bc About an hour ago   11.24 GB

oracle/serverjdk  8                       85aebb7b773e 23 hours ago        590.4 MB

oraclelinux       latest                  27a5201e554e 3 weeks ago         225.1 MB

This gives us our FMW product docker image, in our case service bus.  We also provided SOA Suite dockerfiles in the git repository.

Summary

In this entry we have explained how to install Fusion Middleware and Oracle Database as Docker images, and how to create a Database container.  In our next entry we will use these images to create a cluster in swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

Building an FMW Cluster using Docker (Part I Introduction)

Sat, 2017-01-14 21:19

Click here for a Google Docs version of this document that doesn't suffer from the Oracle blog formatting problems

@import url('https://themes.googleusercontent.com/fonts/css?kit=iMc4-4exjgqA-toZgqqJBapXv4aEsWUJfLHj8vTDOv6sKTypj6oMABt6aLc3fm-oS8WuZCZU7xsrLLn8Eq5Dllll7szA_gjBFRwwth-OR18');.lst-kix_sholqrhc62dh-7>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-8>li:before{content:"\0025a0 "}.lst-kix_sholqrhc62dh-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-3.start{counter-reset:lst-ctn-kix_xv318blpjdo-3 0}ul.lst-kix_bijol4nzhwf0-8{list-style-type:none}.lst-kix_sholqrhc62dh-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-0>li:before{content:"\0025cf "}ol.lst-kix_emhp84jkv42c-0{list-style-type:none}.lst-kix_emhp84jkv42c-3>li{counter-increment:lst-ctn-kix_emhp84jkv42c-3}ol.lst-kix_emhp84jkv42c-2{list-style-type:none}ol.lst-kix_emhp84jkv42c-1{list-style-type:none}ol.lst-kix_emhp84jkv42c-4{list-style-type:none}ol.lst-kix_emhp84jkv42c-3{list-style-type:none}ol.lst-kix_emhp84jkv42c-6{list-style-type:none}ol.lst-kix_emhp84jkv42c-5{list-style-type:none}ol.lst-kix_emhp84jkv42c-8{list-style-type:none}ol.lst-kix_emhp84jkv42c-7{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-0{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-1{list-style-type:none}ul.lst-kix_4m04az9jmmj8-3{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-2{list-style-type:none}ul.lst-kix_4m04az9jmmj8-2{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-3{list-style-type:none}ul.lst-kix_4m04az9jmmj8-1{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-4{list-style-type:none}ul.lst-kix_4m04az9jmmj8-0{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-5{list-style-type:none}ul.lst-kix_4m04az9jmmj8-7{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-6{list-style-type:none}ul.lst-kix_4m04az9jmmj8-6{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-7{list-style-type:none}ul.lst-kix_4m04az9jmmj8-5{list-style-type:none}ul.lst-kix_j42a5dwgnqyq-8{list-style-type:none}ul.lst-kix_4m04az9jmmj8-4{list-style-type:none}ul.lst-kix_4m04az9jmmj8-8{list-style-type:none}ul.lst-kix_bijol4nzhwf0-4{list-style-type:none}.lst-kix_s3mi7ukxwiwf-2>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-2}ul.lst-kix_bijol4nzhwf0-5{list-style-type:none}ul.lst-kix_bijol4nzhwf0-6{list-style-type:none}ul.lst-kix_bijol4nzhwf0-7{list-style-type:none}ul.lst-kix_bijol4nzhwf0-0{list-style-type:none}ul.lst-kix_bijol4nzhwf0-1{list-style-type:none}ul.lst-kix_bijol4nzhwf0-2{list-style-type:none}ul.lst-kix_bijol4nzhwf0-3{list-style-type:none}.lst-kix_1wulu3ra2vwv-2>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-2}.lst-kix_q8ok0mh9yyto-4>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-4}.lst-kix_bijol4nzhwf0-7>li:before{content:"\0025cb "}.lst-kix_bijol4nzhwf0-6>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-8>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-5>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-3>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-2>li:before{content:"\0025a0 "}.lst-kix_bijol4nzhwf0-4>li:before{content:"\0025cb "}ol.lst-kix_emhp84jkv42c-4.start{counter-reset:lst-ctn-kix_emhp84jkv42c-4 0}ol.lst-kix_xv318blpjdo-8.start{counter-reset:lst-ctn-kix_xv318blpjdo-8 0}.lst-kix_q8ok0mh9yyto-8>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-8}ol.lst-kix_q8ok0mh9yyto-1.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-1 0}ol.lst-kix_s3mi7ukxwiwf-8.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-8 0}ol.lst-kix_s3mi7ukxwiwf-1.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-1 0}.lst-kix_bijol4nzhwf0-0>li:before{content:"\0025cf "}.lst-kix_bijol4nzhwf0-1>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-1>li{counter-increment:lst-ctn-kix_xv318blpjdo-1}ul.lst-kix_gfromclascha-0{list-style-type:none}ol.lst-kix_emhp84jkv42c-2.start{counter-reset:lst-ctn-kix_emhp84jkv42c-2 0}.lst-kix_s3mi7ukxwiwf-1>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-1,lower-latin) ". "}.lst-kix_gfromclascha-0>li:before{content:"\0025cf "}.lst-kix_gfromclascha-2>li:before{content:"\0025a0 "}.lst-kix_gfromclascha-4>li:before{content:"\0025cb "}ul.lst-kix_gfromclascha-7{list-style-type:none}ul.lst-kix_gfromclascha-8{list-style-type:none}ul.lst-kix_gfromclascha-5{list-style-type:none}.lst-kix_gfromclascha-6>li:before{content:"\0025cf "}ul.lst-kix_gfromclascha-6{list-style-type:none}ul.lst-kix_gfromclascha-3{list-style-type:none}ul.lst-kix_gfromclascha-4{list-style-type:none}ul.lst-kix_gfromclascha-1{list-style-type:none}ul.lst-kix_gfromclascha-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-3{list-style-type:none}ul.lst-kix_opi66v2qdsjs-2{list-style-type:none}ul.lst-kix_opi66v2qdsjs-1{list-style-type:none}ul.lst-kix_opi66v2qdsjs-0{list-style-type:none}.lst-kix_q97rvvc7c69e-5>li:before{content:"\0025a0 "}.lst-kix_q97rvvc7c69e-7>li:before{content:"\0025cb "}.lst-kix_q8ok0mh9yyto-0>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-0,upper-roman) ". "}ol.lst-kix_q8ok0mh9yyto-8.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-8 0}.lst-kix_fy6y7gyjejoh-3>li:before{content:"\0025cf "}ul.lst-kix_opi66v2qdsjs-8{list-style-type:none}.lst-kix_q97rvvc7c69e-3>li:before{content:"\0025cf "}ul.lst-kix_opi66v2qdsjs-7{list-style-type:none}ul.lst-kix_opi66v2qdsjs-6{list-style-type:none}ul.lst-kix_opi66v2qdsjs-5{list-style-type:none}.lst-kix_fy6y7gyjejoh-1>li:before{content:"\0025cb "}ul.lst-kix_opi66v2qdsjs-4{list-style-type:none}.lst-kix_s3mi7ukxwiwf-7>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-7,lower-latin) ". "}.lst-kix_xv318blpjdo-8>li{counter-increment:lst-ctn-kix_xv318blpjdo-8}.lst-kix_emhp84jkv42c-7>li{counter-increment:lst-ctn-kix_emhp84jkv42c-7}.lst-kix_s3mi7ukxwiwf-5>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-5,lower-roman) ". "}.lst-kix_fy6y7gyjejoh-7>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-1.start{counter-reset:lst-ctn-kix_xv318blpjdo-1 0}.lst-kix_fy6y7gyjejoh-5>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-3>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-3,decimal) ". "}.lst-kix_emhp84jkv42c-3>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-3,lower-latin) ") "}.lst-kix_emhp84jkv42c-5>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-5,lower-latin) ") "}.lst-kix_emhp84jkv42c-1>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-1,upper-latin) ". "}.lst-kix_emhp84jkv42c-7>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-7,lower-latin) ") "}.lst-kix_1wulu3ra2vwv-4>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-4,decimal) ") "}.lst-kix_1wulu3ra2vwv-6>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-6,lower-roman) ") "}.lst-kix_s3mi7ukxwiwf-6>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-6}.lst-kix_1wulu3ra2vwv-8>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-8,lower-roman) ") "}ol.lst-kix_1wulu3ra2vwv-4.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-4 0}.lst-kix_gfromclascha-8>li:before{content:"\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-1{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-0{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-1{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-2{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-6{list-style-type:none}.lst-kix_sholqrhc62dh-2>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-3{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-0{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-4{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-5{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-6{list-style-type:none}.lst-kix_sholqrhc62dh-4>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-2>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-2,decimal) ". "}ul.lst-kix_7tib3jrzu2u9-3{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-8{list-style-type:none}.lst-kix_1wulu3ra2vwv-0>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-0,upper-roman) ". "}ul.lst-kix_7tib3jrzu2u9-7{list-style-type:none}ul.lst-kix_7tib3jrzu2u9-8{list-style-type:none}.lst-kix_emhp84jkv42c-2>li{counter-increment:lst-ctn-kix_emhp84jkv42c-2}ol.lst-kix_s3mi7ukxwiwf-4.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-4 0}.lst-kix_xv318blpjdo-1>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-1,upper-latin) ". "}.lst-kix_xv318blpjdo-0>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-0,upper-roman) ". "}ol.lst-kix_1wulu3ra2vwv-7.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-7 0}.lst-kix_1wulu3ra2vwv-1>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-1}.lst-kix_jkgkf1u9sy0c-2>li:before{content:"\0025a0 "}.lst-kix_jkgkf1u9sy0c-1>li:before{content:"\0025cb "}.lst-kix_opi66v2qdsjs-0>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-8>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-8,lower-roman) ") "}.lst-kix_xv318blpjdo-5>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-5,lower-latin) ") "}.lst-kix_jkgkf1u9sy0c-5>li:before{content:"\0025a0 "}.lst-kix_686a8e4qhxwx-3>li:before{content:"\0025cf "}.lst-kix_jkgkf1u9sy0c-6>li:before{content:"\0025cf "}.lst-kix_686a8e4qhxwx-4>li:before{content:"\0025cb "}.lst-kix_emhp84jkv42c-4>li{counter-increment:lst-ctn-kix_emhp84jkv42c-4}.lst-kix_xv318blpjdo-4>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-4,decimal) ") "}.lst-kix_s3mi7ukxwiwf-7>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-7}.lst-kix_q97rvvc7c69e-2>li:before{content:"\0025a0 "}.lst-kix_q8ok0mh9yyto-3>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-3,lower-latin) ") "}.lst-kix_686a8e4qhxwx-8>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-6>li{counter-increment:lst-ctn-kix_emhp84jkv42c-6}.lst-kix_q8ok0mh9yyto-2>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-2,decimal) ". "}ol.lst-kix_1wulu3ra2vwv-6.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-6 0}.lst-kix_q8ok0mh9yyto-6>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-6,lower-roman) ") "}.lst-kix_4m04az9jmmj8-2>li:before{content:"\0025a0 "}.lst-kix_4m04az9jmmj8-6>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-7>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-7,lower-latin) ") "}.lst-kix_4m04az9jmmj8-1>li:before{content:"\0025cb "}.lst-kix_4m04az9jmmj8-5>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-4>li{counter-increment:lst-ctn-kix_xv318blpjdo-4}.lst-kix_s3mi7ukxwiwf-0>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-0,decimal) ". "}ul.lst-kix_q97rvvc7c69e-4{list-style-type:none}ul.lst-kix_q97rvvc7c69e-3{list-style-type:none}ul.lst-kix_q97rvvc7c69e-6{list-style-type:none}.lst-kix_s3mi7ukxwiwf-8>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-8,lower-roman) ". "}ul.lst-kix_q97rvvc7c69e-5{list-style-type:none}ul.lst-kix_q97rvvc7c69e-8{list-style-type:none}ul.lst-kix_q97rvvc7c69e-7{list-style-type:none}.lst-kix_6qnkx7t1adn9-4>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-8>li:before{content:"\0025a0 "}.lst-kix_gfromclascha-3>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-6>li{counter-increment:lst-ctn-kix_xv318blpjdo-6}ul.lst-kix_q97rvvc7c69e-0{list-style-type:none}ul.lst-kix_q97rvvc7c69e-2{list-style-type:none}ul.lst-kix_q97rvvc7c69e-1{list-style-type:none}.lst-kix_q97rvvc7c69e-6>li:before{content:"\0025cf "}ol.lst-kix_s3mi7ukxwiwf-3.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-3 0}.lst-kix_fy6y7gyjejoh-2>li:before{content:"\0025a0 "}.lst-kix_fy6y7gyjejoh-6>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-1>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-1}ol.lst-kix_1wulu3ra2vwv-8.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-8 0}.lst-kix_s3mi7ukxwiwf-4>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-4,lower-latin) ". "}.lst-kix_5anu1k9tsyak-2>li:before{content:"\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-6.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-6 0}.lst-kix_emhp84jkv42c-2>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-2,decimal) ". "}.lst-kix_emhp84jkv42c-6>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-6,lower-roman) ") "}.lst-kix_686a8e4qhxwx-0>li:before{content:"\0025cf "}.lst-kix_1wulu3ra2vwv-3>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-3,lower-latin) ") "}.lst-kix_9jxnjym0nges-3>li:before{content:"\0025cf "}.lst-kix_opi66v2qdsjs-7>li:before{content:"\0025cb "}.lst-kix_1wulu3ra2vwv-7>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-7,lower-latin) ") "}ol.lst-kix_s3mi7ukxwiwf-5.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-5 0}.lst-kix_opi66v2qdsjs-3>li:before{content:"\0025cf "}.lst-kix_1wulu3ra2vwv-6>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-6}.lst-kix_gfromclascha-7>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-5>li:before{content:"\0025a0 "}.lst-kix_9jxnjym0nges-7>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-1>li:before{content:"\0025cb "}.lst-kix_sholqrhc62dh-5>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-0>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-4>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-4}.lst-kix_7tib3jrzu2u9-4>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-4{list-style-type:none}ol.lst-kix_s3mi7ukxwiwf-7.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-7 0}ol.lst-kix_xv318blpjdo-5{list-style-type:none}ol.lst-kix_xv318blpjdo-6{list-style-type:none}ol.lst-kix_xv318blpjdo-7{list-style-type:none}ol.lst-kix_xv318blpjdo-0{list-style-type:none}ol.lst-kix_xv318blpjdo-1{list-style-type:none}.lst-kix_7tib3jrzu2u9-1>li:before{content:"\0025cb "}.lst-kix_7tib3jrzu2u9-5>li:before{content:"\0025a0 "}ol.lst-kix_xv318blpjdo-2{list-style-type:none}ol.lst-kix_xv318blpjdo-3{list-style-type:none}.lst-kix_q8ok0mh9yyto-6>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-6}.lst-kix_7tib3jrzu2u9-2>li:before{content:"\0025a0 "}.lst-kix_7tib3jrzu2u9-3>li:before{content:"\0025cf "}ul.lst-kix_5anu1k9tsyak-7{list-style-type:none}ul.lst-kix_5anu1k9tsyak-8{list-style-type:none}ul.lst-kix_5anu1k9tsyak-5{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-0{list-style-type:none}ul.lst-kix_5anu1k9tsyak-6{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-1{list-style-type:none}ul.lst-kix_5anu1k9tsyak-3{list-style-type:none}ul.lst-kix_5anu1k9tsyak-4{list-style-type:none}ul.lst-kix_5anu1k9tsyak-1{list-style-type:none}.lst-kix_xv318blpjdo-3>li{counter-increment:lst-ctn-kix_xv318blpjdo-3}ul.lst-kix_5anu1k9tsyak-2{list-style-type:none}.lst-kix_7tib3jrzu2u9-8>li:before{content:"\0025a0 "}ul.lst-kix_sholqrhc62dh-6{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-6{list-style-type:none}ul.lst-kix_5anu1k9tsyak-0{list-style-type:none}ul.lst-kix_sholqrhc62dh-5{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-7{list-style-type:none}ul.lst-kix_sholqrhc62dh-4{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-8{list-style-type:none}ul.lst-kix_sholqrhc62dh-3{list-style-type:none}.lst-kix_7tib3jrzu2u9-6>li:before{content:"\0025cf "}ol.lst-kix_xv318blpjdo-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-2{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-3{list-style-type:none}.lst-kix_7tib3jrzu2u9-7>li:before{content:"\0025cb "}ul.lst-kix_sholqrhc62dh-8{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-4{list-style-type:none}ul.lst-kix_sholqrhc62dh-7{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-5{list-style-type:none}ul.lst-kix_sholqrhc62dh-2{list-style-type:none}ul.lst-kix_sholqrhc62dh-1{list-style-type:none}ul.lst-kix_sholqrhc62dh-0{list-style-type:none}.lst-kix_emhp84jkv42c-1>li{counter-increment:lst-ctn-kix_emhp84jkv42c-1}ol.lst-kix_1wulu3ra2vwv-5.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-5 0}.lst-kix_j42a5dwgnqyq-8>li:before{content:"\0025a0 "}ol.lst-kix_q8ok0mh9yyto-2.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-2 0}.lst-kix_5anu1k9tsyak-7>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-6>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-6>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-7>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-2.start{counter-reset:lst-ctn-kix_xv318blpjdo-2 0}.lst-kix_1wulu3ra2vwv-4>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-4}.lst-kix_5anu1k9tsyak-8>li:before{content:"\0025a0 "}ol.lst-kix_s3mi7ukxwiwf-2.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-2 0}ul.lst-kix_686a8e4qhxwx-4{list-style-type:none}ul.lst-kix_686a8e4qhxwx-3{list-style-type:none}ul.lst-kix_686a8e4qhxwx-2{list-style-type:none}.lst-kix_q8ok0mh9yyto-2>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-2}ul.lst-kix_686a8e4qhxwx-1{list-style-type:none}ul.lst-kix_686a8e4qhxwx-8{list-style-type:none}ul.lst-kix_686a8e4qhxwx-7{list-style-type:none}ul.lst-kix_686a8e4qhxwx-6{list-style-type:none}.lst-kix_6qnkx7t1adn9-0>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-5{list-style-type:none}.lst-kix_6qnkx7t1adn9-1>li:before{content:"\0025cb "}.lst-kix_6qnkx7t1adn9-3>li:before{content:"\0025cf "}ul.lst-kix_686a8e4qhxwx-0{list-style-type:none}.lst-kix_6qnkx7t1adn9-2>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-0>li:before{content:"\0025cf "}.lst-kix_j42a5dwgnqyq-2>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-1>li:before{content:"\0025cb "}.lst-kix_j42a5dwgnqyq-5>li:before{content:"\0025a0 "}.lst-kix_j42a5dwgnqyq-4>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-0.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-0 0}ol.lst-kix_q8ok0mh9yyto-7.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-7 0}ol.lst-kix_emhp84jkv42c-3.start{counter-reset:lst-ctn-kix_emhp84jkv42c-3 0}.lst-kix_j42a5dwgnqyq-3>li:before{content:"\0025cf "}.lst-kix_emhp84jkv42c-8>li{counter-increment:lst-ctn-kix_emhp84jkv42c-8}ol.lst-kix_1wulu3ra2vwv-3.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-3 0}ol.lst-kix_q8ok0mh9yyto-0.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-0 0}.lst-kix_6qnkx7t1adn9-5>li:before{content:"\0025a0 "}.lst-kix_6qnkx7t1adn9-7>li:before{content:"\0025cb "}ol.lst-kix_s3mi7ukxwiwf-0.start{counter-reset:lst-ctn-kix_s3mi7ukxwiwf-0 0}.lst-kix_86hsx13ssqid-8>li:before{content:"\0025a0 "}.lst-kix_s3mi7ukxwiwf-0>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-0}.lst-kix_5anu1k9tsyak-3>li:before{content:"\0025cf "}.lst-kix_5anu1k9tsyak-5>li:before{content:"\0025a0 "}.lst-kix_1wulu3ra2vwv-8>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-8}.lst-kix_5anu1k9tsyak-1>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-6{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-5{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-3{list-style-type:none}.lst-kix_9jxnjym0nges-0>li:before{content:"\0025cf "}ol.lst-kix_q8ok0mh9yyto-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-7{list-style-type:none}ol.lst-kix_emhp84jkv42c-0.start{counter-reset:lst-ctn-kix_emhp84jkv42c-0 0}.lst-kix_opi66v2qdsjs-8>li:before{content:"\0025a0 "}ol.lst-kix_q8ok0mh9yyto-2{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-1{list-style-type:none}.lst-kix_9jxnjym0nges-2>li:before{content:"\0025a0 "}ol.lst-kix_q8ok0mh9yyto-0{list-style-type:none}.lst-kix_opi66v2qdsjs-4>li:before{content:"\0025cb "}.lst-kix_opi66v2qdsjs-2>li:before{content:"\0025a0 "}.lst-kix_opi66v2qdsjs-6>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-3>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-3}.lst-kix_1wulu3ra2vwv-3>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-3}.lst-kix_86hsx13ssqid-0>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-6>li:before{content:"\0025cf "}.lst-kix_9jxnjym0nges-4>li:before{content:"\0025cb "}.lst-kix_9jxnjym0nges-8>li:before{content:"\0025a0 "}.lst-kix_86hsx13ssqid-4>li:before{content:"\0025cb "}.lst-kix_9jxnjym0nges-6>li:before{content:"\0025cf "}.lst-kix_86hsx13ssqid-2>li:before{content:"\0025a0 "}ul.lst-kix_9jxnjym0nges-2{list-style-type:none}.lst-kix_xv318blpjdo-2>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-2,decimal) ". "}ul.lst-kix_9jxnjym0nges-1{list-style-type:none}ul.lst-kix_9jxnjym0nges-4{list-style-type:none}ul.lst-kix_9jxnjym0nges-3{list-style-type:none}ul.lst-kix_9jxnjym0nges-6{list-style-type:none}ul.lst-kix_9jxnjym0nges-5{list-style-type:none}ul.lst-kix_9jxnjym0nges-8{list-style-type:none}ul.lst-kix_9jxnjym0nges-7{list-style-type:none}.lst-kix_xv318blpjdo-2>li{counter-increment:lst-ctn-kix_xv318blpjdo-2}.lst-kix_s3mi7ukxwiwf-3>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-3}ol.lst-kix_xv318blpjdo-0.start{counter-reset:lst-ctn-kix_xv318blpjdo-0 0}.lst-kix_jkgkf1u9sy0c-0>li:before{content:"\0025cf "}.lst-kix_jkgkf1u9sy0c-3>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-0>li{counter-increment:lst-ctn-kix_xv318blpjdo-0}ol.lst-kix_emhp84jkv42c-1.start{counter-reset:lst-ctn-kix_emhp84jkv42c-1 0}.lst-kix_jkgkf1u9sy0c-4>li:before{content:"\0025cb "}ol.lst-kix_1wulu3ra2vwv-2.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-2 0}.lst-kix_686a8e4qhxwx-6>li:before{content:"\0025cf "}.lst-kix_s3mi7ukxwiwf-5>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-5}.lst-kix_jkgkf1u9sy0c-7>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-7>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-7,lower-latin) ") "}.lst-kix_686a8e4qhxwx-5>li:before{content:"\0025a0 "}.lst-kix_xv318blpjdo-6>li:before{content:"(" counter(lst-ctn-kix_xv318blpjdo-6,lower-roman) ") "}.lst-kix_q8ok0mh9yyto-7>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-7}ul.lst-kix_86hsx13ssqid-3{list-style-type:none}ul.lst-kix_86hsx13ssqid-2{list-style-type:none}.lst-kix_xv318blpjdo-3>li:before{content:"" counter(lst-ctn-kix_xv318blpjdo-3,lower-latin) ") "}ul.lst-kix_86hsx13ssqid-5{list-style-type:none}ul.lst-kix_86hsx13ssqid-4{list-style-type:none}.lst-kix_686a8e4qhxwx-1>li:before{content:"\0025cb "}ul.lst-kix_86hsx13ssqid-1{list-style-type:none}.lst-kix_jkgkf1u9sy0c-8>li:before{content:"\0025a0 "}ul.lst-kix_86hsx13ssqid-0{list-style-type:none}.lst-kix_686a8e4qhxwx-2>li:before{content:"\0025a0 "}ul.lst-kix_fy6y7gyjejoh-0{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-1{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-2{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-3{list-style-type:none}ul.lst-kix_86hsx13ssqid-7{list-style-type:none}ul.lst-kix_86hsx13ssqid-6{list-style-type:none}ul.lst-kix_86hsx13ssqid-8{list-style-type:none}.lst-kix_4m04az9jmmj8-8>li:before{content:"\0025a0 "}ul.lst-kix_fy6y7gyjejoh-8{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-4{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-5{list-style-type:none}.lst-kix_4m04az9jmmj8-7>li:before{content:"\0025cb "}ul.lst-kix_fy6y7gyjejoh-6{list-style-type:none}ul.lst-kix_fy6y7gyjejoh-7{list-style-type:none}ol.lst-kix_1wulu3ra2vwv-1.start{counter-reset:lst-ctn-kix_1wulu3ra2vwv-1 0}.lst-kix_q97rvvc7c69e-1>li:before{content:"\0025cb "}.lst-kix_q97rvvc7c69e-0>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-1>li:before{content:"" counter(lst-ctn-kix_q8ok0mh9yyto-1,upper-latin) ". "}.lst-kix_4m04az9jmmj8-0>li:before{content:"\0025cf "}.lst-kix_q8ok0mh9yyto-4>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-4,decimal) ") "}.lst-kix_emhp84jkv42c-0>li{counter-increment:lst-ctn-kix_emhp84jkv42c-0}.lst-kix_q8ok0mh9yyto-5>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-5,lower-latin) ") "}.lst-kix_q8ok0mh9yyto-5>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-5}.lst-kix_4m04az9jmmj8-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-1>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-1}.lst-kix_q8ok0mh9yyto-8>li:before{content:"(" counter(lst-ctn-kix_q8ok0mh9yyto-8,lower-roman) ") "}.lst-kix_4m04az9jmmj8-3>li:before{content:"\0025cf "}.lst-kix_xv318blpjdo-7>li{counter-increment:lst-ctn-kix_xv318blpjdo-7}ol.lst-kix_emhp84jkv42c-5.start{counter-reset:lst-ctn-kix_emhp84jkv42c-5 0}ol.lst-kix_xv318blpjdo-7.start{counter-reset:lst-ctn-kix_xv318blpjdo-7 0}.lst-kix_gfromclascha-1>li:before{content:"\0025cb "}.lst-kix_86hsx13ssqid-7>li:before{content:"\0025cb "}.lst-kix_q8ok0mh9yyto-0>li{counter-increment:lst-ctn-kix_q8ok0mh9yyto-0}ol.lst-kix_q8ok0mh9yyto-3.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-3 0}.lst-kix_1wulu3ra2vwv-7>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-7}.lst-kix_6qnkx7t1adn9-6>li:before{content:"\0025cf "}.lst-kix_gfromclascha-5>li:before{content:"\0025a0 "}.lst-kix_fy6y7gyjejoh-0>li:before{content:"\0025cf "}ol.lst-kix_emhp84jkv42c-8.start{counter-reset:lst-ctn-kix_emhp84jkv42c-8 0}ol.lst-kix_q8ok0mh9yyto-6.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-6 0}.lst-kix_q97rvvc7c69e-4>li:before{content:"\0025cb "}.lst-kix_xv318blpjdo-5>li{counter-increment:lst-ctn-kix_xv318blpjdo-5}.lst-kix_5anu1k9tsyak-4>li:before{content:"\0025cb "}.lst-kix_s3mi7ukxwiwf-8>li{counter-increment:lst-ctn-kix_s3mi7ukxwiwf-8}.lst-kix_s3mi7ukxwiwf-6>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-6,decimal) ". "}.lst-kix_fy6y7gyjejoh-8>li:before{content:"\0025a0 "}.lst-kix_1wulu3ra2vwv-5>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-5}.lst-kix_5anu1k9tsyak-0>li:before{content:"\0025cf "}.lst-kix_fy6y7gyjejoh-4>li:before{content:"\0025cb "}ol.lst-kix_xv318blpjdo-4.start{counter-reset:lst-ctn-kix_xv318blpjdo-4 0}.lst-kix_s3mi7ukxwiwf-2>li:before{content:"" counter(lst-ctn-kix_s3mi7ukxwiwf-2,lower-roman) ". "}.lst-kix_q97rvvc7c69e-8>li:before{content:"\0025a0 "}.lst-kix_emhp84jkv42c-4>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-4,decimal) ") "}.lst-kix_emhp84jkv42c-5>li{counter-increment:lst-ctn-kix_emhp84jkv42c-5}ol.lst-kix_xv318blpjdo-5.start{counter-reset:lst-ctn-kix_xv318blpjdo-5 0}.lst-kix_emhp84jkv42c-0>li:before{content:"" counter(lst-ctn-kix_emhp84jkv42c-0,upper-roman) ". "}.lst-kix_emhp84jkv42c-8>li:before{content:"(" counter(lst-ctn-kix_emhp84jkv42c-8,lower-roman) ") "}.lst-kix_9jxnjym0nges-1>li:before{content:"\0025cb "}ol.lst-kix_q8ok0mh9yyto-5.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-5 0}.lst-kix_1wulu3ra2vwv-5>li:before{content:"(" counter(lst-ctn-kix_1wulu3ra2vwv-5,lower-latin) ") "}.lst-kix_opi66v2qdsjs-1>li:before{content:"\0025cb "}.lst-kix_opi66v2qdsjs-5>li:before{content:"\0025a0 "}ol.lst-kix_emhp84jkv42c-7.start{counter-reset:lst-ctn-kix_emhp84jkv42c-7 0}ul.lst-kix_jkgkf1u9sy0c-4{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-5{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-6{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-7{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-8{list-style-type:none}ol.lst-kix_xv318blpjdo-6.start{counter-reset:lst-ctn-kix_xv318blpjdo-6 0}.lst-kix_1wulu3ra2vwv-0>li{counter-increment:lst-ctn-kix_1wulu3ra2vwv-0}ol.lst-kix_emhp84jkv42c-6.start{counter-reset:lst-ctn-kix_emhp84jkv42c-6 0}.lst-kix_9jxnjym0nges-5>li:before{content:"\0025a0 "}ul.lst-kix_6qnkx7t1adn9-8{list-style-type:none}ol.lst-kix_q8ok0mh9yyto-4.start{counter-reset:lst-ctn-kix_q8ok0mh9yyto-4 0}ul.lst-kix_6qnkx7t1adn9-7{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-6{list-style-type:none}.lst-kix_86hsx13ssqid-3>li:before{content:"\0025cf "}ul.lst-kix_6qnkx7t1adn9-5{list-style-type:none}.lst-kix_sholqrhc62dh-3>li:before{content:"\0025cf "}ul.lst-kix_6qnkx7t1adn9-4{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-3{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-0{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-2{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-1{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-1{list-style-type:none}.lst-kix_1wulu3ra2vwv-1>li:before{content:"" counter(lst-ctn-kix_1wulu3ra2vwv-1,upper-latin) ". "}ul.lst-kix_jkgkf1u9sy0c-2{list-style-type:none}ul.lst-kix_6qnkx7t1adn9-0{list-style-type:none}ul.lst-kix_jkgkf1u9sy0c-3{list-style-type:none}ol{margin:0;padding:0}table td,table th{padding:0}.c7{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}.c18{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:105.8pt;border-top-color:#000000;border-bottom-style:solid}.c6{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:92.2pt;border-top-color:#000000;border-bottom-style:solid}.c24{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:1pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:1pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:270pt;border-top-color:#000000;border-bottom-style:solid}.c33{color:#695d46;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:14pt;font-family:"PT Sans Narrow";font-style:normal}.c34{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Arial";font-style:normal}.c17{color:#666666;font-weight:400;text-decoration:underline;vertical-align:baseline;font-size:11pt;font-family:"Trebuchet MS";font-style:normal}.c2{color:#695d46;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Open Sans";font-style:normal}.c21{color:#ff5e0e;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:18pt;font-family:"PT Sans Narrow";font-style:normal}.c16{color:#695d46;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"Open Sans";font-style:normal}.c32{color:#695d46;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:42pt;font-family:"PT Sans Narrow";font-style:normal}.c4{padding-top:6pt;padding-bottom:0pt;line-height:1.2;orphans:2;widows:2;text-align:left}.c30{padding-top:8pt;padding-bottom:0pt;line-height:1.2;page-break-after:avoid;text-align:left}.c19{padding-top:24pt;padding-bottom:0pt;line-height:1.3;page-break-after:avoid;text-align:left}.c27{text-decoration:none;vertical-align:baseline;font-size:12pt;font-style:normal}.c20{padding-top:16pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c22{margin-left:36pt;border-spacing:0;border-collapse:collapse;margin-right:auto}.c1{padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}.c25{font-size:18pt;font-family:"PT Sans Narrow";color:#ff5e0e;font-weight:700}.c35{border-spacing:0;border-collapse:collapse;margin-right:auto}.c11{font-family:"Open Sans";color:#1155cc;font-weight:400;text-decoration:underline}.c0{margin-left:72pt;border-spacing:0;border-collapse:collapse;margin-right:auto}.c23{text-decoration:none;vertical-align:baseline;font-size:16pt;font-style:normal}.c28{padding-top:0pt;padding-bottom:0pt;line-height:1.2;text-align:left}.c14{font-family:"PT Sans Narrow";color:#008575;font-weight:400}.c9{font-family:"Open Sans";color:#695d46;font-weight:400}.c31{font-family:"Open Sans";color:#695d46;font-weight:700}.c29{orphans:2;widows:2}.c15{max-width:468pt;padding:72pt 72pt 72pt 72pt}.c10{margin-left:36pt;padding-left:0pt}.c13{padding:0;margin:0}.c3{color:inherit;text-decoration:inherit}.c12{margin-left:72pt;padding-left:0pt}.c5{background-color:#ffffff}.c8{height:0pt}.c26{height:11pt}.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}li{color:#000000;font-size:11pt;font-family:"Arial"}p{margin:0;color:#000000;font-size:11pt;font-family:"Arial"}h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"Arial";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left} 

Oracle Fusion Middleware Deployments Using Docker Swarm Part I

Overview

This is the first in a series of blogs that describe how to build a Fusion Middleware (FMW) Cluster that runs as a number of Docker images that run in docker containers.  These containers are coordinated using Docker Swarm and can be deployed to a single host machine or multiple hosts.  This simplifies the task of building FMW clusters and also makes it easier to scale them in and out (adding or subtracting host machines) as well as up and down (using bigger or smaller host machines).

This blog uses Oracle Service Bus as an FMW product but the principles are applicable to other FMW products.

In this entry we will explain the concepts of using Docker Swarm 1.12 to create a Fusion Middleware Cluster.  We will explain how to set up a minimal Linux machine to run a docker engine and prepare it to start building out a Fusion Middleware Cluster running on Swarm.  In future entries we will cover creating a database docker image that we will use to support Fusion Middleware.  Other entries will explain how to create a docker image to run Fusion Middleware and create a cluster in swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

Goals
  1. Create FMW Cluster 12.2 that runs on Docker Swarm 1.12
  2. User Swarm to support scaling in/out of the FMW cluster.
Introduction

FMW deployments can be complex to setup and configure.  The Enterprise Deployment Guide for SOA Suite 12.2.1 has a lots of steps to follow within its 382 pages.  This is taken care of for you when you subscribe to FMW on the cloud, such as Oracle SOA Cloud Service.  However many companies still run their FMW deployments in on premise systems and are not yet ready to move to the Oracle Cloud Machine, which provides a private cloud environment that looks just like the public cloud.

Docker provides a lightweight container in which to run software.  Multiple docker images can be coordinated by Docker Swarm to form a cluster.  Each image runs in a docker container which virtualizes the resources used by the image, making it possible for multiple images to execute on a single machines or for images to to be distributed across multiple machines.  In either case Swarm helps to manage the cluster of machines.

There are a number of blog entries that explain how to use FMW with docker but most of them only use the developer install, which can run in a single docker container.  A more normal FMW installation has a separate database and multiple managed servers.  There a few blog entries that describe using this, but they use old versions of docker and there are now better ways of implementing this.  We use the latest versions of docker and swarm to show to create FMW clusters running on docker swarm in a configuration that is production ready.

Over this and the next few blog entries I have partnered with my colleague Shuxuan Nie to describe how to run a highly FMW deployment on top of Docker.  We have used Oracle Service Bus as an example FMW deployment but the principles can be applied to any FMW deployment.

AuthorsShuxuan ‘Judy’ Nie029.JPG

Holding a masters degree in computer science from Beijing University of Aeronautics and Astronautics Shuxuan Nie is a senior principal devops engineer working on Oracle's forthcoming Adaptive Intelligence Applications Cloud Service (AIA).  Prior to joining Oracle, Shuxuan worked as a systems architect at Australian based Oracle partner Rubicon Red.  There she specialized in helping customers build highly available FMW environments on both physical hardware and VMs.  She also contributed to Rubicon Reds Myst platform provisioning and continuous delivery tool.  In her current position she works with Oracle Container Cloud Service (which provides docker in the cloud) to provide deployment environments for the AIA cloud service.

Antony ReynoldsIMG_7082.JPG

A graduate of Bristol University Antony Reynolds is a Product Strategy Director in Oracle’sIntegration Products group where he works with Oracle Integration Cloud Service (ICS).  In addition to working with ICS he also helps customers upgrade to the latest SOA Suite releases, working closely with some of the largest users of SOA Suite in the world.  A blogger and author of several books on Oracle SOA Suite Antony was attracted to Docker by its lightweight container model and power of abstraction.

Architecture

FMW and WebLogic rely on a database and an Admin Server.  This leads us to require the following Docker containers to implement FMW on Docker.  Each docker container runs a docker image.  The beauty of Docker is that these containers can be deployed together on a single machine or distributed across multiple machines without any changes to their configuration.

Docker Containers for FMW Cluster

We could deploy all the containers on a single machine as shown below.


Docker Containers Running FMW on a Single Powerful Machine

Alternatively we can distribute them across several machines.

Docker Containers Running FMW on Multiple Machines

Of course we could choose a combination of the two.


Docker Containers Running FMW on Multiple Machines, some Running Multiple Containers

Note that from the docker containers perspective each thinks it is running in its own physical machine, although it is actually running in a docker container on a physical or virtual machines and may be sharing that machine with other running docker containers.

Initially we deployed all the containers on a single machine, once we had that working then we deployed our contains to multiple machines.

Docker & Swarm for FMW People

We are used to running FMW on multiple virtual machines.  This is used extensively on Oracle Exalogic for example, as well as the large number of customers who run FMW on Oracle Virtual Machine (OVM) or Dell’s VMWare.  The problem with VMs is that each virtual machine has a whole operating system that is running on top of the VM hypervisor.  This includes the kernel and file system which makes a VM a relatively heavyweight container.

In contrast to a Virtual Machine a Docker Container just abstracts the CPU, memory, network and file system of the underlying operating system.  It does not run a separate kernel, instead deferring most of the execution to the underlying machine,m physical or virtual.  This results in a lighter weight container that still has the benefits of isolation and abstraction that a VM provides.  This is why people are excited about using docker containers to host services, particularly micro services, that would be too expensive to dedicate a VM to.

A docker image is a specific set of binaries and configuration that is targeted to run inside a docker container.  This could be an Oracle database, a WebLogic managed server or a WebLogic admin server.

So let's translate FMW / WebLogic deployment terms onto docker concepts.  Note that this is a conceptual mapping, but is not an exact equivalent.

FMW ConceptDocker ConceptNotes

Machine

Docker Engine

Docker engine can run multiple docker containers on a single host.

Cluster

Swarm Cluster

Docker swarm clusters can be used to run multiple instances of an image, providing a great platform to run an FMW cluster on top of.

Node Manager

Swarm Manager

Manages the swarm cluster and decides on which docker engine to run a particular container.  Note that this function is split between Weblogic Console and Node Manager in WebLogic.

Binaries and Domain Configuration

Docker Image

A docker image represents a set of code and associated configuration packaged up for execution in a docker container.

Server instance

Docker Container

A running image instance, parameters can be used to customize the instance, so that the same image can be used to run an Admin server or a Managed Server.

Managed WebLogic Server in a Cluster

Swarm Service

A swarm service is a generic service.  A WebLogic Admin Server would be a Swarm Service with a single instance.  A Managed Server would be a Swarm Service that allowed multiple instances.

Note that although FMW allows multiple servers to be targeted at a single machine, docker achieves this through two level, a docker container runs a single server, but a docker engine can run multiple containers..  This is not as limiting as it sounds because a docker container is much lighter than a VM and so it is easy to run multiple docker containers on a docker engine running on a single VM or physical machine with minimal overhead on top of the requirements of the WebLogic server.

FMW for Docker People

Oracle Fusion Middleware is the name for Oracle’s middleware products.  These are powerful proprietary middleware products that are used by customers throughout the world to; run applications and portals, integrate systems, provide business analytics and secure their environments, amongst other things.

Although many of these products are available in free developer editions they still require acknowledgement of the Oracle license and as such cannot be distributed as part of a docker image.  These products can also be large, often requiring several gigabytes of download before being installed.  These factors when combined have led Oracle and others to provide dockerfiles to create docker images that install and configure Oracle products into provided base images.  The software to be installed must be provided separately from the dockerfiles.  The created docker images can then stored in a company specific docker repository.  These docker images can then be used in the same way as any other docker image.  This is the approach that will be followed in this document.

Base VM Image

We built on a headless and minimum rpm installed Oracle Linux 7 VM that has a download footprint of only 1GB.  The instructions provided are applicable to other OL 7 and RHEL 7 environments.  With minimal changes the same instructions should also apply to other Linux releases such as Ubuntu.  The image is configured and set up with a docker environment.

The VM is used as our base platform to run docker.

Downloading VM

Because of licensing restrictions we are unable to provide a VM for download.  However if you are an Oracle employee then please contact us and we will point you at a downloadable image.

Image Pre-Requisites

If you don’t use the provided image then the following is needed of an OL 7 image.

  • As root run yum util to enable UEKR4 and addons in yum repo

yum -y install yum-utils

yum-config-manager --enable ol7_addons

yum-config-manager --enable ol7_UEKR4

yum-config-manager --disable ol7_UEKR3_latest

  • Install 4.x kernel and reboot the system, selecting the UEK R4 kernel if this is not the default boot kernel

yum update

systemctl reboot

  • Install minimum required packages

yum install wget unzip net-tools

  • Provide btrfs file system as storage driver used by docker instead of default device mapper.  We will refer to the root of the btrfs file system as /var/lib/docker
  • Use yum to install btrfs-progs package

root@docker-base ~]# yum install btrfs-progs

  • Create btrfs file system on the device, such as /dev/sdb in this example.

root@docker-base ~]# mkfs.btrfs /dev/sdb

  • Display UUID of the device via blkid command

[root@docker-base ~]# blkid /dev/sdb

/dev/sdb: UUID="fe6bf7a2-34fc-4800-af2b-da19d2d8db6d" UUID_SUB="e955087d-80b5-4051-bb28-ed71edb9cea4" TYPE="btrfs"

  • Create the config file /etc/systemd/system/var-lib-docker.mount with below content, replace your UUID value:

[Unit]

Description = Docker Image Store

[Mount]

What = UUID=<Your UUID Value>

Where = /var/lib/docker

Type = btrfs

[Install]

WantedBy = multi-user.target

  • The above file defines systemd users to mount the file system on /var/lib/docker, need to create this folder if this is the fresh installation

[root@docker-base ~]# mkdir /var/lib/docker

  • Enable var-lib-docker.mount target and mount the file system

[root@docker-base ~]# systemctl enable var-lib-docker.mount

[root@docker-base ~]# systemctl start var-lib-docker.mount

  • Create the  /etc/systemd/system/docker.service.d/var-lib-docker-mount.conf to tell systemd to mount the /var/lib/docker file system by using the var-lib-docker.mount target before starting the docker service

[Unit]

Requires=var-lib-docker.mount

After=var-lib-docker.mount

  • Set the SELinux mode to permissive or disable SELinux. In this demo, we disable SELinux in /etc/selinux/config.  We do this to avoid having to configure selinux policies to run docker.  Your Linux security team may require you to set up an appropriate policy.

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

                The above change requires to reboot the system

[root@docker-base ~]# systemctl reboot

  • Install docker engine, in our demo we install latest version 1.12

[root@docker-base ~]# yum install docker-engine

  • Start docker service and set to auto start

[root@docker-base ~]# systemctl start docker

[root@docker-base ~]# systemctl enable docker

  • Check docker running status

[root@docker-base ~]# systemctl status docker

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)

  Drop-In: /etc/systemd/system/docker.service.d

           └─docker-network.conf, docker-sysconfig.conf, http-proxy.conf, var-lib-docker-mount.conf

   Active: active (running) since Sun 2017-01-08 12:16:38 PST; 52min ago

     Docs: https://docs.docker.com

 Main PID: 871 (dockerd)

   Memory: 64.7M

   CGroup: /system.slice/docker.service

           ├─ 871 dockerd --selinux-enabled

           └─1020 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0...

  • Display docker information, you can verify the version and btrfs storage driver

[root@docker-base ~]# docker info

Containers: 0

 Running: 0

 Paused: 0

 Stopped: 0

Images: 0

Server Version: 1.12.2

Storage Driver: btrfs

 Build Version: Btrfs v3.19.1

 Library Version: 101

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

 Volume: local

 Network: null host bridge overlay

Swarm: inactive

Runtimes: runc

Default Runtime: runc

Security Options: seccomp

Kernel Version: 4.1.12-61.1.24.el7uek.x86_64

Operating System: Oracle Linux Server 7.3

OSType: linux

Architecture: x86_64

CPUs: 1

Total Memory: 4.133 GiB

Name: docker-base.us.oracle.com

ID: ELNP:SGZ6:MUMH:FWOC:3BZ2:NZOA:KBKQ:3RT2:ADS4:AX5T:M5YT:RLXR

Docker Root Dir: /var/lib/docker

Debug Mode (client): false

Debug Mode (server): false

Registry: https://index.docker.io/v1/

Insecure Registries:

 127.0.0.0/8

  • Create oracle user
  • useradd oracle
  • Add oracle user to docker group
  • usermod -a -G docker oracle
Summary

In this entry we have introduced the concept of using Docker Swarm 1.12 to create a Fusion Middleware Cluster.  We have explained how to set up a minimal Linux machine to run a docker engine and prepared it to start building out a Fusion Middleware Cluster running on Swarm.  In our next entry we will cover creating a database docker image that we will use in later entries to support Fusion Middleware.  Later entries will explain how to install Fusion Middleware and create a cluster in swarm mode by defining swarm services for the database, WebLogic Admin Server and WebLogic managed servers.

Pages