<?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.
-->
<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://ofbiz.apache.org/Widget-Menu" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Menu http://ofbiz.apache.org/dtds/widget-menu.xsd">
    
    <menu name="PriCatDemoAppBar" title="${uiLabelMap.PriCatDemoApplication}"  extends="CommonAppBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
        <menu-item name="countdownreport" title="${uiLabelMap.PriCatDemoCountDown}">
            <link target="countdownreport"/>
        </menu-item>
        <menu-item name="countupreport" title="${uiLabelMap.PriCatDemoCountUp}">
            <link target="countupreport"/>
        </menu-item>
        <menu-item name="SamplePricat" title="${uiLabelMap.PriCatDemoParseSamplePricat}">
            <link target="SamplePricat"/>
        </menu-item>
        <menu-item name="main" title="${uiLabelMap.CommonMain}">
            <link target="main"/>
        </menu-item>
    </menu>
    
</menus>