<?xml version="1.0" encoding="utf-8"?>
<SerializableScraperProject xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>21</Version>
  <Assignments>
    <Code>Main = {&#xD;
	Setup -&gt; { startingUrl maxPages }&#xD;
	(Browser.Load {&#xD;
		startingUrl&#xD;
	})&#xD;
	(Sequence.Take {&#xD;
		maxPages&#xD;
	} {&#xD;
		(Browser.TurnPages {&#xD;
			Select.NextButton&#xD;
		})&#xD;
	})&#xD;
	Select.PropertyLink&#xD;
	Browser.Navigate&#xD;
	Property&#xD;
}&#xD;
Property = {&#xD;
	(@Core.Unit #{&#xD;
		url: {&#xD;
			Gather.URL&#xD;
		}&#xD;
		name: {&#xD;
			Select.Name&#xD;
			Gather.OwnText&#xD;
		}&#xD;
		stars: {&#xD;
			Select.Stars&#xD;
			(Gather.Attribute {&#xD;
				"title"&#xD;
			})&#xD;
		}&#xD;
		address: {&#xD;
			Select.Address&#xD;
		}&#xD;
		reviewCount: {&#xD;
			Select.ReviewCount&#xD;
			Gather.Number&#xD;
		}&#xD;
		reviewScore: {&#xD;
			Select.ReviewScore&#xD;
		}&#xD;
		locationScore: {&#xD;
			Select.LocationScore&#xD;
		}&#xD;
		image: {&#xD;
			Select.Image&#xD;
			Gather.Src&#xD;
		}&#xD;
		description: {&#xD;
			Select.Description&#xD;
		}&#xD;
		whatGuestsLove: {&#xD;
			Select.WhatGuestLove&#xD;
			(@Core.Unit #{&#xD;
				item: {&#xD;
					Text.GuestLove&#xD;
				}&#xD;
			})&#xD;
		}&#xD;
		roomFeatures: {&#xD;
			Select.RoomFeatures&#xD;
			(@Core.Unit #{&#xD;
				feature: {&#xD;
					Gather.Text&#xD;
				}&#xD;
			})&#xD;
		}&#xD;
		facilities: {&#xD;
			Select.Facilities&#xD;
			(@Core.Unit #{&#xD;
				facility: {&#xD;
					Gather.Text&#xD;
				}&#xD;
			})&#xD;
		}&#xD;
		features: {&#xD;
			Select.Features&#xD;
			(@Core.Unit #{&#xD;
				feature: {&#xD;
					Gather.Text&#xD;
				}&#xD;
			})&#xD;
		}&#xD;
	})&#xD;
}&#xD;
Setup = {&#xD;
	(@Core.Unit #{&#xD;
		startingUrl: {&#xD;
			"https://www.booking.com/searchresults.en-us.html?label=gen173nr-1FCAEoggI46AdIM1gEaLEBiAEBmAExuAEOyAEM2AEB6AEB-AECiAIBqAIDuAK7zYfoBcACAQ&amp;sid=50639270c29c45f61aeb6051feb01677&amp;sb=1&amp;src=index&amp;src_elem=sb&amp;error_url=https%3A%2F%2Fwww.booking.com%2Findex.html%3Flabel%3Dgen173nr-1FCAEoggI46AdIM1gEaLEBiAEBmAExuAEOyAEM2AEB6AEB-AECiAIBqAIDuAK7zYfoBcACAQ%3Bsid%3D50639270c29c45f61aeb6051feb01677%3Bsb_price_type%3Dtotal%26%3B&amp;ss=New+York%2C+New+York+State%2C+USA&amp;is_ski_area=&amp;checkin_year=2019&amp;checkin_month=8&amp;checkin_monthday=14&amp;checkout_year=2019&amp;checkout_month=8&amp;checkout_monthday=16&amp;group_adults=2&amp;group_children=0&amp;no_rooms=1&amp;b_h4u_keep_filters=&amp;from_sf=1&amp;ss_raw=new+yor&amp;ac_position=0&amp;ac_langcode=en&amp;ac_click_type=b&amp;dest_id=20088325&amp;dest_type=city&amp;iata=NYC&amp;place_id_lat=40.768074&amp;place_id_lon=-73.981895&amp;search_pageview_id=29e20fcdbcea0044&amp;search_selected=true&amp;search_pageview_id=29e20fcdbcea0044&amp;ac_suggestion_list_length=5&amp;ac_suggestion_theme_list_length=0&amp;order="&#xD;
		}&#xD;
		maxPages: {&#xD;
			4&#xD;
		}&#xD;
	})&#xD;
}</Code>
  </Assignments>
  <TextGatherers>
    <SerializableTextGatherer>
      <Visible>true</Visible>
      <Name>GuestLove</Name>
      <TextSource>Text</TextSource>
      <Steps>
        <SerializableStep>
          <StepType>Replace</StepType>
          <Values>
            <anyType xsi:type="xsd:string">^\s*“</anyType>
            <anyType xsi:type="xsd:string"></anyType>
            <anyType xsi:type="xsd:boolean">true</anyType>
            <anyType xsi:type="xsd:boolean">false</anyType>
            <anyType xsi:type="xsd:boolean">false</anyType>
          </Values>
        </SerializableStep>
        <SerializableStep>
          <StepType>Replace</StepType>
          <Values>
            <anyType xsi:type="xsd:string">”\s*$</anyType>
            <anyType xsi:type="xsd:string"></anyType>
            <anyType xsi:type="xsd:boolean">true</anyType>
            <anyType xsi:type="xsd:boolean">false</anyType>
            <anyType xsi:type="xsd:boolean">false</anyType>
          </Values>
        </SerializableStep>
      </Steps>
    </SerializableTextGatherer>
  </TextGatherers>
  <Code>
    <Code />
  </Code>
  <HorizontalDatabase>
    <Schema xsi:type="SerializableObjectType">
      <Members>
        <SerializableObjectMember>
          <Name>Main</Name>
          <Type xsi:type="SerializableListType">
            <ItemType xsi:type="SerializableObjectType">
              <Members>
                <SerializableObjectMember>
                  <Name>url</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>name</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>stars</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>address</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>reviewCount</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>reviewScore</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>locationScore</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>image</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>description</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>whatGuestsLove</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableObjectType">
                      <Members>
                        <SerializableObjectMember>
                          <Name>item</Name>
                          <Type xsi:type="SerializableListType">
                            <ItemType xsi:type="SerializableSimpleType">
                              <Kind>String</Kind>
                            </ItemType>
                          </Type>
                        </SerializableObjectMember>
                      </Members>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>roomFeatures</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableObjectType">
                      <Members>
                        <SerializableObjectMember>
                          <Name>feature</Name>
                          <Type xsi:type="SerializableListType">
                            <ItemType xsi:type="SerializableSimpleType">
                              <Kind>String</Kind>
                            </ItemType>
                          </Type>
                        </SerializableObjectMember>
                      </Members>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>facilities</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableObjectType">
                      <Members>
                        <SerializableObjectMember>
                          <Name>facility</Name>
                          <Type xsi:type="SerializableListType">
                            <ItemType xsi:type="SerializableSimpleType">
                              <Kind>String</Kind>
                            </ItemType>
                          </Type>
                        </SerializableObjectMember>
                      </Members>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>features</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableObjectType">
                      <Members>
                        <SerializableObjectMember>
                          <Name>feature</Name>
                          <Type xsi:type="SerializableListType">
                            <ItemType xsi:type="SerializableSimpleType">
                              <Kind>String</Kind>
                            </ItemType>
                          </Type>
                        </SerializableObjectMember>
                      </Members>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
              </Members>
            </ItemType>
          </Type>
        </SerializableObjectMember>
      </Members>
    </Schema>
  </HorizontalDatabase>
  <Kinds>
    <SerializableNamedPairOfString>
      <Name>Address</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "hp_address_subtitle": true,&#xD;
    "js-hp_address_subtitle": true,&#xD;
    "jq_tooltip": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "right"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": "showMap2"&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "rlt-right"&#xD;
  },&#xD;
  "class2": {&#xD;
    "wrap-hotelpage-top": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "wrap-hotelpage-top"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": " "&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "P"&#xD;
  },&#xD;
  "class1": {&#xD;
    "address": true,&#xD;
    "address_clean": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "rlt-right": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "address address_clean"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "wrap-hotelpage-top"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "\nhp_address_subtitle\njs-hp_address_subtitle\njq_tooltip\n"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Description</Name>
      <Value>{&#xD;
  "childrenLen": {&#xD;
    "val": 3&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "summary"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "hp_hotel_description_hightlights_wrapper "&#xD;
  },&#xD;
  "class2": {&#xD;
    "hotel_description_wrapper_exp": true,&#xD;
    "hp-description": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "hp_desc_main_content": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "hp_hotel_description_hightlights_wrapper": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "hp_desc_main_content "&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "hotel_description_wrapper_exp hp-description"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Facilities</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "important_facility": true&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(10, 178, 27)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "hp_hotel_description_hightlights_wrapper "&#xD;
  },&#xD;
  "class2": {&#xD;
    "hotel_description_wrapper_exp": true,&#xD;
    "hp-description": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "hp_desc_important_facilities": true,&#xD;
    "clearfix": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "hp_hotel_description_hightlights_wrapper": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "hp_desc_important_facilities clearfix "&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "hotel_description_wrapper_exp hp-description"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "\nimportant_facility "&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Features</Name>
      <Value>{&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "property-highlights room-facilities-highlights "&#xD;
  },&#xD;
  "class2": {&#xD;
    "ph-all-room-facilities": true,&#xD;
    "one-row": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "prevText": {&#xD;
    "error": "Cannot read property 'length' of undefined"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "class1": {&#xD;
    "ph-item-copy": true,&#xD;
    "js_hp_ph_common_rooms_facilities": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "property-highlights": true,&#xD;
    "room-facilities-highlights": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "ph-item-copy  js_hp_ph_common_rooms_facilities"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "ph-all-room-facilities one-row"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Image</Name>
      <Value>{&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "IMG"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "text": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "slick-list draggable"&#xD;
  },&#xD;
  "class2": {&#xD;
    "slick-track": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "slick-slide": true,&#xD;
    "slick-active": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "slick-list": true,&#xD;
    "draggable": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "slick-slide slick-active"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "slick-track"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>LocationScore</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "bui-review-score__badge": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "reviewFloater"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(255, 255, 255)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "tracked reviewFloater nha_large_photo_reviewFloater fixed_review_container  reviewFloater--opaque"&#xD;
  },&#xD;
  "class2": {&#xD;
    "best-review-score": true,&#xD;
    "best-review-score-with_best_ugc_highlight": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "bui-review-score": true,&#xD;
    "c-score": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "tracked": true,&#xD;
    "reviewFloater": true,&#xD;
    "nha_large_photo_reviewFloater": true,&#xD;
    "fixed_review_container": true,&#xD;
    "reviewFloater--opaque": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "bui-review-score c-score"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "best-review-score best-review-score-with_best_ugc_highlight"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "bui-review-score__badge"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Name</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "hp__hotel-name": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "H2"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "hp_hotel_name"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "right"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "rlt-right"&#xD;
  },&#xD;
  "class2": {&#xD;
    "wrap-hotelpage-top": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "wrap-hotelpage-top"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "hp__hotel-title": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "rlt-right": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "hp__hotel-title"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "wrap-hotelpage-top"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "hp__hotel-name"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>NextButton</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "bui-pagination__link": true,&#xD;
    "paging-next": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "UL"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "text": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(0, 119, 204)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "bui-pagination__nav"&#xD;
  },&#xD;
  "class2": {&#xD;
    "bui-pagination__list": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "LI"&#xD;
  },&#xD;
  "class1": {&#xD;
    "bui-pagination__item": true,&#xD;
    "bui-pagination__next-arrow": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "bui-pagination__nav": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "bui-pagination__item bui-pagination__next-arrow"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "NAV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "bui-pagination__list"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>PropertyLink</Name>
      <Value>{"id1":{"val":""},"visible":{"val":true},"tag2":{"val":"DIV"},"color":{"val":"rgb(0, 119, 204)"},"font":{"val":"BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"},"id2":{"val":""},"id":{"val":""},"class1":{"sr-hotel__title":true},"id3":{"val":""},"tag1":{"val":"H3"},"classes":{"val":"hotel_name_link url"},"tag":{"val":"A"},"tag3":{"val":"DIV"},"class":{"hotel_name_link":true,"url":true},"classes1":{"val":"sr-hotel__title  \n"},"indexes":{"0":1,"1":1,"2":1}}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ReviewCount</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "bui-review-score__text": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "text": {&#xD;
    "val": "41,363 reviews"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(112, 112, 112)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "big_review_score_detailed js-big_review_score_detailed ind_rev_total hp_review_score js-hotel-review-score"&#xD;
  },&#xD;
  "class2": {&#xD;
    "bui-review-score": true,&#xD;
    "c-score": true,&#xD;
    "bui-review-score--end": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Review score"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "bui-review-score__content": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "big_review_score_detailed": true,&#xD;
    "js-big_review_score_detailed": true,&#xD;
    "ind_rev_total": true,&#xD;
    "hp_review_score": true,&#xD;
    "js-hotel-review-score": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "bui-review-score__content"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "bui-review-score c-score bui-review-score--end"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "bui-review-score__text"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ReviewScore</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "bui-review-score__badge": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "js--hp-gallery-scorecard"&#xD;
  },&#xD;
  "text": {&#xD;
    "val": "5.6"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(255, 255, 255)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "hotel_large_photp_score\nfeatured_review_score\njs-fly-content-tooltip\n"&#xD;
  },&#xD;
  "class2": {&#xD;
    "big_review_score_detailed": true,&#xD;
    "js-big_review_score_detailed": true,&#xD;
    "ind_rev_total": true,&#xD;
    "hp_review_score": true,&#xD;
    "js-hotel-review-score": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "class1": {&#xD;
    "bui-review-score": true,&#xD;
    "c-score": true,&#xD;
    "bui-review-score--end": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "hotel_large_photp_score": true,&#xD;
    "featured_review_score": true,&#xD;
    "js-fly-content-tooltip": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "bui-review-score c-score bui-review-score--end"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "big_review_score_detailed js-big_review_score_detailed ind_rev_total hp_review_score js-hotel-review-score"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "bui-review-score__badge"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>RoomFeatures</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "ph-item-copy": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "ph-section"&#xD;
  },&#xD;
  "class2": {&#xD;
    "ph-content": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "P"&#xD;
  },&#xD;
  "class1": {&#xD;
    "ph-item": true,&#xD;
    "contextual-reviews-trigger": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "ph-section": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "ph-item contextual-reviews-trigger"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "ph-content "&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "ph-item-copy "&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.022&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Stars</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "bk-icon-wrapper": true,&#xD;
    "bk-icon-stars": true,&#xD;
    "star_track": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 2&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "I"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "hp__hotel-title"&#xD;
  },&#xD;
  "class2": {&#xD;
    "hp__hotel_ratings": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "class1": {&#xD;
    "hp__hotel_ratings__stars": true,&#xD;
    "nowrap": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "hp__hotel-title": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "hp__hotel_ratings__stars nowrap"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "hp__hotel_ratings"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "\nbk-icon-wrapper\nbk-icon-stars\nstar_track\n"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>WhatGuestLove</Name>
      <Value>{&#xD;
  "class": {&#xD;
    "ph-item-copy-review-topic": true&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "P"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(56, 56, 56)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "ph-content "&#xD;
  },&#xD;
  "class2": {&#xD;
    "ph-item": true,&#xD;
    "contextual-reviews-trigger": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "BlinkMacSystemFont, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "class1": {&#xD;
    "ph-item-copy": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "ph-content": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "ph-item-copy "&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "ph-item contextual-reviews-trigger"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "ph-item-copy-review-topic"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
  </Kinds>
  <Extractors>
    <SerializableGatherer>
      <Name>HTML</Name>
      <Value>var result = function (element) {&#xD;
    return element.nodeType === 1 ? element.outerHTML : element.nodeValue;&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>true</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Link</Name>
      <Value>var result = function (element) {&#xD;
    var upperTag = function (element) {&#xD;
        return element.tagName ? element.tagName.toUpperCase() : element.tagName;&#xD;
    };&#xD;
&#xD;
    var linkOf = function (element) {&#xD;
        return element &amp;&amp; element.href &amp;&amp; (element.protocol === "http:" || element.protocol === "https:" || element.protocol == "file:" || element.protocol == "ftp:") ? element.href : null;&#xD;
    };&#xD;
&#xD;
    var original = element;&#xD;
&#xD;
    while (element &amp;&amp; (!element.tagName || upperTag(element) !== 'A'))&#xD;
        element = element.parentNode;&#xD;
&#xD;
    var result = linkOf(element);&#xD;
&#xD;
    if (!result) {&#xD;
        if (original.children.length == 1) {&#xD;
            var child = original.children[0];&#xD;
&#xD;
            if (upperTag(child) === 'A') {&#xD;
                result = linkOf(child);&#xD;
&#xD;
                if (!result) {&#xD;
                    if (child.children.length == 1) {&#xD;
                        child = child.children[0];&#xD;
&#xD;
                        if (upperTag(child) === 'A')&#xD;
                            result = linkOf(child);&#xD;
                    }&#xD;
                }&#xD;
            }&#xD;
        }&#xD;
    }&#xD;
&#xD;
    return result;&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>true</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Number</Name>
      <Value>var result = function (element) {&#xD;
    var getText = function () {&#xD;
        return element.nodeType === 1 ? element.innerText : element.nodeValue;&#xD;
    };&#xD;
&#xD;
    var regex = /-?(?=[1-9]|0(?!\d))[\d\,]+(\.\d+)?/;&#xD;
    var first = regex.exec(getText(element));&#xD;
    return first &amp;&amp; first.length ? first[0] : null;&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>OwnText</Name>
      <Value>var result = function (element) {&#xD;
    var text = [].reduce.call(element.childNodes || [], (a, b) =&gt; a + (b.nodeType === 3 ? b.textContent : ''), '');&#xD;
    return text.trim();&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>true</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Path</Name>
      <Value>var result = function (element) {&#xD;
    return window.___getPath(element);&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Src</Name>
      <Value>var result = function (element) {&#xD;
    return element.src || "";&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Tag</Name>
      <Value>var result = function (element) {&#xD;
    var upperTag = function (element) {&#xD;
        return element.nodeType === 1 ? element.tagName.toUpperCase() : "HS-NODE";&#xD;
    };&#xD;
&#xD;
    return upperTag(element);&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Text</Name>
      <Value>var result = function (element) {&#xD;
    var text = element.nodeType === 1 ? element.innerText : element.nodeValue;&#xD;
    return text ? text.trim() : "";&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>true</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>URL</Name>
      <Value>var result =  function (element) {&#xD;
    return element.ownerDocument.defaultView.location.href;&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>Value</Name>
      <Value>var result = function (element) {&#xD;
    return element.value || element.getAttribute('value');&#xD;
};&#xD;
&#xD;
result.noCache = false;&#xD;
return result;&#xD;
</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
  </Extractors>
  <KindGatherers>
    <SerializableGatherer>
      <Name>childrenLen</Name>
      <Value>var result = function (element) {&#xD;
    return { val: element.nodeType === 1 ? element.children.length : 0 };&#xD;
};&#xD;
&#xD;
result.score = 0.7; // Default&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>class</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    var result = {};&#xD;
    var list = element.classList;&#xD;
    var len = list.length;&#xD;
&#xD;
    for (var i = 0; i &lt; len; i++)&#xD;
        result[list[i]] = true;&#xD;
&#xD;
    return result;&#xD;
};&#xD;
&#xD;
result.score = 0.73;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>class1</Name>
      <Value>var result = window.___makeRelatedGatherer('class', function (element) {&#xD;
    return element.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.87;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>class2</Name>
      <Value>var result = window.___makeRelatedGatherer('class', function (element) {&#xD;
    return element.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.87;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>class3</Name>
      <Value>var result = window.___makeRelatedGatherer('class', function (element) {&#xD;
    return element.parentNode.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.9;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>classes</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    return { val: typeof element.className === 'string' ? element.className : null };&#xD;
};&#xD;
&#xD;
result.score = 0.91;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>classes1</Name>
      <Value>var result = window.___makeRelatedGatherer('classes', function (element) {&#xD;
    return element.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.95;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>classes2</Name>
      <Value>var result = window.___makeRelatedGatherer('classes', function (element) {&#xD;
    return element.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.95;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>classes3</Name>
      <Value>var result = window.___makeRelatedGatherer('classes', function (element) {&#xD;
    return element.parentNode.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.81;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>colIndex</Name>
      <Value>var result = function (element) {&#xD;
    var maxUp = 5;&#xD;
&#xD;
    function closestTd(element) {&#xD;
        for (var up = 0; up &lt; maxUp; up++) {&#xD;
            if (!element) return null;&#xD;
            if (/^t[dh]$/i.test(element.nodeName))&#xD;
                return element;&#xD;
            element = element.parentNode;&#xD;
        }&#xD;
&#xD;
        return null;&#xD;
    }&#xD;
&#xD;
    function colSpan(col) {&#xD;
        return parseInt((col &amp;&amp; col.nodeType == 1 &amp;&amp; /^t[dh]$/i.test(element.nodeName)) ? (col.getAttribute('colSpan') || 1) : 0);&#xD;
    }&#xD;
&#xD;
    function endIndex(element) {&#xD;
        var colPos = colSpan(element);&#xD;
&#xD;
        while (element) {&#xD;
            element = element.previousSibling;&#xD;
            colPos += colSpan(element);&#xD;
        }&#xD;
&#xD;
        return colPos;&#xD;
    }&#xD;
&#xD;
    element = closestTd(element);&#xD;
&#xD;
    if (element)&#xD;
        return { val: endIndex(element.previousSibling) };&#xD;
    else&#xD;
        return {};&#xD;
};&#xD;
&#xD;
result.score = 0.7; // Default&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>color</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    return { val: window.getComputedStyle(element).color };&#xD;
};&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>font</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    return { val: window.getComputedStyle(element)['font-family'] };&#xD;
};&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>header</Name>
      <Value>var result = function header(element) {&#xD;
    var upperTag = function (element) {&#xD;
        return element.tagName ? element.tagName.toUpperCase() : element.tagName;&#xD;
    };&#xD;
&#xD;
    var getColumnIndex = function (e) {&#xD;
        var maxLevels = 3;&#xD;
&#xD;
        while (e &amp;&amp; upperTag(e) !== 'TD' &amp;&amp; maxLevels &gt; 0) {&#xD;
            e = e.parentElement;&#xD;
            maxLevels--;&#xD;
        }&#xD;
&#xD;
        if (e &amp;&amp; upperTag(e) === 'TD') {&#xD;
            var index = 0;&#xD;
            while ((e = e.previousElementSibling)) {&#xD;
                index += e.colSpan || 1;&#xD;
            }&#xD;
            return index;&#xD;
        }&#xD;
        else&#xD;
            return -1;&#xD;
    };&#xD;
&#xD;
    var colIndex = getColumnIndex(element);&#xD;
&#xD;
    if (colIndex !== -1) {&#xD;
        while (element &amp;&amp; upperTag(element) !== 'TABLE')&#xD;
            element = element.parentElement;&#xD;
&#xD;
        if (element &amp;&amp; upperTag(element) === 'TABLE') {&#xD;
            var tds = element.querySelectorAll('th,td');&#xD;
            var index = 0;&#xD;
            var latest = null;&#xD;
&#xD;
            for (var td of tds) {&#xD;
                if (index &gt; colIndex)&#xD;
                    return { val: (latest.innerText || "").trim() };&#xD;
&#xD;
                latest = td;&#xD;
                index += td.colSpan || 1;&#xD;
            }&#xD;
        }&#xD;
    }&#xD;
&#xD;
    return {};&#xD;
};&#xD;
&#xD;
result.score = 0.9;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>id</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    return { val: element.id };&#xD;
};&#xD;
&#xD;
result.score = 0.98;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>id1</Name>
      <Value>var result = window.___makeRelatedGatherer('id', function (element) {&#xD;
    return element.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.91;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>id2</Name>
      <Value>var result = window.___makeRelatedGatherer('id', function (element) {&#xD;
    return element.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.91;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>id3</Name>
      <Value>var result = window.___makeRelatedGatherer('id', function (element) {&#xD;
    return element.parentNode.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 0.88;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>indexes</Name>
      <Value>var result = function (element) {&#xD;
    function getElementIndex(node) {&#xD;
        var index = 0;&#xD;
        while ((node = node.previousSibling)) {&#xD;
            index++;&#xD;
        }&#xD;
        return index;&#xD;
    }&#xD;
&#xD;
    var result = {};&#xD;
    var level = 0;&#xD;
    var levels = 3;&#xD;
&#xD;
    while (element &amp;&amp; level &lt; levels) {&#xD;
        result[level] = getElementIndex(element);&#xD;
        level++;&#xD;
        element = element.parentElement&#xD;
    }&#xD;
&#xD;
    return result;&#xD;
};&#xD;
&#xD;
result.score = 0.86;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>names</Name>
      <Value>var result = function (element) {&#xD;
    function getElementName(node) {&#xD;
        return node.nodeType === 1 ? (node.name || node.getAttribute('name')) : null;&#xD;
    }&#xD;
&#xD;
    var result = {};&#xD;
    var level = 0;&#xD;
    var levels = 3;&#xD;
&#xD;
    while (element &amp;&amp; level &lt; levels) {&#xD;
        var name = getElementName(element);&#xD;
        if (name) result[level] = name;&#xD;
        level++;&#xD;
        element = element.parentElement&#xD;
    }&#xD;
&#xD;
    return result;&#xD;
};&#xD;
&#xD;
result.score = 0.75;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>prevText</Name>
      <Value>var result = function (element) {&#xD;
    var maxDepth = 0;&#xD;
    var maxLength = 128;&#xD;
&#xD;
    while (element &amp;&amp; !element.previousElementSibling &amp;&amp; maxDepth &gt; 0) {&#xD;
        element = element.parentElement;&#xD;
        maxDepth--;&#xD;
    }&#xD;
&#xD;
    if (element &amp;&amp; element.previousElementSibling) {&#xD;
        var fullText = element.previousElementSibling.innerText;&#xD;
&#xD;
        if (fullText.length &lt; maxLength)&#xD;
            return { val: fullText };&#xD;
&#xD;
    }&#xD;
&#xD;
    return null;&#xD;
};&#xD;
&#xD;
result.score = 0.7; // Default&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>tag</Name>
      <Value>var result = function (element) {&#xD;
    var upperTag = function (element) {&#xD;
        return element.nodeType === 1 ? element.tagName.toUpperCase() : "HS-NODE";&#xD;
    };&#xD;
&#xD;
    return { val: upperTag(element) };&#xD;
};&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>tag1</Name>
      <Value>var result = window.___makeRelatedGatherer('tag', function (element) {&#xD;
    return element.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>tag2</Name>
      <Value>var result = window.___makeRelatedGatherer('tag', function (element) {&#xD;
    return element.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>tag3</Name>
      <Value>var result = window.___makeRelatedGatherer('tag', function (element) {&#xD;
    return element.parentNode.parentNode.parentNode;&#xD;
});&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>text</Name>
      <Value>var result = function (element) {&#xD;
&#xD;
    if (element.nodeType !== 1)&#xD;
        return null;&#xD;
&#xD;
    if (window.___textTags.has(element.tagName.toUpperCase()))&#xD;
        return null;&#xD;
&#xD;
    var text = element.innerText;&#xD;
&#xD;
    if (text.length &gt; 64)&#xD;
        return null;&#xD;
&#xD;
    return { val: text };&#xD;
};&#xD;
&#xD;
result.score = 0.1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>visible</Name>
      <Value>var result = function (element) {&#xD;
    if (element.nodeType !== 1)&#xD;
        element = element.parentElement;&#xD;
&#xD;
    return { val: element.offsetParent !== null };&#xD;
};&#xD;
&#xD;
result.score = 1;&#xD;
return result;</Value>
      <Visible>false</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
  </KindGatherers>
  <Scripts />
  <Queries>
    <SerializableQuery>
      <Name>Concat</Name>
      <UniversalType>
        <ResultType xsi:type="SerializableListType">
          <ItemType xsi:type="SerializableObjectType">
            <Members>
              <SerializableObjectMember>
                <Name>url</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>name</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>stars</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>address</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>reviewCount</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>reviewScore</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>locationScore</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>image</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>description</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>facilities</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>features</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>whatGuestsLove</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>roomFeatures</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
            </Members>
          </ItemType>
        </ResultType>
        <Parameters />
      </UniversalType>
      <QueryTemplate>select&#xD;
	`Main`.`url`,&#xD;
	`Main`.`name`,&#xD;
	`Main`.`stars`,&#xD;
	`Main`.`address`,&#xD;
	`Main`.`reviewCount`,&#xD;
	`Main`.`reviewScore`,&#xD;
	`Main`.`locationScore`,&#xD;
	`Main`.`image`,&#xD;
	`Main`.`description`,&#xD;
	`facilities`,&#xD;
	`features`,&#xD;
	`whatGuestsLove`,&#xD;
	`roomFeatures`&#xD;
from `Main`&#xD;
    &#xD;
left join &#xD;
(select `Main`, group_concat(`Main.facilities`.`facility`, ', ') as facilities from `Main.facilities` group by `Main`) as facilities&#xD;
on `facilities`.`Main` = `Main`.`id`&#xD;
    &#xD;
left join &#xD;
(select `Main`, group_concat(`Main.features`.`feature`, ', ') as features from `Main.features` group by `Main`) as features&#xD;
on `features`.`Main` = `Main`.`id`&#xD;
    &#xD;
left join &#xD;
(select `Main`, group_concat(`Main.whatGuestsLove`.`item`, ', ') as whatGuestsLove from `Main.whatGuestsLove` group by `Main`) as whatGuestsLove&#xD;
on `whatGuestsLove`.`Main` = `Main`.`id`&#xD;
    &#xD;
left join &#xD;
(select `Main`, group_concat(`Main.roomFeatures`.`feature`, ', ') as roomFeatures from `Main.roomFeatures` group by `Main`) as roomFeatures&#xD;
on `roomFeatures`.`Main` = `Main`.`id`&#xD;
</QueryTemplate>
      <QueryArguments />
    </SerializableQuery>
  </Queries>
  <JsonReaders />
  <AjaxReaders />
  <Settings />
  <BlockList>*://*.doubleclick.net/*&#xD;
*://*.amazon-adsystem.com/*&#xD;
*://*.google-analytics.com/*&#xD;
*://*.googlesyndication.com/*&#xD;
*://*.advertising.com/*&#xD;
*://*.imrworldwide.com/*&#xD;
*://*.quantserve.com/*&#xD;
*://*.googleadservices.com/*&#xD;
*://*.scorecardresearch.com/*</BlockList>
  <DynamicInject />
  <ProjectCode>5505188d50a5a8deac48bc2c995af380</ProjectCode>
  <Signature>Axt6Ui8gNLb2X2k4tgnGTm+461xxUVdECfxKjE/i5ZE3M/FG6ubnjLnK1y3O7NnMMl/IoJwSTQr7nG5mO1T3PFr3nSLbu9Xn0ysraNshw0uQybqqLheZSYImnzNAEx3ca+8msShcaOKlOW4Pk4atIPEwASo4ZUGWqumbWHq/nJNDauo7BxMeSDxqaJLf6joImZsYaSwCo+VyhsJXrkDdjnY26188h5Vz/uRiqdF5ojq4O2okg9Gu/NijHhsTR5vxpXZ2ePYs0iYjaaGTq4ONevZggAHvpPq6IeL+aic3qY4kSNQcxfN6fpfJeCri8r/dPY3gvI8SVbHWISK7Yyqjzg==</Signature>
</SerializableScraperProject>