ftsrg / blockchain-benchmarks-tpcc Goto Github PK
View Code? Open in Web Editor NEWTPC-C benchmark implementations for blockchain platforms
License: Apache License 2.0
TPC-C benchmark implementations for blockchain platforms
License: Apache License 2.0
After resolving working around #5, this is the next roadblock. After starting a clean fablo network, and installing the CC, invoking InitEntries
behaves as such:
$ http -v -A bearer -a $token http://localhost:8801/invoke/my-channel1/tpcc method=InitEntries args:='[]'
POST /invoke/my-channel1/tpcc HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Authorization: Bearer 12bd3ca0-1a58-11ee-8f78-f1a42b6481c8-admin
Connection: keep-alive
Content-Length: 37
Content-Type: application/json
Host: localhost:8801
User-Agent: HTTPie/3.2.1
{
"args": [],
"method": "InitEntries"
}
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Cache-Control: no-store
Connection: keep-alive
Content-Length: 121
Content-Type: application/json; charset=utf-8
Date: Tue, 04 Jul 2023 10:47:17 GMT
ETag: W/"79-fcvDXAnvjjKKtv/YS7bVy48Vnww"
Keep-Alive: timeout=5
X-Powered-By: Express
{
"message": "No valid responses from any peers. Errors:\n peer=undefined, status=grpc, message=Endorsement has failed"
}
The cause of the error (timeout) is clearer from the peer logs:
2023-07-04 10:47:17.690 UTC 0063 INFO [endorser] callChaincode -> finished chaincode: tpcc duration: 30010ms channel=my-channel1 txID=4f9806d4
2023-07-04 10:47:17.690 UTC 0064 ERRO [endorser] simulateProposal -> failed to invoke chaincode tpcc, error: timeout expired while executing transaction
github.com/hyperledger/fabric/core/chaincode.(*Handler).Execute
/go/src/github.com/hyperledger/fabric/core/chaincode/handler.go:1188
github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).execute
/go/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:278
github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Invoke
/go/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:208
github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute
/go/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:161
github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute
/go/src/github.com/hyperledger/fabric/core/endorser/support.go:126
github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:120
github.com/hyperledger/fabric/core/endorser.(*Endorser).simulateProposal
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:187
github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposalSuccessfullyOrError
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:409
github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:350
github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61
github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:32
github.com/hyperledger/fabric-protos-go/peer._Endorser_ProcessProposal_Handler.func1
/go/src/github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go:107
github.com/hyperledger/fabric/internal/peer/node.unaryGrpcLimiter.func1
/go/src/github.com/hyperledger/fabric/internal/peer/node/grpc_limiters.go:56
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/hyperledger/fabric/common/grpclogging.UnaryServerInterceptor.func1
/go/src/github.com/hyperledger/fabric/common/grpclogging/server.go:92
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/hyperledger/fabric/common/grpcmetrics.UnaryServerInterceptor.func1
/go/src/github.com/hyperledger/fabric/common/grpcmetrics/interceptor.go:31
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34
github.com/hyperledger/fabric-protos-go/peer._Endorser_ProcessProposal_Handler
/go/src/github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go:109
google.golang.org/grpc.(*Server).processUnaryRPC
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1180
google.golang.org/grpc.(*Server).handleStream
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1503
google.golang.org/grpc.(*Server).serveStreams.func1.2
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:843
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1581
error sending
failed to execute transaction 4f9806d4cf425c21302a71087f24ddbbd34e231280ac8526a4c182b32ecf20cc
github.com/hyperledger/fabric/core/chaincode.processChaincodeExecutionResult
/go/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:167
github.com/hyperledger/fabric/core/chaincode.(*ChaincodeSupport).Execute
/go/src/github.com/hyperledger/fabric/core/chaincode/chaincode_support.go:162
github.com/hyperledger/fabric/core/endorser.(*SupportImpl).Execute
/go/src/github.com/hyperledger/fabric/core/endorser/support.go:126
github.com/hyperledger/fabric/core/endorser.(*Endorser).callChaincode
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:120
github.com/hyperledger/fabric/core/endorser.(*Endorser).simulateProposal
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:187
github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposalSuccessfullyOrError
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:409
github.com/hyperledger/fabric/core/endorser.(*Endorser).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/endorser/endorser.go:350
github.com/hyperledger/fabric/core/handlers/auth/filter.(*expirationCheckFilter).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/handlers/auth/filter/expiration.go:61
github.com/hyperledger/fabric/core/handlers/auth/filter.(*filter).ProcessProposal
/go/src/github.com/hyperledger/fabric/core/handlers/auth/filter/filter.go:32
github.com/hyperledger/fabric-protos-go/peer._Endorser_ProcessProposal_Handler.func1
/go/src/github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go:107
github.com/hyperledger/fabric/internal/peer/node.unaryGrpcLimiter.func1
/go/src/github.com/hyperledger/fabric/internal/peer/node/grpc_limiters.go:56
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/hyperledger/fabric/common/grpclogging.UnaryServerInterceptor.func1
/go/src/github.com/hyperledger/fabric/common/grpclogging/server.go:92
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/hyperledger/fabric/common/grpcmetrics.UnaryServerInterceptor.func1
/go/src/github.com/hyperledger/fabric/common/grpcmetrics/interceptor.go:31
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1
/go/src/github.com/hyperledger/fabric/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34
github.com/hyperledger/fabric-protos-go/peer._Endorser_ProcessProposal_Handler
/go/src/github.com/hyperledger/fabric/vendor/github.com/hyperledger/fabric-protos-go/peer/peer.pb.go:109
google.golang.org/grpc.(*Server).processUnaryRPC
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1180
google.golang.org/grpc.(*Server).handleStream
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:1503
google.golang.org/grpc.(*Server).serveStreams.func1.2
/go/src/github.com/hyperledger/fabric/vendor/google.golang.org/grpc/server.go:843
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1581 channel=my-channel1 txID=4f9806d4
2023-07-04 10:47:17.690 UTC 0065 WARN [endorser] ProcessProposal -> Failed to invoke chaincode channel=my-channel1 chaincode=tpcc error="error in simulation: failed to execute transaction 4f9806d4cf425c21302a71087f24ddbbd34e231280ac8526a4c1
82b32ecf20cc: error sending: timeout expired while executing transaction"
2023-07-04 10:47:17.690 UTC 0066 INFO [comm.grpc.server] 1 -> unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=192.168.192.8:56666 grpc.code=OK grpc.call_duration=30.01s
Strangely, there seems to be no output from the chaincode container. This makes me think that this is a connection issue between the Fabric network and the external CC. Digging deeperβ¦
Legend:
π΄: High priority.
π‘: Medium priority.
π’: Low priority.
π΅: Discussion.
TPCC
class could be named TPCCContractAPI
(or TpccContractApi
, not sure about the commonly used casing), and the strongly typed methods could be extracted into a TpccBusinessApi
class, which now deals purely with business-level objects, not Fabric API-enforced strings.getOldestNewOrderForDistrict
method is misleading. It doesn't return the oldest new order, but actually "performs" the delivery. It should either be renamed to something like deliverOldestNewOrderForDistrict
to reflect its functionality or its contents should be inlined into the short delivery
method, except for the getOldestNewOrder
functionality (just like in the JS version) since that's the "abstraction border" between the business-level and registry-level functionality.select
implementation now reads every entry of a given type, then it's filtered inside the chaincode using matching
:select
supported a partial iterator and early-break functionality for such scenarios (we only need the first/earliest new order of a given warehouse and district). The implementation is functionally correct, but not robust enough extra-functionally.getOrderLineAmount
function also does more than its name suggests:dist_info
attribute must be assigned the value of the required s_dist_xx
attribute from the Stock
instance.LGTM
TBD
There should be a relatively easy way to disable OpenJML in the build process (in Gradle) so that one can code in conventional environments (eg in IntelliJ IDEA).
It seems that the H_AMOUNT
value in the output and input are not equal. Full trace below.
Thread[fabric-txinvoke:5,5,main] 07:00:53:393 SEVERE org.hyperledger.fabric.Logger error Error during contract method executionorg.hyperledger.fabric.contract.ContractRuntimeException: Error during contract method execution
at org.hyperledger.fabric.contract.execution.impl.ContractExecutionService.executeRequest(ContractExecutionService.java:78)
at org.hyperledger.fabric.contract.ContractRouter.processRequest(ContractRouter.java:116)
at org.hyperledger.fabric.contract.ContractRouter.invoke(ContractRouter.java:127)
at org.hyperledger.fabric.shim.impl.ChaincodeInvocationTask.call(ChaincodeInvocationTask.java:106)
at org.hyperledger.fabric.shim.impl.InvocationTaskManager.lambda$newTask$17(InvocationTaskManager.java:265)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.jmlspecs.runtime.JmlAssertionError: /home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629: verify: JML postcondition is false
private PaymentOutput payment(final TPCCContext ctx, final PaymentInput input)
^
specs/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.jml:46: verify: Associated declaration: /home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629:
@ ensures \result.getH_amount() == input.getH_amount(); // C.TXIO:PAYMENT:EQ_H_AMOUNT
^
at org.jmlspecs.runtime.Utils.createException(Utils.java:142)
at org.jmlspecs.runtime.Utils.assertionFailureL(Utils.java:94)
at hu.bme.mit.ftsrg.chaincode.tpcc.TPCC.payment(TPCC.java:1)
at hu.bme.mit.ftsrg.chaincode.tpcc.TPCC.payment(TPCC.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.hyperledger.fabric.contract.execution.impl.ContractExecutionService.executeRequest(ContractExecutionService.java:60)
... 8 more
.. caused by ../home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629: verify: JML postcondition is false
private PaymentOutput payment(final TPCCContext ctx, final PaymentInput input)
^
specs/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.jml:46: verify: Associated declaration: /home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629:
@ ensures \result.getH_amount() == input.getH_amount(); // C.TXIO:PAYMENT:EQ_H_AMOUNT
^org.jmlspecs.runtime.JmlAssertionError: /home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629: verify: JML postcondition is false
private PaymentOutput payment(final TPCCContext ctx, final PaymentInput input)
^
specs/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.jml:46: verify: Associated declaration: /home/gradle/src/main/java/hu/bme/mit/ftsrg/chaincode/tpcc/TPCC.java:629:
@ ensures \result.getH_amount() == input.getH_amount(); // C.TXIO:PAYMENT:EQ_H_AMOUNT
^
at org.jmlspecs.runtime.Utils.createException(Utils.java:142)
at org.jmlspecs.runtime.Utils.assertionFailureL(Utils.java:94)
at hu.bme.mit.ftsrg.chaincode.tpcc.TPCC.payment(TPCC.java:1)
at hu.bme.mit.ftsrg.chaincode.tpcc.TPCC.payment(TPCC.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.hyperledger.fabric.contract.execution.impl.ContractExecutionService.executeRequest(ContractExecutionService.java:60)
at org.hyperledger.fabric.contract.ContractRouter.processRequest(ContractRouter.java:116)
at org.hyperledger.fabric.contract.ContractRouter.invoke(ContractRouter.java:127)
at org.hyperledger.fabric.shim.impl.ChaincodeInvocationTask.call(ChaincodeInvocationTask.java:106)
at org.hyperledger.fabric.shim.impl.InvocationTaskManager.lambda$newTask$17(InvocationTaskManager.java:265)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
skipped
and deliveredOrders
issue:Something like the following structure is desirable:
src/main/java/hu/bme/mit/ftsrg/
ββ entries/
β ββ Customer.java
β ββ ...
ββ inputs/
β ββ DeliveryInput.java
β ββ ...
ββ outputs/
β ββ DeliveryOutput.java
β ββ ...
ββ utils/
β ββ Common.java
ββ TPCC.java
Meaning:
hu.bme.mit.ftsrg
to reflect the correct organizational structure as per Java package naming conventions.common.java
-> Common.java
or Utils.java
).*Input.java
and *Output.java
should be used to denote the parameters and return values, respectively, of the transaction profile functions.Exception in thread "main" java.lang.VerifyError: Bad local variable type
Exception Details:
Location:
org/example/TPCC.doStockLevel(Lorg/hyperledger/fabric/contract/Context;Ljava/lang/String;)Lorg/example/DoStockLevelOutput; @2008: iload
Reason:
Type 'java/lang/String' (current frame, locals[8]) is not assignable to integer
Current Frame:
bci: @2008
flags: { }
locals: { 'org/example/TPCC', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'java/lang/Exception', integer, 'org/example/DoStockLevelOutput', integer, 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', integer, 'java/lang/String', 'java/util/logging/Logger', integer, 'java/lang/String', 'org/example/StockLevelParameters', integer, 'org/example/StockLevelParameters', integer, 'org/hyperledger/fabric/contract/Context', integer, integer, 'org/example/District', integer, 'org/example/District', integer, integer, integer, integer, integer, integer, 'org/hyperledger/fabric/contract/Context', integer, integer, integer, integer, 'java/util/List', integer, 'java/util/List', integer, integer, 'java/util/Iterator', 'java/lang/Integer', 'java/lang/Integer', integer, 'org/hyperledger/fabric/contract/Context', integer }
Thread[main,5,main] 11:39:56:320 INFO java.util.logging.LogManager$RootLogger log Updated all handlers the format
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions <<<<<<<<<<<<<Environment options>>>>>>>>>>>>
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_CHAINCODE_ID_NAME: tpcc:a03d5726c28a155d993f6789701908d88746d0e5f0c9078860a7b4ae18411886
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_PEER_ADDRESS: 127.0.0.1
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_PEER_TLS_ENABLED: false
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_PEER_TLS_ROOTCERT_FILE: null
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_TLS_CLIENT_KEY_PATH: null
Thread[main,5,main] 11:39:56:320 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_TLS_CLIENT_CERT_PATH: null
Thread[main,5,main] 11:39:56:330 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_TLS_CLIENT_KEY_FILE: null
Thread[main,5,main] 11:39:56:330 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_TLS_CLIENT_CERT_FILE: null
Thread[main,5,main] 11:39:56:330 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CORE_PEER_LOCALMSPID:
Thread[main,5,main] 11:39:56:330 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions CHAINCODE_SERVER_ADDRESS: 0.0.0.0:9999
Thread[main,5,main] 11:39:56:340 INFO org.hyperledger.fabric.shim.ChaincodeBase processEnvironmentOptions LOGLEVEL: null
Thread[main,5,main] 11:39:56:360 INFO org.hyperledger.fabric.shim.ChaincodeBase processCommandLineOptions <<<<<<<<<<<<<CommandLine options>>>>>>>>>>>>
Thread[main,5,main] 11:39:56:360 INFO org.hyperledger.fabric.shim.ChaincodeBase processCommandLineOptions CORE_CHAINCODE_ID_NAME: tpcc:a03d5726c28a155d993f6789701908d88746d0e5f0c9078860a7b4ae18411886
Thread[main,5,main] 11:39:56:360 INFO org.hyperledger.fabric.shim.ChaincodeBase processCommandLineOptions CORE_PEER_ADDRESS: 127.0.0.1:7051
Thread[main,5,main] 11:39:56:360 INFO org.hyperledger.fabric.shim.ChaincodeBase getChaincodeConfig <<<<<<<<<<<<<Properties options>>>>>>>>>>>>
Thread[main,5,main] 11:39:56:450 INFO org.hyperledger.fabric.shim.ChaincodeBase getChaincodeConfig {CORE_CHAINCODE_ID_NAME=tpcc:a03d5726c28a155d993f6789701908d88746d0e5f0c9078860a7b4ae18411886, CORE_PEER_ADDRESS=127.0.0.1}
Thread[main,5,main] 11:39:56:470 INFO org.hyperledger.fabric.metrics.Metrics initialize Metrics disabled
Thread[main,5,main] 11:39:56:470 INFO org.hyperledger.fabric.traces.Traces initialize Traces disabled
Exception in thread "main" java.lang.VerifyError: Bad local variable type
Exception Details:
Location:
org/example/TPCC.doStockLevel(Lorg/hyperledger/fabric/contract/Context;Ljava/lang/String;)Lorg/example/DoStockLevelOutput; @2008: iload
Reason:
Type 'java/lang/String' (current frame, locals[8]) is not assignable to integer
Current Frame:
bci: @2008
flags: { }
locals: { 'org/example/TPCC', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'java/lang/Exception', integer, 'org/example/DoStockLevelOutput', integer, 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', 'org/hyperledger/fabric/contract/Context', 'java/lang/String', integer, 'java/lang/String', 'java/util/logging/Logger', integer, 'java/lang/String', 'org/example/StockLevelParameters', integer, 'org/example/StockLevelParameters', integer, 'org/hyperledger/fabric/contract/Context', integer, integer, 'org/example/District', integer, 'org/example/District', integer, integer, integer, integer, integer, integer, 'org/hyperledger/fabric/contract/Context', integer, integer, integer, integer, 'java/util/List', integer, 'java/util/List', integer, integer, 'java/util/Iterator', 'java/lang/Integer', 'java/lang/Integer', integer, 'org/hyperledger/fabric/contract/Context', integer }
stack: { }
Bytecode:
0x0000000: 014e 0336 0401 3a05 0336 0603 b800 203a
0x0000010: 072b c600 0704 a700 0403 3608 1508 b800
0x0000020: 203a 0703 b800 203a 0819 07b6 0021 9900
0x0000030: 152c c600 0704 a700 0403 3609 1509 b800
0x0000040: 203a 0819 08b6 0021 3606 a700 0c3a 0712
0x0000050: 2219 07b8 0004 013a 072b 3a07 a700 1d3a
0x0000060: 08a7 0018 3a08 1908 01b8 0006 a700 0d3a
0x0000070: 0819 0813 01a7 b800 0901 3a08 2c3a 08a7
0x0000080: 001d 3a09 a700 183a 0919 0901 b800 06a7
0x0000090: 000d 3a09 1909 1301 a7b8 0009 013a 092b
0x00000a0: 3a09 a700 1d3a 0aa7 0018 3a0a 190a 01b8
0x00000b0: 0006 a700 0d3a 0a19 0a13 01a7 b800 0901
0x00000c0: 3a0a 2c3a 0aa7 001d 3a0b a700 183a 0b19
0x00000d0: 0b01 b800 06a7 000d 3a0b 190b 1301 a7b8
0x00000e0: 0009 013a 0b2b 3a0b a700 1d3a 0ca7 0018
0x00000f0: 3a0c 190c 01b8 0006 a700 0d3a 0c19 0c13
0x0000100: 01a7 b800 0901 3a0c 2c3a 0ca7 001d 3a0d
0x0000110: a700 183a 0d19 0d01 b800 06a7 000d 3a0d
0x0000120: 190d 1301 a7b8 0009 013a 0d2b 3a0d a700
0x0000130: 1d3a 0ea7 0018 3a0e 190e 01b8 0006 a700
0x0000140: 0d3a 0e19 0e13 01a7 b800 0901 3a0e 2c3a
0x0000150: 0ea7 001d 3a0f a700 183a 0f19 0f01 b800
0x0000160: 06a7 000d 3a0f 190f 1301 a7b8 0009 013a
0x0000170: 0f2b 3a0f a700 1d3a 10a7 0018 3a10 1910
0x0000180: 01b8 0006 a700 0d3a 1019 1013 01a7 b800
0x0000190: 0901 3a10 2c3a 10a7 001d 3a11 a700 183a
0x00001a0: 1119 1101 b800 06a7 000d 3a11 1911 1301
0x00001b0: a7b8 0009 013a 112b 3a11 a700 1d3a 12a7
0x00001c0: 0018 3a12 1912 01b8 0006 a700 0d3a 1219
0x00001d0: 1213 01a7 b800 0901 3a12 2c3a 12a7 001d
0x00001e0: 3a13 a700 183a 1319 1301 b800 06a7 000d
0x00001f0: 3a13 1913 1301 a7b8 0009 013a 132b 3a13
0x0000200: a700 1d3a 14a7 0018 3a14 1914 01b8 0006
0x0000210: a700 0d3a 1419 1413 01a7 b800 0901 3a14
0x0000220: 2c3a 14a7 001d 3a15 a700 183a 1519 1501
0x0000230: b800 06a7 000d 3a15 1915 1301 a7b8 0009
0x0000240: 013a 152b 3a15 a700 1d3a 16a7 0018 3a16
0x0000250: 1916 01b8 0006 a700 0d3a 1619 1613 01a7
0x0000260: b800 0901 3a16 2c3a 16a7 001d 3a17 a700
0x0000270: 183a 1719 1701 b800 06a7 000d 3a17 1917
0x0000280: 1301 a7b8 0009 0336 17bb 0024 59b7 0025
0x0000290: 1303 44b6 0027 2cb6 0027 b600 283a 18b2
0x00002a0: 0014 3a19 0436 17a7 0023 3a1a 1203 191a
0x00002b0: b800 04a7 0017 3a1a 191a 01b8 0006 a700
0x00002c0: 0c3a 1a19 1a12 08b8 0009 1517 361a 151a
0x00002d0: 361b 151b 9a00 0b13 0345 120b b800 0ca7
0x00002e0: 0024 3a1a 1203 191a b800 04a7 0018 3a1a
0x00002f0: 191a 01b8 0006 a700 0d3a 1a19 1a13 0346
0x0000300: b800 0915 1799 0008 1517 9900 0319 1919
0x0000310: 18b6 002b a700 103a 1a19 1a4e 1189 7836
0x0000320: 0419 1abf 0336 1a2c 3a1b 013a 1c03 b800
0x0000330: 203a 1d19 1bc6 0007 04a7 0004 0336 1e15
0x0000340: 1eb8 0020 3a1d 191d b600 2136 1aa7 0024
0x0000350: 3a1e 1203 191e b800 04a7 0018 3a1e 191e
0x0000360: 01b8 0006 a700 0d3a 1e19 1e13 0347 b800
0x0000370: 0915 1a36 1e15 1e36 1f15 1f9a 0011 1303
0x0000380: 4813 0349 b800 1c12 0bb8 000c a700 243a
0x0000390: 1e12 0319 1eb8 0004 a700 183a 1e19 1e01
0x00003a0: b800 06a7 000d 3a1e 191e 1303 4ab8 0009
0x00003b0: 151a 9900 0815 1a99 0003 191b b803 4b3a
0x00003c0: 1c2d c700 03a7 0024 3a1e 1230 191e b800
0x00003d0: 04a7 0018 3a1e 191e 01b8 0006 a700 0d3a
0x00003e0: 1e19 1e13 034a b800 0915 1a99 0033 191c
0x00003f0: c600 0704 a700 0403 361e a700 243a 1e12
0x0000400: 3119 1eb8 0004 a700 183a 1e19 1e01 b800
0x0000410: 06a7 000d 3a1e 191e 1303 47b8 0009 a700
0x0000420: 243a 1e12 3219 1eb8 0004 a700 183a 1e19
0x0000430: 1e01 b800 06a7 000d 3a1e 191e 1303 47b8
0x0000440: 0009 a700 103a 1e19 1e4e 1188 e436 0419
0x0000450: 1ebf 191c c600 0704 a700 0403 361d 151d
0x0000460: 9a00 0b13 034c 1212 b800 0c19 1c3a 1e03
0x0000470: 361f 2b3a 2019 1eb4 034d 3621 191e b403
0x0000480: 4e36 2201 3a23 03b8 0020 3a24 1920 c600
0x0000490: 0704 a700 0403 3625 1525 b800 203a 2419
0x00004a0: 24b6 0021 361f a700 233a 2512 0319 25b8
0x00004b0: 0004 a700 173a 2519 2501 b800 06a7 000c
0x00004c0: 3a25 1925 12f3 b800 0915 1f36 2515 2536
0x00004d0: 2615 269a 0011 1303 4f13 0350 b800 1c12
0x00004e0: 0bb8 000c a700 243a 2512 0319 25b8 0004
0x00004f0: a700 183a 2519 2501 b800 06a7 000d 3a25
0x0000500: 1925 1303 51b8 0009 151f 9900 0815 1f99
0x0000510: 0003 1920 1521 1522 b800 f63a 232d c700
0x0000520: 03a7 0024 3a25 1230 1925 b800 04a7 0018
0x0000530: 3a25 1925 01b8 0006 a700 0d3a 2519 2513
0x0000540: 0351 b800 0915 1f99 0032 1923 c600 0704
0x0000550: a700 0403 3625 a700 233a 2512 3119 25b8
0x0000560: 0004 a700 173a 2519 2501 b800 06a7 000c
0x0000570: 3a25 1925 12f3 b800 09a7 0023 3a25 1232
0x0000580: 1925 b800 04a7 0017 3a25 1925 01b8 0006
0x0000590: a700 0c3a 2519 2512 f3b8 0009 a700 103a
0x00005a0: 2519 254e 1188 1d36 0419 25bf 1923 c600
0x00005b0: 0704 a700 0403 3624 1524 9a00 0b13 0352
0x00005c0: 1212 b800 0c19 233a 2503 1925 b400 fca2
0x00005d0: 0015 1014 9c00 1019 25b4 00fc 1251 1014
0x00005e0: 60a3 0007 04a7 0004 0336 2615 269a 000b
0x00005f0: 1303 5312 53b8 000c 1925 b400 fc9c 0016
0x0000600: 0310 14a2 0010 1254 1014 6019 25b4 00fc
0x0000610: a300 0704 a700 0403 3627 1527 9a00 0b13
0x0000620: 0353 1253 b800 0c19 25b4 00fc 1014 6436
0x0000630: 2815 2836 2919 25b4 00fc 362a 0336 2b2b
0x0000640: 3a2c 191e b403 4d36 2d19 25b4 0108 362e
0x0000650: 1529 362f 152a 3630 013a 3103 b800 203a
0x0000660: 3219 2cc6 0007 04a7 0004 0336 3315 33b8
0x0000670: 0020 3a32 1932 b600 2136 2ba7 0024 3a33
0x0000680: 1203 1933 b800 04a7 0018 3a33 1933 01b8
0x0000690: 0006 a700 0d3a 3319 3313 0354 b800 0915
0x00006a0: 2b36 3315 3336 3415 349a 0011 1303 5513
0x00006b0: 0356 b800 1c12 0bb8 000c a700 243a 3312
0x00006c0: 0319 33b8 0004 a700 183a 3319 3301 b800
0x00006d0: 06a7 000d 3a33 1933 1303 57b8 0009 152b
0x00006e0: 9900 0815 2b99 0003 192c 152d 152e 152f
0x00006f0: 1530 b803 583a 312d c700 03a7 0024 3a33
0x0000700: 1230 1933 b800 04a7 0018 3a33 1933 01b8
0x0000710: 0006 a700 0d3a 3319 3313 0357 b800 0915
0x0000720: 2b99 0033 1931 c600 0704 a700 0403 3633
0x0000730: a700 243a 3312 3119 33b8 0004 a700 183a
0x0000740: 3319 3301 b800 06a7 000d 3a33 1933 1303
0x0000750: 59b8 0009 a700 243a 3312 3219 33b8 0004
0x0000760: a700 183a 3319 3301 b800 06a7 000d 3a33
0x0000770: 1933 1303 59b8 0009 a700 103a 3319 334e
0x0000780: 1186 1036 0419 33bf 1931 c600 0704 a700
0x0000790: 0403 3632 1532 9a00 0b13 035a 1212 b800
0x00007a0: 0c19 313a 3303 3634 0336 3519 33b8 035b
0x00007b0: 3a36 1936 b803 5c9a 0006 a701 e519 36b8
0x00007c0: 035d c003 5e3a 3719 373a 3803 3639 2b3a
0x00007d0: 3a19 1eb4 034d 363b 1508 363c 013a 3d03
0x00007e0: b800 203a 3e19 3ac6 0007 04a7 0004 0336
0x00007f0: 3f15 3fb8 0020 3a3e 193e b600 2136 39a7
0x0000800: 0024 3a3f 1203 193f b800 04a7 0018 3a3f
0x0000810: 193f 01b8 0006 a700 0d3a 3f19 3f13 0192
0x0000820: b800 0915 3936 3f15 3f36 4015 409a 0011
0x0000830: 1303 5f13 0360 b800 1c12 0bb8 000c a700
0x0000840: 243a 3f12 0319 3fb8 0004 a700 183a 3f19
0x0000850: 3f01 b800 06a7 000d 3a3f 193f 1303 61b8
0x0000860: 0009 1539 9900 0815 3999 0003 193a 153b
0x0000870: 153c b801 963a 3d2d c700 03a7 0024 3a3f
0x0000880: 1230 193f b800 04a7 0018 3a3f 193f 01b8
0x0000890: 0006 a700 0d3a 3f19 3f13 0361 b800 0915
0x00008a0: 3999 0033 193d c600 0704 a700 0403 363f
0x00008b0: a700 243a 3f12 3119 3fb8 0004 a700 183a
0x00008c0: 3f19 3f01 b800 06a7 000d 3a3f 193f 1301
0x00008d0: 92b8 0009 a700 243a 3f12 3219 3fb8 0004
0x00008e0: a700 183a 3f19 3f01 b800 06a7 000d 3a3f
0x00008f0: 193f 1301 92b8 0009 a700 103a 3f19 3f4e
0x0000900: 1184 2a36 0419 3fbf 193d c600 0704 a700
0x0000910: 0403 363e 153e 9a00 0b13 0362 1212 b800
0x0000920: 0c19 3d3a 3f19 3fb4 019d 191e b403 63a2
0x0000930: 0007 04a7 0004 0336 4015 4099 005b 0315
0x0000940: 34a2 0011 0304 a200 0c15 3412 5104 64a3
0x0000950: 0007 04a7 0004 0336 4115 419a 000b 1303
0x0000960: 6412 53b8 000c 1534 9c00 1004 9c00 0c12
0x0000970: 5404 6415 34a3 0007 04a7 0004 0336 4215
0x0000980: 429a 000b 1303 6412 53b8 000c 1534 0460
0x0000990: 3643 1543 3634 1535 0460 3635 a7fe 1603
0x00009a0: 3635 013a 3604 3635 a700 233a 3712 0319
0x00009b0: 37b8 0004 a700 173a 3719 3701 b800 06a7
0x00009c0: 000c 3a37 1937 1208 b800 0915 3536 3715
0x00009d0: 3736 3815 389a 0011 1303 6513 0366 b800
0x00009e0: 1c12 0bb8 000c a700 243a 3712 0319 37b8
0x00009f0: 0004 a700 183a 3719 3701 b800 06a7 000d
0x0000a00: 3a37 1937 1303 67b8 0009 1535 9900 0815
0x0000a10: 3599 0003 bb03 6859 b703 693a 36a7 0010
0x0000a20: 3a37 1937 4e11 8254 3604 1937 bf19 36c6
0x0000a30: 0007 04a7 0004 0336 3715 379a 000b 1303
0x0000a40: 6a12 12b8 000c 1936 3a38 1938 191e b403
0x0000a50: 4db5 036b 1938 b403 6b36 3919 3819 1eb4
0x0000a60: 034e b503 6c19 38b4 036c 363a 1938 191e
0x0000a70: b403 63b5 036d 1938 b403 6d36 3b19 3815
0x0000a80: 34b5 036e 1938 b403 6e36 3c19 383a 0511
0x0000a90: 7ec3 3604 014e 1905 3a3d 2dc7 008d b200
0x0000aa0: 14c6 0007 04a7 0004 0336 3e15 3e36 3f15
0x0000ab0: 3f9a 000a 1215 1216 b800 0c2a b400 13c6
0x0000ac0: 0007 04a7 0004 0336 4015 4036 4115 419a
0x0000ad0: 000a 1217 1216 b800 0c15 0699 0026 1905
0x0000ae0: c600 0704 a700 0403 3642 1542 3643 1543
0x0000af0: 9a00 1113 036f 1303 70b8 001c 12ce b800
0x0000b00: 0ca7 0085 3a3e 1218 193e b800 04a7 0079
0x0000b10: 3a3e 193e 01b8 0006 a700 6e3a 3e19 3e13
0x0000b20: 01a7 b800 09a7 0061 2dc1 0010 9900 0f15
0x0000b30: 0699 000a 2dc1 0002 9900 0704 a700 0403
0x0000b40: 363e 153e 9a00 1e13 0371 2db8 001b b800
0x0000b50: 1c13 0372 b800 1c13 0370 b800 1c12 1fb8
0x0000b60: 000c a700 243a 3e12 d119 3eb8 0004 a700
0x0000b70: 183a 3e19 3e01 b800 06a7 000d 3a3e 193e
0x0000b80: 1301 a7b8 0009 193d b03a 1a03 3604 014e
0x0000b90: 0336 1b03 361c 0336 1d19 1a3a 1e01 3a1f
0x0000ba0: 0436 1ca7 0023 3a20 1203 1920 b800 04a7
0x0000bb0: 0017 3a20 1920 01b8 0006 a700 0c3a 2019
0x0000bc0: 2012 08b8 0009 0436 1da7 0023 3a20 1203
0x0000bd0: 1920 b800 04a7 0017 3a20 1920 01b8 0006
0x0000be0: a700 0c3a 2019 2012 08b8 0009 151c 9a00
0x0000bf0: 0815 1d99 0007 04a7 0004 0336 2015 2036
0x0000c00: 2115 219a 0011 1303 7413 0375 b800 1c12
0x0000c10: 0bb8 000c a700 243a 2012 0319 20b8 0004
0x0000c20: a700 183a 2019 2001 b800 06a7 000d 3a20
0x0000c30: 1920 1303 76b8 0009 191e b600 d63a 1f2d
0x0000c40: c700 03a7 0024 3a20 1230 1920 b800 04a7
0x0000c50: 0018 3a20 1920 01b8 0006 a700 0d3a 2019
0x0000c60: 2013 0376 b800 0915 1c99 0032 191f c600
0x0000c70: 0704 a700 0403 3620 a700 233a 2012 3119
0x0000c80: 20b8 0004 a700 173a 2019 2001 b800 06a7
0x0000c90: 000c 3a20 1920 12d7 b800 09a7 0023 3a20
0x0000ca0: 1232 1920 b800 04a7 0017 3a20 1920 01b8
0x0000cb0: 0006 a700 0c3a 2019 2012 d7b8 0009 151d
0x0000cc0: 9900 3219 1fc6 0007 04a7 0004 0336 20a7
0x0000cd0: 0023 3a20 1231 1920 b800 04a7 0017 3a20
0x0000ce0: 1920 01b8 0006 a700 0c3a 2019 2012 d8b8
0x0000cf0: 0009 a700 233a 2012 3219 20b8 0004 a700
0x0000d00: 173a 2019 2001 b800 06a7 000c 3a20 1920
0x0000d10: 12d8 b800 09a7 0010 3a20 1920 4e11 80f2
0x0000d20: 3604 1920 bf2b 3a20 03b8 0020 3a21 03b8
0x0000d30: 0020 3a22 03b8 0020 3a23 191f c600 0704
0x0000d40: a700 0403 3624 1524 b800 203a 2119 21b6
0x0000d50: 0021 9900 1619 20c6 0007 04a7 0004 0336
0x0000d60: 2415 24b8 0020 3a22 1922 b600 2199 0017
0x0000d70: 1302 70c6 0007 04a7 0004 0336 2415 24b8
0x0000d80: 0020 3a23 1923 b600 2136 1ba7 0024 3a24
0x0000d90: 1203 1924 b800 04a7 0018 3a24 1924 01b8
0x0000da0: 0006 a700 0d3a 2419 2413 0271 b800 0915
0x0000db0: 1b36 2415 2436 2515 259a 0011 1303 7713
0x0000dc0: 0378 b800 1c12 0bb8 000c a700 243a 2412
0x0000dd0: 0319 24b8 0004 a700 183a 2419 2401 b800
0x0000de0: 06a7 000d 3a24 1924 1303 76b8 0009 151b
0x0000df0: 9900 0815 1b99 0003 191f 1920 1302 70b8
0x0000e00: 0274 a700 103a 2419 244e 1180 ff36 0419
0x0000e10: 24bf 01c0 0368 3a05 117f 3f36 0401 4e19
0x0000e20: 053a 1a2d c700 8db2 0014 c600 0704 a700
0x0000e30: 0403 361b 151b 361c 151c 9a00 0a12 1512
0x0000e40: 16b8 000c 2ab4 0013 c600 0704 a700 0403
0x0000e50: 361d 151d 361e 151e 9a00 0a12 1712 16b8
0x0000e60: 000c 1506 9900 2619 05c6 0007 04a7 0004
0x0000e70: 0336 1f15 1f36 2015 209a 0011 1303 6f13
0x0000e80: 0370 b800 1c12 ceb8 000c a700 853a 1b12
0x0000e90: 1819 1bb8 0004 a700 793a 1b19 1b01 b800
0x0000ea0: 06a7 006e 3a1b 191b 1301 a7b8 0009 a700
0x0000eb0: 612d c100 1099 000f 1506 9900 0a2d c100
0x0000ec0: 0299 0007 04a7 0004 0336 1b15 1b9a 001e
0x0000ed0: 1303 712d b800 1bb8 001c 1303 72b8 001c
0x0000ee0: 1303 70b8 001c 121f b800 0ca7 0024 3a1b
0x0000ef0: 12d1 191b b800 04a7 0018 3a1b 191b 01b8
0x0000f00: 0006 a700 0d3a 1b19 1b13 01a7 b800 0919
0x0000f10: 1ab0 3a17 1917 4e19 17bf 3a44 2dc7 008d
0x0000f20: b200 14c6 0007 04a7 0004 0336 4515 4536
0x0000f30: 4615 469a 000a 1215 1216 b800 0c2a b400
0x0000f40: 13c6 0007 04a7 0004 0336 4715 4736 4815
0x0000f50: 489a 000a 1217 1216 b800 0c15 0699 0026
0x0000f60: 1905 c600 0704 a700 0403 3649 1549 364a
0x0000f70: 154a 9a00 1113 036f 1303 70b8 001c 12ce
0x0000f80: b800 0ca7 0085 3a45 1218 1945 b800 04a7
0x0000f90: 0079 3a45 1945 01b8 0006 a700 6e3a 4519
0x0000fa0: 4513 01a7 b800 09a7 0061 2dc1 0010 9900
0x0000fb0: 0f15 0699 000a 2dc1 0002 9900 0704 a700
0x0000fc0: 0403 3645 1545 9a00 1e13 0371 2db8 001b
0x0000fd0: b800 1c13 0372 b800 1c13 0370 b800 1c12
0x0000fe0: 1fb8 000c a700 243a 4512 d119 45b8 0004
0x0000ff0: a700 183a 4519 4501 b800 06a7 000d 3a45
0x0001000: 1945 1301 a7b8 0009 1944 bf
Exception Handler Table:
bci [11, 74] => handler: 77
bci [89, 92] => handler: 95
bci [89, 92] => handler: 100
bci [89, 92] => handler: 111
bci [124, 127] => handler: 130
bci [124, 127] => handler: 135
bci [124, 127] => handler: 146
bci [159, 162] => handler: 165
bci [159, 162] => handler: 170
bci [159, 162] => handler: 181
bci [194, 197] => handler: 200
bci [194, 197] => handler: 205
bci [194, 197] => handler: 216
bci [229, 232] => handler: 235
bci [229, 232] => handler: 240
bci [229, 232] => handler: 251
bci [264, 267] => handler: 270
bci [264, 267] => handler: 275
bci [264, 267] => handler: 286
bci [299, 302] => handler: 305
bci [299, 302] => handler: 310
bci [299, 302] => handler: 321
bci [334, 337] => handler: 340
bci [334, 337] => handler: 345
bci [334, 337] => handler: 356
bci [369, 372] => handler: 375
bci [369, 372] => handler: 380
bci [369, 372] => handler: 391
bci [404, 407] => handler: 410
bci [404, 407] => handler: 415
bci [404, 407] => handler: 426
bci [439, 442] => handler: 445
bci [439, 442] => handler: 450
bci [439, 442] => handler: 461
bci [474, 477] => handler: 480
bci [474, 477] => handler: 485
bci [474, 477] => handler: 496
bci [509, 512] => handler: 515
bci [509, 512] => handler: 520
bci [509, 512] => handler: 531
bci [544, 547] => handler: 550
bci [544, 547] => handler: 555
bci [544, 547] => handler: 566
bci [579, 582] => handler: 585
bci [579, 582] => handler: 590
bci [579, 582] => handler: 601
bci [614, 617] => handler: 620
bci [614, 617] => handler: 625
bci [614, 617] => handler: 636
bci [676, 679] => handler: 682
bci [676, 679] => handler: 694
bci [676, 679] => handler: 705
bci [714, 735] => handler: 738
bci [714, 735] => handler: 750
bci [714, 735] => handler: 761
bci [781, 788] => handler: 791
bci [819, 845] => handler: 848
bci [819, 845] => handler: 860
bci [819, 845] => handler: 871
bci [881, 908] => handler: 911
bci [881, 908] => handler: 923
bci [881, 908] => handler: 934
bci [961, 965] => handler: 968
bci [961, 965] => handler: 980
bci [961, 965] => handler: 991
bci [1006, 1018] => handler: 1021
bci [1006, 1018] => handler: 1033
bci [1006, 1018] => handler: 1044
bci [1001, 1054] => handler: 1057
bci [1001, 1054] => handler: 1069
bci [1001, 1054] => handler: 1080
bci [954, 1090] => handler: 1093
bci [1164, 1190] => handler: 1193
bci [1164, 1190] => handler: 1205
bci [1164, 1190] => handler: 1216
bci [1225, 1252] => handler: 1255
bci [1225, 1252] => handler: 1267
bci [1225, 1252] => handler: 1278
bci [1309, 1313] => handler: 1316
bci [1309, 1313] => handler: 1328
bci [1309, 1313] => handler: 1339
bci [1354, 1366] => handler: 1369
bci [1354, 1366] => handler: 1381
bci [1354, 1366] => handler: 1392
bci [1349, 1401] => handler: 1404
bci [1349, 1401] => handler: 1416
bci [1349, 1401] => handler: 1427
bci [1298, 1436] => handler: 1439
bci [1633, 1659] => handler: 1662
bci [1633, 1659] => handler: 1674
bci [1633, 1659] => handler: 1685
bci [1695, 1722] => handler: 1725
bci [1695, 1722] => handler: 1737
bci [1695, 1722] => handler: 1748
bci [1783, 1787] => handler: 1790
bci [1783, 1787] => handler: 1802
bci [1783, 1787] => handler: 1813
bci [1828, 1840] => handler: 1843
bci [1828, 1840] => handler: 1855
bci [1828, 1840] => handler: 1866
bci [1823, 1876] => handler: 1879
bci [1823, 1876] => handler: 1891
bci [1823, 1876] => handler: 1902
bci [1768, 1912] => handler: 1915
bci [2021, 2047] => handler: 2050
bci [2021, 2047] => handler: 2062
bci [2021, 2047] => handler: 2073
bci [2083, 2110] => handler: 2113
bci [2083, 2110] => handler: 2125
bci [2083, 2110] => handler: 2136
bci [2167, 2171] => handler: 2174
bci [2167, 2171] => handler: 2186
bci [2167, 2171] => handler: 2197
bci [2212, 2224] => handler: 2227
bci [2212, 2224] => handler: 2239
bci [2212, 2224] => handler: 2250
bci [2207, 2260] => handler: 2263
bci [2207, 2260] => handler: 2275
bci [2207, 2260] => handler: 2286
bci [2156, 2296] => handler: 2299
bci [2469, 2472] => handler: 2475
bci [2469, 2472] => handler: 2487
bci [2469, 2472] => handler: 2498
bci [2507, 2534] => handler: 2537
bci [2507, 2534] => handler: 2549
bci [2507, 2534] => handler: 2560
bci [2580, 2589] => handler: 2592
bci [2718, 2817] => handler: 2820
bci [2718, 2817] => handler: 2832
bci [2718, 2817] => handler: 2843
bci [2856, 2914] => handler: 2917
bci [2856, 2914] => handler: 2929
bci [2856, 2914] => handler: 2940
bci [804, 2714] => handler: 2953
bci [2976, 2979] => handler: 2982
bci [2976, 2979] => handler: 2994
bci [2976, 2979] => handler: 3005
bci [3014, 3017] => handler: 3020
bci [3014, 3017] => handler: 3032
bci [3014, 3017] => handler: 3043
bci [3052, 3092] => handler: 3095
bci [3052, 3092] => handler: 3107
bci [3052, 3092] => handler: 3118
bci [3135, 3139] => handler: 3142
bci [3135, 3139] => handler: 3154
bci [3135, 3139] => handler: 3165
bci [3180, 3192] => handler: 3195
bci [3180, 3192] => handler: 3207
bci [3180, 3192] => handler: 3218
bci [3175, 3227] => handler: 3230
bci [3175, 3227] => handler: 3242
bci [3175, 3227] => handler: 3253
bci [3267, 3279] => handler: 3282
bci [3267, 3279] => handler: 3294
bci [3267, 3279] => handler: 3305
bci [3262, 3314] => handler: 3317
bci [3262, 3314] => handler: 3329
bci [3262, 3314] => handler: 3340
bci [3128, 3349] => handler: 3352
bci [3386, 3467] => handler: 3470
bci [3386, 3467] => handler: 3482
bci [3386, 3467] => handler: 3493
bci [3503, 3530] => handler: 3533
bci [3503, 3530] => handler: 3545
bci [3503, 3530] => handler: 3556
bci [3576, 3586] => handler: 3589
bci [3623, 3722] => handler: 3725
bci [3623, 3722] => handler: 3737
bci [3623, 3722] => handler: 3748
bci [3761, 3819] => handler: 3822
bci [3761, 3819] => handler: 3834
bci [3761, 3819] => handler: 3845
bci [646, 2714] => handler: 3858
bci [2953, 3619] => handler: 3858
bci [646, 2714] => handler: 3866
bci [2953, 3619] => handler: 3866
bci [3872, 3971] => handler: 3974
bci [3872, 3971] => handler: 3986
bci [3872, 3971] => handler: 3997
bci [4010, 4068] => handler: 4071
bci [4010, 4068] => handler: 4083
bci [4010, 4068] => handler: 4094
bci [3858, 3868] => handler: 3866
Stackmap Table:
full_frame(@25,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1612]},{})
same_locals_1_stack_item_frame(@26,Integer)
append_frame(@57,Object[#1612])
same_locals_1_stack_item_frame(@58,Integer)
same_frame(@67)
full_frame(@77,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer},{Object[#1239]})
same_frame(@86)
full_frame(@95,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@100,Object[#1240])
same_locals_1_stack_item_frame(@111,Object[#1241])
same_frame(@121)
full_frame(@130,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@135,Object[#1240])
same_locals_1_stack_item_frame(@146,Object[#1241])
same_frame(@156)
full_frame(@165,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@170,Object[#1240])
same_locals_1_stack_item_frame(@181,Object[#1241])
same_frame(@191)
full_frame(@200,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@205,Object[#1240])
same_locals_1_stack_item_frame(@216,Object[#1241])
same_frame(@226)
full_frame(@235,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@240,Object[#1240])
same_locals_1_stack_item_frame(@251,Object[#1241])
same_frame(@261)
full_frame(@270,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@275,Object[#1240])
same_locals_1_stack_item_frame(@286,Object[#1241])
same_frame(@296)
full_frame(@305,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@310,Object[#1240])
same_locals_1_stack_item_frame(@321,Object[#1241])
same_frame(@331)
full_frame(@340,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@345,Object[#1240])
same_locals_1_stack_item_frame(@356,Object[#1241])
same_frame(@366)
full_frame(@375,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@380,Object[#1240])
same_locals_1_stack_item_frame(@391,Object[#1241])
same_frame(@401)
full_frame(@410,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@415,Object[#1240])
same_locals_1_stack_item_frame(@426,Object[#1241])
same_frame(@436)
full_frame(@445,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@450,Object[#1240])
same_locals_1_stack_item_frame(@461,Object[#1241])
same_frame(@471)
full_frame(@480,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@485,Object[#1240])
same_locals_1_stack_item_frame(@496,Object[#1241])
same_frame(@506)
full_frame(@515,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@520,Object[#1240])
same_locals_1_stack_item_frame(@531,Object[#1241])
same_frame(@541)
full_frame(@550,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@555,Object[#1240])
same_locals_1_stack_item_frame(@566,Object[#1241])
same_frame(@576)
full_frame(@585,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609]},{Object[#210]})
same_locals_1_stack_item_frame(@590,Object[#1240])
same_locals_1_stack_item_frame(@601,Object[#1241])
same_frame(@611)
full_frame(@620,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@625,Object[#1240])
same_locals_1_stack_item_frame(@636,Object[#1241])
same_frame(@646)
full_frame(@682,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613]},{Object[#1239]})
same_locals_1_stack_item_frame(@694,Object[#1240])
same_locals_1_stack_item_frame(@705,Object[#1241])
same_frame(@714)
same_frame(@735)
same_locals_1_stack_item_frame(@738,Object[#1239])
same_locals_1_stack_item_frame(@750,Object[#1240])
same_locals_1_stack_item_frame(@761,Object[#1241])
same_frame(@771)
same_frame(@781)
same_locals_1_stack_item_frame(@791,Object[#210])
same_frame(@804)
full_frame(@828,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Object[#1612]},{})
same_locals_1_stack_item_frame(@829,Integer)
same_locals_1_stack_item_frame(@848,Object[#1239])
same_locals_1_stack_item_frame(@860,Object[#1240])
same_locals_1_stack_item_frame(@871,Object[#1241])
same_frame(@881)
same_frame(@908)
same_locals_1_stack_item_frame(@911,Object[#1239])
same_locals_1_stack_item_frame(@923,Object[#1240])
same_locals_1_stack_item_frame(@934,Object[#1241])
same_frame(@944)
same_frame(@954)
same_frame(@965)
same_locals_1_stack_item_frame(@968,Object[#1239])
same_locals_1_stack_item_frame(@980,Object[#1240])
same_locals_1_stack_item_frame(@991,Object[#1241])
same_frame(@1001)
same_frame(@1015)
same_locals_1_stack_item_frame(@1016,Integer)
same_locals_1_stack_item_frame(@1021,Object[#1239])
same_locals_1_stack_item_frame(@1033,Object[#1240])
same_locals_1_stack_item_frame(@1044,Object[#1241])
same_frame(@1054)
same_locals_1_stack_item_frame(@1057,Object[#1239])
same_locals_1_stack_item_frame(@1069,Object[#1240])
same_locals_1_stack_item_frame(@1080,Object[#1241])
same_frame(@1090)
same_locals_1_stack_item_frame(@1093,Object[#210])
chop_frame(@1106,1)
same_frame(@1115)
same_locals_1_stack_item_frame(@1116,Integer)
append_frame(@1131,Integer)
full_frame(@1173,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Object[#1612]},{})
same_locals_1_stack_item_frame(@1174,Integer)
same_locals_1_stack_item_frame(@1193,Object[#1239])
same_locals_1_stack_item_frame(@1205,Object[#1240])
same_locals_1_stack_item_frame(@1216,Object[#1241])
same_frame(@1225)
same_frame(@1252)
same_locals_1_stack_item_frame(@1255,Object[#1239])
same_locals_1_stack_item_frame(@1267,Object[#1240])
same_locals_1_stack_item_frame(@1278,Object[#1241])
same_frame(@1288)
same_frame(@1298)
same_frame(@1313)
same_locals_1_stack_item_frame(@1316,Object[#1239])
same_locals_1_stack_item_frame(@1328,Object[#1240])
same_locals_1_stack_item_frame(@1339,Object[#1241])
same_frame(@1349)
same_frame(@1363)
same_locals_1_stack_item_frame(@1364,Integer)
same_locals_1_stack_item_frame(@1369,Object[#1239])
same_locals_1_stack_item_frame(@1381,Object[#1240])
same_locals_1_stack_item_frame(@1392,Object[#1241])
same_frame(@1401)
same_locals_1_stack_item_frame(@1404,Object[#1239])
same_locals_1_stack_item_frame(@1416,Object[#1240])
same_locals_1_stack_item_frame(@1427,Object[#1241])
same_frame(@1436)
same_locals_1_stack_item_frame(@1439,Object[#210])
chop_frame(@1452,1)
same_frame(@1461)
same_locals_1_stack_item_frame(@1462,Integer)
append_frame(@1477,Integer)
append_frame(@1508,Object[#3008])
same_frame(@1512)
same_locals_1_stack_item_frame(@1513,Integer)
append_frame(@1528,Integer)
same_frame(@1555)
same_frame(@1559)
same_locals_1_stack_item_frame(@1560,Integer)
append_frame(@1575,Integer)
full_frame(@1642,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Object[#1612]},{})
same_locals_1_stack_item_frame(@1643,Integer)
same_locals_1_stack_item_frame(@1662,Object[#1239])
same_locals_1_stack_item_frame(@1674,Object[#1240])
same_locals_1_stack_item_frame(@1685,Object[#1241])
same_frame(@1695)
same_frame(@1722)
same_locals_1_stack_item_frame(@1725,Object[#1239])
same_locals_1_stack_item_frame(@1737,Object[#1240])
same_locals_1_stack_item_frame(@1748,Object[#1241])
same_frame(@1758)
same_frame(@1768)
same_frame(@1787)
same_locals_1_stack_item_frame(@1790,Object[#1239])
same_locals_1_stack_item_frame(@1802,Object[#1240])
same_locals_1_stack_item_frame(@1813,Object[#1241])
same_frame(@1823)
same_frame(@1837)
same_locals_1_stack_item_frame(@1838,Integer)
same_locals_1_stack_item_frame(@1843,Object[#1239])
same_locals_1_stack_item_frame(@1855,Object[#1240])
same_locals_1_stack_item_frame(@1866,Object[#1241])
same_frame(@1876)
same_locals_1_stack_item_frame(@1879,Object[#1239])
same_locals_1_stack_item_frame(@1891,Object[#1240])
same_locals_1_stack_item_frame(@1902,Object[#1241])
same_frame(@1912)
same_locals_1_stack_item_frame(@1915,Object[#210])
chop_frame(@1928,1)
same_frame(@1937)
same_locals_1_stack_item_frame(@1938,Integer)
append_frame(@1953,Integer)
full_frame(@1970,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3010]},{})
same_frame(@1981)
full_frame(@2030,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3010],Object[#3011],Object[#3011],Integer,Object[#1609],Integer,Integer,Object[#2388],Object[#1612]},{})
same_locals_1_stack_item_frame(@2031,Integer)
same_locals_1_stack_item_frame(@2050,Object[#1239])
same_locals_1_stack_item_frame(@2062,Object[#1240])
same_locals_1_stack_item_frame(@2073,Object[#1241])
same_frame(@2083)
same_frame(@2110)
same_locals_1_stack_item_frame(@2113,Object[#1239])
same_locals_1_stack_item_frame(@2125,Object[#1240])
same_locals_1_stack_item_frame(@2136,Object[#1241])
same_frame(@2146)
same_frame(@2156)
same_frame(@2171)
same_locals_1_stack_item_frame(@2174,Object[#1239])
same_locals_1_stack_item_frame(@2186,Object[#1240])
same_locals_1_stack_item_frame(@2197,Object[#1241])
same_frame(@2207)
same_frame(@2221)
same_locals_1_stack_item_frame(@2222,Integer)
same_locals_1_stack_item_frame(@2227,Object[#1239])
same_locals_1_stack_item_frame(@2239,Object[#1240])
same_locals_1_stack_item_frame(@2250,Object[#1241])
same_frame(@2260)
same_locals_1_stack_item_frame(@2263,Object[#1239])
same_locals_1_stack_item_frame(@2275,Object[#1240])
same_locals_1_stack_item_frame(@2286,Object[#1241])
same_frame(@2296)
same_locals_1_stack_item_frame(@2299,Object[#210])
chop_frame(@2312,1)
same_frame(@2321)
same_locals_1_stack_item_frame(@2322,Integer)
append_frame(@2337,Integer)
append_frame(@2358,Object[#3012])
same_locals_1_stack_item_frame(@2359,Integer)
append_frame(@2386,Integer)
same_frame(@2390)
same_locals_1_stack_item_frame(@2391,Integer)
append_frame(@2406,Integer)
same_frame(@2424)
same_frame(@2428)
same_locals_1_stack_item_frame(@2429,Integer)
append_frame(@2444,Integer)
full_frame(@2454,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3010],Object[#3011],Object[#3011]},{})
full_frame(@2463,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer},{})
full_frame(@2475,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3005]},{Object[#1239]})
same_locals_1_stack_item_frame(@2487,Object[#1240])
same_locals_1_stack_item_frame(@2498,Object[#1241])
same_frame(@2507)
same_frame(@2534)
same_locals_1_stack_item_frame(@2537,Object[#1239])
same_locals_1_stack_item_frame(@2549,Object[#1240])
same_locals_1_stack_item_frame(@2560,Object[#1241])
same_frame(@2570)
same_frame(@2580)
same_locals_1_stack_item_frame(@2592,Object[#210])
same_frame(@2605)
same_frame(@2614)
same_locals_1_stack_item_frame(@2615,Integer)
append_frame(@2630,Integer)
full_frame(@2728,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3005],Integer,Object[#3013],Integer,Integer,Integer,Integer,Object[#3005]},{})
same_locals_1_stack_item_frame(@2729,Integer)
append_frame(@2747,Integer,Integer)
same_frame(@2758)
same_locals_1_stack_item_frame(@2759,Integer)
append_frame(@2777,Integer,Integer)
same_frame(@2791)
same_locals_1_stack_item_frame(@2792,Integer)
full_frame(@2817,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Integer,Object[#1610],Object[#3006],Integer,Object[#3007],Integer,Object[#1609],Integer,Integer,Object[#2373],Integer,Object[#3008],Integer,Integer,Integer,Integer,Integer,Integer,Object[#1609],Integer,Integer,Integer,Integer,Object[#1617],Integer,Object[#3009],Integer,Integer,Object[#3005],Integer,Object[#3013],Integer,Integer,Integer,Integer,Object[#3005]},{})
same_locals_1_stack_item_frame(@2820,Object[#1239])
same_locals_1_stack_item_frame(@2832,Object[#1240])
same_locals_1_stack_item_frame(@2843,Object[#1241])
same_frame(@2856)
same_frame(@2875)
same_frame(@2879)
same_locals_1_stack_item_frame(@2880,Integer)
same_frame(@2914)
same_locals_1_stack_item_frame(@2917,Object[#1239])
same_locals_1_stack_item_frame(@2929,Object[#1240])
same_locals_1_stack_item_frame(@2940,Object[#1241])
same_frame(@2950)
full_frame(@2953,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613]},{Object[#883]})
full_frame(@2982,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Object[#883],Integer,Integer,Integer,Object[#883],Object[#1610]},{Object[#1239]})
same_locals_1_stack_item_frame(@2994,Object[#1240])
same_locals_1_stack_item_frame(@3005,Object[#1241])
same_frame(@3014)
same_locals_1_stack_item_frame(@3020,Object[#1239])
same_locals_1_stack_item_frame(@3032,Object[#1240])
same_locals_1_stack_item_frame(@3043,Object[#1241])
same_frame(@3052)
same_frame(@3062)
same_frame(@3066)
same_locals_1_stack_item_frame(@3067,Integer)
same_frame(@3092)
same_locals_1_stack_item_frame(@3095,Object[#1239])
same_locals_1_stack_item_frame(@3107,Object[#1240])
same_locals_1_stack_item_frame(@3118,Object[#1241])
same_frame(@3128)
same_frame(@3139)
same_locals_1_stack_item_frame(@3142,Object[#1239])
same_locals_1_stack_item_frame(@3154,Object[#1240])
same_locals_1_stack_item_frame(@3165,Object[#1241])
same_frame(@3175)
same_frame(@3189)
same_locals_1_stack_item_frame(@3190,Integer)
same_locals_1_stack_item_frame(@3195,Object[#1239])
same_locals_1_stack_item_frame(@3207,Object[#1240])
same_locals_1_stack_item_frame(@3218,Object[#1241])
same_frame(@3227)
same_locals_1_stack_item_frame(@3230,Object[#1239])
same_locals_1_stack_item_frame(@3242,Object[#1240])
same_locals_1_stack_item_frame(@3253,Object[#1241])
same_frame(@3262)
same_frame(@3276)
same_locals_1_stack_item_frame(@3277,Integer)
same_locals_1_stack_item_frame(@3282,Object[#1239])
same_locals_1_stack_item_frame(@3294,Object[#1240])
same_locals_1_stack_item_frame(@3305,Object[#1241])
same_frame(@3314)
same_locals_1_stack_item_frame(@3317,Object[#1239])
same_locals_1_stack_item_frame(@3329,Object[#1240])
same_locals_1_stack_item_frame(@3340,Object[#1241])
same_frame(@3349)
same_locals_1_stack_item_frame(@3352,Object[#210])
same_frame(@3365)
full_frame(@3395,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Object[#883],Integer,Integer,Integer,Object[#883],Object[#1610],Object[#1609],Object[#1612],Object[#1612],Object[#1612]},{})
same_locals_1_stack_item_frame(@3396,Integer)
same_frame(@3422)
same_locals_1_stack_item_frame(@3423,Integer)
same_frame(@3432)
same_frame(@3450)
same_locals_1_stack_item_frame(@3451,Integer)
same_frame(@3460)
same_locals_1_stack_item_frame(@3470,Object[#1239])
same_locals_1_stack_item_frame(@3482,Object[#1240])
same_locals_1_stack_item_frame(@3493,Object[#1241])
same_frame(@3503)
same_frame(@3530)
same_locals_1_stack_item_frame(@3533,Object[#1239])
same_locals_1_stack_item_frame(@3545,Object[#1240])
same_locals_1_stack_item_frame(@3556,Object[#1241])
same_frame(@3566)
same_frame(@3576)
same_locals_1_stack_item_frame(@3589,Object[#210])
full_frame(@3602,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613]},{})
append_frame(@3633,Object[#3005])
same_locals_1_stack_item_frame(@3634,Integer)
append_frame(@3652,Integer,Integer)
same_frame(@3663)
same_locals_1_stack_item_frame(@3664,Integer)
append_frame(@3682,Integer,Integer)
same_frame(@3696)
same_locals_1_stack_item_frame(@3697,Integer)
full_frame(@3722,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Integer,Object[#1610],Object[#1613],Object[#3005]},{})
same_locals_1_stack_item_frame(@3725,Object[#1239])
same_locals_1_stack_item_frame(@3737,Object[#1240])
same_locals_1_stack_item_frame(@3748,Object[#1241])
same_frame(@3761)
same_frame(@3780)
same_frame(@3784)
same_locals_1_stack_item_frame(@3785,Integer)
same_frame(@3819)
same_locals_1_stack_item_frame(@3822,Object[#1239])
same_locals_1_stack_item_frame(@3834,Object[#1240])
same_locals_1_stack_item_frame(@3845,Object[#1241])
same_frame(@3855)
full_frame(@3858,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610]},{Object[#210]})
same_locals_1_stack_item_frame(@3866,Object[#1630])
full_frame(@3882,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Object[#1630]},{})
same_locals_1_stack_item_frame(@3883,Integer)
append_frame(@3901,Integer,Integer)
same_frame(@3912)
same_locals_1_stack_item_frame(@3913,Integer)
append_frame(@3931,Integer,Integer)
same_frame(@3945)
same_locals_1_stack_item_frame(@3946,Integer)
full_frame(@3971,{Object[#1237],Object[#1609],Object[#1610],Object[#210],Integer,Object[#3005],Integer,Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Object[#1609],Object[#1610],Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Top,Object[#1630]},{})
same_locals_1_stack_item_frame(@3974,Object[#1239])
same_locals_1_stack_item_frame(@3986,Object[#1240])
same_locals_1_stack_item_frame(@3997,Object[#1241])
same_frame(@4010)
same_frame(@4029)
same_frame(@4033)
same_locals_1_stack_item_frame(@4034,Integer)
same_frame(@4068)
same_locals_1_stack_item_frame(@4071,Object[#1239])
same_locals_1_stack_item_frame(@4083,Object[#1240])
same_locals_1_stack_item_frame(@4094,Object[#1241])
same_frame(@4104)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at org.hyperledger.fabric.contract.routing.impl.ContractDefinitionImpl.<init>(ContractDefinitionImpl.java:61)
at org.hyperledger.fabric.contract.routing.impl.RoutingRegistryImpl.addNewContract(RoutingRegistryImpl.java:58)
at org.hyperledger.fabric.contract.routing.impl.RoutingRegistryImpl.addContracts(RoutingRegistryImpl.java:212)
at org.hyperledger.fabric.contract.routing.impl.RoutingRegistryImpl.findAndSetContracts(RoutingRegistryImpl.java:197)
at org.hyperledger.fabric.contract.ContractRouter.findAllContracts(ContractRouter.java:88)
at org.hyperledger.fabric.contract.ContractRouter.main(ContractRouter.java:160)
The Java project must contain environment requirements and build information in its readme.
Currently, a clean clone results in the following:
Could not create task ':downloadOpenJML'
compilation error."/libs": not found
error during the Docker build.I'm guessing a correct Java and Gradle version solves the issue, but the readme should include that.
By default, fields (actually, all reference types) cannot be null
in OpenJML 1.
This may make sense in many situations, however, as far as I understand, we more often require unset (null
) fields in our entity types than not. Therefore I have gone ahead and changed the default using the --nullable-by-default
compile-time flag here.
@aklenik, @KangogoDamarisKE , do you agree with this?
Now that Hypernate exists as an independent library at ftsrg/hypernate, we should remove Hypernate-specific code from the TPC-C implementation and add Hypernate as an external dependency.
We can use jitpack, but the Hypernate repo has to become public first.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.