feat(bpmnrenderer): add events to renderer

Add support for all event types expect Sub-Process events.

Closes #19
This commit is contained in:
jdotzki 2014-04-03 14:01:56 +02:00
parent 6623500c23
commit e146b27e44
7 changed files with 1022 additions and 235 deletions

View File

@ -16,7 +16,7 @@
"trailing" : true,
"maxdepth" : 5,
"maxstatements" : 50,
"maxcomplexity" : 10,
"maxcomplexity" : 13,
"maxlen" : 120,
"browser" : true,
"debug": true,

View File

@ -1,9 +1,11 @@
var bpmnModule = require('../di').defaultModule;
var _ = require('lodash');
require('diagram-js/lib/core/EventBus');
require('diagram-js/lib/draw/Styles');
require('../core/BpmnRegistry');
require('./PathMap');
var DefaultRenderer = require('diagram-js/lib/draw/Renderer');
@ -11,12 +13,13 @@ var DefaultRenderer = require('diagram-js/lib/draw/Renderer');
var flattenPoints = DefaultRenderer.flattenPoints;
function BpmnRenderer(events, styles, bpmnRegistry) {
function BpmnRenderer(events, styles, bpmnRegistry, pathMap) {
DefaultRenderer.apply(this, [ events, styles ]);
var TASK_BORDER_RADIUS = 8;
var INNER_OUTER_DIST = 3;
var EVENT_RADIUS = 18;
var markers = {};
@ -121,7 +124,7 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
return p.circle(cx, cy, Math.round((width + height) / 4 - offset)).attr({
'stroke': 'Black',
'stroke-width': 2,
'stroke-width': 1,
'fill': 'White'
});
}
@ -163,11 +166,14 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
}));
}
function drawPath(p, d) {
function drawPath(p, d, fill) {
var fillColor = fill ? 'Black' : 'None';
var path = p.path(d).attr(styles.style([ 'no-fill' ],{
'stroke-width': 2,
'stroke': 'Black'
'stroke': 'Black',
'fill': fillColor
}));
return path;
@ -183,12 +189,203 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
return handlers[type];
}
function renderEventContent(data, p) {
var throwEvent = isThrowObject(data.id);
var path;
if (checkSemantic(data.id, 'bpmn:MessageEventDefinition')) {
path = renderer('bpmn:MessageEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:TimerEventDefinition')) {
path = renderer('bpmn:TimerEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:ConditionalEventDefinition')) {
path = renderer('bpmn:ConditionalEventDefinition')(p, data);
} else if (checkSemantic(data.id, 'bpmn:SignalEventDefinition')) {
path = renderer('bpmn:SignalEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:CancelEventDefinition') &&
checkSemantic(data.id, 'bpmn:TerminateEventDefinition') && !bpmnRegistry.getSemantic(data.id).parallelMultiple) {
path = renderer('bpmn:MultipleEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:CancelEventDefinition') &&
checkSemantic(data.id, 'bpmn:TerminateEventDefinition') && !!bpmnRegistry.getSemantic(data.id).parallelMultiple) {
path = renderer('bpmn:ParallelMultipleEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:EscalationEventDefinition')) {
path = renderer('bpmn:EscalationEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:LinkEventDefinition')) {
path = renderer('bpmn:LinkEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:ErrorEventDefinition')) {
path = renderer('bpmn:ErrorEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:CancelEventDefinition')) {
path = renderer('bpmn:CancelEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:CompensateEventDefinition')) {
path = renderer('bpmn:CompensateEventDefinition')(p, data, throwEvent);
} else if (checkSemantic(data.id, 'bpmn:TerminateEventDefinition')) {
path = renderer('bpmn:TerminateEventDefinition')(p, data, throwEvent);
}
return path;
}
var handlers = {
'bpmn:Event': function(p, data) {
var circle = drawCircle(p, data.width, data.height);
var circle = drawCircle(p, EVENT_RADIUS * 2, EVENT_RADIUS * 2);
return circle;
},
'bpmn:StartEvent': as('bpmn:Event'),
'bpmn:StartEvent': function(p, data) {
var circle = renderer('bpmn:Event')(p, data);
renderEventContent(data, p);
return circle;
},
'bpmn:MessageEventDefinition': function(p, data, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_MESSAGE');
var fill = throwEvent ? 'Black' : 'None';
var stroke = throwEvent ? 'White' : 'Black';
var messagePath = drawPath(p, pathData);
messagePath.attr({
'stroke-width': 1,
'fill': fill,
'stroke': stroke
});
return messagePath;
},
'bpmn:TimerEventDefinition': function(p, event) {
var pathData = pathMap.getRawPath('EVENT_TIMER_1');
var timerPath = drawPath(p, pathData);
timerPath.attr({
'stroke-width': 1,
'fill': 'Black'
});
var pathData2 = pathMap.getRawPath('EVENT_TIMER_2');
var timerPath2 = drawPath(p, pathData2);
timerPath2.attr({
'stroke-width': 1,
'fill': 'Black'
});
var pathDataWh = pathMap.getRawPath('EVENT_TIMER_WH');
var timerPathWh = drawPath(p, pathDataWh);
timerPathWh.attr({
'stroke-width': 1,
'fill': 'Black'
});
return timerPath;
},
'bpmn:EscalationEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_ESCALATION');
var fill = throwEvent ? 'Black' : 'None';
var escalationPath = drawPath(p, pathData);
escalationPath.attr({
'stroke-width': 1,
'fill': fill
});
return escalationPath;
},
'bpmn:ConditionalEventDefinition': function(p, event) {
var pathData = pathMap.getRawPath('EVENT_CONDITIONAL');
var conditionalPath = drawPath(p, pathData);
conditionalPath.attr({
'stroke-width': 1
});
return conditionalPath;
},
'bpmn:LinkEventDefinition': function(p, event) {
var pathData = pathMap.getRawPath('EVENT_LINK');
var linkPath = drawPath(p, pathData);
linkPath.attr({
'stroke-width': 1
});
return linkPath;
},
'bpmn:ErrorEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_ERROR');
var fill = throwEvent ? 'Black' : 'None';
var errorPath = drawPath(p, pathData);
errorPath.attr({
'stroke-width': 1,
'fill': fill
});
return errorPath;
},
'bpmn:CancelEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_CANCEL');
var fill = throwEvent ? 'Black' : 'None';
var cancelPath = drawPath(p, pathData);
cancelPath.attr({
'stroke-width': 1,
'fill': fill
});
return cancelPath;
},
'bpmn:CompensateEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_COMPENSATION');
var fill = throwEvent ? 'Black' : 'None';
var compensationPath = drawPath(p, pathData);
compensationPath.attr({
'stroke-width': 1,
'fill': fill
});
return compensationPath;
},
'bpmn:SignalEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_SIGNAL');
var fill = throwEvent ? 'Black' : 'None';
var signalPath = drawPath(p, pathData);
signalPath.attr({
'stroke-width': 1,
'fill': fill
});
return signalPath;
},
'bpmn:MultipleEventDefinition': function(p, event, throwEvent) {
var pathData = pathMap.getRawPath('EVENT_MULTIPLE');
var fill = throwEvent ? 'Black' : 'None';
var multiplePath = drawPath(p, pathData);
multiplePath.attr({
'stroke-width': 1,
'fill': fill
});
return multiplePath;
},
'bpmn:ParallelMultipleEventDefinition': function(p, event) {
var pathData = pathMap.getRawPath('EVENT_PARALLEL_MULTIPLE');
var multiplePath = drawPath(p, pathData);
multiplePath.attr({
'stroke-width': 1
});
return multiplePath;
},
'bpmn:EndEvent': function(p, data) {
var circle = renderer('bpmn:Event')(p, data);
@ -196,6 +393,18 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
'stroke-width': 4
});
renderEventContent(data, p, true);
return circle;
},
'bpmn:TerminateEventDefinition': function(p, data) {
var circle = drawCircle(p, 36, 36, 7);
circle.attr({
'stroke-width': 4,
'fill': 'Black'
});
return circle;
},
'bpmn:IntermediateEvent': function(p, data) {
@ -205,10 +414,25 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
outer.attr('stroke-width', 1);
inner.attr('stroke-width', 1);
renderEventContent(data, p);
return outer;
},
'bpmn:IntermediateInterruptedEvent': function(p, data) {
var outer = renderer('bpmn:Event')(p, data);
var inner = drawCircle(p, EVENT_RADIUS * 2, EVENT_RADIUS * 2, INNER_OUTER_DIST);
outer.attr('stroke-width', 1);
outer.attr('stroke-dasharray', '12');
inner.attr('stroke-width', 1);
inner.attr('stroke-dasharray', '12');
renderEventContent(data, p);
return outer;
},
'bpmn:IntermediateThrowEvent': as('bpmn:IntermediateEvent'),
'bpmn:IntermediateCatchEvent': as('bpmn:IntermediateEvent'),
'bpmn:IntermediateThrowEvent': as('bpmn:IntermediateEvent'),
'bpmn:Activity': function(p, data) {
var rect = drawRect(p, data.width, data.height, TASK_BORDER_RADIUS);
@ -366,6 +590,10 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
});
return dataStore;
},
'bpmn:BoundaryEvent': function(p, data) {
renderer('bpmn:IntermediateInterruptedEvent')(p, data);
return renderEventContent(data, p);
}
};
@ -391,6 +619,38 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
}
}
/**
* Checks if eventDefinition of the given element matches with semantic type.
*
* @return {boolean} true if element is of the given semantic type
*/
function checkSemantic(id, semanticType) {
var semantic = bpmnRegistry.getSemantic(id);
if(!semantic || !semantic.eventDefinitions) {
return false;
}
var match = false;
_.forEach(semantic.eventDefinitions, function(eventDefinition) {
if(eventDefinition.$type === semanticType) {
match = true;
return;
} else {
return;
}
});
return match;
}
function isThrowObject(id) {
var semantic = bpmnRegistry.getSemantic(id);
return (semantic.$type === 'bpmn:IntermediateThrowEvent') || (semantic.$type === 'bpmn:EndEvent');
}
/**
*
* @return {Object} returns a specified objectRef
@ -420,6 +680,6 @@ function BpmnRenderer(events, styles, bpmnRegistry) {
BpmnRenderer.prototype = Object.create(DefaultRenderer.prototype);
bpmnModule.type('renderer', [ 'eventBus', 'styles', 'bpmnRegistry', BpmnRenderer ]);
bpmnModule.type('renderer', [ 'eventBus', 'styles', 'bpmnRegistry', 'pathMap', BpmnRenderer ]);
module.exports = BpmnRenderer;

217
lib/draw/PathMap.js Normal file
View File

@ -0,0 +1,217 @@
/**
* Map containing SVG paths needed by BpmnRenderer.
*/
var bpmnModule = require('../di').defaultModule;
require('diagram-js/lib/draw/Snap');
function PathMap(Snap) {
/**
* Contains a map of path elements
*/
this.pathMap = {
'shape': {
d: 'M{x},{y}h{dim.width}v{dim.height}h{dim["negative width"]}z',
height: 'y',
width: 'x',
heightElements: [],
widthElements: []
},
'EVENT_MESSAGE': {
d: 'M 7.5 10 l 0 15 l 21 0 l 0 -15 z l 10.5 6 l 10.5 -6',
height: 22,
width: 16,
heightElements: [],
widthElements: []
},
'EVENT_MESSAGE_REV': {
d: 'M 7 9.5 l 10.5,4.5 l 10.5,-4.5',
height: 4.5,
width: 6,
heightElements: [],
widthElements: []
},
'EVENT_SIGNAL': {
d: 'M 18 8 l 10 18 l -20 0 Z',
height: 21,
width: 15,
heightElements: [],
widthElements: []
},
'EVENT_ESCALATION': {
d: 'm 19,20 c -2.808,2.382 -5.616,4.764 -8.424,7.146 2.808,-6.589333 5.616,-13.178667 ' +
'8.424,-19.768 2.463,6.589333 4.926,13.178667 7.389,19.768 -2.463,-2.382 -4.926,-4.764 -7.389,-7.146 z',
height: 19,
width: 15,
heightElements: [],
widthElements: []
},
'EVENT_CONDITIONAL': {
d: 'M 10.5 8.5 l 14.5 0 l 0 18 l -14.5 0 Z ' +
'M 12.5 11.5 l 10.5 0 ' +
'M 12.5 14.5 l 10.5 0 ' +
'M 12.5 17.5 l 10.5 0 ' +
'M 12.5 20.5 l 8 0 ' +
'M 12.5 23.5 l 8 0 ' +
'M 12.5 26.5 l 10.5 0 ',
height: 19,
width: 15,
heightElements: [],
widthElements: []
},
'EVENT_LINK': {
d: 'm 20,12 c 2.151333,1.851 4.302667,3.702 6.454,5.553 -2.146667,1.847333 -4.293333,3.694667 ' +
'-6.44,5.542 0,-0.938667 0,-1.877333 0,-2.816 -3.009,0 -6.018,0 -9.027,0 0,-1.776 0,-3.552 0,-5.328 ' +
'2.998,0 5.996,0 8.994,0 0.0057,-0.983671 0.01251,-1.967334 0.019,-2.951 z m -0.986,-2.167 ' +
'c -0.009,1.372667 -0.018,2.745333 -0.027,4.118 -3,0 -6,0 -9,0 0,2.442667 0,4.885333 0,7.328 ' +
'3.009,0 6.018,0 9.027,0 0,1.332333 0,2.664667 0,3.997 2.991,-2.574 5.982,-5.148 8.973,-7.722 ' +
'-2.991,-2.573667 -5.982,-5.147333 -8.973,-7.721 z',
height: 16,
width: 19,
heightElements: [],
widthElements: []
},
'EVENT_ERROR': {
d: 'm 8,25 0.085,-0.023 6.672,-8.737 6.97,8.151 4.273,-16.564 -5.337,10.591 -6.636,-8.714 z',
height: 19,
width: 15,
heightElements: [],
widthElements: []
},
'EVENT_CANCEL': {
d: 'm 10,24 c 1.874667,-1.874333 3.74933,-3.748667 5.624,-5.623 -1.87467,-1.874 -3.749333,-3.748 ' +
'-5.624,-5.622 0.890667,-0.890333 1.781333,-1.780667 2.672,-2.671 1.874,1.875 3.748,3.75 5.622,5.625 ' +
'1.87433,-1.875 3.74867,-3.75 5.623,-5.625 0.88967,0.890333 1.77933,1.780667 2.669,2.671 -1.87333,1.874 ' +
'-3.74667,3.748 -5.62,5.622 1.87333,1.874333 3.74667,3.748667 5.62,5.623 -0.88967,0.89 -1.77933,1.78 ' +
'-2.669,2.67 -1.87433,-1.874 -3.74867,-3.748 -5.623,-5.622 -1.874,1.874 -3.748,3.748 -5.622,5.622 ' +
'-0.890667,-0.89 -1.781333,-1.78 -2.672,-2.67 z',
height: 22,
width: 22,
heightElements: [],
widthElements: []
},
'EVENT_COMPENSATION': {
d: 'm 25.5,11 -8.038,5.014 0,-5.014 -9.962,6.214 9.962,6.213 0,-5.012 8.038,5.012 z',
height: 22,
width: 22,
heightElements: [],
widthElements: []
},
'EVENT_TIMER_1': {
d: 'm 18.1,7.7 c 5.676,0 10.292,4.617 10.292,10.293 0,5.676 -4.616,10.293 -10.292,10.293 -5.676,0 ' +
'-10.293,-4.617 -10.293,-10.293 0,-5.676 4.617,-10.293 10.293,-10.293 m 0,-1.5 c -6.515,0 ' +
'-11.793,5.279 -11.793,11.793 0,6.514 5.278,11.793 11.793,11.793 6.515,0 11.792,-5.279 ' +
'11.792,-11.793 0,-6.514 -5.279,-11.793 -11.792,-11.793 l 0,0 z',
height: 24,
width: 24,
heightElements: [],
widthElements: []
},
'EVENT_TIMER_2': {
d: 'm 18,7 c -6.15,0 -11.139,4.986 -11.139,11.139 0,6.149 4.987,11.139 11.139,11.139 6.15,0 ' +
'11.14,-4.988 11.14,-11.139 -0.002,-6.151 -4.99,-11.139 -11.14,-11.139 z m 9.452,16.302 ' +
'c -0.006,-0.004 -0.01,-0.008 -0.015,-0.011 -0.403,-0.229 -0.808,-0.461 -1.212,-0.69 ' +
'-0.143,-0.08 -0.282,-0.045 -0.358,0.092 -0.077,0.136 -0.036,0.27 0.104,0.352 0.401,0.229 ' +
'0.803,0.459 1.207,0.688 0.006,0.003 0.011,0.008 0.018,0.01 -0.896,1.466 -2.131,2.7 -3.6,3.596 ' +
'0,-0.002 -0.001,-0.004 -0.001,-0.007 -0.239,-0.427 -0.479,-0.854 -0.72,-1.279 -0.062,-0.109 ' +
'-0.161,-0.146 -0.276,-0.112 -0.117,0.033 -0.196,0.134 -0.204,0.252 0.015,0.042 0.025,0.088 ' +
'0.047,0.129 0.235,0.422 0.473,0.842 0.71,1.262 0.002,0.005 0.006,0.008 0.008,0.012 -1.463,0.801 ' +
'-3.133,1.271 -4.907,1.312 0.002,-0.486 0.002,-0.974 0,-1.458 0,-0.104 -0.054,-0.183 -0.15,-0.218 ' +
'-0.172,-0.063 -0.362,0.027 -0.361,0.24 0.005,0.473 10e-4,0.942 10e-4,1.414 0,0.007 0.001,0.013 ' +
'0.002,0.021 -1.774,-0.043 -3.444,-0.516 -4.906,-1.316 0,-0.002 0.002,-0.003 0.003,-0.005 0.254,-0.409 ' +
'0.506,-0.818 0.758,-1.229 0.023,-0.037 0.034,-0.085 0.051,-0.127 -0.01,-0.115 -0.084,-0.209 ' +
'-0.204,-0.244 -0.112,-0.031 -0.218,0.004 -0.282,0.109 -0.254,0.412 -0.509,0.822 -0.76,1.234 ' +
'-0.003,0.002 -0.003,0.005 -0.004,0.008 -1.466,-0.896 -2.7,-2.128 -3.594,-3.595 0.421,-0.251 ' +
'0.842,-0.5 1.262,-0.753 0.061,-0.035 0.102,-0.091 0.11,-0.159 0.015,-0.111 -0.024,-0.203 ' +
'-0.116,-0.27 -0.09,-0.065 -0.182,-0.054 -0.272,0.002 -0.271,0.162 -0.546,0.324 -0.816,0.486 ' +
'-0.142,0.083 -0.281,0.168 -0.421,0.252 -0.799,-1.463 -1.271,-3.131 -1.312,-4.905 0.475,0 ' +
'0.95,0.003 1.424,-10e-4 0.056,-0.001 0.119,-0.03 0.164,-0.063 0.081,-0.064 0.102,-0.192 ' +
'0.061,-0.296 -0.039,-0.098 -0.119,-0.147 -0.235,-0.147 -0.449,0 -0.897,0.003 -1.348,-0.002 ' +
'-0.023,-0.002 -0.043,0.001 -0.064,0.003 0.041,-1.775 0.513,-3.445 1.312,-4.908 0.006,0.004 ' +
'0.012,0.011 0.02,0.015 0.408,0.228 0.817,0.456 1.229,0.682 0.043,0.025 0.093,0.038 0.139,0.056 ' +
'0.12,-0.011 0.22,-0.091 0.255,-0.212 0.03,-0.108 -0.01,-0.21 -0.117,-0.271 -0.074,-0.045 ' +
'-0.149,-0.086 -0.228,-0.128 -0.342,-0.19 -0.687,-0.381 -1.028,-0.571 -0.007,-0.003 -0.012,-0.004 ' +
'-0.017,-0.007 0.894,-1.467 2.127,-2.699 3.592,-3.595 0.001,0.002 0.001,0.004 0.004,0.006 ' +
'0.226,0.404 0.455,0.81 0.685,1.214 0.075,0.134 0.207,0.17 0.343,0.097 0.132,-0.073 0.174,-0.215 ' +
'0.103,-0.348 -0.013,-0.023 -0.025,-0.045 -0.039,-0.069 -0.215,-0.382 -0.432,-0.764 -0.646,-1.145 ' +
'-0.003,-0.004 -0.005,-0.008 -0.007,-0.012 1.463,-0.801 3.132,-1.271 4.904,-1.313 -0.001,0.479 ' +
'-0.001,0.962 0,1.44 10e-4,0.116 0.077,0.202 0.191,0.229 0.182,0.039 0.318,-0.071 0.318,-0.257 ' +
'0,-0.446 -0.004,-0.893 0.003,-1.337 0,-0.025 -0.001,-0.051 -0.005,-0.075 1.775,0.041 3.444,0.511 ' +
'4.908,1.312 0,0.002 -0.003,0.003 -0.003,0.006 -0.229,0.42 -0.455,0.842 -0.681,1.263 -0.021,0.037 ' +
'-0.027,0.081 -0.04,0.119 0.005,0.115 0.09,0.222 0.206,0.255 0.117,0.032 0.214,-0.008 0.273,-0.12 ' +
'0.151,-0.276 0.301,-0.554 0.45,-0.832 0.078,-0.146 0.159,-0.289 0.231,-0.437 1.469,0.896 ' +
'2.703,2.13 3.6,3.597 -0.006,0.002 -0.011,0.004 -0.016,0.008 -0.414,0.243 -0.825,0.489 ' +
'-1.236,0.735 -0.029,0.019 -0.056,0.041 -0.078,0.064 -0.076,0.093 -0.067,0.229 0.017,0.329 ' +
'0.079,0.095 0.199,0.116 0.312,0.051 0.246,-0.144 0.487,-0.29 0.732,-0.435 0.173,-0.104 ' +
'0.351,-0.208 0.523,-0.314 h 0.002 c 0.8,1.463 1.272,3.132 1.312,4.909 -0.488,-0.002 -0.979,-0.002 ' +
'-1.469,0 -0.115,0.001 -0.201,0.076 -0.226,0.19 -0.039,0.181 0.071,0.317 0.256,0.317 0.472,0 0.942,0 ' +
'1.415,0 0.007,0 0.016,0 0.022,-0.001 -0.042,1.772 -0.512,3.441 -1.313,4.906 z',
height: 22,
width: 23,
heightElements: [],
widthElements: []
},
'EVENT_TIMER_WH': {
d: 'm 20,9 -1.058,-0.236 -1.974,8.849 -0.286,0 0,1.041 0.055,0 -0.055,0.244 1.06,0.236 ' +
'0.105,-0.48 5.68,0 0,-1.041 -5.447,0 z',
height: 12,
width: 8,
heightElements: [],
widthElements: []
},
'EVENT_MULTIPLE': {
d:'m 8,14 9.42149,-6.28099 9.42149,6.28099 -3.1405,12.56199 -12.56198,0 z',
height: 18,
width: 18,
heightElements: [],
widthElements: []
},
'EVENT_PARALLEL_MULTIPLE': {
d:'m 17,9 2.56228,0 0,7.686833 7.68683,0 0,2.562278 -7.68683,0 0,7.686833 ' +
'-2.56228,0 0,-7.686833 -7.686832,0 0,-2.562278 7.686832,0 z',
height: 17,
width: 17,
heightElements: [],
widthElements: []
}
};
this.getRawPath = function getRawPath(pathId) {
return this.pathMap[pathId].d;
};
/**
* Scales the path to the given height and width.
*/
this.getScaledPath = function getScaledPath(pathId, height, width) {
var rawPath = this.getRawPath(pathId);
var heightRatio = rawPath.height / height;
var widthRatio = rawPath.width / width;
var heightElements = [];
var widthElements = [];
//Apply height ratio
for(var heightIndex = 0; heightIndex < rawPath.heightElements.length; heightIndex++) {
heightElements[heightIndex] = rawPath.heightElements[heightIndex] * heightRatio;
}
//Apply width ratio
for(var widthIndex = 0; widthIndex < rawPath.widthElements.length; widthIndex++) {
widthElements[widthIndex] = rawPath.widthElements[widthIndex] * widthRatio;
}
//Apply value to raw path
var path = Snap.format(
rawPath.d, {
heightElements: heightElements,
widthElements: widthElements
}
);
return path;
};
}
bpmnModule.type('pathMap', [ 'snap', PathMap ]);
module.exports = PathMap;

View File

@ -42,7 +42,7 @@
"grunt-jasmine-node": "~0.2.1",
"grunt-release": "~0.7.0",
"load-grunt-tasks": "~0.3.0",
"karma": "~0.12.0",
"karma": "~0.12.8",
"karma-jasmine": "https://github.com/Nikku/karma-jasmine/archive/jasmine-v2.0.0-latest-1.tar.gz",
"karma-chrome-launcher": "~0.1.2",
"karma-phantomjs-launcher": "0.1.2",

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_zQGpIK9BEeOZpaQF18vcig" targetNamespace="http://activiti.org/bpmn">
<bpmn2:process id="Process_1" isExecutable="false">
<bpmn2:startEvent id="StartEvent_1" name="Process&#xD;&#xA;started">
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:task id="Task_1" name="First task in the process">
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="Task_1"/>
<bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="question?">
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="Task_1" targetRef="ExclusiveGateway_1"/>
<bpmn2:task id="Task_2" name="task for ok">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_3" name="ok" sourceRef="ExclusiveGateway_1" targetRef="Task_2"/>
<bpmn2:task id="Task_3" name="task for not ok">
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_4" name="not ok" sourceRef="ExclusiveGateway_1" targetRef="Task_3"/>
<bpmn2:exclusiveGateway id="ExclusiveGateway_2">
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="Task_2" targetRef="ExclusiveGateway_2"/>
<bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="Task_3" targetRef="ExclusiveGateway_2"/>
<bpmn2:task id="Task_4" name="task with crazy characters &#xD;&#xA;*+üäö/!?">
<bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_2" targetRef="Task_4"/>
<bpmn2:endEvent id="EndEvent_1" name="Process&#xD;&#xA;ended">
<bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="Task_4" targetRef="EndEvent_1"/>
</bpmn2:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_5" bpmnElement="StartEvent_1">
<dc:Bounds height="36.0" width="36.0" x="250.0" y="252.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="Task_1">
<dc:Bounds height="80.0" width="100.0" x="336.0" y="230.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_5" targetElement="_BPMNShape_Task_2">
<di:waypoint xsi:type="dc:Point" x="286.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="336.0" y="270.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_2" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="486.0" y="245.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="62.0" x="480.0" y="216.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_2">
<di:waypoint xsi:type="dc:Point" x="436.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="486.0" y="270.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_3" bpmnElement="Task_2">
<dc:Bounds height="80.0" width="100.0" x="586.0" y="230.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ExclusiveGateway_2" targetElement="_BPMNShape_Task_3">
<di:waypoint xsi:type="dc:Point" x="536.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="586.0" y="270.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="20.0" x="540.0" y="270.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_4" bpmnElement="Task_3">
<dc:Bounds height="80.0" width="100.0" x="586.0" y="330.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_2" targetElement="_BPMNShape_Task_4">
<di:waypoint xsi:type="dc:Point" x="511.0" y="295.0"/>
<di:waypoint xsi:type="dc:Point" x="511.0" y="370.0"/>
<di:waypoint xsi:type="dc:Point" x="586.0" y="370.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="22.0" width="42.0" x="516.0" y="374.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_3" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
<dc:Bounds height="50.0" width="50.0" x="736.0" y="245.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_Task_3" targetElement="_BPMNShape_ExclusiveGateway_3">
<di:waypoint xsi:type="dc:Point" x="686.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="736.0" y="270.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_Task_4" targetElement="_BPMNShape_ExclusiveGateway_3">
<di:waypoint xsi:type="dc:Point" x="686.0" y="370.0"/>
<di:waypoint xsi:type="dc:Point" x="711.0" y="370.0"/>
<di:waypoint xsi:type="dc:Point" x="761.0" y="370.0"/>
<di:waypoint xsi:type="dc:Point" x="761.0" y="295.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="6.0" width="6.0" x="758.0" y="370.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_5" bpmnElement="Task_4">
<dc:Bounds height="80.0" width="100.0" x="836.0" y="230.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_3" targetElement="_BPMNShape_Task_5">
<di:waypoint xsi:type="dc:Point" x="786.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="836.0" y="270.0"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_8" bpmnElement="EndEvent_1">
<dc:Bounds height="36.0" width="36.0" x="986.0" y="252.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_Task_5" targetElement="_BPMNShape_EndEvent_8">
<di:waypoint xsi:type="dc:Point" x="936.0" y="270.0"/>
<di:waypoint xsi:type="dc:Point" x="986.0" y="270.0"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn2:definitions>

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
expressionLanguage="http://www.w3.org/1999/XPath"
targetNamespace="http://www.signavio.com/bpmn20"
typeLanguage="http://www.w3.org/2001/XMLSchema"
xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL
http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<escalation id="sid-73285a03-a277-420d-8c64-342605233263"/>
<process id="sid-90f178d4-4cc5-4f4d-85ef-61639caf0f68" isClosed="false" isExecutable="false" processType="None">
<task completionQuantity="1" id="sid-B9E05190-990A-4113-98EE-042A011FDB05" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-290FD67F-A4B4-4D2B-AFF9-4CCF002299E7" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-CD75630C-A645-40C1-A4B1-0EC9C9D61867" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-DD27D6DA-27E3-4059-9611-7B37BDF92C63" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-482B2AC1-8125-4DF5-AC4A-B60965F0A9B9" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-2479E87C-7D73-4FFC-8106-61820F27D33A" isForCompensation="false" startQuantity="1">
</task>
<task completionQuantity="1" id="sid-5A90B902-8FE0-428F-9797-378E5C56DCD6" isForCompensation="false" startQuantity="1">
</task>
<boundaryEvent attachedToRef="sid-290FD67F-A4B4-4D2B-AFF9-4CCF002299E7" cancelActivity="false" id="sid-588DF04B-0AD5-4D92-8AEE-F70C01A8DC9A" parallelMultiple="false">
<timerEventDefinition id="sid-3914a942-51cb-4ff4-b3ce-bcefce319442"/>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-B9E05190-990A-4113-98EE-042A011FDB05" cancelActivity="false" id="sid-48BB5AA5-628C-4E0B-B1A8-726EBCAEBEF4" parallelMultiple="false">
<messageEventDefinition id="sid-ec90dad9-f3a5-44d2-ad4a-76971897a0cb"/>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-CD75630C-A645-40C1-A4B1-0EC9C9D61867" cancelActivity="false" id="sid-C1F13E31-1521-42BF-810C-B6FF004D5086" parallelMultiple="false">
<escalationEventDefinition escalationRef="sid-73285a03-a277-420d-8c64-342605233263" id="sid-6bb713a2-f308-4e3c-a8f8-c0dc95ccd085"/>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-DD27D6DA-27E3-4059-9611-7B37BDF92C63" cancelActivity="false" id="sid-22A352D4-D2DE-47F3-8B20-3FDB02531168" parallelMultiple="false">
<conditionalEventDefinition id="sid-d891c693-0ec3-49fb-b537-9a48885df8c3">
<condition id="sid-05eb448b-ead2-4bcd-891f-8ceacfa43dd6" xsi:type="tFormalExpression"/>
</conditionalEventDefinition>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-482B2AC1-8125-4DF5-AC4A-B60965F0A9B9" cancelActivity="false" id="sid-0D51AD08-E4ED-4675-B6AF-F24D398341AD" parallelMultiple="false">
<signalEventDefinition id="sid-644bf270-c5b3-4624-8755-eb6e5a1ccca2"/>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-2479E87C-7D73-4FFC-8106-61820F27D33A" cancelActivity="false" id="sid-FCC61D8E-6297-4D8E-9F68-BECC2B531F4D" parallelMultiple="false">
<cancelEventDefinition id="sid-f4f472cf-2b68-43d0-b568-5d593c73867c"/>
<terminateEventDefinition id="sid-a56d2b0b-342d-4fc0-8b8a-f0bdc0453ea1"/>
</boundaryEvent>
<boundaryEvent attachedToRef="sid-5A90B902-8FE0-428F-9797-378E5C56DCD6" cancelActivity="false" id="sid-CCE099E5-D176-44CD-B644-5D8757B1B169" parallelMultiple="true">
<cancelEventDefinition id="sid-13327530-1e3b-46f9-93d4-b7c4bab9ce9a"/>
<terminateEventDefinition id="sid-68c66116-ee09-4723-84ef-20dc3f77a5e8"/>
</boundaryEvent>
</process>
<bpmndi:BPMNDiagram id="sid-ef05aaf6-99c2-4503-8374-ef839691853a">
<bpmndi:BPMNPlane bpmnElement="sid-90f178d4-4cc5-4f4d-85ef-61639caf0f68" id="sid-0f450459-a0d9-4c76-bd90-fd9c4e1dbd77">
<bpmndi:BPMNShape bpmnElement="sid-B9E05190-990A-4113-98EE-042A011FDB05" id="sid-B9E05190-990A-4113-98EE-042A011FDB05_gui">
<dc:Bounds height="63.0" width="99.99999999999994" x="436.0819440312126" y="122.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-290FD67F-A4B4-4D2B-AFF9-4CCF002299E7" id="sid-290FD67F-A4B4-4D2B-AFF9-4CCF002299E7_gui">
<dc:Bounds height="63.0" width="99.99999999999994" x="436.0819440312126" y="230.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-CD75630C-A645-40C1-A4B1-0EC9C9D61867" id="sid-CD75630C-A645-40C1-A4B1-0EC9C9D61867_gui">
<dc:Bounds height="63.0" width="100.0" x="437.16388806242503" y="340.0241163530496"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-DD27D6DA-27E3-4059-9611-7B37BDF92C63" id="sid-DD27D6DA-27E3-4059-9611-7B37BDF92C63_gui">
<dc:Bounds height="63.0" width="100.0" x="581.0819440312125" y="122.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-482B2AC1-8125-4DF5-AC4A-B60965F0A9B9" id="sid-482B2AC1-8125-4DF5-AC4A-B60965F0A9B9_gui">
<dc:Bounds height="63.0" width="100.0" x="581.0819440312125" y="230.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-2479E87C-7D73-4FFC-8106-61820F27D33A" id="sid-2479E87C-7D73-4FFC-8106-61820F27D33A_gui">
<dc:Bounds height="63.0" width="100.0" x="580.7974619541556" y="340.0241163530496"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5A90B902-8FE0-428F-9797-378E5C56DCD6" id="sid-5A90B902-8FE0-428F-9797-378E5C56DCD6_gui">
<dc:Bounds height="63.0" width="100.0" x="580.7974619541556" y="448.0241163530496"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-588DF04B-0AD5-4D92-8AEE-F70C01A8DC9A" id="sid-588DF04B-0AD5-4D92-8AEE-F70C01A8DC9A_gui">
<dc:Bounds height="30.0" width="30.000000000000227" x="472.14974064138187" y="278.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-48BB5AA5-628C-4E0B-B1A8-726EBCAEBEF4" id="sid-48BB5AA5-628C-4E0B-B1A8-726EBCAEBEF4_gui">
<dc:Bounds height="36.0" width="36.0" x="467.87855420070406" y="170.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-C1F13E31-1521-42BF-810C-B6FF004D5086" id="sid-C1F13E31-1521-42BF-810C-B6FF004D5086_gui">
<dc:Bounds height="36.0" width="36.0" x="472.37584451950374" y="388.0241163530496"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-22A352D4-D2DE-47F3-8B20-3FDB02531168" id="sid-22A352D4-D2DE-47F3-8B20-3FDB02531168_gui">
<dc:Bounds height="36.0" width="36.0" x="615.9880808681872" y="170.00000000000006"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-0D51AD08-E4ED-4675-B6AF-F24D398341AD" id="sid-0D51AD08-E4ED-4675-B6AF-F24D398341AD_gui">
<dc:Bounds height="36.0" width="36.0" x="615.8059208758115" y="278.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-FCC61D8E-6297-4D8E-9F68-BECC2B531F4D" id="sid-FCC61D8E-6297-4D8E-9F68-BECC2B531F4D_gui">
<dc:Bounds height="36.0" width="36.0" x="617.9192139519474" y="388.0241163530496"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-CCE099E5-D176-44CD-B644-5D8757B1B169" id="sid-CCE099E5-D176-44CD-B644-5D8757B1B169_gui">
<dc:Bounds height="36.0" width="36.0" x="617.9617935520097" y="496.02411635304964"/>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

View File

@ -1,226 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="Process_1" isExecutable="false">
<bpmn:startEvent id="StartEvent_1">
<bpmn:timerEventDefinition id="TimerEventDefinition_1"/>
</bpmn:startEvent>
<bpmn:startEvent id="StartEvent_5">
<bpmn:conditionalEventDefinition id="ConditionalEventDefinition_1"/>
</bpmn:startEvent>
<bpmn:endEvent id="EndEvent_7">
<bpmn:terminateEventDefinition id="TerminateEventDefinition_1"/>
</bpmn:endEvent>
<bpmn:endEvent id="EndEvent_5">
<bpmn:errorEventDefinition id="ErrorEventDefinition_1"/>
</bpmn:endEvent>
<bpmn:endEvent id="EndEvent_8">
<bpmn:cancelEventDefinition id="CancelEventDefinition_1"/>
</bpmn:endEvent>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_8">
<bpmn:linkEventDefinition id="LinkEventDefinition_1"/>
</bpmn:intermediateThrowEvent>
<bpmn:endEvent id="EndEvent_2">
<bpmn:signalEventDefinition id="SignalEventDefinition_2"/>
</bpmn:endEvent>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_3">
<bpmn:signalEventDefinition id="SignalEventDefinition_3"/>
</bpmn:intermediateThrowEvent>
<bpmn:startEvent id="StartEvent_3">
<bpmn:signalEventDefinition id="SignalEventDefinition_1"/>
</bpmn:startEvent>
<bpmn:startEvent id="StartEvent_4">
<bpmn:messageEventDefinition id="MessageEventDefinition_1"/>
</bpmn:startEvent>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_4">
<bpmn:messageEventDefinition id="MessageEventDefinition_3"/>
</bpmn:intermediateThrowEvent>
<bpmn:endEvent id="EndEvent_3">
<bpmn:messageEventDefinition id="MessageEventDefinition_2"/>
</bpmn:endEvent>
<bpmn:endEvent id="EndEvent_1">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_1"/>
</bpmn:endEvent>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_6">
<bpmn:escalationEventDefinition id="EscalationEventDefinition_2"/>
</bpmn:intermediateThrowEvent>
<bpmn:endEvent id="EndEvent_6">
<bpmn:compensateEventDefinition id="CompensateEventDefinition_1" waitForCompletion="true"/>
</bpmn:endEvent>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_7">
<bpmn:compensateEventDefinition id="CompensateEventDefinition_2" waitForCompletion="true"/>
</bpmn:intermediateThrowEvent>
<bpmn:endEvent id="EndEvent_4"/>
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_2"/>
<bpmn:startEvent id="StartEvent_6"/>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_6"/>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_3">
<bpmn:messageEventDefinition id="MessageEventDefinition_4"/>
</bpmn:intermediateCatchEvent>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_1">
<bpmn:timerEventDefinition id="TimerEventDefinition_2"/>
</bpmn:intermediateCatchEvent>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_4">
<bpmn:conditionalEventDefinition id="ConditionalEventDefinition_2"/>
</bpmn:intermediateCatchEvent>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_2">
<bpmn:signalEventDefinition id="SignalEventDefinition_4"/>
</bpmn:intermediateCatchEvent>
<bpmn:intermediateCatchEvent id="IntermediateCatchEvent_11">
<bpmn:linkEventDefinition id="LinkEventDefinition_2"/>
</bpmn:intermediateCatchEvent>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds height="36.0" width="36.0" x="408.0" y="120.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="426.0" y="161.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_2" bpmnElement="EndEvent_1">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="377.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="418.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_2" bpmnElement="IntermediateCatchEvent_1">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="120.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="161.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_3" bpmnElement="IntermediateThrowEvent_2">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="60.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="101.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_4" bpmnElement="IntermediateThrowEvent_3">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="185.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="226.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_5" bpmnElement="IntermediateThrowEvent_4">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="252.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="293.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_3" bpmnElement="IntermediateCatchEvent_2">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="185.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="226.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_4" bpmnElement="IntermediateCatchEvent_3">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="252.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="293.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_3" bpmnElement="EndEvent_2">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="185.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="226.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_4" bpmnElement="EndEvent_3">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="252.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="293.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_5" bpmnElement="EndEvent_4">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="60.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="101.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_4" bpmnElement="StartEvent_3">
<dc:Bounds height="36.0" width="36.0" x="408.0" y="185.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="426.0" y="226.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_5" bpmnElement="StartEvent_4">
<dc:Bounds height="36.0" width="36.0" x="408.0" y="252.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="426.0" y="293.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_6" bpmnElement="StartEvent_5">
<dc:Bounds height="36.0" width="36.0" x="410.0" y="317.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="428.0" y="358.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_7" bpmnElement="StartEvent_6">
<dc:Bounds height="36.0" width="36.0" x="406.0" y="60.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="424.0" y="101.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_6" bpmnElement="EndEvent_5">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="612.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="653.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_7" bpmnElement="EndEvent_6">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="437.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="478.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_8" bpmnElement="EndEvent_7">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="492.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="533.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_9" bpmnElement="EndEvent_8">
<dc:Bounds height="36.0" width="36.0" x="485.0" y="552.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="503.0" y="593.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_7" bpmnElement="IntermediateThrowEvent_6">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="377.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="418.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_8" bpmnElement="IntermediateThrowEvent_7">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="437.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="478.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_9" bpmnElement="IntermediateThrowEvent_8">
<dc:Bounds height="36.0" width="36.0" x="557.0" y="672.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="575.0" y="713.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_5" bpmnElement="IntermediateCatchEvent_4">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="317.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="358.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_7" bpmnElement="IntermediateCatchEvent_6">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="60.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="101.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_12" bpmnElement="IntermediateCatchEvent_11">
<dc:Bounds height="36.0" width="36.0" x="624.0" y="672.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="642.0" y="713.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
expressionLanguage="http://www.w3.org/1999/XPath"
targetNamespace="http://activiti.org/bpmn"
typeLanguage="http://www.w3.org/2001/XMLSchema"
xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
<error id="sid-6344ba50-c8ea-4d51-8f22-ad7e6c1b34d2"/>
<escalation id="sid-3a003af1-ec01-4aea-81af-a76ba91c6961"/>
<process id="Process_1" isClosed="false" isExecutable="false" processType="None">
<startEvent id="StartEvent_1">
</startEvent>
<startEvent id="StartEvent_2" isInterrupting="true">
<messageEventDefinition id="sid-40ee6314-63d0-4452-8f33-f345b9f70a96"/>
</startEvent>
<startEvent id="StartEvent_3" isInterrupting="true">
<timerEventDefinition id="sid-c380640e-c8c9-4913-9355-2415774d17eb"/>
</startEvent>
<startEvent id="StartEvent_5" isInterrupting="true">
<conditionalEventDefinition id="sid-1c99a5d3-1295-41b2-9859-418fe6cee5d8">
<condition id="sid-247ea21d-9dbf-4ade-857b-f99550ee55d7" xsi:type="tFormalExpression"/>
</conditionalEventDefinition>
</startEvent>
<startEvent id="StartEvent_7" isInterrupting="true">
<signalEventDefinition id="sid-dca551b2-a494-4b12-8255-b7045dbe07a3"/>
</startEvent>
<startEvent id="StartEvent_8" isInterrupting="true">
<cancelEventDefinition id="sid-5ea19b48-6524-469d-84d1-dec3c1ba43ea"/>
<terminateEventDefinition id="sid-cd250788-2e35-4b40-90ef-73065eb10d3d"/>
</startEvent>
<startEvent id="StartEvent_9" isInterrupting="true" parallelMultiple="true">
<cancelEventDefinition id="sid-110f9f87-9cd5-47bd-b603-5378b74c5668"/>
<terminateEventDefinition id="sid-bfde5429-336c-4458-82f5-976b46270675"/>
</startEvent>
<intermediateCatchEvent id="sid-40402034-C397-40FD-AED1-755C37533C0F">
<linkEventDefinition id="sid-5c16c0a6-6772-42a0-a808-5d9db1b95e72"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-AABB301D-7747-4FC8-8E91-172B5AF8CA90">
<cancelEventDefinition id="sid-3f0463c7-993a-40d2-b338-02767db9f147"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-0B617D4E-6562-416B-8175-CA39E780E8E1">
<compensateEventDefinition id="sid-8612d33a-223b-4b9a-a48c-5e5fe2dcfbf9" waitForCompletion="true"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-5BEC06E6-40ED-43A4-99D8-E1E8A27F5ECB">
<signalEventDefinition id="sid-de198c97-f295-44e8-b44d-671797f43811"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-5799FA30-5182-4D2A-84DB-37986AE56D24">
<errorEventDefinition errorRef="sid-6344ba50-c8ea-4d51-8f22-ad7e6c1b34d2" id="sid-df96c802-730b-455f-a843-968588290742"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-7C6CA2F3-6B02-4178-B1C8-7A479BEA434C">
<conditionalEventDefinition id="sid-db6fd387-6cf6-43e3-9aa7-691333a21362">
<condition id="sid-fe1c9c87-859c-4d90-94dd-4820f0099629" xsi:type="tFormalExpression"/>
</conditionalEventDefinition>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-41E98E3E-9EEB-43E2-B1EA-4802BC3CF842">
<timerEventDefinition id="sid-153c1db4-e6d3-4f4b-83a6-fa1eeff24547"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-42D26EF4-4F92-4E29-B1C4-EFDAC7508DBD">
<messageEventDefinition id="sid-70b1c4ba-5271-46a8-9d56-febc50c3e50b"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-17328A9A-301B-4EF2-ABF9-E2E145ED0549">
<signalEventDefinition id="sid-b3a8d5e8-adee-49a4-8dd2-6d3cfbe99b86"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-7241EBB1-F107-49BF-AAB9-9464259032EF" parallelMultiple="false">
<cancelEventDefinition id="sid-a7fdbe5d-c553-4918-a06e-8a2fb1d325a7"/>
<terminateEventDefinition id="sid-582a8ead-bdc6-4515-9cfc-4d404f4b3f8d"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-34662690-DE7A-4690-8D3A-98341D994818" parallelMultiple="true">
<cancelEventDefinition id="sid-47fcb56a-290a-43e6-8413-847ba757c4b0"/>
<terminateEventDefinition id="sid-fcf9201a-d1ae-4115-948e-b46031019ee8"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-7CEA4F44-9B19-423D-AA8A-EA21D361273E" parallelMultiple="false">
<cancelEventDefinition id="sid-2f3d0c6a-7814-4f24-b285-cee275bfe691"/>
<terminateEventDefinition id="sid-a5e2e985-64d4-45f8-b017-a26a66e0355d"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-57679FBD-7C91-4FFC-A005-E80D6B573708" parallelMultiple="true">
<cancelEventDefinition id="sid-4c85a5f8-bc89-48f4-9b3d-4d4953353c1f"/>
<terminateEventDefinition id="sid-612d291d-8e94-4e2a-b810-287e6eda01d9"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-4105C91C-28F5-4E7A-9F5B-7C949FFDF50A">
<conditionalEventDefinition id="sid-b4bca1a0-a8a3-4dcd-8e90-02b99bf5d571">
<condition id="sid-0f9ec2a9-4853-4f74-9855-33af747860ea" xsi:type="tFormalExpression"/>
</conditionalEventDefinition>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-89D80A59-F865-4A36-BC61-4A9D81205A4A">
<timerEventDefinition id="sid-0de38389-dd07-472a-bf22-6fb58b6f87c1"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-FB3E4A75-2D37-4C17-83BC-1A2738E84EB8">
<messageEventDefinition id="sid-52c1c04a-4156-4751-9365-32b00d9e6c99"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-90E968EF-F90A-4DE6-B282-099FC460A3A9">
<escalationEventDefinition escalationRef="sid-3a003af1-ec01-4aea-81af-a76ba91c6961" id="sid-8684fabb-f5a9-4431-86af-fb5517c192dd"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-85853B2A-082E-4FD7-9C18-8A1D104AB269">
<conditionalEventDefinition id="sid-b6092f81-b34d-454a-a157-86ded1f765cc">
<condition id="sid-55cf68c4-7cde-45dc-9b73-00523319e8cf" xsi:type="tFormalExpression"/>
</conditionalEventDefinition>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-26E1B69A-B793-4FA4-ACB5-B9BD5641DC9F">
<timerEventDefinition id="sid-284fc69d-ed3a-458f-a101-5f5f7261a0ff"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-B33AD5CF-DFFA-4292-AF45-D1C6BF18B20B">
<messageEventDefinition id="sid-b5c8a1f2-39e7-4a63-a6af-1f36006ea8ac"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-F56DC2BF-8EEF-462F-ACFC-DC716ED6B8F3">
<escalationEventDefinition escalationRef="sid-3a003af1-ec01-4aea-81af-a76ba91c6961" id="sid-758cebba-4fb9-4b1a-8b50-cc278420228b"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-588CB273-5FF9-4978-82F9-2D0A1390F1D4">
<signalEventDefinition id="sid-f456aeed-532d-49b4-8b02-3a9fb7ac41e8"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-C1FDA427-1786-4145-8803-C546EF1CD64D" parallelMultiple="false">
<cancelEventDefinition id="sid-fce62aa3-8564-4c07-aeca-fb3f7dd1488a"/>
<terminateEventDefinition id="sid-75a4383d-4c70-4ec5-847b-c1bf8e585a1f"/>
</intermediateCatchEvent>
<intermediateCatchEvent id="sid-F82BAB42-B58A-4489-9C24-57E28AF4B1C3" parallelMultiple="true">
<cancelEventDefinition id="sid-9e81aa27-6f33-4499-8bdb-45708591c258"/>
<terminateEventDefinition id="sid-e99de8c8-a427-48eb-a38b-b44ed32a2d97"/>
</intermediateCatchEvent>
<intermediateThrowEvent id="sid-7AFC42BA-037D-4917-8E1E-B92140171DAC">
</intermediateThrowEvent>
<intermediateThrowEvent id="sid-1918E9CF-6A08-49C2-AB7B-0AD7E828F39F">
<messageEventDefinition id="sid-24fd1efa-8d1f-4157-b7f8-2d570533bd75"/>
</intermediateThrowEvent>
<intermediateThrowEvent id="sid-8B0C50D7-BF10-4068-85AB-0FEE53FAA9CD">
<escalationEventDefinition escalationRef="sid-3a003af1-ec01-4aea-81af-a76ba91c6961" id="sid-833816c3-507f-469f-99da-167111b0964c"/>
</intermediateThrowEvent>
<intermediateThrowEvent id="sid-B8015046-799E-4F2C-9C94-BEFC0891AD1C">
<linkEventDefinition id="sid-14381611-1d76-431f-acc6-ba0bd590b942"/>
</intermediateThrowEvent>
<intermediateThrowEvent id="sid-8182F856-0633-42AE-A3A6-93787DCA1B08">
<compensateEventDefinition id="sid-e3872927-213d-44ad-8249-0377bf0f040c" waitForCompletion="true"/>
</intermediateThrowEvent>
<intermediateThrowEvent id="sid-94090D41-BCC6-4A25-BC8C-B01651B1AEA2">
<cancelEventDefinition id="sid-241c2f44-c357-4e8e-8cec-83c157120790"/>
<terminateEventDefinition id="sid-8e895c8c-d5de-4475-a08a-962b7bcf1e4f"/>
</intermediateThrowEvent>
<endEvent id="sid-F4149C86-DCE0-49F5-817F-F90502A52B57">
</endEvent>
<endEvent id="sid-2FF9A1B9-F51D-4958-9988-5F28F4A3621E">
<messageEventDefinition id="sid-b4826cb5-af6c-4059-9724-302c44f5a6a8"/>
</endEvent>
<endEvent id="sid-1772321F-86B6-476A-BBA4-ACEA1C12BD89">
<escalationEventDefinition escalationRef="sid-3a003af1-ec01-4aea-81af-a76ba91c6961" id="sid-36cbde32-2e39-4f73-84e9-49b2b7bb9b0e"/>
</endEvent>
<endEvent id="sid-874BAFF0-BDA7-4A60-A9A7-3A4F6CD084BF">
<errorEventDefinition errorRef="sid-6344ba50-c8ea-4d51-8f22-ad7e6c1b34d2" id="sid-f0ca1f33-2398-4bab-9a0f-d3c9a9e38a05"/>
</endEvent>
<endEvent id="sid-26810314-9266-4CE5-96E2-DE2E8BA2909D">
<cancelEventDefinition id="sid-abae4d61-8b50-454d-ba0f-4bfdfc0bb794"/>
</endEvent>
<endEvent id="sid-E19E0FDE-CA8F-4D87-9BA0-4F314C38AEF2">
<compensateEventDefinition id="sid-558262ad-20ba-4bed-8257-1ff83134080a" waitForCompletion="true"/>
</endEvent>
<endEvent id="sid-4A829101-E797-434D-8E79-0BA8AA2C7BFE">
<terminateEventDefinition id="sid-c4a7b8e3-e845-4deb-a9b1-dd3458deb269"/>
</endEvent>
<endEvent id="sid-CFD33E95-E5DD-4019-A547-92185E9E2CB2">
<signalEventDefinition id="sid-1944d9fb-14ea-4874-a6c8-e52fb14553a8"/>
</endEvent>
<endEvent id="sid-0AC5F9FD-F09B-4E13-AC8C-B3C0EF075453">
<cancelEventDefinition id="sid-496cb7f2-1b2d-4a3b-b357-4a582746b162"/>
<terminateEventDefinition id="sid-0fb6c220-cb66-4dc3-ab34-2198d756d4cb"/>
</endEvent>
<intermediateThrowEvent id="sid-D545FC26-CAA8-4401-863D-5CCE28916373">
<signalEventDefinition id="sid-9b728070-ec1f-4146-91aa-2de370cecd55"/>
</intermediateThrowEvent>
</process>
<bpmndi:BPMNDiagram id="sid-efe607d0-acce-4a74-ac6f-45a3dba73f39">
<bpmndi:BPMNPlane bpmnElement="Process_1" id="sid-57a4146e-2ed9-408d-9c6f-93f404648413">
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="StartEvent_1_gui">
<dc:Bounds height="36.0" width="36.0" x="288.0" y="120.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_2" id="StartEvent_2_gui">
<dc:Bounds height="36.0" width="36.0" x="288.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_3" id="StartEvent_3_gui">
<dc:Bounds height="36.0" width="36.0" x="288.0" y="270.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_5" id="StartEvent_5_gui">
<dc:Bounds height="36.0" width="36.0" x="287.0" y="420.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_7" id="StartEvent_7_gui">
<dc:Bounds height="36.0" width="36.0" x="287.0" y="795.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_8" id="StartEvent_8_gui">
<dc:Bounds height="36.0" width="36.0" x="287.0" y="870.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="StartEvent_9" id="StartEvent_9_gui">
<dc:Bounds height="36.0" width="36.0" x="286.0" y="945.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-40402034-C397-40FD-AED1-755C37533C0F" id="sid-40402034-C397-40FD-AED1-755C37533C0F_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="495.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-AABB301D-7747-4FC8-8E91-172B5AF8CA90" id="sid-AABB301D-7747-4FC8-8E91-172B5AF8CA90_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="645.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-0B617D4E-6562-416B-8175-CA39E780E8E1" id="sid-0B617D4E-6562-416B-8175-CA39E780E8E1_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="720.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5BEC06E6-40ED-43A4-99D8-E1E8A27F5ECB" id="sid-5BEC06E6-40ED-43A4-99D8-E1E8A27F5ECB_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="795.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5799FA30-5182-4D2A-84DB-37986AE56D24" id="sid-5799FA30-5182-4D2A-84DB-37986AE56D24_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="570.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7C6CA2F3-6B02-4178-B1C8-7A479BEA434C" id="sid-7C6CA2F3-6B02-4178-B1C8-7A479BEA434C_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="420.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-41E98E3E-9EEB-43E2-B1EA-4802BC3CF842" id="sid-41E98E3E-9EEB-43E2-B1EA-4802BC3CF842_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="270.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-42D26EF4-4F92-4E29-B1C4-EFDAC7508DBD" id="sid-42D26EF4-4F92-4E29-B1C4-EFDAC7508DBD_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-17328A9A-301B-4EF2-ABF9-E2E145ED0549" id="sid-17328A9A-301B-4EF2-ABF9-E2E145ED0549_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="795.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7241EBB1-F107-49BF-AAB9-9464259032EF" id="sid-7241EBB1-F107-49BF-AAB9-9464259032EF_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="870.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-34662690-DE7A-4690-8D3A-98341D994818" id="sid-34662690-DE7A-4690-8D3A-98341D994818_gui">
<dc:Bounds height="36.0" width="36.0" x="512.0" y="945.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7CEA4F44-9B19-423D-AA8A-EA21D361273E" id="sid-7CEA4F44-9B19-423D-AA8A-EA21D361273E_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="870.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-57679FBD-7C91-4FFC-A005-E80D6B573708" id="sid-57679FBD-7C91-4FFC-A005-E80D6B573708_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="945.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-4105C91C-28F5-4E7A-9F5B-7C949FFDF50A" id="sid-4105C91C-28F5-4E7A-9F5B-7C949FFDF50A_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="420.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-89D80A59-F865-4A36-BC61-4A9D81205A4A" id="sid-89D80A59-F865-4A36-BC61-4A9D81205A4A_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="270.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-FB3E4A75-2D37-4C17-83BC-1A2738E84EB8" id="sid-FB3E4A75-2D37-4C17-83BC-1A2738E84EB8_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-90E968EF-F90A-4DE6-B282-099FC460A3A9" id="sid-90E968EF-F90A-4DE6-B282-099FC460A3A9_gui">
<dc:Bounds height="36.0" width="36.0" x="587.0" y="345.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-85853B2A-082E-4FD7-9C18-8A1D104AB269" id="sid-85853B2A-082E-4FD7-9C18-8A1D104AB269_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="420.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-26E1B69A-B793-4FA4-ACB5-B9BD5641DC9F" id="sid-26E1B69A-B793-4FA4-ACB5-B9BD5641DC9F_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="270.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-B33AD5CF-DFFA-4292-AF45-D1C6BF18B20B" id="sid-B33AD5CF-DFFA-4292-AF45-D1C6BF18B20B_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F56DC2BF-8EEF-462F-ACFC-DC716ED6B8F3" id="sid-F56DC2BF-8EEF-462F-ACFC-DC716ED6B8F3_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="345.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-588CB273-5FF9-4978-82F9-2D0A1390F1D4" id="sid-588CB273-5FF9-4978-82F9-2D0A1390F1D4_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="795.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-C1FDA427-1786-4145-8803-C546EF1CD64D" id="sid-C1FDA427-1786-4145-8803-C546EF1CD64D_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="870.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F82BAB42-B58A-4489-9C24-57E28AF4B1C3" id="sid-F82BAB42-B58A-4489-9C24-57E28AF4B1C3_gui">
<dc:Bounds height="36.0" width="36.0" x="662.0" y="945.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-7AFC42BA-037D-4917-8E1E-B92140171DAC" id="sid-7AFC42BA-037D-4917-8E1E-B92140171DAC_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="120.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-1918E9CF-6A08-49C2-AB7B-0AD7E828F39F" id="sid-1918E9CF-6A08-49C2-AB7B-0AD7E828F39F_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="195.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-8B0C50D7-BF10-4068-85AB-0FEE53FAA9CD" id="sid-8B0C50D7-BF10-4068-85AB-0FEE53FAA9CD_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="345.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-B8015046-799E-4F2C-9C94-BEFC0891AD1C" id="sid-B8015046-799E-4F2C-9C94-BEFC0891AD1C_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="495.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-8182F856-0633-42AE-A3A6-93787DCA1B08" id="sid-8182F856-0633-42AE-A3A6-93787DCA1B08_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="720.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-94090D41-BCC6-4A25-BC8C-B01651B1AEA2" id="sid-94090D41-BCC6-4A25-BC8C-B01651B1AEA2_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="870.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F4149C86-DCE0-49F5-817F-F90502A52B57" id="sid-F4149C86-DCE0-49F5-817F-F90502A52B57_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="121.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-2FF9A1B9-F51D-4958-9988-5F28F4A3621E" id="sid-2FF9A1B9-F51D-4958-9988-5F28F4A3621E_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="196.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-1772321F-86B6-476A-BBA4-ACEA1C12BD89" id="sid-1772321F-86B6-476A-BBA4-ACEA1C12BD89_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="346.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-874BAFF0-BDA7-4A60-A9A7-3A4F6CD084BF" id="sid-874BAFF0-BDA7-4A60-A9A7-3A4F6CD084BF_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="571.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-26810314-9266-4CE5-96E2-DE2E8BA2909D" id="sid-26810314-9266-4CE5-96E2-DE2E8BA2909D_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="646.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-E19E0FDE-CA8F-4D87-9BA0-4F314C38AEF2" id="sid-E19E0FDE-CA8F-4D87-9BA0-4F314C38AEF2_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="721.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-4A829101-E797-434D-8E79-0BA8AA2C7BFE" id="sid-4A829101-E797-434D-8E79-0BA8AA2C7BFE_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="1020.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-CFD33E95-E5DD-4019-A547-92185E9E2CB2" id="sid-CFD33E95-E5DD-4019-A547-92185E9E2CB2_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="796.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-0AC5F9FD-F09B-4E13-AC8C-B3C0EF075453" id="sid-0AC5F9FD-F09B-4E13-AC8C-B3C0EF075453_gui">
<dc:Bounds height="28.0" width="28.0" x="812.0" y="871.0"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-D545FC26-CAA8-4401-863D-5CCE28916373" id="sid-D545FC26-CAA8-4401-863D-5CCE28916373_gui">
<dc:Bounds height="36.0" width="36.0" x="737.0" y="795.0"/>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>