<?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>24</Version>
  <Assignments>
    <Code>Main = {&#xD;
	Setup -&gt; { startingUrl maxPages downloadImage }&#xD;
	(Browser.Load {&#xD;
		startingUrl&#xD;
	})&#xD;
	(Sequence.Take {&#xD;
		maxPages&#xD;
	} {&#xD;
		(Browser.TurnPages {&#xD;
			(@List.Sum [{&#xD;
				Select.NextButton&#xD;
			} {&#xD;
				Select.NextButton2&#xD;
			}])&#xD;
		})&#xD;
	})&#xD;
	Select.ProductLink&#xD;
	Browser.Navigate&#xD;
	(Sequence.IfAny {&#xD;
		Select.Title&#xD;
	} {&#xD;
		(Product {&#xD;
			downloadImage&#xD;
		})&#xD;
	} {&#xD;
		Sequence.Empty&#xD;
	})&#xD;
}&#xD;
Product = {&#xD;
	\downloadImage.{&#xD;
		(@Core.Unit #{&#xD;
			url: {&#xD;
				Gather.URL&#xD;
			}&#xD;
			title: {&#xD;
				Select.Title&#xD;
				Gather.OwnText&#xD;
			}&#xD;
			condition: {&#xD;
				Select.Condition&#xD;
			}&#xD;
			price: {&#xD;
				Select.Price&#xD;
			}&#xD;
			inventory: {&#xD;
				Select.Inventory&#xD;
				Gather.Number&#xD;
			}&#xD;
			itemNumber: {&#xD;
				Select.EbayItemNumber&#xD;
			}&#xD;
			image: {&#xD;
				Select.Image&#xD;
				Gather.Src -&gt; src&#xD;
				(@.If {&#xD;
					downloadImage&#xD;
				} {&#xD;
					(Browser.Download {&#xD;
						src&#xD;
					})&#xD;
				} {&#xD;
					(@Core.Unit {&#xD;
						src&#xD;
					})&#xD;
				})&#xD;
			}&#xD;
			itemLocation: {&#xD;
				Select.ItemLocation&#xD;
			}&#xD;
			shippingInformation: {&#xD;
				Select.ShippingInformation&#xD;
				Text.NoSeeDetails&#xD;
			}&#xD;
			delivery: {&#xD;
				Select.Delivery&#xD;
			}&#xD;
			returns: {&#xD;
				Select.Returns&#xD;
				Text.NoSeeDetails&#xD;
			}&#xD;
			shipsTo: {&#xD;
				Select.ShipsTo&#xD;
				Text.NoSeeDetails&#xD;
			}&#xD;
			sellerName: {&#xD;
				Select.SellerName&#xD;
			}&#xD;
			sellerUrl: {&#xD;
				Select.SellerName&#xD;
				Gather.Link&#xD;
			}&#xD;
			sellerReviews: {&#xD;
				Select.SellerReviews&#xD;
			}&#xD;
			sellerRating: {&#xD;
				(@List.Sum [{&#xD;
					Select.SellerRating1&#xD;
				} {&#xD;
					Select.SellerRating2&#xD;
				}])&#xD;
			}&#xD;
			itemSpecifics: {&#xD;
				Select.ItemSpecifics&#xD;
				(@Core.Unit #{&#xD;
					name: {&#xD;
						Gather.PreviousText&#xD;
					}&#xD;
					value: {&#xD;
						Gather.Text&#xD;
					}&#xD;
				})&#xD;
			}&#xD;
		})&#xD;
	}&#xD;
}&#xD;
Setup = {&#xD;
	(@Core.Unit #{&#xD;
		startingUrl: {&#xD;
			"https://www.ebay.com/sch/i.html?_from=R40&amp;_nkw=cycle&amp;_sacat=177831&amp;LH_TitleDesc=0&amp;_pgn=9&amp;rt=nc"&#xD;
		}&#xD;
		maxPages: {&#xD;
			4&#xD;
		}&#xD;
		downloadImage: {&#xD;
			False&#xD;
		}&#xD;
	})&#xD;
}</Code>
  </Assignments>
  <TextGatherers>
    <SerializableTextGatherer>
      <Visible>true</Visible>
      <Name>NoSeeDetails</Name>
      <TextSource>Text</TextSource>
      <Steps>
        <SerializableStep>
          <StepType>Replace</StepType>
          <Values>
            <anyType xsi:type="xsd:string">\|\s*see\s+details\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">true</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>title</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>condition</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>price</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>inventory</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>itemNumber</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>itemLocation</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>shippingInformation</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>delivery</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>returns</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>shipsTo</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>sellerName</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>sellerUrl</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>sellerReviews</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>sellerRating</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableSimpleType">
                      <Kind>String</Kind>
                    </ItemType>
                  </Type>
                </SerializableObjectMember>
                <SerializableObjectMember>
                  <Name>itemSpecifics</Name>
                  <Type xsi:type="SerializableListType">
                    <ItemType xsi:type="SerializableObjectType">
                      <Members>
                        <SerializableObjectMember>
                          <Name>name</Name>
                          <Type xsi:type="SerializableListType">
                            <ItemType xsi:type="SerializableSimpleType">
                              <Kind>String</Kind>
                            </ItemType>
                          </Type>
                        </SerializableObjectMember>
                        <SerializableObjectMember>
                          <Name>value</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>Condition</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "vi-itm-cond"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "u-flL condText  "&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "nonActPanel "&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class": {&#xD;
    "u-flL": true,&#xD;
    "condText": true&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Condition:"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class2": {&#xD;
    "nonActPanel": true&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Delivery</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": "deliverySummary"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "hideDelSec"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Delivery:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "u-flL sh-col"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "FORM"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class": {&#xD;
    "u-flL": true,&#xD;
    "sh-col": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>EbayItemNumber</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "vi-desc-maincntr"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "descItemNumber"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "eBay item number:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "u-flL iti-act-num itm-num-txt"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "vi-VR-tabCnt"&#xD;
  },&#xD;
  "class1": {&#xD;
    "iti-eu-txt": true,&#xD;
    "u-flR": true&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class": {&#xD;
    "u-flL": true,&#xD;
    "iti-act-num": true,&#xD;
    "itm-num-txt": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "vi-VR-tabCnt": true&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Image</Name>
      <Value>{&#xD;
  "tag": {&#xD;
    "val": "IMG"&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": "mainImgHldr"&#xD;
  },&#xD;
  "colIndex": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "class": {&#xD;
    "img": true&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(6, 84, 186)"&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "icImg"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "TD"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "linkMainImg"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class3": {&#xD;
    "img": true&#xD;
  },&#xD;
  "text": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Inventory</Name>
      <Value>{&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "qtySubTxt"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ItemLocation</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "itemLocation"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Item location:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "iti-eu-bld-gry "&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "u-flL iti-w75 "&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class1": {&#xD;
    "iti-eu-txt": true,&#xD;
    "iti-spacing": true&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(102, 102, 102)"&#xD;
  },&#xD;
  "class": {&#xD;
    "iti-eu-bld-gry": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "iti-eu-txt iti-spacing"&#xD;
  },&#xD;
  "class2": {&#xD;
    "u-flL": true,&#xD;
    "iti-w75": true&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ItemSpecifics</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "TBODY"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "TR"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "TABLE"&#xD;
  },&#xD;
  "hasPreviousText": {&#xD;
    "val": true&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "TD"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.022&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>NextButton</Name>
      <Value>{&#xD;
  "color": {&#xD;
    "val": "rgb(6, 84, 186)"&#xD;
  },&#xD;
  "rel": {&#xD;
    "val": "next"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "hasPreviousText": {&#xD;
    "val": true&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "NAV"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica Neue\", Helvetica, Arial, Roboto, sans-serif"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "text": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>NextButton2</Name>
      <Value>{"tag":{"val":"A"},"class1":{"pagination":true},"id1":{"val":""},"color":{"val":"rgb(17, 24, 32)"},"classes":{"val":"pagination__next"},"tag1":{"val":"NAV"},"id3":{"val":""},"tag3":{"val":"SPAN"},"classes1":{"val":"pagination"},"class2":{"x-pagination":true,"x-pagination--align-left":true},"class":{"pagination__next":true},"id2":{"val":""},"text":{"val":""},"tag2":{"val":"SPAN"},"font":{"val":"\"Helvetica Neue\", Helvetica, Arial, Roboto, sans-serif"},"hasPreviousText":{"val":true},"id":{"val":""},"visible":{"val":true},"classes3":{"val":""},"childrenLen":{"val":1},"classes2":{"val":"x-pagination x-pagination--align-left"},"_tolerance":{"val":0.044}}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Price</Name>
      <Value>{&#xD;
  "tag": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class": {&#xD;
    "notranslate": true&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(0, 0, 0)"&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.022&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ProductLink</Name>
      <Value>{&#xD;
  "tag": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "s-item__info clearfix"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class": {&#xD;
    "s-item__link": true&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "LI"&#xD;
  },&#xD;
  "class1": {&#xD;
    "s-item__info": true,&#xD;
    "clearfix": true&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "class2": {&#xD;
    "s-item__wrapper": true,&#xD;
    "clearfix": true&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "s-item__link"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica Neue\", Helvetica, Arial, Roboto, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "s-item__wrapper clearfix"&#xD;
  },&#xD;
  "class3": {&#xD;
    "s-item": true&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Returns</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "FORM"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "mainContent"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Returns:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "u-flL rpColWid"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "names": {&#xD;
    "2": "viactiondetails"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class": {&#xD;
    "u-flL": true,&#xD;
    "rpColWid": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "is": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>SellerName</Name>
      <Value>{"tag2":{"val":"DIV"},"id":{"val":""},"tag1":{"val":"A"},"classes":{"val":"mbg-nw"},"font":{"val":"\"Helvetica neue\", Helvetica, Verdana, sans-serif"},"childrenLen":{"val":0},"tag3":{"val":"DIV"},"color":{"val":"rgb(6, 84, 186)"},"class":{"mbg-nw":true},"tag":{"val":"SPAN"},"visible":{"val":true},"classes1":{"val":""},"class2":{"mbg":true}}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>SellerRating1</Name>
      <Value>{&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "si-content si-mini-sinfo vi-new-sinfo-cntr mifeedback"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "class1": {&#xD;
    "si-content": true,&#xD;
    "si-mini-sinfo": true,&#xD;
    "vi-new-sinfo-cntr": true,&#xD;
    "mifeedback": true&#xD;
  },&#xD;
  "hasPreviousText": {&#xD;
    "val": true&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "si-fbMini"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class2": {&#xD;
    "sp-c": true,&#xD;
    "sp-c400": true,&#xD;
    "lc2": true&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "SummaryPanel"&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": "CenterPanelInternal"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "sp-c sp-c400 lc2"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>SellerRating2</Name>
      <Value>{&#xD;
  "class3": {&#xD;
    "si-inner": true&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "si-inner"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "bdg-90"&#xD;
  },&#xD;
  "class1": {&#xD;
    "bdg-90": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "si-fb"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "hasPreviousText": {&#xD;
    "val": true&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "class2": {&#xD;
    "si-content": true&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "si-content "&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>SellerReviews</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "SPAN"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": "mbg vi-VR-margBtm3"&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 0&#xD;
  },&#xD;
  "class1": {&#xD;
    "mbg-l": true&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(6, 84, 186)"&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "A"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "mbg-l"&#xD;
  },&#xD;
  "class2": {&#xD;
    "mbg": true,&#xD;
    "vi-VR-margBtm3": true&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ShippingInformation</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "shippingSummary"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Shipping:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "u-flL sh-col"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "FORM"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "class": {&#xD;
    "u-flL": true,&#xD;
    "sh-col": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>ShipsTo</Name>
      <Value>{&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id2": {&#xD;
    "val": "shipsToSummary"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "vi-acc-shpsToLbl-cnt"&#xD;
  },&#xD;
  "id3": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "prevText": {&#xD;
    "val": "Ships to:"&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "iti-eu-bld-gry vi-shp-pdg-rt"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#xD;
  },&#xD;
  "classes2": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "childrenLen": {&#xD;
    "val": 1&#xD;
  },&#xD;
  "classes3": {&#xD;
    "val": "u-flL iti-w75"&#xD;
  },&#xD;
  "class1": {&#xD;
    "iti-eu-txt": true,&#xD;
    "iti-spacing": true&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(102, 102, 102)"&#xD;
  },&#xD;
  "class": {&#xD;
    "iti-eu-bld-gry": true,&#xD;
    "vi-shp-pdg-rt": true&#xD;
  },&#xD;
  "tag": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "class3": {&#xD;
    "u-flL": true,&#xD;
    "iti-w75": true&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": "iti-eu-txt iti-spacing"&#xD;
  },&#xD;
  "_tolerance": {&#xD;
    "val": 0.044&#xD;
  }&#xD;
}</Value>
    </SerializableNamedPairOfString>
    <SerializableNamedPairOfString>
      <Name>Title</Name>
      <Value>{&#xD;
  "tag": {&#xD;
    "val": "H1"&#xD;
  },&#xD;
  "tag1": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "classes1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "id1": {&#xD;
    "val": ""&#xD;
  },&#xD;
  "class": {&#xD;
    "it-ttl": true&#xD;
  },&#xD;
  "color": {&#xD;
    "val": "rgb(51, 51, 51)"&#xD;
  },&#xD;
  "tag2": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "id": {&#xD;
    "val": "itemTitle"&#xD;
  },&#xD;
  "tag3": {&#xD;
    "val": "DIV"&#xD;
  },&#xD;
  "visible": {&#xD;
    "val": true&#xD;
  },&#xD;
  "classes": {&#xD;
    "val": "it-ttl"&#xD;
  },&#xD;
  "font": {&#xD;
    "val": "\"Helvetica neue\", Helvetica, Verdana, sans-serif"&#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>false</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>PreviousText</Name>
      <Value>return function(element, global) {&#xD;
	return element.previousElementSibling.innerText.replace(':', '').trim();&#xD;
};</Value>
      <Visible>true</Visible>
      <Locked>false</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>hasPreviousText</Name>
      <Value>return function(element, global) {&#xD;
	return !!element.previousElementSibling.innerText;&#xD;
};</Value>
      <Visible>true</Visible>
      <Locked>false</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>true</Visible>
      <Locked>true</Locked>
    </SerializableGatherer>
    <SerializableGatherer>
      <Name>rel</Name>
      <Value>return function(element, global) {&#xD;
	return element.getAttribute('rel');&#xD;
};</Value>
      <Visible>true</Visible>
      <Locked>false</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>
    <SerializableNamedPairOfString>
      <Name>Rata</Name>
      <Value>return global.getElementsBySelector("Condition");</Value>
    </SerializableNamedPairOfString>
  </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>title</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>condition</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>price</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>inventory</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>itemNumber</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>itemLocation</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>shippingInformation</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>delivery</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>returns</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>shipsTo</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>sellerName</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>sellerUrl</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>sellerReviews</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>sellerRating</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
              <SerializableObjectMember>
                <Name>itemSpecifics</Name>
                <Type xsi:type="SerializableSimpleType">
                  <Kind>String</Kind>
                </Type>
              </SerializableObjectMember>
            </Members>
          </ItemType>
        </ResultType>
        <Parameters />
      </UniversalType>
      <QueryTemplate>select&#xD;
	`Main`.`url`,&#xD;
	`Main`.`title`,&#xD;
	`Main`.`condition`,&#xD;
	`Main`.`price`,&#xD;
	`Main`.`inventory`,&#xD;
	`Main`.`itemNumber`,&#xD;
	`Main`.`image`,&#xD;
	`Main`.`itemLocation`,&#xD;
	`Main`.`shippingInformation`,&#xD;
	`Main`.`delivery`,&#xD;
	`Main`.`returns`,&#xD;
	`Main`.`shipsTo`,&#xD;
	`Main`.`sellerName`,&#xD;
	`Main`.`sellerUrl`,&#xD;
	`Main`.`sellerReviews`,&#xD;
	`Main`.`sellerRating`,&#xD;
	group_concat(`Main.itemSpecifics`.`name` || ": " || `Main.itemSpecifics`.`value`, x'0d0a') as itemSpecifics&#xD;
from `Main`&#xD;
	left join `Main.itemSpecifics` on `Main`.`id` = `Main.itemSpecifics`.`Main`&#xD;
	group by `Main`.`id`</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>33531f2964b382d241f30f027d7d7ac3</ProjectCode>
  <Signature>T3vH4oEHA8e1/L0K/+GkydlCvN3rk6UgY/WF6Y6d9eeLzuW0IsV19blAU0Knh7P79RqmR0N4/bhAXVPLE0t/V5I+6KVTmLfUlSBG1uzHDSmemt7wqjHzCmxq1j+R6FLzMYSxjA2japb0rR/N8JRpNouF59b11iS/hK5cphBe2nVaI20uhGmCNTlZcnwiWAX65BbK/Nq3Vsg+TA+PkRARkXA0CmicgPEUl9ttvm6qIY/Fwxqb3wgIMxsox9m6oCgxk2XYmFxj0s4AbGKFWmrMYdLFVQLksHjPAoiZnkXlvhJypfdmAx0JUycSaCHwNklCZwSc9OhEGd4iAINCMCma2A==</Signature>
</SerializableScraperProject>