<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<entity-engine-xml>
    <PortalPortlet portalPortletId="EbayPersonalInfo"
        portletName="Ebay Personal Information"
        screenName="EbayPersonalInformation"
        screenLocation="component://ebaystore/widget/EbayAccountScreens.xml"
        description="Ebay Personan Information"/>
    <PortletPortletCategory portalPortletId="EbayPersonalInfo" portletCategoryId="PARTY_PROFILE"/>

    <PortalPage portalPageId="EbayAccount" sequenceNum="0" portalPageName="Ebay Account Portal Page" description="Ebay Account page using flexible Portal technology" ownerUserLoginId="_NA_"/>
    <PortalPageColumn portalPageId="EbayAccount" columnSeqId="00001" columnWidthPercentage="50"/>
    <PortalPageColumn portalPageId="EbayAccount" columnSeqId="00002"/><!-- no width in pixels or percent, use the rest of the space available -->

    <PortalPagePortlet portalPageId="EbayAccount" portalPortletId="EbayPersonalInfo" portletSeqId="00001" columnSeqId="00001" sequenceNum="1"/>
</entity-engine-xml>