Uniquely Stony Plain Municipal Development Plan 2024

Stony Plain, Alberta

This is the exact embedded text of the captured official document. Snapshot 6bd9598fdf20 · verified 2026-06-08 · original document · archived snapshot · unofficial consolidation, the official version is held by the municipal clerk.

Uniquely Stony Plain Municipal Development Plan 2024 We Thank You Uniquely Stony Plain: Municipal Development Plan (MDP) 2024 developed through collaboration with Stony Plain residents and stakeholders. We kindly thank all participants for giving their time and sharing their views to make Stony Plain a better place. We also thank MXD Development Strategists Ltd., C.J. Reddy and Stantec for their technical advice. Contents OUR PLAN 6 Perspective 7 Purpose 8 Process 9 OUR COMMUNITY 10 Regional Context 11 Figure 1: Regional Context 12 History 13 Present 14 Community Sustainability and Future Growth 15 OUR VISION 16 THE THEMES 17 Environmental Responsibility 18 Community Development 19 Economic Opportunity 20 Supportive Infrastructure 21 Governance and Partners 22 THE POLICIES 23 ENVIRONMENTAL RESPONSIBILITY 24 Direction 1.1 Recognize the Town's commitment to the health of our environment 24 Direction 1.2 Enable innovative renewable energy and water reduction strategies 26 Direction 1.3 Improve solid waste management 27 Direction 1.4 Avoid noise impacts and unwanted light 27 Direction 1.5 Address issues of community resiliency 28 COMMUNITY DEVELOPMENT 29 Direction 2.1 Encourage a diversity of non-market affordable housing options 30 Direction 2.2 Ensure community culture is rooted in history and committed to being inclusive, dynamic and diverse 31 Direction 2.3 Provide a comprehensive leisure system for a socially connected and healthy community 32 ECONOMIC OPPORTUNITY 33 Direction 3.1 Expand and diversify the Town's economic base 33 Direction 3.2 Implement marketing strategies 34 Direction 3.3 Enhance the viability of the historic downtown 34 GROWTH MANAGEMENT AND LAND USE PLAN 43 Growth Pattern and Target Densities 44 Figure 2: Urban Growth Pattern 45 Land Requirements for Future Development 46 Figure 3: Growth Management Strategy 48 Land Use Policies 49 Figure 4: Future Land Use 50 6.1 General 51 6.2 Open Space and Parks 54 Figure 5: Open Space and Parks 56 6.3 Areas of Stability 57 6.4 Areas of Transition 58 Figure 6: Areas of Transition 60 6.5 Areas of New Residential Development 61 6.6 Employment Lands 66 6.7 Institutional Lands 69 6.8 Areas for Future Urban Development 70 IMPLEMENTATION 72 How we use the MDP 73 Amendments and Monitoring 75 SUPPORTIVE INFRASTRUCTURE 35 Direction 4.1 Adopt a 'complete streets' philosophy for street design 35 Direction 4.2 Promote alternative transportation as a key part of the overall transportation strategy 36 Direction 4.3 Prepare for transit 36 Direction 4.4 Maintain our existing services 37 Direction 4.5 Provide services and utilities in newly developing areas 38 GOVERNANCE AND PARTNERS 39 Direction 5.1 Making the most of our financial capability 39 Direction 5.2 Governing responsibly 40 Direction 5.3 Fostering interaction and engaging the community 40 Direction 5.4 Working with neighbours and stakeholders 41 Direction 5.5 Regional partnerships 42 Contents THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 6 Our Plan Together, we created a comprehensive roadmap for our community for the next 30 years. Our MDP guides land use and development based on our vision, themes and policies to build a complete, sustainable community. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 7 Perspective The Municipal Government Act (MGA) (Section 632) requires the Town of Stony Plain to have a MDP, a type of statutory plan. The MDP must address future development, infrastructure and land use, and how municipal services and facilities are provided. It may also address other important community issues, such as environmental matters and the physical, social or economic development of a municipality. The Edmonton Metropolitan Region Board (EMRB) has the authority under Ministerial Order to approve statutory plans to ensure compliance with the EMRB Growth Plan: Re-imagine. Plan. Build. The MDP is coordinated with provincial and regional planning initiatives, our neighbours and stakeholders. Our MDP will be amended to align with overarching policy documents, such as the EMRB Growth Plan and Regional Agricultural Master Plan as they are updated and the North Saskatchewan Regional Plan as it is developed. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 8 Purpose The MDP provides an inclusive policy framework to guide decisions for establishing priorities and delivering effective governance. The policies within our MDP are either suggestive, using "may", or mandatory, using "will", and are intended to be applied over the course of this plan to implement our long-term vision. Through a lens of community sustainability, our MDP integrates infrastructure needs with proposed land use requirements, provides a roadmap for sustainable growth management and estimates land requirements for the next 30 years. It outlines 'what' goes 'where' and the sequence that development occurs by defining areas of stability, transition and new growth. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 9 Process We created the MDP after a comprehensive public engagement process that analyzed potential options and refined solutions. We chose a responsible process and engaged the public and stakeholders to discuss the community's future. Consultation was multi-faceted, and information was shared through community news and feedback. Face-to-face discussions were held throughout the planning process. The Vision and Themes grew from discussions in 2013 on what the community liked about Stony Plain and envisioned for the future. The MDP has undergone a number of updates to address new information, growth of the community, and the introduction of new plans and policies by the Town as well as regional and provincial organizations. Updates include: - 2019 - underwent a technical analysis and policy update to ensure compliance with the updated MGA and EMRB Growth Plan, and to align with new municipal plans and perspectives; and - 2024 - expanded agricultural related policies and direction to align with the EMRB Regional Agricultural Master Plan. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 10 Our Community We are a unique, connected community that is proud of our storied history and a champion of community values. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 11 Regional Context The town of Stony Plain is located on lands within Treaty Six territory, which have historically and continue to be home to members of First Nations, who have shaped the town's history and contribute to its present and future. Our community started as a service centre for the surrounding agricultural lands and has grown to become a municipality with its own character based on its rich heritage and forward looking vision. Stony Plain is located approximately 17 km west of Edmonton, sharing an eastern boundary with the City of Spruce Grove, and sharing north, south and west boundaries with Parkland County. Stony Plain is identified as a Metropolitan Area within the greater Edmonton Metropolitan Region. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 12 Parkland County Leduc County Strathcona County Sturgeon County £ ¤ 2 £ ¤ 2 £ ¤ 21 £ ¤ 16 £ ¤ 15 £ ¤ 28 £ ¤ 16 £ ¤ 16A £ ¤ 216 Figure 1: Regional Context j Legend Town of Stony Plain Urban Municipality Rural Municipality Edmonton Metropolitan Region Board Boundary Metropolitan Core Metropolitan Area Water Body Major Highway Minor Highway Figure 1: Regional Context THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 13 History Our history began in 1881 when the first homestead was established. Stony Plain was incorporated in 1907 with a population of more than 1000 people. Over the next 60 years, Stony Plain grew slowly to approximately 1500 people. Later, we experienced rapid growth due to Alberta's significant natural resource development and our strong transportation connections to Edmonton. By 2011, we had more than 15 000 residents, growing to a population of nearly 18 000 in 2021. We have developed as a community with places to work, live and play. Our community has a balance of all ages, income levels and family types. We have a range of housing types, prices and household orientations. We offer housing suitable for young families, older families and seniors. Stony Plain has a stable employment base with businesses along Main Street, major arterial roads and Highways 16A and 779. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 14 Present People see Stony Plain as a highly livable community due to its social and cultural opportunities. Our vibrant Main Street is the heart of the town -- with murals paying homage to our rich heritage. There is a wide range of recreation and leisure facilities, including: - the Multicultural Heritage Centre and Stony Plain & Parkland Pioneer Museum; - the Stony Plain Community Centre and Heritage Park; - Rotary Park and Shikaoi Park; - an extensive multi-use trail system and Willow Park Natural Area; - the Stony Plain Golf Course and Off-leash Dog Park; and - the Recreation and Cultural Campus and TransAlta Tri Leisure Centre. Our community is welcoming and friendly, with a strong social fabric supported by exceptional volunteerism. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 15 Community Sustainability and Future Growth Community sustainability means achieving an ecological balance that allows economic prosperity and social development both in the present, and for future generations. As growth pressures continue given our livability and proximity to Edmonton, new developments over the lifetime of the MDP will bring environmental, social and fiscal challenges. In 2017, the EMRB estimated that Stony Plain's population will reach 32 000 by 2044, with approximately 12 000 local jobs. We will need to provide the social, recreational and cultural services, and hard infrastructure required to keep the town livable, while accommodating the environmental, social and fiscal changes that come with growth. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 16 Our Vision Stony Plain - A connected community...embracing the future. A champion of progress and community values in a metropolitan region. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 17 The Themes The Themes The MDP Themes capture the deeper values and desires of the community to provide a framework to achieve the Vision. They tell the story of who we are and where we want to go, linking our Vision to the Policies. The five Theme statements frame the MDP Policies to provide a structure to direct planning and decision-making over the next 30 years. Each theme is equally important and together, they provide the way forward. When combined with elements of the Land Use and Growth Management Section, our Themes will guide the community's future growth and priorities. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 18 Environmental Responsibility We pay careful consideration to the natural environment because we recognize the connection between the natural environment and quality of life. Our quality of life depends on the environment's health, including the air we breathe, the water we drink and the land we use to grow food. We strive to protect, preserve and enhance natural systems and environmentally significant areas, and prime agricultural land while promoting a greener way of living. We consider the natural environment and agricultural suitability when planning for land use to promote sustainable development patterns. We make decisions to address environmental impacts that result from development actions. We have a broad range of future actions that will help minimize our environmental impact - from community stewardship to land use patterns to energy efficient buildings. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 19 Community Development We want residents of all ages and income levels to have access to diverse housing, interconnected transportation choices and local amenities to ensure a healthy and sustainable community. We have areas of stability, areas undergoing positive transition and areas experiencing new growth. We have facilities for community gatherings and places for recreational, cultural, institutional and commercial interactions. Land use planning and programming complement each other to bring these spaces to life. We have an abundance of natural areas and parks that are protected and cherished. Recreational spaces must be sensitive to the climate and the environment to maximize use and enjoyment of these spaces throughout all four seasons. Our town was designed with innovation and quality. We attract people in creative industries who take knowledge, ideas and resources, combine them with imagination, and create new concepts and products. Actions to implement this theme relate to the different ways we develop communities -- physically, culturally and socially. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 20 Economic Opportunity Economic development is important for us to meet fiscal sustainability. Facilitating commercial, industrial and institutional employment opportunities provides the fiscal balance to support appropriate service levels -- now and in the future. Local economic development means local jobs, shorter commute times and convenient service provision for residents and businesses. Land use patterns supporting viable and convenient services and employment opportunities will integrate economic opportunity with other initiatives. We accomplish this through: - local planning; - having a business friendly attitude towards business attraction and retention; - maintaining an inventory of commercial and employment lands; - enhancing the vibrancy of downtown; and - diversifying marketing strategies, with an emphasis on culture and tourism. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 21 Supportive Infrastructure Infrastructure maintenance and improvement is an essential component of how our town functions. This includes maintenance of: - recreational and cultural facilities for leisure activities; - trees and flowers that make our community attractive; and - utilities, including storm, sewer and water. Traditionally, the design of new areas was based on automobile transportation, but the desire to improve health and air quality means putting more emphasis on other modes of transportation. Integrating safe and accessible infrastructure for transit, bicycles and pedestrians will foster an increase in use of a variety of transportation options. New infrastructure investments must consider the significant fiscal impacts they have on future land development and sustainable growth. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 22 Governance and Partners Community development requires input and contribution from many different constituents. We work closely with our neighbours, stakeholders, the development community, the EMRB and other regional partners to set directions for service delivery and development. Open and inclusive discussion enables cohesive representation and leadership. Good governance is critical to meeting resident and stakeholder needs. Legislative and administrative processes combined with monitoring service provisions will lead to actions that achieve the Vision. To ensure a fit between resources and needs, major policy directions should include: - community engagement; - integrated decision-making; and - growth management. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 23 The Policies This section includes the Policies for each of the five Themes: - Environmental Responsibility; - Community Development; - Economic Opportunity, - Supportive Infrastructure; and - Responsible Governance. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 24 ENVIRONMENTAL RESPONSIBILITY We have integrated social, environmental and economic goals to reinforce environmental protection and manage our environmental impact. Stony Plain is a compact community with a mix of uses, supported by strong, non-vehicular networks. We have fostered and retained our connections to open spaces and agricultural land. DIRECTION 1.1 Recognize the Town's commitment to the health of our environment 1.1.a. The Town will promote education, awareness and community stewardship; protect and enhance the natural environment; reduce non-renewable energy use; address climate change; and manage waste. 1.1.b. The Town will explore applying green development standards to the development and major renovation of all municipal structures and will green its operations, including procurement, fleet management, and municipal services, where possible. 1.1.c. The Town will encourage innovative approaches to development and operations that effectively reduce the amount of greenhouse gas emissions. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 25 1.1.d. The Town will encourage the implementation of climate change adaptation tools and mitigation strategies in new developments to account for potential impacts of climate change. 1.1.e. The Town will adopt pest management guidelines that protect public health and safety, preserve ecological sustainability and comply with legislative obligations. 1.1.f. The Town will encourage the control of noxious weeds and pests in open spaces and urban forests to minimize pesticide use and reduce maintenance costs. 1.1.g. The Town will encourage protection of the quality of environmental resources, such as water, vegetation, soils, wildlife habitat, air, biodiversity, ecological systems, agricultural production and environmentally sensitive and natural areas for future generations. 1.1.h. The Town encourages principles of good land management and environmental stewardship until needed for future growth by managing agriculture land resources that fall under the Edmonton Metropolitan Region Board's Regional Agriculture Master Plan Policy Area 3: Agriculture in Future Transition Lands and Policy Area 4: Urban Agriculture and commits to recognizing that there is prime agricultural land that supports a wide variety of producers within its boundary. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 26 DIRECTION 1.2 Enable innovative renewable energy and water reduction strategies 1.2.a. The Town will encourage the accommodation of possible renewable energy sources and energy distribution systems, including, but not limited to, district energy, geothermal energy or solar energy, in new and redeveloped neighbourhoods or on the Town's public utility lots. 1.2.b. The Town will consider renewable energy alternatives to traditional sources of energy as aging infrastructure is replaced and new infrastructure is developed. 1.2.c. The Town will enable and encourage environmental innovation. This includes promoting structures that are constructed using energy-efficient design and construction practices, environmentally friendly materials and inclusion of alternative energy sources. 1.2.d. The Town will encourage the implementation of innovative water conservation strategies for municipal buildings, large-scale development and residential properties through education, promotion, and development of policies and bylaws, where appropriate. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 27 DIRECTION 1.3 Improve solid waste management 1.3.a. The Town will encourage and promote waste reduction, re-use and recycling for private and public sector operations, residents and businesses. 1.3.b. The Town will promote the reduction of waste in the construction process and encourage the use of recycled or eco-certified materials. 1.3.c. The Town will consider adopting measures suggested by the EMRB and other regional agencies. DIRECTION 1.4 Avoid noise impacts and unwanted light 1.4.a. A noise impact study may be required for lands located within 100 m of a rail line or highway. 1.4.b. The Town will promote the reduction of light pollution and preservation of natural darkness by encouraging Dark Sky Lighting principles in new developments. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 28 DIRECTION 1.5 Address issues of community resiliency 1.5.a. The Town is committed to developing sound policy to address protection of local food production and distribution. 1.5.b. The Town will encourage and support urban agriculture best practices and the protection and enhancement of local food production and distribution. 1.5.c. The Town will encourage community food gardens by offering leasable allotments on suitable municipal lands, and allow for small-scale agricultural operations that are compatible with an urban built environment and existing land uses within the town's boundaries. 1.5.d. The Town will develop an urban agriculture plan to further integrate urban agriculture into the municipal planning system and support public education on the plan and the components of agricultural production and operators. 1.5.e. The Town is committed to exploring opportunities to improve stormwater management infrastructure to mitigate flood risks. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 29 COMMUNITY DEVELOPMENT As Stony Plain grew, progressed and prospered, we maintained a strong sense of belonging and friendliness, making our community a great place to live. Our community is inclusive and connected, both physically and socially. Stony Plain and its neighbourhoods are attractive, well maintained and have their own character. We have housing choices for all; it feels like home because it is welcoming, safe and healthy. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 30 DIRECTION 2.1 Encourage a diversity of non-market affordable housing options 2.1.a. The Town will encourage affordable housing that ensures people of all income levels have access to safe and secure places to live. 2.1.b. The Town will explore the development of incentives to support non-market affordable housing. 2.1.c. The Town will explore opportunities to collaborate with developers, operators, other municipalities and non-profit housing providers to promote the development of non-market affordable housing. 2.1.d. The Town will explore opportunities for innovative housing types that increase affordability and meet the needs of diverse populations, including prefabricated homes, tiny homes, secondary suites, laneway homes, zero lot line development, cohousing and homes that facilitate multigenerational living. 2.1e. The Town will continue to promote and support social services as new non-market affordable housing is developed to ensure that social services are accessible to those in need. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 31 DIRECTION 2.2 Ensure community culture is rooted in history and committed to being inclusive, dynamic and diverse 2.2.a. Cultural programs and facilities will account for future needs, under-represented groups and year-round programming. 2.2.b. The Town will encourage the expansion of cultural programming, promote public art at nodes of civic activity and encourage artists, crafts people and creative enterprises to create, display and sell their work. 2.2.c. The Town, in conjunction with community groups, will strive to identify, conserve, maintain and creatively reuse significant historic resources, including recognition through a variety of means, such as murals, public art, commemorative plaques, naming and municipal designation. 2.2.d. The Town will encourage significant archaeological, historical and cultural sites to be incorporated into the urban fabric. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 32 DIRECTION 2.3 Provide a comprehensive leisure system for a socially connected and healthy community 2.3.a. The Town will consult the community and stakeholders in the design of a comprehensive leisure system. 2.3.b. The leisure system will foster a diverse range of active and passive sports and recreation options for people of all ages and stages of life, including uses for all four seasons, with equal consideration for winter recreation activities, such as skating, curling and cross country skiing. 2.3.c. Parks and open spaces will meet local needs through a hierarchy of dispersed parks, according to their varying recreational purposes and corresponding sizes. 2.3.d. The Town will pursue funding opportunities, partnerships and sponsorships to develop, enhance and maintain various types of sports and recreation facilities, to provide a variety of financial sources for provision of facilities and programming. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 33 ECONOMIC OPPORTUNITY Our residential growth is complemented by culture, tourism, institutional, industrial and commercial sector expansion. The strong local business community provides many employment opportunities and ensures residents and visitors have access to a broad range of services. Our historic downtown thrives and is the heart of the community. We are committed to expanding existing businesses and growing new economic opportunities throughout the town. DIRECTION 3.1 Expand and diversify the Town's economic base 3.1.a. The Town will support expansion and diversification of the economic base by allocating sufficient land for commercial and other employment land uses, including home-based businesses. 3.1.b. The Town will foster employment growth, especially from existing businesses, by improving relationships and understanding local business needs. 3.1.c. The Town will support development in new economic areas, such as e-commerce, the eco-industry, knowledge-based, wellness, agri-food and agriculture and creative sectors to account for the changing pace and fiscal reality of the community. 3.1.d. The Town will encourage a balance of different size commercial businesses throughout the town. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 34 3.1.e. The Town will work with public and private partners to foster diversity and creativity by supporting new economic opportunities, such as co-working spaces, and maintain a collaborative business environment. 3.1.f. The Town will educate the community to foster awareness and understanding of the economic importance of arts and culture, including festivals and other large gatherings. DIRECTION 3.2 Implement marketing strategies 3.2.a. The Town will develop strategies to enhance its brand and generate awareness as a community of creativity and growth. 3.2.b. The Town will build awareness of what Stony Plain offers as a destination for residents, tourism and businesses by marketing to attract creative, independent people in a variety of economic sectors. 3.2.c. The Town will participate in regional partnerships and encourage resource sharing among local groups to support regional competitiveness at a global scale. DIRECTION 3.3 Enhance the viability of the historic downtown 3.3.a. The Town will continue to develop Old Town as a niche regional destination, encouraging its unique identity, small-scale commercial experience and local events. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 35 SUPPORTIVE INFRASTRUCTURE We actively maintain our infrastructure, including community facilities, roads, and utility systems in a cost-effective manner. We have a comprehensive, interconnected network of transportation options, including an extensive trail system. We extend municipal infrastructure to enable sustainable growth and development. DIRECTION 4.1 Adopt a 'complete streets' philosophy for street design 4.1.a. The Town will design a transportation system that is based on a philosophy of an interconnected system of 'complete streets,' which integrates and serves all users, including drivers, transit users, cyclists, rollerbladers and pedestrians, and those who use scooters, wheelchairs and strollers. 4.1.b. The Town will place a high priority on bicycle facilities, sidewalks and other modes of active transportation for all-season access, maintenance and snow clearing. 4.1.c. The Town will encourage safe access routes for all travelers in construction areas and that major pedestrian and bicycle routes are not disconnected by construction activities. 4.1.d. The Town will encourage traffic calming features into the design of new and existing roads. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 36 DIRECTION 4.2 Promote alternative transportation as a key part of the overall transportation strategy 4.2.a. The Town will create a walkable environment by enhancing streets to be more pedestrian oriented and age friendly for all users by developing an active transportation strategy. 4.2.b. The Town will provide the foundation for a bicycle-friendly community, where people feel safe and comfortable riding their bikes for fun, fitness and commuting. 4.2.c. The Town will consider other modes of active transportation (such as rollerblading and cross country skiing), which are used seasonally, or regularly, to expand the range of alternative modes within the overall transportation system. 4.2.d. The Town will consider appropriate amenities to support the safe use of active transportation infrastructure. DIRECTION 4.3 Prepare for transit 4.3.a. The Town will work with its partners to develop an intermunicipal bus service to key employment nodes in the region. 4.3.b. The Town will explore potential transit routes, bus stop locations and facilities that encourage intensification in the downtown area and along main corridors, to prepare for implementation of a public transit service. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 37 4.3.c. The Town will continue to provide transportation services to meet the needs of seniors and residents with disabilities. 4.3.d. The Town will work with regional partners to explore alternative transportation options to increase regional connectivity. DIRECTION 4.4 Maintain our existing services 4.4.a. The Town will continue to maintain existing infrastructure systems, including roads, sidewalks, trails and other community facilities, through a comprehensive infrastructure maintenance program to reduce and avoid unnecessary capital replacement. 4.4.b. The Town will continue to provide reliable emergency services by supporting the RCMP, Fire Department, social services and other emergency services. 4.4.c. The Town will continue to ensure an aesthetically pleasing and functional community through provision of community landscaping and related services. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 38 4.5.d. The Town will require joint-use of utility pipeline corridors, transportation corridors, transmission lines and other utility rights-of-way and structures of a compatible nature to minimize adverse visual, environmental or safety impacts and fragmentation of properties, unless the developer or applicant can prove that such co-location is impossible or unsafe. 4.5.e. The Town will promote public safety by consulting with appropriate agencies and stakeholders about land uses and setbacks from highways, railway lines, pipelines, landfills, sour gas facilities and utility rights-of-way. DIRECTION 4.5 Provide services and utilities in newly developing areas 4.5.a. Land developers will bear the cost of development on their property through mechanisms like off-site levies, development charges and development agreements. This includes the provision of full services to the Town's standards, and in accordance with the Town's master plans and studies for infrastructure, having regard for long- term maintenance and expansion of infrastructure to new developments. 4.5.b. The Town will encourage the use of low-impact development principles in the management of stormwater, by encouraging and supporting measures and activities that reduce stormwater runoff, improve water quality, promote infiltration, and reduce erosion. 4.5.c. The design of stormwater management facilities will improve natural environmental functions and enhance the visual landscape. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 39 DIRECTION 5.1 Making the most of our financial capability 5.1.a. The Town will be fiscally responsible by ensuring expenditures are tied to sustainable revenue-sources. 5.1.b. The Town will promote the efficient use of resources to minimize the cost of providing effective service levels, while ensuring the needs of residents, businesses and other stakeholders are met -- today and in the future. GOVERNANCE AND PARTNERS The Municipality and the community have a strong connection based on a shared Vision. We cooperate with our neighbours, stakeholders and government partners to creatively and carefully direct development that is consistent with community values to make wise choices for effective resource use. We deliver infrastructure and services within our financial capacity to all -- young and old. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 40 DIRECTION 5.2 Governing responsibly 5.2.a. The Town will develop formal policies in areas under its jurisdiction to allow a strategic framework for municipal action, including legislative compliance, best practices and strategic intent to guide discussions and decision-making. The Town will consider alternatives based on policies to ensure long-term planning and strategic objectives are met. 5.2.b. The Town will promote best practices and innovation in service delivery. DIRECTION 5.3 Fostering interaction and engaging the community 5.3.a. The Town will use a variety of participation processes, both formal and informal, to reach everyone in the community, including residents, businesses and the development industry, so that all interests are addressed in decision-making. 5.3.b. The Town will focus on exemplary customer service. 5.3.c. The Town will develop partnerships with stakeholders who play an active role in the community, including other governments, businesses, community groups and service providers. 5.3.d. The Town will encourage life-long learning opportunities for leisure and post-secondary education. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 41 DIRECTION 5.4 Working with neighbours and stakeholders 5.4.a. The Town will continue its existing collaborative relationship with Parkland County and the City of Spruce Grove, including the support of mutually beneficial service agreements. 5.4.b. The Town will work to identify new areas for collaboration in the delivery of programs, services and facilities operation, economic development and land use planning. 5.4.c. The Town will support the use of alternative dispute resolution mechanisms to resolve issues and concerns to the mutual benefit of all, with the filing of statutory appeals to address with intermunicipal planning disputes as a last resort. 5.4.d. The Town will foster and strengthen partnerships with businesses, government, school boards, post-secondary institutions and non-profit sectors to develop and operate recreational, cultural and community facilities. 5.4.e. The Town will work with Parkland County and the City of Spruce Grove throughout the planning process to ensure compatible land uses in adjoining areas; this includes formal circulation for review and comment on land use applications within 0.8 km of municipal boundaries. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 42 DIRECTION 5.5 Regional partnerships 5.5.a. The Town will actively participate in EMRB committees. 5.5.b. The Town will ensure its municipal policies and bylaws conform to the EMRB's plans and policies, especially regarding the EMRB's mandates relating to regional land use, intermunicipal transit, geographic information services and affordable housing. 5.5.c. The Town will participate in the formulation of the North Saskatchewan Regional Plan, as required. 5.5.d. The Town will work with Government of Alberta to ensure the Town's needs are met. 5.5.e. The Town will work with federal, provincial and regional utility providers to protect existing and future regional infrastructure, including highways, railways and major utility corridors through a collaborative planning approach to support development in priority growth areas. 5.5.f. The Town will support the efforts of other jurisdictions, levels of government, agencies, residents and businesses through education, awareness and community stewardship to protect, manage and enhance the natural environment and promote climate change initiatives. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 43 Growth Management and Land Use Plan The EMRB's Growth Plan identifies Stony Plain as a Metropolitan Area where growth is expected and will be encouraged. The EMRB's 2017 projections indicate that Stony Plain's population will reach 32 000, with approximately 12 000 local jobs by 2044. This section of the MDP focuses on the physical aspects of managing growth and land use in Stony Plain. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 44 Growth Pattern and Target Densities A general land use pattern for future community development is shown in Figure 2: Urban Growth Pattern (page 45), which identifies the approximate location of development types. Growth should occur in a more urban pattern, reducing intrusion on the region's agricultural lands. This requires redevelopment and contiguous development at targeted densities. The minimum target density for new residential development in Stony Plain is 35 dwelling units per net residential hectare (ha), in accordance with the EMRB Growth Plan. We must integrate municipal sustainability into all components of community growth. New development needs to be adjacent to existing development to ensure logical service extension and efficient service provision. As we grow, it is critical to maintain connectivity to the physical links in our community - the roads, trails and pedestrian ways. To maintain our community's connectivity, new development should be linked to existing networks. This physical connectivity fosters social connectedness by strengthening access to existing services including cultural, recreational, institutional and economic facilities. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 45 Figure 2: Urban Growth Pattern Legend Town Boundary Core Area Residential Area Employment Area Future Urban Development Area Railway Major Road 48 St / Hwy 779 Golf Course Rd Rosenthal Rd / RR 12 Glory Hills Rd 79 Ave / Hwy 628 Hwy 16A Fairways Dr 44 Ave Oatway Dr 48 St / Hwy 779 Golf Course Rd 50 St / Main St 49 Ave Hwy 16A 79 Ave / Hwy 628 RR 11 Boundary Rd Veterans Blvd Boundary Rd j Figure 2: Urban Growth Pattern THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 46 Land Requirements for Future Development We can estimate the amount of land required for future development using the EMRB population and employment projections, density targets and recent land development information. This enables us to set aside the lands we require for new development and ensure we manage community growth sustainably. Given the EMRB's residential density targets, Stony Plain will require approximately 550 ha of new land for residential development over the next 30 years. The land requirement is based on 15% of residential demand being achieved through infill or redevelopment in the existing built-up area. New development will be directed into the darker shaded areas in Figure 3: Growth Management Strategy (page 48). Future land requirements, particularly for residential development, depend on many factors, including: - population; - density of dwellings; - housing markets; - average household size; - demographics; and - population distribution between new and existing areas. Our population is aging, household sizes are shrinking and housing costs for a detached home are escalating more rapidly than the rate of increase for gross or disposable income. We can expect that demand for other types of housing will increase. Flexibility to allow for demographic shifts is a component of the MDP. The Town will consider that not all areas will develop when desired due to private land ownership, as private development is initiated by the landowner and is often driven by the housing market. Prime agricultural land is located on the perimeter of Stony Plain as indicated in the EMRB's Land Evaluation and Site Assessment Technical Report. These areas present a key consideration when determining future development direction and guidance. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 47 Other agricultural areas not considered prime agricultural lands but still identified in the EMRB Regional Agriculture Master Plan are designated as Agricultural Policy Areas and can be seen in Figure 5: Open Space and Parks (page 56). Stony Plain currently has Agriculture in Future Transition Lands and Urban Agriculture policy areas within our boundaries. The Town currently has about 7400 jobs, with the EMRB forecasting an increase to 12 000 by 2044. Most of these jobs are found in employment lands, which include industrial and commercial activities. Industry has traditionally developed north of Highway 16A and east of Highway 779, remaining separate from residential neighbourhoods. Approximately 100 ha of land has been developed for industrial uses, and another 100 ha are being developed. An additional 200 ha should be reserved for future industry over the next 30 years. There is currently around 60 ha of commercial land, mainly located along Highways 16A and 779, arterial roadways and in the historic downtown area. The focus for new commercial shopping will be on neighbourhood convenience centres in new residential developments, as outlined in the policies for new residential development. We will prioritize strengthening existing commercial nodes within the urban centre, and developing along Highway 16A and Highway 779 through infill and intensification. Figure 3: Growth Management Strategy (Page 48) indicates where growth is encouraged. The Figure shows future development potential in lighter tones. Long-term urban development, well beyond the timeframe of this MDP, is shown in white. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 48 Figure 3: Growth Management Strategy Legend Town Boundary Existing Development New Residential Development New Employment Land Intensification Area Railway Major Road Golf Course Rd Rosenthal Rd / RR 12 Glory Hills Rd Hwy 16A Fairways Dr 44 Ave 48 St / Hwy 779 RR 11 Boundary Rd Veterans Blvd Boundary Rd j 48 St / Hwy 779 Oatway Dr Golf Course Rd 50 St / Main St 49 Ave 79 Ave / Hwy 628 79 Ave / Hwy 628 Figure 3: Growth Management Strategy THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 49 Land Use Policies Land use policies emphasize specific aspects of managing growth and are intended to be used in combination with the policies in each Theme. Our land use policies are organized by the following land use categories: - General; - Open Space and Parks; - Areas of Stability; - Areas of Transition; - Areas of New Residential Development; - Employment Lands; - Institutional Lands; and - Future Urban Development. The boundaries and alignments shown on Figure 4: Future Land Use (page 50) are approximate and may need adjustments when defined in the Land Use Bylaw or by supporting analysis; these changes will not affect the MDP. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 50 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & && & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & && & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & && & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & &&& & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & && & & && & & & & & & & & & && & & & & & & & & & & & & & &&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & && & && && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & && & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & && & && & & & & & & & && & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & && & & & & & & & & & & & & & & & && & && & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&& & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & && & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & &&& & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & && & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & Figure 4: Future Land Use Legend Town Boundary Area of New Residential Development Area of Employment Land Area of Transition Area of Stability Area of Future Urban Development Park & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & Tree Canopy Railway Major Road Golf Course Rd Rosenthal Rd / RR 12 Glory Hills Rd Hwy 16A Fairways Dr 44 Ave 48 St / Hwy 779 RR 11 Boundary Rd Veterans Blvd Boundary Rd j 48 St / Hwy 779 Oatway Dr Golf Course Rd 50 St / Main St 49 Ave 79 Ave / Hwy 628 79 Ave / Hwy 628 Figure 4: Future Land Use THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 51 6.1 General These policies apply generally to new development and redevelopment within the town of Stony Plain. 6.1.a. Development and redevelopment will be designed to protect, manage and enhance environmental components. 6.1.b. The Town will explore opportunities to provide incentives for private development to meet green development standards. 6.1.c. The Town will encourage sustainable development and construction practices that retain trees and appropriately manage urban forests on public and private lands; this includes a strategic tree-planting and maintenance program that will establish requirements through design guidelines, the Land Use Bylaw and area structure plans to increase tree canopy cover. 6.1.d The Town will promote protection, management and enhancement of urban forests and tree canopies on private lands by integrating tree stands with future public parks and open space networks within new development and redevelopment, where possible. 6.1.e. The Town will encourage all new development and redevelopment to explore opportunities to protect local water quantity and quality using low impact development features, such as green roofs or walls, permeable pavement, rain gardens, xeriscaping and bioswales. 6.1.f. In accordance with all applicable provincial acts and regulations, the Town may require an environmental site assessment to be conducted in support of rezoning, subdivision or development applications. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 52 6.1.g. The Town will encourage remediation and re-use of contaminated land to support brownfield redevelopment, subject to a phase 1 environmental site assessment, and if required, a phase 2 and 3 environmental site assessment, prior to subdivision approval or issuance of development permit. 6.1.h. The Town will encourage the stripping of land to develop new areas to occur close to the time of construction and that soils be segregated to enable them to be reused and recycled within the town boundary as much as possible in recognition that soil is a non-renewable resource. 6.1.i. The Town will encourage appropriate standards for edge treatment and agricultural best practices to avoid and mitigate conflicts between agriculture uses and adjacent urban uses. 6.1.j. Area structure plans will provide appropriate buffer zones and setbacks from watercourses, water bodies and sensitive natural areas to maintain and preserve water quality and hydraulic function, while maintaining any upland habitat necessary to support the ecosystem. 6.1.k. Where infrastructure needs to cross into environmental reserve lands, it will be done in the least intrusive manner possible to minimize impact on trees, soils, hydrology, water quality, and birds, fish and wildlife and their habitat. 6.1.l. Urban forest management will adhere to goals, objectives and mitigative measures as described in best practice guidelines, the land use bylaw and area structure plans. 6.1.m. The Town will encourage and support new development and redevelopment to implement alternative, local, renewable electricity generation including, but not limited to, district energy, solar energy or wind energy. 6.1.n. The Town will encourage all development and redevelopment within 100 m of a rail line or highway to complete a noise impact study to provide recommendations to incorporate in the approval conditions of subdivision or development. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 53 6.1.o. The Town will adhere to the land use pattern as shown in Figure 4: Future Land Use (page 50). 6.1.p. The Town will require new residential development to be contiguous to built-up or planned urban areas. 6.1.q. The Town will require residential development within area structure plans adopted or amended since the Growth Plan was adopted to conform to the density targets established by the EMRB. 6.1.r. The Town will aspire to achieve 15% of new developments in either Areas of Stability or Areas of Transition. 6.1.s. The Town will allow a range of uses to ensure a complete and balanced community to meet growth challenges in a sustainable manner and promote diverse residential development and associated home-based businesses, including: - a range of seniors housing, with preferred locations within easy walking distance of shopping, medical services and other amenities; - land for economic purposes, including commercial space that meets modern shopping and personal service practices; and - places for industrial development as well as open space and institutional uses to support the needs of both residents and employees. 6.1.t. The Town will promote high-density housing and mixed-use projects in areas adjacent to the regional transit route. 6.1.u. The high quality public realm should be maintained through the preservation of streetscape patterns, landscaping and high quality building design. 6.1.v. The Town will prioritize redevelopment and infill on vacant lots and brownfield sites. 6.1.w. The Town will only allow new development to proceed if each lot or dwelling is connected to municipal water supply and sanitary collection services, except for lots in the Future Urban Development area or single isolated lots where there is evidence that municipal water and sewer connections are unavailable and alternative systems are sufficient. 6.1.x. The Town will require new area structure plans to include policy and direction to support and enable urban agriculture in suitable areas throughout the town. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 54 6.2 Open Space and Parks These policies apply to the development or redevelopment of open space and parks. 6.2.a. The Town will work with landowners, developers and neighbouring municipalities to develop trails, open spaces, parks and stormwater management facilities to consider local and regional ecological connectivity, protecting and restoring natural systems and environmentally significant areas. 6.2.b. The Town may request identification of environmentally significant lands and appropriate buffers between these lands and other uses through a biophysical and environmental review, prepared by a suitable accredited professional -- as part of the land development planning and review process. 6.2.c. The Town will require the protection, enhancement and conservation of hazardous or environmentally significant areas -- including wetlands, watercourses, water bodies and their associated riparian areas -- through appropriate techniques, such as environmental or conservation reserve dedication, conservation easements or donations and bequests. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 55 6.2.d. An environmental review shall be provided by the land developer or landowner to support an area structure plan, rezoning or a subdivision application when one or more of the following may be impacted: potential wildlife corridor; ecological function, including wetlands; habitat for significant species; home to rare flora and fauna; or areas of scientific interest. 6.2.e. The Town will require that future parks and trails be designated during the neighbourhood planning process. 6.2.f. The Town will require that new area structure plans and subdivision applications connect municipal and environmental reserves throughout the plan area and adjacent developments or municipalities. 6.2.g. The Town will require that new area structure plans and subdivision applications be designed to incorporate and enhance environmentally significant lands by planning open spaces, urban forests and trails to connect with existing environmental areas and green spaces to establish a functional ecological network. 6.2.h. The Town will require the natural environment to be maintained until development occurs. 6.2.i. The Town will encourage open spaces to be designed to serve all residents, while considering ease of maintenance, operation and access. 6.2.j. The Town will require new area structure plans to incorporate best practices to minimize soil erosion and protect and enhance riparian zones, habitat for birds, wildlife and fish in support of biodiversity and sustainability. 6.2.k. The Town will encourage naturalization of new stormwater management facilities. 6.2.l. The Town will work with school boards to determine the need for future school sites and how reserves should be apportioned between parks and schools. 6.2.m. At the time of subdivision, the Town will require dedication of at least 10% municipal reserve in residential areas, and may take cash-in-lieu or a combination of municipal reserve and cash-in-lieu in other areas. 6.2.n. The location of municipal reserves will be guided by optimum siting for schools and recreation purposes and not the location of utility areas or other constrained lands. 6.2.o. At the time of subdivision, the Town may require dedication of land as conservation reserve if the land has environmentally significant areas. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 56 && & & & & && & && & && & & && & && & & & & & && & && & & & && && && & & & && && && & & & & & & && & & & && & && & & && & & & & & & & & && & && & & & & & && & & & && & &&& & & & & & & & & & & & && && & && && && & && & &&& & && & & && & & && & & && & & & & &&& & && & && & && & & & & & && && & & && && & & && & && & && & & & && & & & & & & && & & && & &&& && & & & & & && & && && && & & &&& & && & & && & & && & & & & & & & && & && && & & & & && & & & && && && & & && & & & & & && & & & && & & && && && & && & & && && && && & & & & &&& & & && & & && & && && & && & & && && & & & & & & & & & & & & & && && & && & & && && & & & & & & & && & && & & & & & && && & & && & && && & & & & & & &&& & &&& && & & && && & && & && & & & && && & & && && && & && & & & && && && & & & && & && & & && & && & & & & &&& & & && & & & & & && & & && & && & & && & & & & && & && & & & & & &&& && & &&& && && & && & & && & & && & && && && & & & & & && && & && & && && & & & & & & &&& & && & & & & & & && & && & && && && & && && && &&& & && && & && & & &&& && & & & && & & & & && & && & && & & && && & & && &&& && && & & && & && & & && & & && && & & && & & && & & && && & && && & & & && & & & &&& & & & && & & & & && & & & && && && & & && & && & & && & & & && & && & & && & && & && & & && & && && && & & && & && & & && & && && & & & && & & & & && & && & & & & && && && && & & & && & & && & & & & & & && & &&& & & && & & && && & & && & & & && & && & & & && & && & & && && & && & & & & & & & & & && & && & & &&& & & & & & && & & && & && && && & & &&& && && & && & & & && && & & && & & & && & && & & & & & & & & & & & && & & && &&& & & & & & && && & && & & && & && & & & & && & & & & & && & & & & & & & && & & && & & && & &&& & & & & && & & & & & & & && & & & && & & & & && && & & & && && & & & & && & & && & & & & & && & & & & && && & & & && & && & && & & && & &&& && & && & & & & && & && & && & & & & && & & & & && & && && & & & & & & && & & && & && & & && & && & && & & & && && & & && && & && && && & & & && & & & & && && & && & & && & & & & & && & & &&& & & && & &&& & && & && & && & & && &&& & && & & & & & & & & & & & & & & & & & && & & && & & && && &&& && && & & & & & & & && & && & & & & & & & & & & & & & & && & & && & & && & & & & & && & && & & & & && & & && & & & & && && && & & && & && & & & & & & & & & & & && & && && & & && & & & && & && && & && & & && & & && & && & & & && & && & & & & && && && & & & && & & & & && & & && && &&& & & & & && && & && & & && & && && && & & & & & & & && & && & & & & & & && & && & && & && &&& && & & && && && && && && & & && && && && & && & & && && & & && & & && && & && & & & && && & & && & & & & && & & & & && & && & & & && &&& & & && & & & & && & & & & & &&& & && &&& && && && & &&& && & && && & && & & & && && & && & & && & & & & & && && & & & & & & && && & & && && && && & & & & && & && && & && & & & && & & && & & & & &&& & & && & & && & & & && & && & & & && & & & & & & & & & & & & && & & & & && & & & & & & & & & && & && && & & & & &&& && && & & & && & & & &&& & & & && & & & & && & & & & & && & && && & &&& & &&& & & && && && && & & && & & & & & & && & & & && & & & && & && & & && & && & && && & & & & && & & & & && & && && & & & & && && & & & & & & && & && & & & & & && & & & & & && & & & & && && & & && && && && & & && & & & && & & && & &&& & && && && & && & && && && & &&& && & & & & && && & & & & && & && &&& & & && & & && & & & & && && && & & & & & &&& && & & & && & & && & & & & && & & && & && & & & &&& && & & & && & & & && &&& & & & && & & & && && & & && & & & & & & && & && & &&& & & && && & & && & & & & & & & && & & & & & & & & &&& && & & && && & & & && &&& & & & && & && & && & && && & & & & && && & & & && && & & & & && && && & & &&& && & && & && & && & && & && & & && & & && & & & & & & && & & & & && & && & & & & & & &&& && && & & && && & & && & && & & &&& && && & && & & && & & && & && && & & && & & & && & && &&& & & & & & && & & && & & & & & && && & & & & & & && & & & && && & & & && & & && & &&& && & & & && && & & && & &&& & & & && & && && && & & & & && &&& && & & && && && & && && && & &&& & && & && && && & &&& & & && & && && &&& & & & & & & & & && && & & && & & && && &&& & && & & & && & & & & & && & & && && & &&& && & && &&& && && & & && && & & & & && && & & & & & && & & && & && & & && && & & & && && & & & & & && & & && && && & & & & & & && && && && & && & && && & && & &&& & && & && & & && & & & & && & & & & & & && && && & && & & & && & && & && && &&& & &&& & && & & & & && & && & & & && & && & && & & & & && & && & & & & & & && & && && & && & & && & & & & & & & & && & & & & && && && && & & & && & & & && & & & && & && & & & && && & && && & & &&& & & &&& & && & && & & && && &&& & && & & && &&& && && & & && & & & & & && & & & & &&& &&& && & & & & & && & && & && & && & &&& & && & && & & & & & && & & & & & & & && && && & && & && & & && && & &&& & & && & & & && && & && && && & && && & && & & & & & & && && & & & && && & & & & & & && & && && & && & & && & && & && && & && && & & & & && & && && && && & & & & && & & & &&& && & & && & & & && && & & && & & && & & && && && & & & &&& & & && &&& & & && && & && && & && & && && & && & & & & && && & && & &&& & & && & & & && & & & & && & && & & & & & && & & & && & & && && & && & & & & && & &&& & & && & & & &&& & & && && & & & & && & & & && && & & & && && & & & & && & & && & & & && && & & & & & && & & & & &&& & & && && & && & && & & & &&& & & & && && & & & & && & &&& & & && & && && & & & && & && & && && & & & & && & & && & && & & & &&& & & && & & && && & &&& & & & & & && & & & && & & && & && & & && & & && && & && & & & &&& &&& & && & & && & & & && && & & & && & & & & & & & & && & & && & && & &&& & & & && & & && & & & && & & && & & & & && && & & & && & & & & & & && && && && && && & & && & & & & && & & && & & & & & && & & & & && & & & & && && & && & && & & && & && & & && && & &&& &&& & && & & & & && && & & & && && && && && & && & & & & & && & & && & & &&& & & & &&& & &&& & && & & & && & && & && && && & && & & & & & & & && && & & & & & & && & & && & && && && & && & && & & & & &&& & & && && & & &&& & & & & & & & & & && & & && && & & && && &&& & & & & && && & && & && & && && & &&& & & & && && & & && & & &&& & & & && & & && & && & && & && && & & & && & & && && &&& && & && && & & & &&& & & & && & & && & && & && && & & & & && & & && & && & && & & && & && & & & && && &&& & & &&& && & && && &&& && & && && && & & && & && & & && & & & & && && & & && & && && & & & && & & &&& & & && & && && & && && & & && && & & & && & && & & & &&& & & & & & && & & & && & & && & & & && &&& & & & &&& & && & & & & & && & & & & & && & & && && & & & & & & & & & & & & && & && && & && & && & & && && & && & && & & && & & && && && & && & & && & & & & && & & && && & & && & && && & & & & & & &&& & & && & &&& && && & & & && & & & && && & & & && & & && & & && & & && & & & && && & && & & & && && & && & & & & && & && &&& && & & && & & && && & && & && & && & & & && & && && & & & & & && & & & & && && & & && & & & & & && && & && & & &&& & & && &&& & & & && & & & & & && & && & && & & & & && && & && & & && & & & && && & & & & && & & && & && &&& & && & & && & && & & & && && & && & & &&& & & & & & && &&& & & & & & & & & && & & & & && & && & & & & && & && & && & & && & && & & && & & && && & && & & & &&& & && & && && & & & && && && & & & & & && & & & & & && && & & & && & && &&& & && & && && && & && && & && & & & & && & & &&& && && & & & & && & & && & & & & & && & && && && && & & && & & & & & & & & & & & &&& & & & && & && && && && & & & & & & && & & & && && & & && & & & & & & & & && & & & && &&& & & & & && &&& && & & && && && & & & && && & && && && & && && & && & && &&& & & && & & & && & && && & & & & & && && & && & & & & & & & & & & & & & & & && & && &&& && & && & && && && && && & & & &&& & & && & & && & && & &&& && & & & & & && & & && &&& && & &&& & & & & && & & && & && & & && && & & & && & & && & &&& && & && & & & && & & & & & & &&& & && & & && & & & & && && & && & & & && && & & & && && & && & & && & & & & && & & && && & & && & && && & && && & & && & && & && & & & && && & && & & & & && & && && & && & && & & && & && & & & & & & & & & & & && & & & & && && & && && && && && & && && &&& && && & &&& & && & && & & & & && && && & & & && & && & && & & && & & && & & & & & && & & & & && & & && & & &&& & & && && & & && & & && && & & & & && && && && & & && & & && && & & & &&& & & & & && && && & & & & && & & && && & & & & & && & & & & & && && & && & & & & & && && && && & & & & & & & && & && && && & && && & & && & && & && & & & && && & & & & & &&& & & & & & & & & & && & & & &&& & & & && && & && & && &&& && && & & && && & & && & & & & & & & & &&& & & & & & & & & & && & & & & & && && && && & & && & & & & & & && & & & & & && & & && & & & & && && & && & && & & & && & && & && & & & && &&& & & && && & &&& & & & & & && & && && & & && & & & &&& & & && & && & & & & & & & && && & && & & && && & && & && & && && && & & && & && & && & & & & & & && & && & & && & && & & & & & & && & & && & & & && & &&& & & & && & & && & & && & & & & & & & && & & &&& & & & && && && & && && & & & & & & & & && & & &&& & & & && & & && & & & & && & && & && && & & & & & & & &&& & && & & && & & && & &&& & & & & && & & && & & & &&& & & & && && & & && & & & && && & & & & & & & && & & && & & & & & && & & & &&& & & && & && & & && & & && & & & & && & && & && & && & & & & && & & & & & && & && & & & & && & & & & & && & & && & && & & & && & && & & & && && & & && & & & & && & & & & & & & && && & & && & & && & &&& && & & & &&& & & & & & & && && & && && &&& && & & && & && & && & & && & && & & & & & & &&& & & & &&& && & & & && & & & & & &&& & & && & && & & & & && & && && & & & && & & && && & && && & & & & && & && & & & && & & & && & & & & & & & && && & & && && & && && & & && & && & & && & & &&& & & & & & &&& & & && & && && & && & && && && & & & && && & & & & && && & && && & & && & && & & & & && & &&& & && & & && & && & &&& & &&& && && && && & & & && & & & & & && & & & & && & & & &&& & & && & & && & & & && & & &&& && && && & && && && & & && & & & & && & & & & && & & && & && && & & && & & & & & & && & & && & && & && && && & & & & & & & & & & & && & & && && & & && & && && && & & & && & & && && && & & & && & & & && & && & & & && & & & & && && && && & & & &&& & & && && & && & & && & && & && & && & && && & && && & & && & & &&& & && & && & && && & && && && & & & & && & & && &&& & & && && && & && && & & & & && & & && & & && & & & & & & & & & & && & & & && && && & & & && & & & & & && && & & && & & & && && & && & && & & & && & & && & && & && & & & & && && && && & & & && & & & & &&& & && & & && &&& & & & & & & & && && & && && & & & & && && & & && & && & & && & & &&& & && & & & & && & & & & && & & & & & & & && & && & &&& && & & & && & && && && & & & &&& & & & & & & & & &&& & && & && && & && & && && & && & & & && & && & & & && & & & & && && & & && & && && & & && & & & && && & & & & &&& && && & &&& & & & & && & & && & & & & & & & &&& & & & & && &&& & & & && & & & & && &&& & & && & & && & & & && && && && && & & && & && & & & & && & && & & && & & && & & && & && && && &&& & & && && & && & & & && & && && & & && && && & & && && & & & & & & & && & & & && & & && & && & & & & && && & & && && && && & & & && && && & && & && & & && && & & && & & && && && && & && & & & & & & && && && && & && & && & & && && & & & & & & & & & && && && && && & & && && && & & & &&& & &&& & & && & & & & & && & && & & & && && & & && && && & & & & & && & & && && && & & & & && & && && & & & && & & && & & & && && & && & & && && & && & & & && && & & && & & & & && && & & & & && && & &&& && & & && && & & && & & & & & & & & & & & && & && & && & & & & && & & & && & & & & && & & && && & & & & && & && & && &&& & && && & && & & && && & && & & & & & & && & && & & &&& && & & && && && && && &&& && & & & & && & & & && && & && & & & & & & & & & && && & && & && & && & & & && && &&& && & & && &&& & && & & & && && & & & & && & & && && & && & & & && & && & &&& && & & && & && &&& & & & && & && & & & & && & & & && && & && & &&& & & & && && && & && &&& & & & &&& & & && && & && && & & & && & &&& && & & && & & && & & && & && & & && && & & & & && & &&& && & & && && & & && & && & && && & & && & & & & && & && & && && & & & & && & && & && & & & & & & & && & && && && & & & & && && & & && & & & & & && & & & & && & & && && & && && & & && &&& &&& && & & && & & && & && & & & & & & && & && & && & && && && && && && & & & & & & & & && & && && & & && & & && & & & && & & & & && & && & & & & & && && && & & && & & & && & & & & && && && & & & & & & && & & & & &&& && && & & & & && &&& & & & & & & & & && & && && && && & && && & & & & & && & && && & && & & & & && & & & && && & && & & & & && & && & && & & && && & && && & && & & & & && && & & & && & && & && & & & && && & && & & & & && & && & && & && & && & & & & && & & && && & && & & && & & && & & &&& & && & && & & & & & && & & & && & && & & & & & && && & & & & && && & & && & && && & &&& & & & & & && &&& & & && & & & & && & && && & & & && &&& && & &&& & & & && & & && & & & & && && && & &&& && & & & && && && & & & && && & && && & && && &&& & & &&& & && & & & && & && && & && & & &&& & & & & & && & && && & & & & & & && & & & & && && && & && & & && &&& & & & & && && & && & && && & & && & & & & & & & && & & && & && & & & & && & &&& & && & & & & & & & & & & & & & & & & & & & & & && & & & && & & && & & & && && & && & & & & & && & && & & && & && && & & && & & & & && & & & & & & && & & & && & & && & & & &&& & & & && & & & &&& & && & & & & & & & & & & && && & & && & & && & && & & && & && & && & & & & & & & & && && & & && && & & && & & && && && && & && && & & && && & && & & & && && & & & & && & && && & && & & & && && & && & & && & & & & & && && & && && && & & && & & & && & && & && & && && & & && & & & && & && & && & && & && & && & & & & & & & && && & & && && & & & & && & && & && &&& & & & & && & & &&& && && & && & & & &&& & &&& & & & & && & & & && && & & & && &&& && && & & && & && & & && & && & && & && & && & & & &&& & & & && & && & & & && & & && & & && && & && & & & & & & & & &&& & && & && & & && & & && & & & & & && && & & & & & & & & & && & && & && & & & & & & & & & & & & && && && && & & & & && & & & && & & & & && & & & & &&& & && & & & & & & & & & && & & && && & & & && && & & && & & & & &&& && & & & && &&& && & && & & & && & & & & && & &&& & && & & && & &&& & & && & & & & & && && & & && && & & & &&& & & && && & && & && & & & && & && & & && && & & & && && & && & && & & & & &&& & & & & & & && & && && && & && & && &&& & && && && && & & && & && & && & && & & && & & & & & & && && & & && && & & &&& && & & & && & & & && && & & & && & && & & & && & & && & && & && &&& && & && && & & & && & & & && & & & && &&& & && & && && & & & & & & & && & & && & & & && & & & && && && & & && & & & & && && && & & && && & & & && & & & & & & && & && & & && && & && & & & && && & & & & && & && & && && && & & & && & & && & & & & && & && & && && & & & && && && & & &&& && & && & & && & && & &&& & & & & && & & & & && & & & & & & && && & & &&& & && & && & & & && && &&& & & && & && & && & & & &&& & && && & & & &&& & && & & & & & && && && & & & && && & & && & &&& & & & & & & && && & & && & & && & & & & & & & && & & & && & && & && && & & & & && && & && && & & & & && && && & & && & &&& & & & & && & & & & & && && & & & && & && && && & & & & && &&& & & && && & &&& & & && & && & & & & & && & & && & && & & & && & & && & & && & & & && & & & & && & & & & & & & & & & & && & && & & &&& & & & && & && & && & & & && & && & & & & & & & && & & & & && & & & & & & & & & & && & & & & && &&& & & & & & & & && & && && && && & & & & & & && && & & && & && & & && & & & && & &&& & & & & & && & && &&& & & & & & & && && && & &&& & & && & & && & & & & & & & & & & & & & & && & & & && & && & && & & && && & & & & && && & & &&& & && & & & & & & && & & & && & && & & && & & & & & & & & & & & & & && & & & & & && & & && & && & & & && & & & & && & & && & && && & & && & & & && & & && & && & & & & && & & & && && & & & &&& && & && & & &&& & && & & & & && & & && & & && && & && & && && & && & & & & && & &&& & && & && & & && && & & & && & && & & && & & && && & & & && & && && & & & && & && & & && & & && & && & & & & & && & & & &&& && & & && && && & & && & & & && && & & & && & && & && && & && & & & & && && && & && & && & & & & & & & & & & &&& & & & & & && && & & &&& & & && & && & & & && & & & & & & && & && & & & & && & & && & && & & & && & && & & && & && & & & & && & & &&& & & & && & & & & &&& & & & & & & & & && & && & & && && && & & & && & && && & && & & & & && & & && & & && & & &&& & && & & &&& & & & & & & & && && & && & & & & & && & &&& && && & && & && && && && & & & && && & & && && & & & & && & && & && & && & & & & & & && & & & && & && &&& & & & && & & & & & & & && && & & & & && & && & & &&& && & & & && & && & & & & &&& & && & && & && & && && & && & && & & & & & & && & & && && & & & & && & & && &&& & & & && & & && & & & & & &&& & & & && & & & & & && & &&& & & && && & && & & & & && && & & & && && & & & & && & && & & & & & && && & && & & && & && & &&& & & && & & && & & & && && && & && & && &&& && && & & && & & & & & & && & && & && & & & & && & & & & && & & && & & && & & & & & & & && && && & && & & & &&& && & & & && && & & & &&& & && & && & && & & && & & & && & & & && && & & & && & & && & && && & & &&& & & && & && & & & & & & & && & & &&& & & && && & & && && & && && && & && & && & && & && & & && & & && & && && & & & && & & & && & & & && && & && & & & & & && & & && && & && &&& & & & & && & && && & & & && && && && & && & & && && && & && & && && & && & && & & && & && & & & & & && & & & && && && & && & && & && && & & & && && && & & && & & & & &&& && & && & && & && & && & && & & && & & && && & & && && & & && & & & && & & & & && & && && & & & & & && & &&& && & & & &&& & &&& & && & && && & && && & & & && & && && & & & & && & && & & && && & && & && & & & & && & && & && && & & && & & & & & & && & & & & & && & && & && && & && && & & & & & & && & & & & & & && & && & & && && & & & & & && & & && && & & & & && && & & && && & & & & & & &&& & & && & && & & & && && && & & & & && && & && & && & & & && & & && && & && & && && & && & && & && & && & && & & & && & & & & && & & & & && & & && && & & & & & & & & & & & & && &&& & & & & && & &&& & & & & & & && & & & && & & &&& & & & & & & && & & & & & && && && & & &&& & && & & &&& && && & & & & && & && & && & & && & & && & & & && & & & & & && & && & && & & && & & & && & && & & && & & && && & & & && & && & && & & && & && && && && & & & && && & && & & & && && && & & && && & & & & && && &&& && &&& & & & && & & & & & & && && && && && & & & & && & && & & & & & && && & && && & && && & & & & &&& & && & & & & & & & & & && & & && && & & & & && & & & & & && & & & && & & & &&& && && & && & & && && & & & && & & && && & & && && & & && & && && & && & & && & && & && && & & & & && && &&& &&& & && & & & & && & && & & & & & &&& & && && && & & & && & & &&& & & & && & & & && && && & &&& &&& && & & && && & && && && && & & & && & && && && & && && & && & & & & & && & & & & && & && & && && && & && && && && && && & & && & & && &&& && & & && & &&& & & &&& & & & & && & & & &&& & && && & & & & && & & & & && && & & & && & & & & && && && &&& & && & && && & && & & & & &&& && && & & && & && & & & & & && && & && & && & & & & && & & & & && && && & & && & &&& && & & & && && & & & & && && && & && & & && & && & &&& && & & & & & & & && && & && & && && & && & & & && & & && & & && && & && & & & & & && & &&& & && & && & & && & && && & & & && & && & & & & & && && & & &&& && & && && && & &&& & && & & && & && & && & && & && & && && & & & &&& & && & && & & && & && & && & & && && & && & & &&& && && & && && & & & && & & && & & && & & & & && & & & & & & && & & && && & & & & &&& & & & & & && & && & & &&& & & & & & & & && & & && && & && & & & & & & && && & & & & && && & & && & & && &&& & & && & & & & & && & && & && & & & & &&& & & & & & & & & && && & && &&& & & & & && & && && &&& & && & & & && & && & & & & &&& && & & & & & && && & & && & & && && && & & & & && & & && && & & && && && && && & & & & && & & & &&& && & && & && & & && & & && & & && & && & & & & & && && & & & & & & && & && & && & & & && & && && & & && & && & && & && && & & & && &&& && && & && & & & & && & & & & && & & & & && & && & & & && & & & &&& & && && &&& & & & & & && & & && && & & && & && && & & && & & & & & & && && & & && & & & & & & & & & && && & & && & && & & && && && & && & & & && &&& & && & && && & & && && & && & && & & & && && & && & && && &&& & & && & & && & & & & && && && & & && & & & & && & & && & && && && & && & && & && & & & && && & && & && & && & & && & && & & && & && & && & & && & && & & && & & &&& & & & & & && && & & && & & &&& & & & && & && & & & && && & & & && & & & && & & && &&& & & && & && & & && & & && & && &&& & & & & && & & && & & & & & && & && && && & && & & & & & & & & & && & & & &&& & & & & & & & && & & && && && & && && && && &&& && & &&& & &&& && & & & & && & & & && && && & & & & & & & && && & & && & & & && & & & & && & & & &&&& & & & & & && & && & && & & &&& & & & & & & && & && & && & && & && &&& && && & && & & && &&& & & && & && & & && && & && & & && & && && & & && & & & & & & & & & && & && & && && & &&& &&& & & && & && && & & && & & & && && & && & && && && & & & & & &&& & && && && & & & & &&& && & & &&& & & & && & && & && & && & && & & & && &&& && & & & && && && & & & & & & & & & && && & & && & & & & &&& & & & & & && & & & & && & && & && && & &&& & && & & && && && & && && & & & & && & &&& & & & && &&& && & & && & & & & & & & & &&& & && & & & && & && & & & && && & & && & && & && && & & && && & && & && && & & && && & &&& & && & && && && && & & & && & & & & & & && & & & & && & & & && & & & && & && && && & && & && & && && & && && & && & && & & &&& && & & & & & & & && & & && && & & & & && & & && && && & && & && & & && & & && && && & & & & & && & && & & & & && & &&& & & & & & & & & & && & && & && & & && && && & & && & & && & & & & & & & & && && && & & & && & & & & && && &&& & && && & & & & && && && & & & && & && & & & & &&& & && && & && & & & & & & & & & &&& && & & && && & & &&& & & & & & &&& && & & & && & & & & & && & && & & & && && & && & & & && & && && & && &&& && & & && & && && & && & && && & & & && &&& && & & & & && && & & & && & && & & && & & &&& && && & &&& && & && && & && & & &&& & & & & && & && & && && & && & && & && & && & & && & & && && & && & & & & && & && & && & & & && &&& & && & & & & && & & & & & & &&& & & & &&& &&& & &&& & && & & & && & & & && & & & & & && && && & & && && && & & & && & && & & && & & && & & && & & & & && && && & & & && &&& & & && & & && & && & & && && & & & & && & && & & & & & & & & && && & && & && & &&& & & && &&& && & & & & & && && & && & & && & && && & & & & & & & && & & & & && & & && & && & & & && & && & & & & && & & && & & && & & && & && & & & && && & & && & && && & & && && & && & & & & & & && && & & && && & & & & && &&& &&& && && & & & && & & && & & & && && && & & & && & & & && & & & &&& & & && & & && & & & && & && & & && & & && & & && && & & && & & & &&& & && & & & & & && && & && & & && & & & && & && && && & & && && && & & && & && && & & &&& & & & && & && & & && & & && && & &&& & & && & & & && && && & &&& & && && & &&& && & & & & & & & & & && & & & & & & && & && && & & & && & & && & && & & & & & & & && && && & & & && & &&& & && && & && & & && & & & & & & & && &&& & && && & && & && & & &&& & & & && & & & & && && && && & && & & & & & & & && && & & && && && && & & &&& && & & & & & && && && && & & & & && && & & & && && &&& & & && & && & & && & && & & & && & & & & & && & & & & & &&& & & &&& & & & & & & && & & & && & & & && && & && & & & && & & &&& & && & & & & & && & & & && & && & & && & && & & && & & & & & && & & & && & & & && && & && && && && & & && && & && & & && && & & && && & && & && && && &&& & && && & && & && & & && & & & & && && && && && & && && && && & & && & && & & & && & &&& & & & & & && & && && && & & && & & & & && & && & & & && && & && && && &&& & & & && & & & & & && && & && & & && & & && & & & & & && & && && && & & & && & & & & && & & & && && && && & && & && && && & & && && & & && & && && && & & && && && & && && & & & & & & & && & && & & & & & & & & & & && && & & & & & & && & & && && && && && & && && && & & && & & && & & && && & && && & && && & && & & && && & & && & & && & && & & && && & && & & & & & & && && & & & & & && && & & &&& & & && & && & & && && & && && && & && & && & & & && & & && & && & && & & &&& & && && & && & & & & & && &&& & & && & & & && & & && & & && & & & & & & & & & & & && && & && & && & && & &&& && && & & & & & & && & & && && & & && & && & & & & & & &&& & && &&& &&& & && && & && & & && && & & & && & && & & & & & &&& & & && & & && && & && && & & & & & & && && & & && && & & && & &&& & && & && & & & & & &&& & && && && & && & & && && && & && & && && & & & && && & & && & & && & && & & & && & && & && & & && && & & & & && && & && & && && && & & & && && && & & & & & & && & & && & & && & & && & & & & && & && & & && && &&& && & & & & && & & & & & & && & & &&& & & &&& & & &&& & & && &&& & & && & & & && & && && & && & & & & & && & & & & && & && & & & && & && & && & & & & && & & & & & && & && & & && & & & && & && & & && && & &&& && && && & & & && & && & && & & & && && & &&& && & & && & & & && & & & & && & & && && & && & && & & & & & &&& & & & && & & && & & & && & && & & & & & & && && && & & & & & & && & & && && & && & & & & & && & & & && & & && & && & & && & & & && && & & && && & & &&& & & & && && && & && & & & & & && & & & && && && && & & & & & & & & && & & & & &&& & & & & & && & && & & & && && & & && & & & & & & && & & && && && && && & & & & & & &&& & & && & & & & &&& & && & && & && && & && && && & && && && && &&& & & && && && && & && & & & && & && && & & && & && &&& & && & & & & & & & & && & && & & && && & & && && & & & & && && & && & & & &&& & & & && && && & && & && & & & & & &&& && & & & && && & & && && && && & & & & & & && & && & && & & && & && & & & & & & &&& & && & && & & && & && && & & & && & & & & && & & && && & & && && & && & && & & & & & & && && & & & & && & & & & & && & && && && & & && && & & && & && & && && && & & & &&& & && && & & && && & & & & & & && & & & & && && && & & & & && && & & & && & & && & & & && && & && && & & & & & && & && & && & & & &&& && & && & & & & & && & & && & & && & & && & & && && && & && & & && & & & && & & && && && & && & & & && & && & & & & && & & && && & & & & & && && & && & && & && & && & & & & && & && & & & && && & &&& & && & && & & & & & & & & & &&& &&& & && && && & & && & && && && & & & && && & & &&& & & &&& && && & & && & && && & && && && && & & & & & & && & & && &&& & &&& & & & && & & & & && & &&& & & &&& && & && && & && && & & & & && && & && & & && & & && & && & && & & & && && & &&& &&& & & && && &&& && & & & && & & && & & & & &&& & & && & & & & & & && & & && & && && & && && && && & & && & & && && & & & &&& & & & && && && & & & & && & & & & && & & && && & & && & & & & & && &&& && & && & &&& & & & && & && & & && & & & & &&& & &&& & && && & & & & && & & & && & & & & & & &&& & & && & & & & && && & & & & & &&& & & &&& & & & && & & & & & && & & && & && & && && && & & & & & & && & & & && && & & && & & && & & & & && & & && & & && & && & & && && & &&& & & & && && & & && & &&& & & && & && && && & && && & & & & & & && & & & & & && & & & && && & && & & && && & & & & && & & & && & && && && & & && & & & & & &&& & && && && & & && & && & & & & & && & & && && & & & && & && & & & && && & & & & & & & && && && && && & & & && && & & & & & &&& & && & & & && & & && & & & & && & & & & & && & && & && & & && & & &&& && & & && & && & & & && && & & & && && & && & && & && && & & & & && & & &&& && & & & & & & & & && & & & && & & && & & && & & & & & & & & && & && & & &&& && & & & && & && & && & & && && & & && & & && && &&& && & & & && && & &&& & && & & & & & & & && && & && & && & && && & & && & && &&& & & & & & & & & & && & & && &&& & & && & & & & && & & && && & & & & & & & & && & && & & & & & & & & & & & & && &&&& & && && &&& & && & && && && & & && & & & & && && & & & & & & && && && & && & & & & && & & & & & & && & & & & && & & & & & && & & &&& & && & & && & && & & && & && & & & & && && && & & && & & && & && & & && && && & & && && && & & && && & && & & & && && & && && & & && & && && && & && & & && && && & & && & & && & && && & & & && & & && & && & & && & && & && && & && && & && && & & & & && && &&& & & && & & & && & & & && & && && & & && & & && & && & & & & && & && && && & & & & && & &&& & &&& & & & &&& & && & && & && & && && & & && && && & & & & && && & & & & && & && & & && & & && & && && & & && & & & && & && & & && && && & & && & && & && & & && && && & & && & & & & & & & && & & && & & && & & & & && & && & && && & && & & & & && & && & & && & & & & & & && && & & & & & && & & && & & & & & &&& && && & & && & && & && & & && & & & & & && & & && & & && && && && & & & & & & & && & && && && & & & && & && && & && & && &&& & & && & && & && & & && & & & & & && & & && & & & & && & & && & & & & & & && && & & && & &&& & && && & && & && & && & && & && & & && && && & & & && & && & && && & && & & && & & & && && & & & && & & && & && && & & & & & & && && & && & & & & && && & & & && & & & & & & && && & && & & & && & & && && && && & & && & & && & & && & & & & && & & & & & & & & & & & & && & & & && & && && & & && & & & && & & & && && & & & & & && && & &&& & && & & & && & && & && && & & && & & & & & & & & & & & & & & && & && & && & & && && & & & && & & && & && & &&& &&& & & & & & && & && && & & & && && & & && & & & & & && & && & & && && & & && & && & & & & && & & & && && && & & && & & &&& && & && & & && & & & && && && && && & && & && & & && & & && & & & & & & & & & & & && && & & & & & & & && & && & && & & && & & & && & & & & & & && & & && &&& & && & && & &&& & & & & & & & & & && && && & && && & && && & && & && & & & & && & && && &&& && & & & & & & & && & & && & && && && & & & && & && & & & & & & && & && & & & && & && & && & && && & & & && & & & &&& & && & & & && && & && && & & & && && & & && & & && & && & && & & & & & && & & & && &&& & && & & & & & && & && && && && & & & & & && && & && & && & && && & & &&& && & & && && & && & & & && & & & && & && &&& & & & & &&& & & && & & && & & & & & & && && & && & & & & & && & &&& & & & & & && & && & && & & && & & && & & && & & && & && & && && & &&& && & & && && && && & & & & & & && & & && & & & & & & & && & & && & & && && && && && & & & && & && & & && & & && & & & && && && & & && && & & & && & & && & && & & && & & & && & && &&& && & & && && && && & & & && && & && & &&& & && & & & & & && & & & && & & && & && && & & & & & & && & & & && && & && & & & && && && & & & & & & && && & & & &&& & && & &&& & & && && & & & && && & & & & & & &&& &&& & && && && & && & & & & && && & & & && & & & && && & &&& && && & &&& & && & & & & && && & & & && & & && & && & && & && && && & &&& & && && && && & & & && & & & & && & & & & & & &&& & & & & & && && & & && && & && & && & && && & && & && & && & && & & & & & && & & & & & & & & & & & & && && && && & && & & & & & & & && & & & & & & & & & && && & & & & && & & && & & & & && & && & & & & && & & & & && & && && & & & & & & & && & & &&& & & & & && & & && && & & & && & && && & && && && & && & & && && & & &&& & && & && && & & && & & & & && && && && & & & & & && && & && & && && & && & & & && & && && & & & & && & & && && & && & & && && & & & & &&& & &&& & & & & & && & && &&& & & & && && & & & & & && & &&& & & & && & & & & && && & & & && && & & & & && & & && & & && &&& & & && & && && & && & &&& & & & & && && & & & && & & & &&& && & && && & & && && & & & &&& & && & && & & & &&& & & && & & & & & && && & & & & & & && && & & & && & & & & && && & & & & &&& & & & & & & & & & & && & & & && & & & & & & & & & && & & & & & & & & & & & &&& & && & && & & & &&& && && & & && & && & && & & & & & && & && & & && & & & &&& && && & && & & & && & & && && & & & & & & & & & & && && & && &&& &&& & & && & &&& & & & && & & & & & & & & & && && & & && && &&& & && & & && && & & & && & & & && & & && & & && && & & & & & & && & && & & & &&& & & && & & && & & & && & && && & &&& & && & && & & && && & & & && & & & & & & && & && && && & && && & & & && & & & &&& && & && & && & && & & & & & & && & & & & & & & & && & & & && && & & && & & & & & && & & && && & & & && & & & & & &&& & & & & & & & && & & & & & & & & & & & & & && & && & & && & && & && & & & && & & && & & && & & &&& && & & && & & & & &&& & && && && & & & & & & & && && & & & & & & & && &&& & & & &&& & & && & & && & && & & && && & & & && & & &&& & & && && & && && & & & && && & && & & & & & & &&& &&& && & & & & &&& && & & && && & & & && &&& & && & & & && && && & && && &&& & & && & & &&& & & && && & & & && && & && && && && & & && && && & && & & && & & & & &&& & & && & && & & & && && & && && & & & & & & & && & && & & && && & && & & && & & & && & & && & && & && & & && && & && & & && & && & & && & && & & && && & &&& & & & & && & &&& & && & && & && & & && & && && && && & &&& & && & & & & & & & &&& & & & && && && & && && && & & && && && & && & && & & & && & & & & & & & & & & & && & && & & & && & && & & && & && && & & && & && & & & & && & & & & && && & & & & & & && & && & && && &&& & & & & & && & & & & & && &&& & && &&& &&& & && && & && & && && & && & & & && && & & && & & && & & & & && & && & & & & & && & && && & & && && & && & & & & & & & & && & & & && & & & & &&& & && & & & && && & & && & & && & & && & & & && && & & && & & & &&& & & && & && & & && & & & && &&& & & && && & & && & & && & && & & && && & & && && & & & & & & & && & & & & & & & & & & &&& & & & & && & &&& & & & && & & && && && && & & & && & & && & && & &&&& & &&& & && && && & & & & && && && && & & && & & & & && && && && & &&& & && & & && & & & & && && & & && && & && & & & & & & & & && & && & && & && & & & && && & & && && & && && && & & & && & & & & & && & && && & && && && & & & & & & & & & & && && & & & && & & & && & && && & & & & & && & &&& & & && &&&& & && & & && & & && &&& & & &&& & &&& && & & & && && & && && & &&& & & && & & & & & && && && & & & && & & && & & & & && & & & && & & && & & & && & && && & & & && & && && & & & & && & &&& & & & & & & & & & & & && & && && &&& && & & &&& & & & & &&& & & & & & & && & &&& && && & & & & & & & &&& & & & & & & & & & &&& && &&& & & && & & && & & & & && && & && & & & & & & & & & && & && & && &&& & &&& &&& & && & & & && & & && && & && & && & && & && & && & && && & & & && & & & && && && & && & & && & & & && && & && && & & & & & && & & & & & & & & && & &&& & & && & && & & & & && & & & && & & & & & & && & & & && & & && & & & && && & & & & & & & & && && && && && & && && & && && & & && & && && & && & && & & & & & & & && & & && && && && & &&& && && & & && & & && & && & & & & && && & & & & && && & & && & & & && & & && && & & && & && & & && && && & && & && & && &&& & & & & & & && & & & & && && & && & & & && & & &&& && && && & && & & && && & && & & && & & &&& & & & & & &&& & && &&& & & & && && & && & & && && && && & & & && & && & & &&& && & & & && && & && & && && && & & && && & & & & && && && && && & && & & & && & & && & && && & && & &&& && & & && && && & & & && & && & & & && & & & & && & && & && & && && & & & & && & & & & & & & & && & & && & & && & & && && && & && && && & & & & && & & && && && & & && && & & & && & && & && & & & & & && && && && & && & & && && && & & & && && & & & & && & &&& & &&& && & && && & & & & & && & & & & && & && & & &&& && && & & && & & & & & & && & && & & &&& & & && & & && & && & && & && & & && && & && & && & & &&& & & && & && & && & && && && & & & & & & && &&& && & & &&& && & & & & & & & && &&& & & && & & & && & &&& & & & & & && && & && & & && && & & & & && & & & && & & & & && & & & & & && & & & && & &&& & & & & & && & && && & & && & & & && & && && &&& & & && & & & & & & & && && & && & && && & && & & & && & & & && & && && & && & & & & & & & & & && & && & & & & & && & & & & & && && & && && & & & & & & && && & && && && && & &&& & & && && && & & && && & & && & & & & & && & && & && & & & && & && & & & & & & && & & && && && & & & & && && & & & && & & &&& & & && & & & & && && && & & & & &&& & & && && & & & & && && &&& & & &&& & && & && & && && & & & && & && & && && & && & && & && & & && &&& & & & && & && & & && & && &&& & && & & && & & && & & & && & && & && && && & & && & & & && & && & & && & & && & && && & & & && & & & & & && && & & && & & & && & & & & && & & && & & && & & & && && &&& & && & && & && & && & & & && & && && & & & && & & && & & & && & & & & & & && & & &&& & && & & &&& & && & & && & & & && & & & & & && & && & & && & & && && & && && & && & && & & & & && & & & && & & & && & && && & & & & & & & && & & && & && && && &&& & & & & & && & & && & && & && & & && && && & & & & & & && & & & && && && && && & & & && && && & && & & && && & && && & & & & && & & & && & & &&& & & && & & & && & & && & & & & & && & && & && && & && & & & & & & & & & &&& && &&& && &&& & & && & & && && & && & & && & & & & & & && & & & & & && & && & && & & & & &&& & & && & & && && & & && & & && && & && & & && && & & && && & & && & & & & & && & && & & & & & & & & & & & & && & && & & && & && && & && && & & & && && & & && && && && & & & && & & && && && && & & & && && && & && & && && & & && && && & & && & &&& & & & & & & && & & & && & && & && && & & & & && && && & & & & & & &&&& & && & && & && & & && & & & && & & & & && & && &&& & && && && & && &&& && & & & && && & & &&& & & && & & && & & && & & & && && & && & && && & && & && && & & && & & && & && && && && & && & && & & && && & && & & & & & & & & &&& & & & & & & & && && & & & & & & && & & & & & && & & & &&& & & & & && & & & && & & & & & && & && && & && & && & & & & & &&& & && & & & && & && && & & & && & & & && && & & & & && & && && & & & & & &&& & & && & && & & &&& && && & & & && && & & & & &&& & && & && && && & & & && & & & && & & && && & & & & & && && & & & && && & & & && && & && & & & & & & && && && & & && & && & & & & && && & && & && &&& & && & && & & & & & && && & & && & & & && & & & &&& & && & && & & & && & & && &&& && & & && && & &&& & && & & &&& & & && & & && && & & && & & & & & & && & & & & & & & && && && & && & && & && && & & & & & && && & && && & & & & & & &&& & && & & & & & & & & && & & && & & & & & & & & && & & && && && & && & & & & & & && & & & & & & & & && && && &&& & & & & & & & && & & && & & & && & && & && && & && && & && & && & & & && & & & & & & && && & & & & & && & & & && & && & & && & & & && & & && & & & & & & & && & && & & & & && & & & & && & &&& && & & & & && & & & && & & & &&& & & & & && & && && && & && & & & && & && & & && && & & && && && & & & && & & && & & & & && & && & && & & & & & & & && && & && & && && & & && && & && & && & && & && & & && & && & & & & & & & && & & &&& && && & & && && && & && & & &&& && & & && & && & & && & & & & & &&& & & & & & & & && & & & && & && & & & && & & & &&& & & && & &&& & & && & & && & && & & && & && & & & & & && & & &&& && & &&& & && && & && && & & & & && & && && & && & & & & & && & & &&& & & && & && & & && && & && && & && && & & & & && && & & && & && & && && & & && & & & && & && & && && & & & && & && &&& && & & && & & && & && & && & && & && && && && & & && & & & & & && && & && & & & && & && & & && & &&& & & && & & & && & & & && && & & & && && & & && && & && && & & && && && & && & && & & && && & && && && & &&&& && && & && & & & && && & & & && && && & & && & & && && & & & & && & & & && & && & & && & && & & && && & & & & &&& & & & & & & && & && && && & & && & & & && & && & & & && && & & && && & && & & & & && && & && & && & & && && & & & & & & & && & && & & & &&& & & && & &&& & &&& & & && &&& & && & & & &&& & & && & & & & && & & & & && & & && & && & && & & & & && & & & && & & & && && & & & && & & && & & & & & & & & && & & && && & & & && & & && && & && & & && & & &&& && & & && & && & && & & && & & && && & & & & & && && && & & & && && & & && & && & & & & & & & & & & & && & && & & & & && & & & & && & & & & & & & & && && & & & & & &&& & & & & & && & && && & && & & & && && & & && & & & & & && & & & & & & && & & && & & & & & & & & & & && & && & && && && & & & && & && & & && & & &&& && & & & && & & && && & & & && && && && & && & & && & & & & & && && & & & && & & & & && && && & & & && & && & && & & && && && && & & && && & & && & & & & & & && & && & &&& && && & && & & & && & & & & & & & && && & & && && & & && & && & & &&& && && & & & & && && & &&& && &&& && &&& & & && && & && && & & && & & && && && & & && & & & & && && && && & &&& & && & & && & & & && && & && & & & && && & &&& && && && & && & && && & && & & && & && & && & & && && & & & && && & && && && && & &&& && & & & && & & && & & & & & & &&& & && && && & & && & && & && & && && & && & && & && && & & &&& & & & && & & & & & & && & & && & & && & & & & && && & & & && & & && & && & & & & && && & & &&& & && & && && && && && & & & &&& && & && & & &&& && && & & & & && && && & && & & && & & && & && & & && && & && & & && & && & & && & & && && && & & && & & && & & && & && && & & && && & && & & & & && & && & & & & & && & & && && && & && & & && & && & & & &&& && & & & && && && & & & && & & & && & & && && && & & & & & &&& && && && && & & && && & && & & & && & & & & && & &&& && & & & && && & && & && && & & & && & & & && & & && & && & && & && & & && & & & & & && & & &&& & && & & & && & & && && & & && && & && && && & & && && && &&& & && && && &&& && & & && & && && & & && & & & && & &&& && & & & && && & && & & & && & && && & && && & && & && && && && & & & & & && & && & && & & &&& & && & & & & && & &&& & & & & & && && & & & & && & & && & & & & & & && && && & && & && && && & & && & & & && &&& & & && & & & & & & & & & & && & & & & & & && & && & & & & && & && &&& && & & && & && & & & & && && && & & &&& &&& & & & & && & & & & &&& & & && & && & & && && & & && & & && && &&& & & & && & & & && && & && & & & & && && &&& & & & && && && & && & && & && & && & && && & && & & && & & && && & & && & && & & & & & && & & & & && && && & & && & & && & & && & & & & && & & & && & && &&& && && && && && & & & & && & & & & && & && && & & & && & & & & && & & & && & & && & && && & & & && & & & & & && && & & & && && && &&& & & & & && && & & & & && & & && & && && & && & & & && & & && & & & & & & && && & & & & & && && & && & && && & & & && && && && & && & & & & & & & & & && & & & && & && &&& && & & && & & & & & & & && & && &&& & & & & & & & && & & & & &&& & & & && & & & && & && & && && & && & && && & & & &&& & && && & && && && & & && & && && && & & && & & && & & && & & & & & && & && & & & &&& &&& & & & & & & & && && & && && && & & & & & & & & && & && & && && & & & & & & & && & & && & & & && & & && & & & & & && & && & & && & && & & && & & & && & && && & & && && & & & && && & && &&& & & & & & && & && & & & & && & & & && & & & &&& & & & && && & && & & & && & & && & & & & & && & & & & && & & & & & & & & & && & & && && && & & && & &&& & && & && & & & && & & & & & & & & & & & & & && & & && & & & && & & &&& & & & & && &&& & & & && & & & && & & & & & & & && & & && & & && & & & && & & && && & & & & & & & && && & & & & & & && & && & && & & & && & & & & & & & & && & & & & & & & & & & & & & & && & & && && & && && &&& & && & & & && & & && & & & && && & & && & & & & && & & & && &&& && & && && & & & & & && & & & && && & && & & & && & && & && & & & & & & && & &&& & && &&& & && & & & & && && & && &&& && & & && & && && & & && && & &&& &&& && && & && & && & & & & && && & & & & && & && && && & & & && && & && &&& && && & & & & && && & &&& & & && & & & && && & && & & & & & && & & & &&& & & &&& & & & && & & & && & && & & & && & && & && & & && && & & && & & & && & && && & && & & & && && & & &&& & && & & && & && && && & &&& && & & && && &&& & & & && & & & && &&& & && && & && && & && & & && & && & & & & && & && & & & & && & &&& & && && && & & & & && & && & && && & & & && & & & & && & & && & && && & & && & & && && && & & & && & && & & & & && && & & & & & & & & & & && & & & & & && & & && & & & & & && && && & & & & && & &&& & && & && && && && & && & && & && && & && & & & && & && & & && & & & && & & & && & && & & & && & && && & & & &&& & && & && && & & && & & & & & &&& & & & & && & & && && && && &&& & && & && & && & & & & & && & & && & & & && & && & && & & && & && &&& & &&& & & & && && & && & & && & && && && & & & && & && & & && & && & & & && & & & && & & &&& & & & & & && &&& & & & & && & && & && && && && & && & & & && & && && & && & && & && & && & & & & & && & & & & & & & & && & && & & & && && & && & &&& & & &&& && && && &&& & && && && & && & & & && & && & && & & && & && & & & && && & && && & & && && & & && & && && && & & & & & && & && && & & & & && & && & && & & && &&& & & & && && & & && & & && & && & && && & & & & & && & & && & & & && & && & & & & & & & & & & & & & && && & & && & & & && && & &&& && & & && & & && && & & & && & & & && && & & & & & & & & && & && && & & &&& & & && & & & & & & & & && & && && & & && & & && && & && && && & & & && && & && && & & & & & & & && && & & & && & && && & & && && & & & & & & & && && && & && & & & & && && & & & && & & & & && & & & && & & && && & & && & & && & & & & & & && && && & & & & && & & && & && & & && & & & && & & & & & & & && & & & & && & & && && & && && & && & && & & && && && & & && && && & & & & & & & && & & & && && && && &&& && && & &&& && & & && && & & & && & && & & && & & & &&& & & && & & & & && & & && & & && & & & && & & & && & & && && & && & & & &&& & && && & & & &&& & & && & & & && & && & && && & && & & & & & && & && & & & && & & && && & & &&& & & && && & && & & & && & & && && & & & & & & & & & && && & & & & & &&& & & & && & && & & && & && & && & && & & && & & && & & && && & & & && && & & && & & && & && & && & && && & && & & && &&& & & &&& & & & && && & & && & & & & && & & & & && && & && && & & && & & & & && & && & && && & & && && & & && & && & && & & & & & &&& & & && & & & && & && & & && & & && &&& & & & & && & & & && & & & && & & && & & & & && & & && && &&& & && & && & & & & && && & && & && && & && & & & & && & & & & &&& & && & & && & &&& && & & && & & & & & && & & && & & && & & & & & & & && & & && & & & && & && & & & && & & & && & & & & && & &&& && & & & & & & & & && && & && & & & && & & & & && & & & & && && & && & && & &&&& & && && & & & & & && & && & & &&& & & && && & && & & & & &&& && && & & & & && & & && & & && & & & & && && && && & & && && & & & & & & & && & & && & & && && & & & & & & & && && & & && & & & & &&& & & & & & & && & & & & & &&& & & && & && && & & & & & & & & && & & & & && && && & & & && & & & & && && & & && & && && && & & & & & & & && & && & & & & &&& & & && && && & & & & & & && & && && && & && && && & & & & && && & & & & && & & & & & & & && && & & && & && & & && & && & & & & & && & &&& && & && && & & & && & & & && && & & & && && & & && & && && & & & & & & && & & && & && & && & & & & && & && & & & & && & && & && & & & & && && && & & & && && & && && & & && & & && & & & && & & && & && && & && & & & & && & & && & && & && & & & & &&& & & & & & && & && & && & && && && &&& && & && && && && & & & & & & && & && & & & & & && &&& & & && & & & && & && & & && && & && & & && & & && & & & & & & && & && & && & && & && & && & & & && & & & &&& && & && & && & & & & && & & && & &&& && & & && & && & & && && && & & & & && & & & & & && & && && & && & && & & & & & & && & && && & && & & & & && && & && & & & & & & && && & & & & && & && & && & & && && && & & & & & & && & & && & & && & & &&& & && & & & && & && & & & && & & & && && & && && && & && & & & & && & && & & & && & & && && & & & &&& & & & && & && & &&& & && & & & & & & &&& & & & & &&& & && & && & & & & & & & & && && & && && & & & & & && && && & && & & & & && & & & & && & &&& & & && && & & && && && & & & & & && & && & & &&& && & & & & && && & && &&& & && & && & &&& & && & && & & & && && & & & && & & & &&& & & & & && && && && & && &&& & &&& && && && & & && & & & && & && && & & &&& && & && & & & & &&& & & &&& && & & & & && && & & & & & & && && && & && & && & & && && & & & & & & && & &&& & & && && && & && & &&& & && & & & & && & && && && & & && & && & && & & && && & && & & & && & && & & && & & & && && && && & && & && & && & & & & && & & && & && & & && & & & & && && && & & & & & && & & & & && & & & & && & & & && & && & & && & & & && & && & && && & & && && && & & && && & && && && & && && & & && & && & && && & & & && && & & & & && & & && &&& & & & && & & && & & & && & &&& & & & & && & & & & & && & & & & && & &&& & & && & && & & & & && && & & & & & && & & & & & & &&& & && & & & & && & && && & && & & & & & & && &&& & & & && & && & & & && & & & && & & & && && && & && & & &&& && & && & && && & && & & & & && && & && & && & && && & && && & & & & & && & & && && & & & && &&& && && && & & & & & && && && && & & && && && && && && & && & & && & & && & & & & &&& &&& & & & && && & && && & & & &&& & && && && && & & && & && && & & && & & & && &&& & &&& & & && & && & & && && &&& && & && & & & & & & && && & & & && & & & & && & &&& & & & && && & && & & & & & & & && & & & && && & & && & & & & && && &&& && & & && & & & & & & & & && & & & & & & && & & & & & && && & && & &&& & && & && & && & & & & & && & & & && & & &&& & && && && & && & && & & & &&& & && & && && & & & & & & && & & & && & && & &&& && & & & && & && & & & && && && & && &&& && && & && & & && & & && && && & & && & & & & & & & & & && & & & & & && & & && & & && & & && && & && & & && & & & & & & & && & & && && & && & & & &&& & && && && && & & && & & & && & & & && && & && & && && & && & && & & & & & & && & & && & & && & & && & && & && & && & & & & & & && & && && & && & & & && & & & && & & & & & && & && & && && && && && & & & & & & & & & & & & & & & && & && & & & & & & & & && & & && && & & && & & & & && & & & && & & & && & & & && & && && & && & && && & && && & & & & & && & & & && && && & & && & & &&& && && & && &&& & & & & & & & && & & & & &&& & && && &&& & & && & & && & && && & & & && & & & & && & && & && & && & && & & & && && && && && & && & && && & && & & && && && & && & && && & & & & & & & & && & & & & & & && && & && & && & & && & && & & & & && & & && & & & & & && & & & && & && && & & & && &&& & & & & && & & && & & & & && & && & && & & & & & & & && && & && & & & && & & & && & & & & && && && & & & & & && & & & && && & & && & && && && && && & & & & && & & & & & & && & && & && && & & && & & && && && & & && & & & && & && & & && & & & & && & && & && && & & & && && && &&& & &&& & & & && & &&& & & & & && & & & & & & &&& & & & & && & &&& & & &&& & & & && & & && && & &&& & & && & && && & & & && & && & &&& && && && && && & & && &&& && & & && &&& & && && & & && & && & && & & & & && & & && & && & & & & && & & & && && & & & && & & && && & & & & && & & & && & & & & & & && && & & & & & && & && & & && && & & && &&& && & & &&& && &&& & & & & && && & && && && & && && && && & & & & && & & & & & &&& & &&& && & & & & && & & & & & &&& && & &&& & & && & &&& & & && && & & & && && && & & & && & & && && & && & & & & & & && & && && & & & & & & && & & && & & & & & & & && && & && & & && & & && && & & & & & & & & && & & && && & & && & &&& && & & & & & & & & && && && & & && & & & & & & && & & & & & & & & & & & & & &&&& && & & & & && & && & && && & && & && & & && & & && & & && && & & && && & & &&& & &&& & & && & && && && && & & & & && & && & & & & && & & && & && & && & && & && & & & & & & & & & && && && && &&& & & && && &&& & & & & && & && & & && & & && & && & & & && & && & & && && && && && && & & && & & & & && & && && & & && & && & & && & & & & &&& & & && & && & & & & && && & & & & & && & && &&& & & && && && & & & && && & & && & & & & & && & &&& && & && & && & & & && && & && && & & & &&& & & && & && & && && & & & & & & & && & & & & & & &&& & & & & & & &&& & & & & & & & & & & & & & & & && & & & && & & & & && && & && && & && & & && & && & & && & && & && && & & && && & & & && & & & && && & & & & & & & & & & && && & && & & && & & && && && & && & & & & & & & & && & & & &&& & && & & & && & & & & & && & & && & && & & && && & & & & & & && && & && & & && & & && & && & & & & && & & & && & & & & && && & && & &&& & & & & & && & & && & && &&& && && & & & & & & & & & && && & & && & & & && & & & & & && & & & & & & && & && &&& && && & & & & & & & && && && & && && && & & & & && & & & & && & & &&& & && & && & && & & & && && && & & && & && & & & && & & & & & & && & & & && && & & &&& && & & & & && && & && & & && & & & && && && && && & & && & && & && && & & && && & & & && && & && && & & && && & & & & & & && & & & & && & & &&& & & & & && & & & & && && & && & & & && & && & && && & && && & & & & & && && & & && & && && & & & && && & && & & && & && && & &&&& & & && & && && & && && & & & && & & & & & && & & && && & && & && & && & && & & && & & & & & & & & & &&& & & && & & & & & & & & & && & && && & && & & & && & && & & & & & & && && &&& && && & && & & && & && && && & & && & & &&& && & && && & & && && & && & && & && & & & & && & && & & & & & & & && & && & & && && & && && & & && & & && && && && & && & && & & && & & & & & & & & && & & & && &&& & && & & &&& & && && & && & & & && & & & & && && &&& && & & & && & && && & & & && & && && & && & & & & & && && && & & & & & & && & & & && & & && & && & && && && && & & & & && && & & && & && & && & & && & && & && & & && & & && & & && && & & & & && & & & & && && & && & && & && & & & & & && && & & && & & & & & && & & & &&& && & && & & && & && &&& & & &&& & & & & & & & & & && &&& & & &&& & & && && && && && & & & & & && & && && & & & && & && && & & & && &&& & & & &&& && & & & && & & & && & & && & & && & & && & & && & && & & & && & & & & && & && & && & && && & & & & & && & & & & && & & & & & & & & & && & & & && & && & & & & && && & & && & & & && & && && & & && && & &&&& & && && & && && & && && & & && & && && & && & && & & & && & &&& &&& & & & & && && && & & && & & & & &&& & & & && && & & && & && & & & && && & & && & & && & & & & && && & & & & & && & && && & && &&& & & && & && & & & & & && & & && && & && & && & & && & & & & & & && & & & & && & && && & & & & & && & & & & && && & & & & && && && && & && & & & & && & & & && & & && & & && && & && && & & && & & & & && && && & & && & && & && && & & & & & && & & && & && & & & && & & & && & && && & & && && && && & & & & & & & & &&& & & & & & & && & & & & && && & & &&& & & && &&& && & & && & & & & && & & & & & & & && && &&& & & & && & && & & & && & & &&& && & && && & && & & & && && && && & && && && & & && & && & && & & & & && && & && && & && & & & && & && & && & & && && & & & && & & & & & & & & &&& & && & & && & & && & & && & & && && & && & &&&& && & & && & & & && & & & & & & & && && & && & & & & &&& & & && && & & & && & && & && & & && & & && & & & && && && && & && & & && & & && & & & && & & & && && & & && & & & & && & & & & && && & & & & & && && & & & & & && && & & && && &&& & & & & && & && && & && && & && & & && & &&& & & & & & & && && & && && & & & & & && & &&& && & && && & & & & && && & & && & && && & & & & &&& && && & && & & & & & && && && & && & & && && & & && & && & && & & && & && & & && &&& & && && & & && & & & & & && && & && & & && & & && & & && & & && & & && &&& && & && && & && && & & && & & && & & && & & && && & & & && && && & && & & && & & && & &&& & & & && & & & & && & & && &&& & &&& & && & && & & && & & & && & & & & & && & & & && & &&& && && & && && & & & && & & & & & && && && && && & & && & & & & & && & & & && & & & && & & & && & && & & & & &&& && && & && & &&&& & & & & && & & & && && & & && & & && & & & && && & & & && &&& && && && & & & & & && & & && & & &&& && & & & & && & & && & & & & & & & & && & & & && && & && && & && && & && && & & & && & && & &&& & & & && && && && & & & && & & && & && & && && & & && && & && & & && & && & & && & && & && && && & &&& & & & & & & & && & && & && & & & & & & & & & & &&& & & & && & && && & & && & & & && & & && & & & & && && & & && & & && & && & && & && & & & & && && & && & & & & & & &&& & & & & & & && & & & & && & & && & && & && && & & && & & & & & && & & & & & & & && & & & & && & & && &&& & & && && && && & & & && & & & && & & & && && && & & & && & && & && & & & & &&& & & && & & && & & && && & && & &&& & && & && & && & & & & & && & && && & && && & & && & & && && && & & & && && & & & & & && & & & & & & & & & & & &&& & && && & & & & & && & & && & & & && & && & && & & & && & & & & & && & & &&& & & && && & & && & & & & & && & & && && & && & &&& & & && & && & && & & && & & &&& && & && & && & & & && & && & && && & & && && &&& & && & & && && && && && && & && & & & & & & & && && & & && & && & && && & & && & && & & && && & & & & & && &&& && &&& & & && & && & & & && & & && & && & & & & && & && & & & & && & & && & && & & && & && & && & & && & & & && & & & & & && && & & & && & & && & && & & && && && & & & && & && && & && & && & & & & && & && & & && && & && && & & && && & & & & &&& & & & & & && & & && & & & & & & & & && & & & & &&& & && & & & & & & & & & & && & & && && & & & & & && && & & & && & && & &&& & & & & & & & && & & & & &&& & & & && & & && & & & && & & & && && && & & & & & & & & & & & & && && & & & && && & & & & & & && & && && & && && & & &&& & & & & & && & & & & & & && & && & & & && & & & && & & && & & & && & & & & && & && & & & & && & & & & && & & & & && & & & & &&& & && & & && && & & & & && & & & & & & & & && && && & & & & && && && & & & && & & & & & && && &&& & & & & & && & & & & & && & & & && & & & & && && & &&& & && & & && && & & && & & && & & & & && & && & & & & & && & & & & & & & && & && & && & && && && & & & & & & && && & & & && & & & & & & & && & & && && & & && & & & & && & & & && & & & && & && & && & & & & && & & &&& & & & &&& & & && & & && & & &&& &&& & && & & & & && & && & & & && & & & & & & & && & && && && && & & && & && && & & && & & & & && & && && & & & & && && & && && & & &&& & & & & & & && & & & && & && &&& && && & & & & && & & & & && && & & && & && && & & & & & & & && & && && & & & && & & && && & & & & & & & & && & & & & & && & & & & && && & && & && & & & & &&& && & && & && & & & && & & & & && & && & && && && && & && & && & & & & && & & && && & & & & && & & & & & & & & && && & && & & && & & & & && & & & & && && & & & & && & & && && & && & & & & & & & & & && &&& & & & && & & && & & & && & & & & & && & && & & & &&& & & && & & & && & && & && && & && & & && & & && & & & & & & & & && & & & && & & & && & && & & && & && & & & & & & & & & & & && & & & && & & & & & && & & && && & & & & & & &&& & & & && && & && & & & && & & & & & && &&& & & && & &&& && & & & && & & & & & && && && & & & && & & & & && & & & && & && && & && & & & && & && & && & && & & & && & & & & & & & &&& & && & & & & && & & & &&& & && & & && & & && & & && &&& & & && & & & && && & & && && && & & & & & & && & &&& & & && & & && & & & & & & & && & & & & & & & & & & & & & & && & & & && & && && && & && && & && & & & & && && & & && & && & & && & & & && & & & && & & & & && & && & & & & && & && & && && && & & & && & & & & & & & & & && && & && && & & & && & & && & & & & & && && & & && & & & & & & & && & && && & & & && & & & & & & & & & && & && & & & & & & & && & & && && && & & && & & & && && & & && & & & & && & & & & & & & & & & && && & & && & && && & & && & && & & & & & && && && & & && && & & && & & && & & & & & & & & && && & && & && && & & & && & & && & & & & & & & && && && & && & & && && & & & & & & && &&& &&& && & & && & & & && & & & && & & & & & & && & && && && & & && & && && & & & & & & & & & & &&& && & && & & && & & & & && && & && && & & && & & & & & & & &&& & & && && & & & & && && && & & && & & & & & & && & && & && & & && && && && & & & && & & & & &&& & && & & & & &&& & & & &&& && & & & & & & & & & && &&& & & & & & & && & && & & & & & & && & & & && & && && && & && & & && && && & && && & & & & & & && & & & & && &&& & && && && && & &&& & && & & && && & & & & & && & & && && & & && & && && & && & & & && & & & & & & && & & & && && && && && & && & & &&& && & & & & & && && &&& & && & & && & & && && && & && & && && & && & && & & & & && && && & & & & & && & & & && && && & & & && & & && & & && & & && & & && & && & && & & && & && && & & & & && && && & & && & & & && & & & && && & && & && && & && & & & &&& && & && & & & & && &&& &&& && && & & & & & & && & & & && & & & && & & & && & && && & & && && & && & & && && &&& & && & & & & & && & & & & && & && & & && & & & & && & & && && & & && & & & && && & && & & & && && & & && & && & && && && && && && & & & & & && & && && & && & && & & & & & && & & && & & & & & & & && & & && & & && & & && & && && && && & & && & & && & && & & & & && & && & & & & &&& && && && && & && && & & & & & && & && & & & & && & && & & && & & & & &&& && & & && & & & & & & & && & & & & && && & && & & & && && & & &&& & && && && & && & &&& & & && & & &&& & & & & && & & && && && & &&& & & & & & & & & & && & & & &&& && & & & & & & & & & & & & & & & & && && & & & && & && && && && & & & && && &&& && & & && && & & & & && && && & & & && & && & && && && && && & & & & && & & && & & & & & && && && & & & & &&& & && & & & & && && & && & && & && & && & & & & & && & && & & && & && & & & & && & && && & & & && && & & && & & & & & & && && && && & & & && && && & & & &&& & & & && && && && & & && & & && & & & & & & & & & & & & & & && & && & & && && & && && & & && & && & & & & && && & & & & && & && && && & & && && & & & & & & & && & & && & & & & & & & & & && & & && &&& & & && && && & & & & & & && & && & & && & && && & && && & &&& & & &&&& & && && && & && & & & & & && & && & && &&& & & &&& & && & && & &&&& && & & && & && && && & & &&& & && & & &&& & & && & && & && & & && & && & & &&& & & & && & && & & & & & && & & && & & & && & && & & & & & & && && & & & && & & & & && & & & & && & && && & & & & && & && & & &&& & & & && & && && & & & & &&& & & & && & & & & & & & & & & & & & & && & & & & & & & && && & & & && && & & &&& & & && & & & && && & & && & && & & && & & & && & &&& & & & &&& && && & & && & & && & && & & & && & & & & & &&& & & && & && & & & & & & & & & && & & && & & && & && & & & && & & & & & & & && & & & & & && && && & & && & & && && && &&& & & & && & & & & & & & & && & & && & & & &&& && & & & & & & & & & &&& && && & && & & & & && & & && && & &&& & & & & & & & & && & & && && & & &&& & && & &&& && & & & && & & & & && & & && & & && && & &&& & & & && & & && & & && & && & && && & & && && & & && & && && &&& & &&& & & & & & & && & && & & & & && && && & & & & && & & && && & & & & & & & && && && & & & & && & & & & & & && & & & & & & && & & & && && && & & & && && & && && & & && & & & & & & & & &&& & & & && & && && && & && && & & & & & & & && & & & && & & & && && & & & & && & & & & & &&& & & & & & && && & && & && && && & && & & & & && & & && & & && & && & & && && && && && & & & & && & & && && && && && && & & & & & & && & & && & & & && && & & && && && && & && && & & && & & && & & && && & & && & & & & && && && && && & && & & & & & & &&& & & & & && && & && & & && & && & & && && && && & & & & & & &&& && & && & && & & & && & & & & & && & && & & && & & && && & & & && && && & & & & && & & && & & && & & && & & && & & & & & && && && & & & & & && && & && && & & & & && & & & && && && & && && & & & && & & && & && & & & & & & && && & & & && & & && & & && && && & & & && & && & & && && & & & && & & & & & && & && & && & & && & &&& & & & && & & & && & & & && & && & & & & && && & && & & && & & &&& & && && & & & & & && && && & & & && & && & & && && & & & && & & & & & & & & & & & & && & & & & && && & & && &&& & && & & & & && && & & && && & & & & & && & && & & & & & && &&& & && && && & & && && & && && & && & &&& && & && && & && & & && & & & & & & & & && & && & && && & && & & &&& & & & & && & && && && & & & & & && & & && & && & & && & & && &&& & & & && & & && & & & & && & & && & && & &&& & && && && & & & & & & && & && & & && & & && & & && & & & & && & & && & & & & & & & && && & & & & &&& & & & && & & & &&& & & && & & && & & && && & & & & && && && & & & & & & & & && & && && & & & && & &&& & & && & & & & && & & & & & & & & & & && & & & && && & & & && & & & & && & & && && & & & && & && & && & & && & && & & & & & & && && & && & && & && & & & & & & && & & && && & & & & && & && && & && && & &&& & & & & && & && & & && & & & &&& && & & & & & & & & & && & & && & && & && & & & && & & & && && & & & & & & & & && && & && && & & & && & && && && & && && && & & & & & & & && & && && & & & && & & & & & &&& & && & & & && & & && && && && & && && &&& & & && & && & & && & && && & && && & && & && && & && & && & && & & && & && & & & & && & & & && & & & & && & && & & & & & & & & & && & & & & && && & & & & & && & & && & & & & & & & && & & & & && & & & & & && & & && & && & & & &&& & && && & & & & && & & & & & & & && & && & & && & & & & & & & & & & && & & & & && & && & && & & & & & && & && & & & & & & & & & &&& & & & & & & & && & & & && && & & & & & && & & & & && & & & && & && & && & & & & && & & && & & & & & && & & && & && & && & & & & & & && & && & & && & & & & & & && & && & && && && & &&& & & && & & && & &&& & && & & & && & & &&& & &&& && & && & && & & & & & & && & & && && & & & && && && & &&& && & & & && && & & && && & & & && & & & && && & & & && & && & & & & && & & && & & && && & & & & && & & & && & & && & & & && && & & && & && & & & && & & && & & && & && & && & & && & &&& & && && & && & & & & & & && && & && & & && && & && && & & && & & & && & && & && & && & && & & & && && & & & && & & & &&& & & && & && &&& & & & & & & & & & & && & && & & && && && & &&& && & && & & && & & & & &&& & && && & && & & && & && & & & & && && && & && && & & & & & & & & & & && & && && & & & & &&& & && && & && & && & & && & & & & &&& & & & & & & && & && & & & & & & & && & && && && & && & & & && & && & & && && & & && & && && & && && & & & & & && & && & && & & & & && & & & & &&& && & && && && & && && && & & & && & && && & & & && & & & & && && & & & & & & & & && & & && & && && & & & & & & & && & & && && & & & & & && && && & & & & & & & & & & && & && & & & & && & && & & & & & & && & & & & & && && & & & & && & & && & && & & & && & & & & & & && & &&& & & & & & & && & & & & & & & & & && & & && & && & & & && & & && & & & & & & & & && && && & & & && & & & & && & & && && & & & & && & && & & &&& && & && & && && & & & & & & & & && & & & & && & & & & & & && && & & & & && && & & && && & & & & & && && & && & && & & && & & & && & & && & & & &&& & & & & && & && & && & & && & & & & & && && &&& & & && & & & && & && & & && & & & & & && & & && & & && & && && & & & && && & & & && & & & & & && && && & & & && & & & &&& && & & && & & & & & & & & && & && && & && && & & &&& && & && & && && & && & && & & && & & && & & && & && & & & && & & && & &&& && & & && & && & & && & & & & && & & & & && & && & & && & & && & & &&& & & && & & & & & &&& & & & && & && && && & & & &&& && & && & & & & & & && & & & & & & & & && && & & & & & && && & && && & & && & & & & & && & & & & & & && & & & && & && &&& & & && & & & & && & & & && & & & & & & && && & & & & & & & & && &&& && & && & & && && && && & & & && & & & && & & && && & & &&& & && & & & & && && & & && & & && & & && & & & & & & && & && & && && & & && & && && && & &&& & & & & & &&& & & && & & && & & & && && & & & && & && & & &&& & && & && && & && && & && & && & & && & &&& && & && & & &&& & && & & & & & & && & & & & & & && && & && & && && & & & & & & & & && & & && & && & && & & & & & & & & && & & && & && & && & & & & && & & & & & & & && & & &&& & && & & & && && & & &&& & &&& & && & & &&& && & & && & && && && & & && && && & && & & & && && & & & && & & && && & & & && & && & && & && & & && & & & & & && && && & && & & & & && & && & && & && & && & & && & & & & & && & & & & & & & && & & & & && & & & & & & & & & &&& && & && & && & & & & & && && && & & & & & && & &&& & & & & & & && & & & && && & && && & & & && & & & & & && & & & & & & & && & & & && && & & & & & & && & & & && && & & && & && & && & & & &&& & & & && & && RR11 48 St / Hwy 779 Golf Course Rd Boundary Rd 79 Ave / Hwy 628 79 Ave Rosenthal Rd / RR12 Glory Hills Rd 48 St / Hwy 779 Golf Course Rd Boundary Rd Veterans Blvd Fairways Dr 50 St / Main St Oatway Dr 49 Ave 44 Ave Hwy 16A Hwy 16A j Regional Agricultural Master Plan Policy Area Prime Agricultural Land Park Major Road Trail Stormwater Management Pond Tree Canopy &&&&&& &&& &&&&&&& && &&&&&&&& &&& &&& &&&& && &&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&& &&&&&& & &&&&&&&& &&& &&&&& &&&& &&&& &&& &&&&&& && && & &&&&&&&&&&&&& &&&&& && && &&&&&&&&&&&& &&& &&&&&&&&&&&&&&&&& &&&&&&&&&&& &&&& &&&&& & & &&&&&&&& &&& &&&& &&& &&&& &&&& &&&& && &&&&& &&&&&&&&&&&& &&&&& && && &&&&&& &&&&&& &&&&& &&& &&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&& & &&&&& &&&&& &&&&&&&& &&&& &&&&&&&&&&&&&& && && &&&&&&& &&& &&& &&& &&&&& &&&&&&&&& &&&&&& &&&&&&&&&&&&& &&&&&&& &&&&&&& &&&&&&&&&&& && &&&& &&& &&&&&& &&&&& &&&&&&& &&&&&&& &&& & & &&&&&&& &&&&&& &&&& &&&&& &&&&&&&& && &&& && &&&&& &&&&&& &&&&& &&&&& &&&&&& &&&&&&&&&&& &&&&&& &&& &&&& && &&&&&& &&& &&&&&& && &&&& && & &&&& &&&&&&&&&&& &&&&&&&&&&&&& &&&&&&&& & & &&&&&&&&& &&&&& && && &&&&&&& &&& && &&&&&&& && &&&&&&&&&&&& &&&&&&&&&&& &&&&&&&& &&&&& &&&&&&&&&&&&&&&&&& &&& && && && &&&&&&&&&& & && &&&& &&& && &&&&& &&&&&&&&&&&& &&&&&&&&& & &&&&&& &&&& &&&& &&&&&& &&&& && &&& &&&&&& &&& &&&&&&&&& &&&& && && &&&&& && &&&&&&&&&&&&&& & &&&&&&&&& && && &&& &&&&&&&&& &&&&&&&&&&&& & && && &&&&& && &&& &&&&&&&&&&&&&&&& &&&&&&& &&& &&& &&&&& &&&& &&&&& &&&&& &&& &&&&&&& &&& &&&& &&& &&&&&& && &&&&&&& &&&& &&&&&&&&&&&& & &&&&&&& &&& & &&&& &&&& & & & & && && && Railway Stream Course Town Boundary Legend Figure 5: Open Space and Parks THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 57 6.3 Areas of Stability Areas of stability are mature areas that are unlikely to see pressure for change in the lifetime of the MDP. These policies apply generally to the Areas of Stability. 6.3.a. The Town will consider the following when redevelopment or infill development is proposed in the Areas of Stability: 6.3.a.i. high quality design that complements the character and design of other buildings in the neighbourhood; 6.3.a.ii. continuity with nearby streetscape and lot patterns; 6.3.a.iii. compatibility with surrounding land uses; 6.3.a.iv. appropriate landscaping, provision of parking and loading areas and preservation of existing vegetation; 6.3.a.v. adequate infrastructure capacity; 6.3.a.vi. traffic impact; 6.3.a.vii. preservation and integration of buildings considered to have a historical or architectural significance, or both; and 6.3.a.viii. community consultation. 6.3.b. The Town will support gentle densification throughout the Areas of Stability by supporting a mix of diverse housing forms including detached homes, semi-detached homes, duplexes, row housing, garden suites and secondary suites. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 58 6.4 Areas of Transition The Town identified Areas of Transition as shown on Figure 6: Areas of Transition (page 60) as areas that are expected to change and intensify over the timeframe of the MDP. These policies apply generally to the Areas of Transition. These areas overlap with the Old Town Community Plan (OTCP) Area Redevelopment Plan area. The OTCP provides an additional level of detail by identifying specific character areas that have their own associated policies. Character area policies in the OTCP ensure each area will be developed with its own unique character. 6.4.a. The Town will aspire to achieve a minimum residential density of 100 dwelling units per net residential hectare in the Areas of Transition. 6.4.b. The Town will support the redevelopment of underutilized land near and connected to the urban centre. 6.4.c. The Town will support this area to maintain and expand its priority as a pedestrian-oriented, mixed-use space with retail, service, office, creative, arts and culture, wellness, tourism, civic and entertainment uses. 6.4.d. The Town will encourage adaptive reuse of historic buildings to allow for uses supportive of the cultural and tourism industry, including guest accommodations, gallery or studio spaces and live-work structures. 6.4.e. The Town will encourage high-density housing as either entirely residential or a mixed-use development provided that it: 6.4.e.i is located adjacent to arterial and collector roadways and can effectively buffer residents from traffic noise and visual impacts through appropriate urban design and landscaping; 6.4.e.ii is in proximity to employment centres, shopping and other community amenities; 6.4.e.iii. is adjacent or near park space or linear open spaces; 6.4.e.iv. addresses the impact of additional traffic on the surrounding neighbourhood; 6.4.e.v. has an effective urban design relationship to the surroundings; and 6.4.e.vi. is supported by the existing infrastructure capacity. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 59 6.4.f. The Town will encourage intensification of development along Main Street, north of the CN railway tracks, to increase connectivity towards the institutional and commercial uses. 6.4.g. The Town will encourage a wide mix of residential, commercial and mixed-use development, especially land uses that complement existing and new institutional uses, including commercial uses related to tourism and park space. 6.4.h. The Town will encourage trail development to enhance connectivity by providing linkages between municipal and environmental reserves as well as institutional sites. 6.4.i. The Town will promote a high caliber of urban design for commercial development to support an attractive core shopping area in and around the urban centre. 6.4.j. The Town will encourage innovative and creative reuse and redevelopment of older commercial and institutional sites; higher density residential and mixed-use will be considered if the area is suitable for redevelopment. 6.4.k. The Town will encourage adaptive reuse of residential sites, particularly adjacent to historic Old Town, if it is appropriately integrated with the surrounding development. 6.4.l. The Town will encourage infill development and small scale redevelopment of vacant lots if carefully integrated and designed to maintain the essence of adjacent housing, respecting existing residential properties. j Figure 6: Areas of Transition Legend Area of Transition Old Town Community Plan Area Urban Centre Railway Major Road Minor Road 48 St / Hwy 779 Golf Course Rd 57 Ave 55 Ave 44 Ave Oatway Dr 48 St / Hwy 779 50 St / Main St 49 Ave Hwy 16A Brightbank Ave Hwy 16A Hwy 628 Hwy 779 Key Plan THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 60 Figure 6: Areas of Transition THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 61 6.5 Areas of New Residential Development These policies apply to the development of new housing beyond the existing urban areas. 6.5.a. Combined with specific controls arising from the growth management policy framework, area structure plans will be re-evaluated to ensure conformity with this MDP as they are developed or changed. 6.5.b. The Town will require residential developments for new and updated area structure plans to achieve a minimum density of 35 dwelling units per net residential hectare. 6.5.c. New areas should be individually planned for development based on local circumstances and requirements to provide neighbourhoods that function appropriately within the urban community. 6.5.d. The Town will require a conceptual or outline approach to neighbourhood planning, based on a section rather than quarter-section, to ensure new neighbourhoods conform to planning principles. 6.5.e. New areas should have their own exceptional character, sense of place and a functional, high-quality accessible public realm. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 62 6.5.f. To create new neighbourhoods that are complete, resilient and able to adapt to change, new residential development should: 6.5.f.i encourage a variety of appropriate uses, including housing, institutions, parks and local commercial facilities; 6.5.f.ii encourage a diversity of housing types (detached and semi-detached, duplex, modular homes, row housing, apartments and other forms, such as garden suites and secondary suites), and tenures within a development to meet the needs of people of various demographics and income levels; and 6.5.f.iii. be supported by services and amenities, such as parks, schools and trails, with more amenities in higher density areas. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 63 6.5.g. To promote healthy lifestyles and interpersonal relationships by means of compact, walkable neighbourhoods, new residential development should have: 6.5.g.i. a sustainable density that makes efficient use of land; 6.5.g.ii. viable commercial services and amenities that are located within walking distance; 6.5.g.iii. school sites that are convenient for students in the neighbourhood; and 6.5.g.iv. access to a safe pedestrian-friendly active transportation system. 6.5.h. New residential development should be based on neighbourhood design that is interconnected with the larger community by providing: 6.5.h.i. safe, convenient access; 6.5.h.ii. a fine-grained, modified grid pattern to disperse congestion and allow for short trips; 6.5.h.iii. continuous connections; 6.5.h.iv. multi-use trails; 6.5.h.v. a balanced multi-modal active transportation system; and 6.5.h.vi. transit-supportive development, by locating density in proximity to potential transit routes. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 64 6.5.i. To ensure that residential development is in harmony with nature, design must: 6.5.i.i. integrate natural features to provide opportunities to connect with nature and encourage biodiversity, where feasible; 6.5.i.ii. include an integrated and connected system of open spaces, parks, corridors, trails and stormwater management features; and 6.5.i.iii. optimize the potential for long-term tree canopy by maintaining existing tree stands where possible and establishing a program for new planting. 6.5.j. To create unique areas with their own exceptional character and sense of place that fosters community identity and pride: 6.5.j.i. area structure plans should include conceptual guidelines for built form and quality of the public realm, embracing the opportunity for a four-season lifestyle; 6.5.j.ii. area structure plans should include sites for future schools, developed in consultation with the Town and school boards; 6.5.j.iii. neighbourhoods should be designed with a strong theme and focal point; and 6.5.j.iv. community amenities should be located to foster social interaction to enhance 'place-making,' creating community identity. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 65 6.5.k. To develop neighbourhoods that are socially and physically connected, the Town will enhance opportunities for community gathering by: 6.5.k.i. reinforcing the use of gathering places through social, recreational and cultural programming by both the Town and other groups; 6.5.k.ii. working with school boards to enable schools to be used for community activities after school hours; 6.5.k.iii. continuing to provide support and encouragement for a diverse range of community events and festivals; and 6.5.k.iv. promoting design of facilities accessible for all, by considering age-friendly design, design for people with disabilities and consideration of safety and crime protection through environmental design principles. 6.5.l. The Town will encourage limited subdivision of Areas of Future Urban Development to maintain large parcel sizes to support ongoing agricultural uses until these lands are needed for population or employment growth and undergo comprehensive and detailed planning through the creation of a statutory plan. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 66 6.6 Employment Lands These policies apply to land identified to be developed or redeveloped for employment uses. 6.6.a. Commercial development along Highway 16A will be oriented to serve the needs of the vehicle-oriented public where: 6.6.a.i. on the south side of Highway 16A, the uses should predominantly cater to regional and local shoppers; 6.6.a.ii. on the north side of Highway 16A, uses should support business services to cater to the adjacent industrial developments; and 6.6.a.iii. on both sides of Highway 16A, facilities such as lodging, food outlets and automobile facilities will be encouraged. 6.6.b. Commercial development west of the Areas of Transition may incorporate tourist and commercial recreation-related facilities, such as golf courses, recreational vehicle parks and campgrounds, as well as business industrial uses if they are conducted indoors and do not cause a nuisance beyond the property's border. 6.6.c. The Town will require that any development visible from the highway, public spaces and residential areas, be visually attractive. 6.6.d. The Town will require commercial developments fronting on Highway 16A and arterial roadways to maintain access through service roads or other forms of shared internal accesses, where possible. 6.6.e. The Town will require new or redevelopment of commercial sites to provide on-site pedestrian connections to the Town's pedestrian and trail systems. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 67 6.6.f. The Town will require parking areas for commercial development to ensure the safety and comfort of all pedestrians, through consideration of pedestrian movements, landscaping and architectural elements. 6.6.g. The Town will direct large format retail, including automobile repair and servicing, dealerships and construction supply, towards areas adjacent to Highway 16A and Highway 779 and north of Highway 16A, to maintain an adequate supply of land for business. 6.6.h. The Town will encourage light-industrial and business service uses to locate between commercial and general industrial uses on Highway 16A. 6.6.i. The Town will allow uses supportive of the creative sector including artist fabrication and production space, and artist residential spaces, particularly in areas with light-industrial and commercial uses. 6.6.j. The Town will direct industrial uses that may not be compatible with residential uses to locate in the interior of industrial areas due to unsightliness or nuisance factors, such as noise, dust, vibration, smoke, odours or potential environmental contamination, or issues that pose safety and risk management concerns. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 68 6.6.k. The Town will promote best practices in industrial area design, such as: 6.6.k.i. landscaping along roads, including locally appropriate species; 6.6.k.ii. reduction of hardscaped surfaces; 6.6.k.iii. protection and integration of natural areas; 6.6.k.iv. natural stormwater management; 6.6.k.v. combined facilities for district energy; 6.6.k.vi. integration with the town's pedestrian and trail systems; 6.6.k.vii. provision for future transit service; 6.6.k.viii. multiple parcel sizes for a diverse mix of business sizes; 6.6.k.ix. energy-efficient building design; and 6.6.k.x. provision of on-site or adjacent amenities and services. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 69 6.7 Institutional Lands These policies apply to the development and redevelopment of land for institutional uses. 6.7.a. To have appropriate land for institutional facilities, the Town will consider institutional and civic uses during neighbourhood planning and conduct appropriate studies for specialized land uses, including: community centres, cultural facilities, schools, hospitals, special needs and assisted-living accommodations and utilities, cemeteries, snow dump sites, public works yards and protective and emergency facilities. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 70 6.8 Areas for Future Urban Development These policies apply to land identified for future urban development. 6.8.a. The Town will implement appropriate recommendations from provincial and regional plans to support protecting agricultural land from fragmentation and conversion, supporting value-added agriculture, diversification of agricultural enterprises and appropriate infrastructure. 6.8.b. The Town will encourage extensive agricultural uses such as livestock operations, and ensure that access to these agricultural uses are maintained so that agricultural producers can continue their operations by supporting field approaches and local roads that are sufficient to accommodate agricultural machinery. 6.8.c. The Town will encourage clustering agricultural uses, where possible. 6.8.d. The Town will require the completion of an agricultural impact assessment for Areas of Future Urban Development, which must identify the potential adverse impacts of proposed development on agricultural lands and existing agricultural operations, both on-site and on the surrounding area; and include recommended mitigation measures to incorporate into the planning, design and staging of development to minimize impacts and conflicts with surrounding land uses. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 71 6.8.e. The Town will only allow uses that will not adversely impact urban settlement or that will not be detrimental to future urbanization, so that these areas are protected for future development potential. 6.8.f. The Town will direct growth to non-prime agricultural lands before prime agricultural lands, considering efficient extension of infrastructure and contiguous development. 6.8.g. The Town will encourage sites to remain as productive uses, as agricultural uses or other development uses that do not require major buildings or services, until a time when the land is required for urban development; should a road be developed to service such uses, it should be designed to accommodate future urban servicing. 6.8.h. Areas developed for future urban development should include uses that are compatible with uses in adjacent municipalities. 6.8.i. The Town will develop a strategy to track and monitor the transition of lands from agriculture to urban uses. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 72 Implementation The MDP sets out broad principles for future community development. Aspects of the MDP are included in a number of other municipal documents and processes to turn the MDP Vision and Themes into reality. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 73 How we use the MDP The MDP is implemented at numerous stages of the municipal planning process to direct and manage community growth. Strategic Plan The Strategic Plan provides the framework to guide Council's decision-making process by outlining priorities under the five MDP Themes: Environmental Responsibility, Community Development, Economic Opportunity, Supportive Infrastructure and Governance and Partners. It establishes the general course of action within a set timeframe and documents Council priorities. Corporate Plan The Corporate Plan allocates resources for municipal services and operations to deliver priority projects and key actions outlined in the Strategic Plan. Together, this approach aligns strategic, financial and operational planning to achieve the MDP Vision. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 74 Statutory Plans Statutory plans are legal documents that the municipality, residents and developers must follow. The MDP is a type of statutory plan, along with area redevelopment plans (ARP) and area structure plans (ASP). ARP and ASP must align with and support the policies identified in the MDP. Non-statutory Plans Non-statutory plans encourage the direction of development in particular areas. These plans could include master plans, reports, studies, inventories, or analyses that are used to inform the decision-making process for development proposals. These plans must also align with and support the policies identified in the MDP. Land Use Bylaw The Land Use Bylaw controls land use and development; it is the tool to implement intended land categories identified in the MDP. Subdivision & Development Applications Subdivision and development applications must align with and support the policies identified in the MDP. The Town values innovation in development proposals and will consider new ideas during the implementation process. THE PLAN IMPLEMENTATION LAND USE + GROWTH MANAGEMENT POLICIES THE THEMES THE VISION THE COMMUNITY CONTEXT 75 Amendments and Monitoring The MDP Themes and Policies are valid for the long-term. The MDP will be reviewed and updated to ensure it remains relevant and compliant with other guiding legislation. Evaluating the MDP implementation progress requires carefully monitoring indicators to quantify community change. The EMRB developed comprehensive indicators to monitor the Growth Plan. The Town will develop similar indicators to determine the effectiveness of policies over time, such as: - population; - growth rate; - density of development (in dwelling units per net residential hectare); - housing diversity; - supply of land absorption for residential, commercial and industrial land; and - percentage of development in the Areas of Transition compared to new areas. Other indicators may be examined in the future depending on data availability. 4905 - 51 Avenue, Stony Plain, Alberta T7Z 1Y1 Canada © Town of Stony Plain. All Rights Reserved.