Bali Ayung River Rafting And Bali Quad Bike Packages

| | | | |

Planning an adventure-packed day in Bali? If so, the Bali Ayung River Rafting and Quad Bike Packages promise a full dose of adrenaline, stunning scenery, and memorable moments—all in one well-organized, affordable experience. Though we haven’t personally taken this tour, the rave reviews and detailed descriptions paint a vivid picture of what awaits.

What we love about this experience is its perfect blend of nature, adventure, and value. The guides are recognized for their professionalism and friendliness, making both activities safe yet exciting. The scenery along the Ayung River, especially the carved Ramayana murals and waterfalls, is said to be breathtaking, offering more than just thrills. The inclusion of hotel pickup, lunch, and insurance adds to the convenience, making it a hassle-free day out.

One thing to keep in mind is that this tour is best suited for those who are comfortable with moderate physical activity, as both rafting and quad biking require some level of agility and stamina. Also, the tour costs $75 per person, a good deal considering it covers two activities, equipment, guides, lunch, and transport. If you’re craving a day immersed in Bali’s natural beauty and adventure, this tour fits the bill.

Who is this tour ideal for?

Bali Ayung River Rafting And Bali Quad Bike Packages - Who is this tour ideal for?
Adventurers seeking a full-day outdoor experience, families looking for safe yet fun activities, and travelers wanting a practical, all-in-one Bali adventure will find this tour appealing. It’s particularly suitable for those who appreciate expert guides and scenic routes.

Good To Know

Bali Ayung River Rafting And Bali Quad Bike Packages - Good To Know

  • Two-in-One Adventure: Combines river rafting and quad biking, offering variety in a single day
  • Expert Guides & Safety: Guided by professionals with approved safety gear, ensuring a secure experience
  • Stunning Views: Enjoy scenic vistas, river rapids, carvings, waterfalls, and rice fields
  • All-Inclusive Value: Lunch, equipment, insurance, and transport included for a seamless trip
  • Flexible Booking: Free cancellation up to 24 hours in advance adds peace of mind
  • Family-Friendly: Suitable for those with moderate physical fitness interested in outdoor fun

What Makes This Tour Stand Out?

The itinerary is structured to maximize your Bali outdoor experience in roughly 8 hours, making it ideal for a full-day adventure without feeling rushed. Starting with hotel pickup (for those who opt for transfers), you are whisked away to the start point for registration and a safety briefing. The tour’s focus on professional guidance is evident—reviewers consistently mention the guides’ friendliness and helpfulness, which makes even beginners feel confident.

River Rafting Experience (Approx. 2 hours)

The rafting segment on the Ayung River is the highlight, and the reviews speak volumes. Expect about two hours of navigating rapids led by skilled guides. You’ll get to enjoy the fantastic natural scenery, including the famous Ramayana carvings etched into the riverbanks—a feature that adds a cultural touch to the adrenaline rush. Waterfalls along the route come into view, offering perfect photo ops.

One reviewer mentioned, “The instructors were AMAZING,” emphasizing the professionalism and safety consciousness of the guides. The raft itself is equipped with helmets, life jackets, and boot shoes, so safety is prioritized. After the rafting, there’s a chance to shower, change, and relax with a refreshing Indonesian buffet lunch, which is widely appreciated for its variety and flavor.

Quad Biking Adventure (Approx. 2 hours)

Post-lunch, it’s time for the quad biking tour. The instructor provides a quick briefing on bike operation, ensuring even novices can enjoy the ride. The route takes you through scenic rice fields, lush greenery, and local villages—giving you a taste of rural Bali away from the busy beaches.

Reviews highlight how Nengah Sudipta, the driver, made the experience comfortable and enjoyable, passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing passing