<?xml version="1.0" encoding="UTF-8"?>
<iaml:InternetApplication xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iaml="http://openiaml.org/model0.4" xmlns:iaml.components="http://openiaml.org/model/components" xmlns:iaml.users="http://openiaml.org/model/users" xmlns:iaml.visual="http://openiaml.org/model/visual" xmlns:iaml.wires="http://openiaml.org/model/wires" id="model.1233afe61d2.26">
  <children xsi:type="iaml.visual:Page" id="visual.1233afe628e.15" name="Home"/>
  <children xsi:type="iaml.visual:Page" id="visual.1233b453dc5.156" name="create a new user">
    <children xsi:type="iaml.users:UserInstance" id="users.1233b53a814.a" name="newly created user" inEdges="wires.1233b53a3ce.7" autosave="false" outEdges="sync">
      <operations xsi:type="iaml:PrimitiveOperation" inEdges="wires.1233b53a3ce.a" id="model.1233b53a1ca.14" name="save"/>
    </children>
    <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.1a" name="create new user" outEdges="wires.1233b53a3ce.a">
      <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.a" from="visual.1233b53a313.1a" to="model.1233b53a1ca.14" name="onClick"/>
    </children>
    <children xsi:type="iaml.visual:InputForm" id="new" name="create a new user form" inEdges="sync" />
    <wires xsi:type="iaml.wires:SyncWire" id="sync" from="users.1233b53a814.a" to="new" name="sync" />
  </children>
  <domainStores xsi:type="iaml.users:UserStore" id="users.1233afe655c.1c" name="user store">
    <children xsi:type="iaml.users:Role" id="users.1233afe655c.23" name="default role" outEdges="wires.1233b53a3ce.7 wires.1233b53a3ce.5a" inEdges="wires.1233afe62eb.2d">
      <wires xsi:type="iaml.wires:NewInstanceWire" id="wires.1233b53a3ce.7" from="users.1233afe655c.23" to="users.1233b53a814.a" name="new instance"/>
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.5a" from="users.1233afe655c.23" to="components.1233b53a67e.19"/>
    </children>
    <children xsi:type="iaml.users:Role" id="users.1233b53a814.62" name="additional role 1" outEdges="wires.1233b53a3ce.a9 wires.1233b53a3ce.16a" inEdges="wires.1233b53a3ce.23a">
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.a9" from="users.1233b53a814.62" to="wires.1233b53a3ce.a8"/>
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.16a" from="users.1233b53a814.62" to="wires.1233b53a3ce.168"/>
    </children>
    <children xsi:type="iaml.users:Role" id="users.1233b53a814.63" name="additional role 2" outEdges="wires.1233b53a3ce.36 wires.1233b53a3ce.aa wires.1233b53a3ce.16b">
      <wires xsi:type="iaml.wires:ProvidesWire" id="wires.1233b53a3ce.36" from="users.1233b53a814.63" to="users.1233b53a814.70"/>
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.aa" from="users.1233b53a814.63" to="wires.1233b53a3ce.a7"/>
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.16b" from="users.1233b53a814.63" to="wires.1233b53a3ce.169"/>
    </children>
    <permissions id="users.1233b53a814.6f" name="permission 1" outEdges="wires.1233b53a3ce.ab wires.1233b53a3ce.16d" inEdges="wires.1233b53a3ce.453">
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.ab" from="users.1233b53a814.6f" to="wires.1233b53a3ce.a6"/>
      <wires xsi:type="iaml.wires:ParameterWire" id="wires.1233b53a3ce.16d" from="users.1233b53a814.6f" to="wires.1233b53a3ce.16c"/>
    </permissions>
    <permissions id="users.1233b53a814.70" name="inherited permission with role" inEdges="wires.1233b53a3ce.36 wires.1233b53a3ce.544"/>
  </domainStores>
  <sessions id="scopes.1233afe6368.3" name="target session">
    <children xsi:type="iaml.components:AccessControlHandler" id="components.1233afe6424.13" name="role-based access" outEdges="wires.1233afe62eb.2d">
      <wires xsi:type="iaml.wires:RequiresWire" id="wires.1233afe62eb.2d" from="components.1233afe6424.13" to="users.1233afe655c.23"/>
    </children>
    <children xsi:type="iaml.visual:Page" id="visual.1233afe628e.7e" name="target"/>
    <children xsi:type="iaml.visual:Page" id="visual.1233b53a313.7d" name="add new roles">
      <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.ec" name="add role 1" outEdges="wires.1233b53a3ce.a8">
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.a8" from="visual.1233b53a313.ec" to="model.1233b53a1ca.71" name="onClick" inEdges="wires.1233b53a3ce.a9"/>
      </children>
      <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.ed" name="add role 2" outEdges="wires.1233b53a3ce.a7">
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.a7" from="visual.1233b53a313.ed" to="model.1233b53a1ca.71" name="onClick" inEdges="wires.1233b53a3ce.aa"/>
      </children>
      <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.ee" name="add permission 1" outEdges="wires.1233b53a3ce.a6">
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.a6" from="visual.1233b53a313.ee" to="model.1233b53a1ca.73" name="onClick" inEdges="wires.1233b53a3ce.ab"/>
      </children>
    </children>
    <children xsi:type="iaml.components:LoginHandler" id="components.1233b53a67e.19" name="current user" outEdges="wires.1233b53a3ce.5c" inEdges="wires.1233b53a3ce.5a" type="USER">
      <wires xsi:type="iaml.wires:SetWire" id="wires.1233b53a3ce.5c" from="components.1233b53a67e.19" to="users.1233b53a814.d0" name="set"/>
    </children>
    <children xsi:type="iaml.users:UserInstance" id="users.1233b53a814.d0" name="logged in user" inEdges="wires.1233b53a3ce.5c">
      <operations xsi:type="iaml:PrimitiveOperation" inEdges="wires.1233b53a3ce.a7 wires.1233b53a3ce.a8" id="model.1233b53a1ca.71" name="add role"/>
      <operations xsi:type="iaml:PrimitiveOperation" inEdges="wires.1233b53a3ce.168 wires.1233b53a3ce.169" id="model.1233b53a1ca.72" name="remove role"/>
      <operations xsi:type="iaml:PrimitiveOperation" inEdges="wires.1233b53a3ce.a6" id="model.1233b53a1ca.73" name="add permission"/>
      <operations xsi:type="iaml:PrimitiveOperation" inEdges="wires.1233b53a3ce.16c" id="model.1233b53a1ca.74" name="remove permission"/>
    </children>
    <children xsi:type="iaml.visual:Page" id="visual.1233b53a313.117" name="remove roles">
      <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.15a" name="remove all roles" outEdges="wires.1233b53a3ce.168 wires.1233b53a3ce.169">
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.168" from="visual.1233b53a313.15a" to="model.1233b53a1ca.72" name="onClick" inEdges="wires.1233b53a3ce.16a"/>
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.169" from="visual.1233b53a313.15a" to="model.1233b53a1ca.72" name="onClick" inEdges="wires.1233b53a3ce.16b"/>
      </children>
      <children xsi:type="iaml.visual:Button" id="visual.1233b53a313.15b" name="remove all permissions" outEdges="wires.1233b53a3ce.16c">
        <wires xsi:type="iaml.wires:RunInstanceWire" id="wires.1233b53a3ce.16c" from="visual.1233b53a313.15b" to="model.1233b53a1ca.74" name="onClick" inEdges="wires.1233b53a3ce.16d"/>
      </children>
    </children>
    <children xsi:type="iaml.visual:Page" id="visual.1233b53a313.1ce" name="requires role 1">
      <children xsi:type="iaml.components:AccessControlHandler" id="components.1233b53a67e.9a" name="require role 1" outEdges="wires.1233b53a3ce.23a">
        <wires xsi:type="iaml.wires:RequiresWire" id="wires.1233b53a3ce.23a" from="components.1233b53a67e.9a" to="users.1233b53a814.62"/>
      </children>
    </children>
    <children xsi:type="iaml.visual:Page" id="visual.1233b53a313.361" name="requires permission 1">
      <children xsi:type="iaml.components:AccessControlHandler" id="components.1233b53a67e.110" name="requires permission 1" outEdges="wires.1233b53a3ce.453">
        <wires xsi:type="iaml.wires:RequiresWire" id="wires.1233b53a3ce.453" from="components.1233b53a67e.110" to="users.1233b53a814.6f"/>
      </children>
    </children>
    <children xsi:type="iaml.visual:Page" id="visual.1233b53a313.421" name="requires inherited permission">
      <children xsi:type="iaml.components:AccessControlHandler" id="components.1233b53a67e.153" name="requires inherited permission" outEdges="wires.1233b53a3ce.544">
        <wires xsi:type="iaml.wires:RequiresWire" id="wires.1233b53a3ce.544" from="components.1233b53a67e.153" to="users.1233b53a814.70"/>
      </children>
    </children>
  </sessions>
</iaml:InternetApplication>

