fond
Model Checking Contest 2023
13th edition, Paris, France, April 26, 2023 (at TOOLympics II)
Execution of r152-smll-167819439100282
Last Updated
May 14, 2023

About the Execution of Marcie+red for DoubleExponent-PT-002

Execution Summary
Max Memory
Used (MB)
Time wait (ms) CPU Usage (ms) I/O Wait (ms) Computed Result Execution
Status
281.287 110567.00 244156.00 586.10 T normal

Execution Chart

We display below the execution chart for this examination (boot time has been removed).

Trace from the execution

Formatting '/data/fkordon/mcc2023-input.r152-smll-167819439100282.qcow2', fmt=qcow2 size=4294967296 backing_file=/data/fkordon/mcc2023-input.qcow2 cluster_size=65536 lazy_refcounts=off refcount_bits=16
Waiting for the VM to be ready (probing ssh)
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
=====================================================================
Generated by BenchKit 2-5348
Executing tool marciexred
Input is DoubleExponent-PT-002, examination is QuasiLiveness
Time confinement is 1800 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r152-smll-167819439100282
=====================================================================

--------------------
preparation of the directory to be used:
/home/mcc/execution
total 548K
-rw-r--r-- 1 mcc users 6.7K Feb 26 13:31 CTLCardinality.txt
-rw-r--r-- 1 mcc users 73K Feb 26 13:31 CTLCardinality.xml
-rw-r--r-- 1 mcc users 5.5K Feb 26 13:30 CTLFireability.txt
-rw-r--r-- 1 mcc users 51K Feb 26 13:30 CTLFireability.xml
-rw-r--r-- 1 mcc users 4.2K Jan 29 11:40 GenericPropertiesDefinition.xml
-rw-r--r-- 1 mcc users 3.4K Feb 25 16:00 LTLCardinality.txt
-rw-r--r-- 1 mcc users 24K Feb 25 16:00 LTLCardinality.xml
-rw-r--r-- 1 mcc users 2.2K Feb 25 16:01 LTLFireability.txt
-rw-r--r-- 1 mcc users 17K Feb 25 16:01 LTLFireability.xml
-rw-r--r-- 1 mcc users 13K Feb 26 13:32 ReachabilityCardinality.txt
-rw-r--r-- 1 mcc users 136K Feb 26 13:32 ReachabilityCardinality.xml
-rw-r--r-- 1 mcc users 13K Feb 26 13:32 ReachabilityFireability.txt
-rw-r--r-- 1 mcc users 117K Feb 26 13:32 ReachabilityFireability.xml
-rw-r--r-- 1 mcc users 1.7K Feb 25 16:01 UpperBounds.txt
-rw-r--r-- 1 mcc users 3.7K Feb 25 16:01 UpperBounds.xml
-rw-r--r-- 1 mcc users 6 Mar 5 18:22 equiv_col
-rw-r--r-- 1 mcc users 4 Mar 5 18:22 instance
-rw-r--r-- 1 mcc users 6 Mar 5 18:22 iscolored
-rw-r--r-- 1 mcc users 33K Mar 5 18:22 model.pnml

--------------------
content from stdout:

=== Data for post analysis generated by BenchKit (invocation template)

The expected result is a vector of booleans
BOOL_VECTOR

FORMULA_NAME QuasiLiveness

=== Now, execution of the tool begins

BK_START 1678397260573

bash -c /home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n "BK_STOP " ; date -u +%s%3N
Invoking MCC driver with
BK_TOOL=marciexred
BK_EXAMINATION=QuasiLiveness
BK_BIN_PATH=/home/mcc/BenchKit/bin/
BK_TIME_CONFINEMENT=1800
BK_INPUT=DoubleExponent-PT-002
Applying reductions before tool marcie
Invoking reducer
Running Version 202303021504
[2023-03-09 21:27:43] [INFO ] Running its-tools with arguments : [-pnfolder, /home/mcc/execution, -examination, QuasiLiveness, -timeout, 180, -rebuildPNML]
[2023-03-09 21:27:43] [INFO ] Parsing pnml file : /home/mcc/execution/model.pnml
[2023-03-09 21:27:44] [INFO ] Load time of PNML (sax parser for PT used): 81 ms
[2023-03-09 21:27:44] [INFO ] Transformed 110 places.
[2023-03-09 21:27:44] [INFO ] Transformed 98 transitions.
[2023-03-09 21:27:44] [INFO ] Parsed PT model containing 110 places and 98 transitions and 276 arcs in 218 ms.
Starting structural reductions in LIVENESS mode, iteration 0 : 110/110 places, 98/98 transitions.
Reduce places removed 4 places and 0 transitions.
Drop transitions removed 24 transitions
Trivial Post-agglo rules discarded 24 transitions
Performed 24 trivial Post agglomeration. Transition count delta: 24
Iterating post reduction 0 with 28 rules applied. Total rules applied 28 place count 106 transition count 74
Reduce places removed 24 places and 0 transitions.
Iterating post reduction 1 with 24 rules applied. Total rules applied 52 place count 82 transition count 74
Performed 4 Pre agglomeration using Quasi-Persistent + Divergent Free condition..
Pre-agglomeration after 2 with 4 Pre rules applied. Total rules applied 52 place count 82 transition count 70
Deduced a syphon composed of 4 places in 1 ms
Reduce places removed 4 places and 0 transitions.
Iterating global reduction 2 with 8 rules applied. Total rules applied 60 place count 78 transition count 70
Performed 22 Post agglomeration using F-continuation condition.Transition count delta: 22
Deduced a syphon composed of 22 places in 1 ms
Reduce places removed 22 places and 0 transitions.
Iterating global reduction 2 with 44 rules applied. Total rules applied 104 place count 56 transition count 48
Performed 2 Post agglomeration using F-continuation condition.Transition count delta: 0
Deduced a syphon composed of 2 places in 0 ms
Reduce places removed 2 places and 0 transitions.
Iterating global reduction 2 with 4 rules applied. Total rules applied 108 place count 54 transition count 48
Applied a total of 108 rules in 150 ms. Remains 54 /110 variables (removed 56) and now considering 48/98 (removed 50) transitions.
// Phase 1: matrix 48 rows 54 cols
[2023-03-09 21:27:44] [INFO ] Computed 11 place invariants in 14 ms
[2023-03-09 21:27:44] [INFO ] Implicit Places using invariants in 361 ms returned [36, 37]
Discarding 2 places :
Implicit Place search using SMT only with invariants took 405 ms to find 2 implicit places.
Starting structural reductions in LIVENESS mode, iteration 1 : 52/110 places, 48/98 transitions.
Drop transitions removed 1 transitions
Trivial Post-agglo rules discarded 1 transitions
Performed 1 trivial Post agglomeration. Transition count delta: 1
Iterating post reduction 0 with 1 rules applied. Total rules applied 1 place count 52 transition count 47
Reduce places removed 1 places and 0 transitions.
Iterating post reduction 1 with 1 rules applied. Total rules applied 2 place count 51 transition count 47
Performed 3 Post agglomeration using F-continuation condition.Transition count delta: 3
Deduced a syphon composed of 3 places in 0 ms
Reduce places removed 3 places and 0 transitions.
Iterating global reduction 2 with 6 rules applied. Total rules applied 8 place count 48 transition count 44
Applied a total of 8 rules in 8 ms. Remains 48 /52 variables (removed 4) and now considering 44/48 (removed 4) transitions.
// Phase 1: matrix 44 rows 48 cols
[2023-03-09 21:27:44] [INFO ] Computed 9 place invariants in 5 ms
[2023-03-09 21:27:44] [INFO ] Implicit Places using invariants in 164 ms returned []
[2023-03-09 21:27:44] [INFO ] Invariant cache hit.
[2023-03-09 21:27:44] [INFO ] State equation strengthened by 4 read => feed constraints.
[2023-03-09 21:27:45] [INFO ] Implicit Places using invariants and state equation in 231 ms returned []
Implicit Place search using SMT with State Equation took 397 ms to find 0 implicit places.
Starting structural reductions in LIVENESS mode, iteration 2 : 48/110 places, 44/98 transitions.
Finished structural reductions in LIVENESS mode , in 2 iterations and 962 ms. Remains : 48/110 places, 44/98 transitions.
Discarding 10 transitions out of 44. Remains 34
Initial state reduction rules removed 1 formulas.
Incomplete random walk after 10000 steps, including 1211 resets, run finished after 588 ms. (steps per millisecond=17 ) properties (out of 33) seen :14
Incomplete Best-First random walk after 1000 steps, including 77 resets, run finished after 24 ms. (steps per millisecond=41 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 78 resets, run finished after 7 ms. (steps per millisecond=143 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 73 resets, run finished after 21 ms. (steps per millisecond=47 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 79 resets, run finished after 27 ms. (steps per millisecond=37 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 74 resets, run finished after 8 ms. (steps per millisecond=125 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 78 resets, run finished after 16 ms. (steps per millisecond=62 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 79 resets, run finished after 7 ms. (steps per millisecond=143 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 68 resets, run finished after 22 ms. (steps per millisecond=45 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 76 resets, run finished after 22 ms. (steps per millisecond=45 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 73 resets, run finished after 6 ms. (steps per millisecond=166 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 77 resets, run finished after 21 ms. (steps per millisecond=47 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 73 resets, run finished after 6 ms. (steps per millisecond=166 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 72 resets, run finished after 21 ms. (steps per millisecond=47 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 73 resets, run finished after 17 ms. (steps per millisecond=58 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 82 resets, run finished after 11 ms. (steps per millisecond=90 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1001 steps, including 73 resets, run finished after 5 ms. (steps per millisecond=200 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 78 resets, run finished after 5 ms. (steps per millisecond=200 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 66 resets, run finished after 21 ms. (steps per millisecond=47 ) properties (out of 19) seen :0
Incomplete Best-First random walk after 1000 steps, including 75 resets, run finished after 10 ms. (steps per millisecond=100 ) properties (out of 19) seen :0
Running SMT prover for 19 properties.
[2023-03-09 21:27:45] [INFO ] Invariant cache hit.
[2023-03-09 21:27:46] [INFO ] [Real]Absence check using 2 positive place invariants in 1 ms returned sat
[2023-03-09 21:27:46] [INFO ] [Real]Absence check using 2 positive and 7 generalized place invariants in 68 ms returned sat
[2023-03-09 21:27:46] [INFO ] After 695ms SMT Verify possible using all constraints in real domain returned unsat :0 sat :0 real:19
[2023-03-09 21:27:46] [INFO ] [Nat]Absence check using 2 positive place invariants in 2 ms returned sat
[2023-03-09 21:27:46] [INFO ] [Nat]Absence check using 2 positive and 7 generalized place invariants in 6 ms returned sat
[2023-03-09 21:27:47] [INFO ] After 210ms SMT Verify possible using state equation in natural domain returned unsat :0 sat :19
[2023-03-09 21:27:47] [INFO ] State equation strengthened by 4 read => feed constraints.
[2023-03-09 21:27:47] [INFO ] After 155ms SMT Verify possible using 4 Read/Feed constraints in natural domain returned unsat :0 sat :19
[2023-03-09 21:27:47] [INFO ] After 420ms SMT Verify possible using trap constraints in natural domain returned unsat :0 sat :19
Attempting to minimize the solution found.
Minimization took 134 ms.
[2023-03-09 21:27:47] [INFO ] After 978ms SMT Verify possible using all constraints in natural domain returned unsat :0 sat :19
Parikh walk visited 0 properties in 901 ms.
Support contains 31 out of 48 places. Attempting structural reductions.
Starting structural reductions in REACHABILITY mode, iteration 0 : 48/48 places, 44/44 transitions.
Partial Free-agglomeration rule applied 2 times.
Drop transitions removed 2 transitions
Iterating global reduction 0 with 2 rules applied. Total rules applied 2 place count 48 transition count 44
Applied a total of 2 rules in 27 ms. Remains 48 /48 variables (removed 0) and now considering 44/44 (removed 0) transitions.
Finished structural reductions in REACHABILITY mode , in 1 iterations and 27 ms. Remains : 48/48 places, 44/44 transitions.
Incomplete random walk after 1000000 steps, including 110901 resets, run finished after 19892 ms. (steps per millisecond=50 ) properties (out of 19) seen :13
Interrupted Best-First random walk after 369870 steps, including 28668 resets, run timeout after 5001 ms. (steps per millisecond=73 ) properties seen 0
Interrupted Best-First random walk after 368506 steps, including 28259 resets, run timeout after 5001 ms. (steps per millisecond=73 ) properties seen 0
Interrupted Best-First random walk after 370423 steps, including 28254 resets, run timeout after 5001 ms. (steps per millisecond=74 ) properties seen 0
Interrupted Best-First random walk after 370116 steps, including 28405 resets, run timeout after 5001 ms. (steps per millisecond=74 ) properties seen 0
Interrupted Best-First random walk after 371207 steps, including 28536 resets, run timeout after 5001 ms. (steps per millisecond=74 ) properties seen 0
Interrupted Best-First random walk after 362549 steps, including 27878 resets, run timeout after 5001 ms. (steps per millisecond=72 ) properties seen 0
Running SMT prover for 6 properties.
// Phase 1: matrix 44 rows 48 cols
[2023-03-09 21:28:38] [INFO ] Computed 9 place invariants in 4 ms
[2023-03-09 21:28:38] [INFO ] [Real]Absence check using 2 positive place invariants in 1 ms returned sat
[2023-03-09 21:28:38] [INFO ] [Real]Absence check using 2 positive and 7 generalized place invariants in 5 ms returned sat
[2023-03-09 21:28:38] [INFO ] After 58ms SMT Verify possible using state equation in real domain returned unsat :0 sat :1 real:5
[2023-03-09 21:28:38] [INFO ] State equation strengthened by 6 read => feed constraints.
[2023-03-09 21:28:38] [INFO ] After 9ms SMT Verify possible using 6 Read/Feed constraints in real domain returned unsat :0 sat :0 real:6
[2023-03-09 21:28:38] [INFO ] After 148ms SMT Verify possible using all constraints in real domain returned unsat :0 sat :0 real:6
[2023-03-09 21:28:38] [INFO ] [Nat]Absence check using 2 positive place invariants in 2 ms returned sat
[2023-03-09 21:28:38] [INFO ] [Nat]Absence check using 2 positive and 7 generalized place invariants in 3 ms returned sat
[2023-03-09 21:28:38] [INFO ] After 58ms SMT Verify possible using state equation in natural domain returned unsat :0 sat :6
[2023-03-09 21:28:38] [INFO ] After 33ms SMT Verify possible using 6 Read/Feed constraints in natural domain returned unsat :0 sat :6
[2023-03-09 21:28:38] [INFO ] Deduced a trap composed of 6 places in 29 ms of which 2 ms to minimize.
[2023-03-09 21:28:38] [INFO ] Trap strengthening (SAT) tested/added 2/1 trap constraints in 37 ms
[2023-03-09 21:28:38] [INFO ] Deduced a trap composed of 5 places in 33 ms of which 1 ms to minimize.
[2023-03-09 21:28:38] [INFO ] Trap strengthening (SAT) tested/added 2/1 trap constraints in 40 ms
[2023-03-09 21:28:38] [INFO ] After 151ms SMT Verify possible using trap constraints in natural domain returned unsat :0 sat :6
Attempting to minimize the solution found.
Minimization took 33 ms.
[2023-03-09 21:28:38] [INFO ] After 306ms SMT Verify possible using all constraints in natural domain returned unsat :0 sat :6
Parikh walk visited 0 properties in 1852 ms.
Support contains 11 out of 48 places. Attempting structural reductions.
Starting structural reductions in REACHABILITY mode, iteration 0 : 48/48 places, 44/44 transitions.
Free-agglomeration rule (complex) applied 1 times.
Iterating global reduction 0 with 1 rules applied. Total rules applied 1 place count 48 transition count 43
Reduce places removed 1 places and 0 transitions.
Iterating post reduction 0 with 1 rules applied. Total rules applied 2 place count 47 transition count 43
Partial Free-agglomeration rule applied 2 times.
Drop transitions removed 2 transitions
Iterating global reduction 1 with 2 rules applied. Total rules applied 4 place count 47 transition count 43
Reduce places removed 1 places and 1 transitions.
Iterating global reduction 1 with 1 rules applied. Total rules applied 5 place count 46 transition count 42
Applied a total of 5 rules in 15 ms. Remains 46 /48 variables (removed 2) and now considering 42/44 (removed 2) transitions.
Finished structural reductions in REACHABILITY mode , in 1 iterations and 15 ms. Remains : 46/48 places, 42/44 transitions.
Incomplete random walk after 1000000 steps, including 128096 resets, run finished after 19303 ms. (steps per millisecond=51 ) properties (out of 6) seen :0
Interrupted Best-First random walk after 403215 steps, including 34150 resets, run timeout after 5001 ms. (steps per millisecond=80 ) properties seen 0
Interrupted Best-First random walk after 407780 steps, including 34451 resets, run timeout after 5001 ms. (steps per millisecond=81 ) properties seen 0
Interrupted Best-First random walk after 422784 steps, including 35641 resets, run timeout after 5001 ms. (steps per millisecond=84 ) properties seen 0
Interrupted Best-First random walk after 401206 steps, including 34019 resets, run timeout after 5001 ms. (steps per millisecond=80 ) properties seen 0
Interrupted Best-First random walk after 408383 steps, including 34706 resets, run timeout after 5001 ms. (steps per millisecond=81 ) properties seen 0
Interrupted Best-First random walk after 411680 steps, including 34718 resets, run timeout after 5001 ms. (steps per millisecond=82 ) properties seen 0
Finished probabilistic random walk after 2558 steps, run visited all 6 properties in 31 ms. (steps per millisecond=82 )
Probabilistic random walk after 2558 steps, saw 1305 distinct states, run finished after 32 ms. (steps per millisecond=79 ) properties seen :6
Able to resolve query QuasiLiveness after proving 34 properties.
FORMULA QuasiLiveness TRUE TECHNIQUES RANDOM_WALK PROBABILISTIC_WALK TOPOLOGICAL INITIAL_STATE
Total runtime 106352 ms.
ITS solved all properties within timeout

BK_STOP 1678397371140

--------------------
content from stderr:

+ ulimit -s 65536
+ [[ -z '' ]]
+ export LTSMIN_MEM_SIZE=8589934592
+ LTSMIN_MEM_SIZE=8589934592
+ export PYTHONPATH=/home/mcc/BenchKit/itstools/pylibs
+ PYTHONPATH=/home/mcc/BenchKit/itstools/pylibs
+ export LD_LIBRARY_PATH=/home/mcc/BenchKit/itstools/pylibs:
+ LD_LIBRARY_PATH=/home/mcc/BenchKit/itstools/pylibs:
++ sed s/.jar//
++ ls /home/mcc/BenchKit/bin//../reducer/bin//../../itstools//itstools/plugins/fr.lip6.move.gal.application.pnmcc_1.0.0.202303021504.jar
++ perl -pe 's/.*\.//g'
+ VERSION=202303021504
+ echo 'Running Version 202303021504'
+ /home/mcc/BenchKit/bin//../reducer/bin//../../itstools//itstools/its-tools -pnfolder /home/mcc/execution -examination QuasiLiveness -timeout 180 -rebuildPNML

Sequence of Actions to be Executed by the VM

This is useful if one wants to reexecute the tool in the VM from the submitted image disk.

set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="DoubleExponent-PT-002"
export BK_EXAMINATION="QuasiLiveness"
export BK_TOOL="marciexred"
export BK_RESULT_DIR="/tmp/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="1800"
export BK_MEMORY_CONFINEMENT="16384"
export BK_BIN_PATH="/home/mcc/BenchKit/bin/"

# this is specific to your benchmark or test

export BIN_DIR="$HOME/BenchKit/bin"

# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi

# this is for BenchKit: explicit launching of the test
echo "====================================================================="
echo " Generated by BenchKit 2-5348"
echo " Executing tool marciexred"
echo " Input is DoubleExponent-PT-002, examination is QuasiLiveness"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r152-smll-167819439100282"
echo "====================================================================="
echo
echo "--------------------"
echo "preparation of the directory to be used:"

tar xzf /home/mcc/BenchKit/INPUTS/DoubleExponent-PT-002.tgz
mv DoubleExponent-PT-002 execution
cd execution
if [ "QuasiLiveness" = "ReachabilityDeadlock" ] || [ "QuasiLiveness" = "UpperBounds" ] || [ "QuasiLiveness" = "QuasiLiveness" ] || [ "QuasiLiveness" = "StableMarking" ] || [ "QuasiLiveness" = "Liveness" ] || [ "QuasiLiveness" = "OneSafe" ] || [ "QuasiLiveness" = "StateSpace" ]; then
rm -f GenericPropertiesVerdict.xml
fi
pwd
ls -lh

echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "QuasiLiveness" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "QuasiLiveness" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "QuasiLiveness.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property QuasiLiveness.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "QuasiLiveness.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '' QuasiLiveness.xml | cut -d '>' -f 2 | cut -d '<' -f 1 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ "QuasiLiveness" = "ReachabilityDeadlock" ] || [ "QuasiLiveness" = "QuasiLiveness" ] || [ "QuasiLiveness" = "StableMarking" ] || [ "QuasiLiveness" = "Liveness" ] || [ "QuasiLiveness" = "OneSafe" ] ; then
echo "FORMULA_NAME QuasiLiveness"
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;