TSTP Solution File: SWV358-1 by Zipperpin---2.1.9999
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Zipperpin---2.1.9999
% Problem : SWV358-1 : TPTP v8.1.2. Released v3.2.0.
% Transfm : NO INFORMATION
% Format : NO INFORMATION
% Command : python3 /export/starexec/sandbox/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox/tmp/tmp.DiEPg3Aa8N true
% Computer : n022.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Fri Sep 1 00:09:21 EDT 2023
% Result : Unsatisfiable 7.60s 1.74s
% Output : Refutation 7.60s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : SWV358-1 : TPTP v8.1.2. Released v3.2.0.
% 0.13/0.13 % Command : python3 /export/starexec/sandbox/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox/tmp/tmp.DiEPg3Aa8N true
% 0.15/0.34 % Computer : n022.cluster.edu
% 0.15/0.34 % Model : x86_64 x86_64
% 0.15/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.34 % Memory : 8042.1875MB
% 0.15/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.34 % CPULimit : 300
% 0.15/0.34 % WCLimit : 300
% 0.15/0.34 % DateTime : Tue Aug 29 08:06:54 EDT 2023
% 0.15/0.35 % CPUTime :
% 0.15/0.35 % Running portfolio for 300 s
% 0.15/0.35 % File : /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.15/0.35 % Number of cores: 8
% 0.15/0.35 % Python version: Python 3.6.8
% 0.15/0.35 % Running in FO mode
% 0.22/0.63 % Total configuration time : 435
% 0.22/0.63 % Estimated wc time : 1092
% 0.22/0.63 % Estimated cpu time (7 cpus) : 156.0
% 0.22/0.71 % /export/starexec/sandbox/solver/bin/fo/fo6_bce.sh running for 75s
% 0.22/0.72 % /export/starexec/sandbox/solver/bin/fo/fo1_av.sh running for 75s
% 0.22/0.72 % /export/starexec/sandbox/solver/bin/fo/fo3_bce.sh running for 75s
% 0.22/0.75 % /export/starexec/sandbox/solver/bin/fo/fo13.sh running for 50s
% 0.22/0.75 % /export/starexec/sandbox/solver/bin/fo/fo7.sh running for 63s
% 0.22/0.75 % /export/starexec/sandbox/solver/bin/fo/fo5.sh running for 50s
% 0.22/0.75 % /export/starexec/sandbox/solver/bin/fo/fo4.sh running for 50s
% 7.60/1.74 % Solved by fo/fo3_bce.sh.
% 7.60/1.74 % BCE start: 698
% 7.60/1.74 % BCE eliminated: 149
% 7.60/1.74 % PE start: 549
% 7.60/1.74 logic: eq
% 7.60/1.74 % PE eliminated: 0
% 7.60/1.74 % done 1101 iterations in 0.992s
% 7.60/1.74 % SZS status Theorem for '/export/starexec/sandbox/benchmark/theBenchmark.p'
% 7.60/1.74 % SZS output start Refutation
% 7.60/1.74 thf(tc_Message_Omsg_type, type, tc_Message_Omsg: $i).
% 7.60/1.74 thf(v_evs2_type, type, v_evs2: $i).
% 7.60/1.74 thf(c_Message_Omsg_OMPair_type, type, c_Message_Omsg_OMPair: $i > $i > $i).
% 7.60/1.74 thf(c_Message_Oparts_type, type, c_Message_Oparts: $i > $i).
% 7.60/1.74 thf(c_Message_Omsg_OAgent_type, type, c_Message_Omsg_OAgent: $i > $i).
% 7.60/1.74 thf(c_Event_Oevent_OSays_type, type, c_Event_Oevent_OSays: $i > $i > $i > $i).
% 7.60/1.74 thf(tc_Event_Oevent_type, type, tc_Event_Oevent: $i).
% 7.60/1.74 thf(c_Message_Oagent_OSpy_type, type, c_Message_Oagent_OSpy: $i).
% 7.60/1.74 thf(c_in_type, type, c_in: $i > $i > $i > $o).
% 7.60/1.74 thf(v_A_type, type, v_A: $i).
% 7.60/1.74 thf(v_NA_type, type, v_NA: $i).
% 7.60/1.74 thf(c_Message_Omsg_ONonce_type, type, c_Message_Omsg_ONonce: $i > $i).
% 7.60/1.74 thf(c_Message_Oagent_OServer_type, type, c_Message_Oagent_OServer: $i).
% 7.60/1.74 thf(c_Event_Oused_type, type, c_Event_Oused: $i > $i).
% 7.60/1.74 thf(c_Message_Oanalz_type, type, c_Message_Oanalz: $i > $i).
% 7.60/1.74 thf(c_Message_Omsg_OCrypt_type, type, c_Message_Omsg_OCrypt: $i > $i > $i).
% 7.60/1.74 thf(c_Public_OshrK_type, type, c_Public_OshrK: $i > $i).
% 7.60/1.74 thf(c_List_Oset_type, type, c_List_Oset: $i > $i > $i).
% 7.60/1.74 thf(v_NB_type, type, v_NB: $i).
% 7.60/1.74 thf(v_B_type, type, v_B: $i).
% 7.60/1.74 thf(c_Event_Oknows_type, type, c_Event_Oknows: $i > $i > $i).
% 7.60/1.74 thf(cls_conjecture_3, conjecture,
% 7.60/1.74 (c_in @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NB ) @ ( c_Event_Oused @ v_evs2 ) @
% 7.60/1.74 tc_Message_Omsg)).
% 7.60/1.74 thf(zf_stmt_0, negated_conjecture,
% 7.60/1.74 (~( c_in @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NB ) @ ( c_Event_Oused @ v_evs2 ) @
% 7.60/1.74 tc_Message_Omsg )),
% 7.60/1.74 inference('cnf.neg', [status(esa)], [cls_conjecture_3])).
% 7.60/1.74 thf(zip_derived_cl694, plain,
% 7.60/1.74 (~ (c_in @ (c_Message_Omsg_ONonce @ v_NB) @ (c_Event_Oused @ v_evs2) @
% 7.60/1.74 tc_Message_Omsg)),
% 7.60/1.74 inference('cnf', [status(esa)], [zf_stmt_0])).
% 7.60/1.74 thf(cls_Event_OSays__imp__spies_0, axiom,
% 7.60/1.74 (( ~( c_in @
% 7.60/1.74 ( c_Event_Oevent_OSays @ V_A @ V_B @ V_X ) @
% 7.60/1.74 ( c_List_Oset @ V_evs @ tc_Event_Oevent ) @ tc_Event_Oevent ) ) |
% 7.60/1.74 ( c_in @
% 7.60/1.74 V_X @ ( c_Event_Oknows @ c_Message_Oagent_OSpy @ V_evs ) @
% 7.60/1.74 tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl677, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i, X3 : $i]:
% 7.60/1.74 (~ (c_in @ (c_Event_Oevent_OSays @ X0 @ X1 @ X2) @
% 7.60/1.74 (c_List_Oset @ X3 @ tc_Event_Oevent) @ tc_Event_Oevent)
% 7.60/1.74 | (c_in @ X2 @ (c_Event_Oknows @ c_Message_Oagent_OSpy @ X3) @
% 7.60/1.74 tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Event_OSays__imp__spies_0])).
% 7.60/1.74 thf(cls_conjecture_7, conjecture,
% 7.60/1.74 (~( c_in @
% 7.60/1.74 ( c_Event_Oevent_OSays @
% 7.60/1.74 v_B @ c_Message_Oagent_OServer @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_OAgent @ v_B ) @
% 7.60/1.74 ( c_Message_Omsg_OCrypt @
% 7.60/1.74 ( c_Public_OshrK @ v_B ) @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_OAgent @ v_A ) @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NA ) @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NB ) ) ) ) ) ) @
% 7.60/1.74 ( c_List_Oset @ v_evs2 @ tc_Event_Oevent ) @ tc_Event_Oevent ))).
% 7.60/1.74 thf(zf_stmt_1, negated_conjecture,
% 7.60/1.74 (c_in @
% 7.60/1.74 ( c_Event_Oevent_OSays @
% 7.60/1.74 v_B @ c_Message_Oagent_OServer @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_OAgent @ v_B ) @
% 7.60/1.74 ( c_Message_Omsg_OCrypt @
% 7.60/1.74 ( c_Public_OshrK @ v_B ) @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_OAgent @ v_A ) @
% 7.60/1.74 ( c_Message_Omsg_OMPair @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NA ) @
% 7.60/1.74 ( c_Message_Omsg_ONonce @ v_NB ) ) ) ) ) ) @
% 7.60/1.74 ( c_List_Oset @ v_evs2 @ tc_Event_Oevent ) @ tc_Event_Oevent),
% 7.60/1.74 inference('cnf.neg', [status(esa)], [cls_conjecture_7])).
% 7.60/1.74 thf(zip_derived_cl690, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Event_Oevent_OSays @ v_B @ c_Message_Oagent_OServer @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OCrypt @ (c_Public_OshrK @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB)))))) @
% 7.60/1.74 (c_List_Oset @ v_evs2 @ tc_Event_Oevent) @ tc_Event_Oevent)),
% 7.60/1.74 inference('cnf', [status(esa)], [zf_stmt_1])).
% 7.60/1.74 thf(zip_derived_cl3320, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OCrypt @ (c_Public_OshrK @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB))))) @
% 7.60/1.74 (c_Event_Oknows @ c_Message_Oagent_OSpy @ v_evs2) @ tc_Message_Omsg)),
% 7.60/1.74 inference('sup+', [status(thm)], [zip_derived_cl677, zip_derived_cl690])).
% 7.60/1.74 thf(cls_Message_OMPair__analz_0, axiom,
% 7.60/1.74 (( ~( c_in @
% 7.60/1.74 ( c_Message_Omsg_OMPair @ V_X @ V_Y ) @ ( c_Message_Oanalz @ V_H ) @
% 7.60/1.74 tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_Y @ ( c_Message_Oanalz @ V_H ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl572, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i]:
% 7.60/1.74 (~ (c_in @ (c_Message_Omsg_OMPair @ X0 @ X1) @
% 7.60/1.74 (c_Message_Oanalz @ X2) @ tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X1 @ (c_Message_Oanalz @ X2) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Message_OMPair__analz_0])).
% 7.60/1.74 thf(cls_Message_Oanalz_OInj_0, axiom,
% 7.60/1.74 (( ~( c_in @ V_X @ V_H @ tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_X @ ( c_Message_Oanalz @ V_H ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl585, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i]:
% 7.60/1.74 (~ (c_in @ X0 @ X1 @ tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X0 @ (c_Message_Oanalz @ X1) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Message_Oanalz_OInj_0])).
% 7.60/1.74 thf(zip_derived_cl2336, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i]:
% 7.60/1.74 ( (c_in @ X1 @ (c_Message_Oanalz @ X0) @ tc_Message_Omsg)
% 7.60/1.74 | ~ (c_in @ (c_Message_Omsg_OMPair @ X2 @ X1) @ X0 @ tc_Message_Omsg))),
% 7.60/1.74 inference('sup+', [status(thm)], [zip_derived_cl572, zip_derived_cl585])).
% 7.60/1.74 thf(zip_derived_cl3332, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OCrypt @ (c_Public_OshrK @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB)))) @
% 7.60/1.74 (c_Message_Oanalz @ (c_Event_Oknows @ c_Message_Oagent_OSpy @ v_evs2)) @
% 7.60/1.74 tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl3320, zip_derived_cl2336])).
% 7.60/1.74 thf(cls_Message_Oanalz__conj__parts_0, axiom,
% 7.60/1.74 (( ~( c_in @ V_X @ ( c_Message_Oanalz @ V_H ) @ tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_X @ ( c_Message_Oparts @ V_H ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl590, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i]:
% 7.60/1.74 (~ (c_in @ X0 @ (c_Message_Oanalz @ X1) @ tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X0 @ (c_Message_Oparts @ X1) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Message_Oanalz__conj__parts_0])).
% 7.60/1.74 thf(zip_derived_cl3422, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OCrypt @ (c_Public_OshrK @ v_B) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB)))) @
% 7.60/1.74 (c_Message_Oparts @ (c_Event_Oknows @ c_Message_Oagent_OSpy @ v_evs2)) @
% 7.60/1.74 tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl3332, zip_derived_cl590])).
% 7.60/1.74 thf(cls_Message_Oparts_OBody__dest_0, axiom,
% 7.60/1.74 (( ~( c_in @
% 7.60/1.74 ( c_Message_Omsg_OCrypt @ V_K @ V_X ) @ ( c_Message_Oparts @ V_H ) @
% 7.60/1.74 tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_X @ ( c_Message_Oparts @ V_H ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl661, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i]:
% 7.60/1.74 (~ (c_in @ (c_Message_Omsg_OCrypt @ X0 @ X1) @
% 7.60/1.74 (c_Message_Oparts @ X2) @ tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X1 @ (c_Message_Oparts @ X2) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Message_Oparts_OBody__dest_0])).
% 7.60/1.74 thf(zip_derived_cl6591, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB))) @
% 7.60/1.74 (c_Message_Oparts @ (c_Event_Oknows @ c_Message_Oagent_OSpy @ v_evs2)) @
% 7.60/1.74 tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl3422, zip_derived_cl661])).
% 7.60/1.74 thf(cls_Event_Oc_A_58_Aparts_A_Iknows_ASpy_Aevs1_J_A_61_61_62_Ac_A_58_Aused_Aevs1_0, axiom,
% 7.60/1.74 (( ~( c_in @
% 7.60/1.74 V_c @
% 7.60/1.74 ( c_Message_Oparts @
% 7.60/1.74 ( c_Event_Oknows @ c_Message_Oagent_OSpy @ V_evs ) ) @
% 7.60/1.74 tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_c @ ( c_Event_Oused @ V_evs ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl518, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i]:
% 7.60/1.74 (~ (c_in @ X0 @
% 7.60/1.74 (c_Message_Oparts @ (c_Event_Oknows @ c_Message_Oagent_OSpy @ X1)) @
% 7.60/1.74 tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X0 @ (c_Event_Oused @ X1) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)],
% 7.60/1.74 [cls_Event_Oc_A_58_Aparts_A_Iknows_ASpy_Aevs1_J_A_61_61_62_Ac_A_58_Aused_Aevs1_0])).
% 7.60/1.74 thf(zip_derived_cl6793, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_OAgent @ v_A) @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB))) @
% 7.60/1.74 (c_Event_Oused @ v_evs2) @ tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl6591, zip_derived_cl518])).
% 7.60/1.74 thf(cls_Public_OMPair__used_0, axiom,
% 7.60/1.74 (( ~( c_in @
% 7.60/1.74 ( c_Message_Omsg_OMPair @ V_X @ V_Y ) @ ( c_Event_Oused @ V_H ) @
% 7.60/1.74 tc_Message_Omsg ) ) |
% 7.60/1.74 ( c_in @ V_Y @ ( c_Event_Oused @ V_H ) @ tc_Message_Omsg ))).
% 7.60/1.74 thf(zip_derived_cl628, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i]:
% 7.60/1.74 (~ (c_in @ (c_Message_Omsg_OMPair @ X0 @ X1) @ (c_Event_Oused @ X2) @
% 7.60/1.74 tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X1 @ (c_Event_Oused @ X2) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Public_OMPair__used_0])).
% 7.60/1.74 thf(zip_derived_cl6881, plain,
% 7.60/1.74 ( (c_in @
% 7.60/1.74 (c_Message_Omsg_OMPair @ (c_Message_Omsg_ONonce @ v_NA) @
% 7.60/1.74 (c_Message_Omsg_ONonce @ v_NB)) @
% 7.60/1.74 (c_Event_Oused @ v_evs2) @ tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl6793, zip_derived_cl628])).
% 7.60/1.74 thf(zip_derived_cl628, plain,
% 7.60/1.74 (![X0 : $i, X1 : $i, X2 : $i]:
% 7.60/1.74 (~ (c_in @ (c_Message_Omsg_OMPair @ X0 @ X1) @ (c_Event_Oused @ X2) @
% 7.60/1.74 tc_Message_Omsg)
% 7.60/1.74 | (c_in @ X1 @ (c_Event_Oused @ X2) @ tc_Message_Omsg))),
% 7.60/1.74 inference('cnf', [status(esa)], [cls_Public_OMPair__used_0])).
% 7.60/1.74 thf(zip_derived_cl6962, plain,
% 7.60/1.74 ( (c_in @ (c_Message_Omsg_ONonce @ v_NB) @ (c_Event_Oused @ v_evs2) @
% 7.60/1.74 tc_Message_Omsg)),
% 7.60/1.74 inference('sup-', [status(thm)], [zip_derived_cl6881, zip_derived_cl628])).
% 7.60/1.74 thf(zip_derived_cl6969, plain, ($false),
% 7.60/1.74 inference('demod', [status(thm)], [zip_derived_cl694, zip_derived_cl6962])).
% 7.60/1.74
% 7.60/1.74 % SZS output end Refutation
% 7.60/1.74
% 7.60/1.74
% 7.60/1.74 % Terminating...
% 8.57/1.84 % Runner terminated.
% 8.57/1.85 % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------