diff --git a/crates/l2/starknet-proxy-client/src/artifacts/Proxy_5_0_0.json b/crates/l2/starknet-proxy-client/src/artifacts/Proxy_5_0_0.json index 9a5e95a..bc0a4d8 100644 --- a/crates/l2/starknet-proxy-client/src/artifacts/Proxy_5_0_0.json +++ b/crates/l2/starknet-proxy-client/src/artifacts/Proxy_5_0_0.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"upgradeActivationDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"ENABLE_WINDOW_DURATION_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PROXY_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addImplementation","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getEnableWindowDuration","inputs":[],"outputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUpgradeActivationDelay","inputs":[],"outputs":[{"name":"delay","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"_implementation","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"isAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isNotFinalized","inputs":[],"outputs":[{"name":"notFinal","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeImplementation","inputs":[{"name":"removedImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"FinalizedImplementation","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ImplementationAdded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"finalize","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ImplementationRemoved","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"finalize","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ImplementationUpgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801562000010575f80fd5b50604051620027e8380380620027e88339810160408190526200003391620006a1565b5f608081905262000043620000a0565b506200006d817fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f55565b62000099621275007fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073855565b5062000744565b6040805180820190915260128152713e3e3e3e3e20696e697469616c697a65282960701b60208201523390620000d79082620000e6565b620000e3818062000137565b50565b620001338282604051602401620000ff929190620006fe565b60408051601f198184030181529190526020810180516001600160e01b0390811663319af33360e01b17909152620002da16565b5050565b62000141620002f0565b15620001d9576001600160a01b0382165f9081527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b0602052604090205460ff16620001d35760405162461bcd60e51b815260206004820152601960248201527f524f4c45535f414c52454144595f494e495449414c495a45440000000000000060448201526064015b60405180910390fd5b62000208565b620001e48262000341565b620002086040518060600160405280602e8152602001620027ba602e913962000484565b62000212620004cf565b15620002ab576001600160a01b0381165f9081527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c23602052604090205460ff16620001335760405162461bcd60e51b815260206004820152602260248201527f53454355524954595f524f4c45535f414c52454144595f494e495449414c495a604482015261115160f21b6064820152608401620001ca565b620002b6816200051e565b620001336040518060600160405280602c81526020016200270e602c913962000484565b620000e3816200058c60201b6200157c1760201c565b5f805160206200273a8339815191525f9081525f805160206200277a8339815191526020527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b15481905b1415905090565b6200035b5f805160206200273a83398151915282620005ac565b620003947ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060685f805160206200279a8339815191526200064a565b620003bc5f805160206200279a8339815191525f805160206200273a8339815191526200064a565b620003d65f805160206200273a833981519152806200064a565b620004107f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da75f805160206200279a8339815191526200064a565b6200044a7f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e5f805160206200279a8339815191526200064a565b620000e37f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2285f805160206200273a8339815191526200064a565b620000e3816040516024016200049b919062000729565b60408051601f198184030181529190526020810180516001600160e01b0390811663104c13eb60e21b17909152620002da16565b5f805160206200275a8339815191525f9081525f805160206200277a8339815191526020527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c245481906200033a565b620005385f805160206200275a833981519152806200064a565b620005727f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b965f805160206200275a8339815191526200064a565b620000e35f805160206200275a83398151915282620005ac565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f805160206200277a833981519152602090815260408083206001600160a01b038516845290915290205460ff1662000133575f8281525f805160206200277a833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b5f8281525f805160206200277a8339815191526020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f60208284031215620006b2575f80fd5b5051919050565b5f81518084525f5b81811015620006df57602081850181015186830182015201620006c1565b505f602082860101526020601f19601f83011685010191505092915050565b604081525f620007126040830185620006b9565b905060018060a01b03831660208301529392505050565b602081525f6200073d6020830184620006b9565b9392505050565b608051611fb16200075d5f395f6108e80152611fb15ff3fe60806040526004361061021d575f3560e01c806372a44f0711610122578063d08fb6cb116100aa578063e907fa3c1161006e578063e907fa3c14610747578063ed9ef16a1461077b578063ee0e68071461079a578063fa0f73ba146107b9578063fad8b32a146107d85761026f565b8063d08fb6cb146106a1578063d38d8d7a146106c0578063d9fa7091146106d6578063deec9c5a146106f5578063e02904c6146107145761026f565b80639463629a116100f15780639463629a146105e8578063a2bdde3d14610607578063c5ab845314610626578063cb1cccce14610663578063cdd1f70d146106825761026f565b806372a44f0714610577578063757bd9ab1461058b5780638101b64c146105aa5780638e5224ff146105c95761026f565b80635a5d1bb9116101a557806362a143761161017457806362a14376146104e85780636c04d9d5146105075780636d70f7ae146105265780636fc97cbf146105455780637147855d146105645761026f565b80635a5d1bb9146104485780635c60da1b146104775780635cef2e86146104aa5780635e3a97e7146104c95761026f565b80632f951985116101ec5780632f9519851461039957806336568abe146103b85780633682a450146103d7578063439fab91146103f657806352b1e35e146104155761026f565b80630b3a2d21146102f65780630e770f2314610315578063178963831461033457806320cea94d146103535761026f565b3661026f5760405162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f5245434549564560448201526064015b60405180910390fd5b5f6102855f80516020611f5c8339815191525490565b90506001600160a01b0381166102d65760405162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b6044820152606401610266565b365f80375f80365f845af43d5f803e8080156102f0573d5ff35b3d5ffd5b005b348015610301575f80fd5b506102f4610310366004611b5a565b6107f7565b348015610320575f80fd5b506102f461032f366004611b5a565b610824565b34801561033f575f80fd5b506102f461034e366004611b5a565b61084e565b34801561035e575f80fd5b506103867fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040519081526020015b60405180910390f35b3480156103a4575f80fd5b506102f46103b3366004611b5a565b610878565b3480156103c3575f80fd5b506102f46103d2366004611b73565b6108cf565b3480156103e2575f80fd5b506102f46103f1366004611b5a565b610960565b348015610401575f80fd5b506102f4610410366004611be2565b61098a565b348015610420575f80fd5b506103867fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073881565b348015610453575f80fd5b50610467610462366004611b5a565b6109cb565b6040519015158152602001610390565b348015610482575f80fd5b505f80516020611f5c833981519152546040516001600160a01b039091168152602001610390565b3480156104b5575f80fd5b506102f46104c4366004611c2e565b6109fb565b3480156104d4575f80fd5b506102f46104e3366004611c2e565b610b35565b3480156104f3575f80fd5b506102f4610502366004611b5a565b610ca4565b348015610512575f80fd5b50610467610521366004611b5a565b610cce565b348015610531575f80fd5b50610467610540366004611b5a565b610cf9565b348015610550575f80fd5b506102f461055f366004611b5a565b610d24565b6102f4610572366004611c2e565b610d4e565b348015610582575f80fd5b506103866112d5565b348015610596575f80fd5b506104676105a5366004611b5a565b611314565b3480156105b5575f80fd5b506102f46105c4366004611b5a565b61133f565b3480156105d4575f80fd5b506104676105e3366004611b5a565b611392565b3480156105f3575f80fd5b506102f4610602366004611b5a565b6113bd565b348015610612575f80fd5b50610467610621366004611b5a565b6113d4565b348015610631575f80fd5b50610656604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516103909190611cb2565b34801561066e575f80fd5b5061046761067d366004611b5a565b6113ff565b34801561068d575f80fd5b506102f461069c366004611b5a565b611417565b3480156106ac575f80fd5b506104676106bb366004611b5a565b611440565b3480156106cb575f80fd5b5061038662ed4e0081565b3480156106e1575f80fd5b506102f46106f0366004611b5a565b61146b565b348015610700575f80fd5b506102f461070f366004611b5a565b611495565b34801561071f575f80fd5b507fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073854610386565b348015610752575f80fd5b507f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610467565b348015610786575f80fd5b506102f4610795366004611b5a565b6114be565b3480156107a5575f80fd5b506102f46107b4366004611b5a565b6114e8565b3480156107c4575f80fd5b506102f46107d3366004611b5a565b611528565b3480156107e3575f80fd5b506102f46107f2366004611b5a565b611552565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8261159c565b50565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968261159c565b6108217f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998261159c565b80336001600160a01b038216036108a15760405162461bcd60e51b815260040161026690611ce4565b6108cb7f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99836115d1565b5050565b5f80516020611f1c8339815191528214801561090957507f0000000000000000000000000000000000000000000000000000000000000000155b156109565760405162461bcd60e51b815260206004820181905260248201527f43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e6044820152606401610266565b6108cb8282611601565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78261159c565b60405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b6044820152606401610266565b5f6109f57ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688361167b565b92915050565b610a0433610cce565b610a205760405162461bcd60e51b815260040161026690611d14565b5f84848484604051602001610a389493929190611d6b565b6040516020818303038152906040528051906020012090505f610a596116b1565b5f8381526020919091526040902054905080610ab75760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b610abf6116b1565b5f8381526020919091526040812055610ad66116ec565b5f8381526020019081526020015f205f9055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051610b2593929190611da2565b60405180910390a2505050505050565b610b3e33610cce565b610b5a5760405162461bcd60e51b815260040161026690611d14565b6001600160a01b0384163b610ba85760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b5f84848484604051602001610bc09493929190611d6b565b6040516020818303038152906040528051906020012090505f610be16112d5565b610beb9042611ddb565b90505f610c167fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385490565b610c209083611ddb565b905081610c2b6116b1565b5f858152602091909152604090205580610c436116ec565b5f8581526020019081526020015f2081905550866001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b878787604051610c9393929190611da2565b60405180910390a250505050505050565b6108217f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38261159c565b5f6109f57f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288361167b565b5f6109f57f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78361167b565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288261159c565b610d5733610cce565b610d735760405162461bcd60e51b815260040161026690611d14565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610de25760405162461bcd60e51b815260206004820152601860248201527f494d504c454d454e544154494f4e5f46494e414c495a454400000000000000006044820152606401610266565b610dea611723565b15610e295760405162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b6044820152606401610266565b5f84848484604051602001610e419493929190611d6b565b6040516020818303038152906040528051906020012090505f610e626116b1565b5f83815260209190915260408120549150610e7b6116ec565b5f8481526020919091526040902054905081610ed95760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b6001600160a01b0387163b610f275760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b4282111580610f5257505f610f475f80516020611f5c8339815191525490565b6001600160a01b0316145b610f9e5760405162461bcd60e51b815260206004820152601760248201527f555047524144455f4e4f545f454e41424c45445f5945540000000000000000006044820152606401610266565b42811015610fe75760405162461bcd60e51b815260206004820152601660248201527512535413115351539510551253d397d156141254915160521b6044820152606401610266565b610ffc875f80516020611f5c83398151915255565b5f80886001600160a01b031663439fab9160e01b8989604051602401611023929190611dee565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516110619190611e09565b5f60405180830381855af49150503d805f8114611099576040519150601f19603f3d011682016040523d82523d5f602084013e61109e565b606091505b50915091508181906110c35760405162461bcd60e51b81526004016102669190611cb2565b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290516001600160a01b038b169161110291611e09565b5f60405180830381855af49150503d805f811461113a576040519150601f19603f3d011682016040523d82523d5f602084013e61113f565b606091505b509092509050816111925760405162461bcd60e51b815260206004820152601960248201527f43414c4c5f544f5f495346524f5a454e5f5245564552544544000000000000006044820152606401610266565b808060200190518101906111a69190611e24565b156111f35760405162461bcd60e51b815260206004820152601960248201527f4e45575f494d504c454d454e544154494f4e5f46524f5a454e000000000000006044820152606401610266565b6111fb6116b1565b5f86815260209190915260408120556112126116ec565b5f8681526020019081526020015f205f9055886001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544898960405161125f929190611dee565b60405180910390a285156112ca5761129660017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6040516001600160a01b038a16907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c905f90a25b505050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e00821061130c5762ed4e0061130e565b815b91505090565b5f6109f57f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968361167b565b80336001600160a01b038216036113685760405162461bcd60e51b815260040161026690611ce4565b6108cb7f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3836115d1565b5f6109f57f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998361167b565b6108215f80516020611f1c8339815191528261159c565b5f6109f57f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8361167b565b5f6109f55f80516020611f1c8339815191528361167b565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688261159c565b5f6109f57f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38361167b565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b96826115d1565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de06068826115d1565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec228826115d1565b80336001600160a01b038216036115115760405162461bcd60e51b815260040161026690611ce4565b6108cb5f80516020611f1c833981519152836115d1565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e826115d1565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da7826115d1565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115c281611812565b6115cc838361181c565b505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115f781611812565b6115cc8383611890565b6001600160a01b03811633146116715760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610266565b6108cb8282611890565b5f9182525f80516020611f3c833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f6116e76040518060400160405280601481526020017350524f58595f355f454e41424c45445f54494d4560601b815250611902565b905090565b5f6116e76040518060400160405280601581526020017450524f58595f355f44495341424c45445f54494d4560581b815250611902565b5f8061173a5f80516020611f5c8339815191525490565b90506001600160a01b038116611751575f91505090565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290515f9182916001600160a01b0385169161179391611e09565b5f60405180830381855af49150503d805f81146117cb576040519150601f19603f3d011682016040523d82523d5f602084013e6117d0565b606091505b50915091508181906117f55760405162461bcd60e51b81526004016102669190611cb2565b508080602001905181019061180a9190611e24565b935050505090565b6108218133611934565b611826828261167b565b6108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b61189a828261167b565b156108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f80826040516020016119159190611e09565b60408051601f1981840301815291905280516020909101209392505050565b61193e828261167b565b6108cb57611956816001600160a01b03166014611998565b611961836020611998565b604051602001611972929190611e3f565b60408051601f198184030181529082905262461bcd60e51b825261026691600401611cb2565b60605f6119a6836002611eb3565b6119b1906002611ddb565b67ffffffffffffffff8111156119c9576119c9611eca565b6040519080825280601f01601f1916602001820160405280156119f3576020820181803683370190505b509050600360fc1b815f81518110611a0d57611a0d611ede565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611a3b57611a3b611ede565b60200101906001600160f81b03191690815f1a9053505f611a5d846002611eb3565b611a68906001611ddb565b90505b6001811115611adf576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a9c57611a9c611ede565b1a60f81b828281518110611ab257611ab2611ede565b60200101906001600160f81b03191690815f1a90535060049490941c93611ad881611ef2565b9050611a6b565b508315611b2e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610266565b9392505050565b611b3d611f07565b565b80356001600160a01b0381168114611b55575f80fd5b919050565b5f60208284031215611b6a575f80fd5b611b2e82611b3f565b5f8060408385031215611b84575f80fd5b82359150611b9460208401611b3f565b90509250929050565b5f8083601f840112611bad575f80fd5b50813567ffffffffffffffff811115611bc4575f80fd5b602083019150836020828501011115611bdb575f80fd5b9250929050565b5f8060208385031215611bf3575f80fd5b823567ffffffffffffffff811115611c09575f80fd5b611c1585828601611b9d565b90969095509350505050565b8015158114610821575f80fd5b5f805f8060608587031215611c41575f80fd5b611c4a85611b3f565b9350602085013567ffffffffffffffff811115611c65575f80fd5b611c7187828801611b9d565b9094509250506040850135611c8581611c21565b939692955090935050565b5f5b83811015611caa578181015183820152602001611c92565b50505f910152565b602081525f8251806020840152611cd0816040850160208701611c90565b601f01601f19169190910160400192915050565b60208082526016908201527521a0a72727aa2fa822a92327a926afa7a72fa9a2a62360511b604082015260600190565b60208082526015908201527427a7262cafaaa823a920a222afa3a7ab22a92727a960591b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03851681526060602082018190525f90611d8f9083018587611d43565b9050821515604083015295945050505050565b604081525f611db5604083018587611d43565b90508215156020830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611dc7565b602081525f611e01602083018486611d43565b949350505050565b5f8251611e1a818460208701611c90565b9190910192915050565b5f60208284031215611e34575f80fd5b8151611b2e81611c21565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611e76816017850160208801611c90565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ea7816028840160208801611c90565b01602801949350505050565b80820281158282048414176109f5576109f5611dc7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f81611f0057611f00611dc7565b505f190190565b634e487b7160e01b5f52605160045260245ffdfe03711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c84184653e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24a264697066735822122010bff76d73dcfd786224e4e6f1dd55ea8b8f3cb9d6dd0c7f15219ee8c85f11c264736f6c634300081800333e3e3e3e3e20696e69745365637572697479526f6c65732870726f766973696f6e616c53656341646d696e2903711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b353e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee993e3e3e3e3e20696e6974476f7665726e616e6365526f6c65732870726f766973696f6e616c476f7665726e6f7229","sourceMap":"2986:11128:12:-:0;;;3922:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3972:5;868:31:7;;;;909:21;:19;:21::i;:::-;-1:-1:-1;3989:49:12::1;4015:22:::0;2455:66:9;4416:28:12;4273:187;3989:49:::1;4048:32;4072:7;2810:66:9::0;5407:31:12;5254:200;4048:32:::1;3922:165:::0;2986:11128;;3134:198:8;3233:46;;;;;;;;;;;;-1:-1:-1;;;3233:46:8;;;;3916:10:4;;3233:46:8;;3916:10:4;3233:11:8;:46::i;:::-;3289:36;3300:11;;3289:10;:36::i;:::-;3165:167;3134:198::o;7364:145:3:-;7431:71;7494:2;7498;7447:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7447:54:3;;;;;;;;;;;;;;-1:-1:-1;;;;;7447:54:3;;;-1:-1:-1;;;7447:54:3;;;;7431:15;:71;:::i;:::-;7364:145;;:::o;3338:1220:8:-;3461:28;:26;:28::i;:::-;3457:560;;;-1:-1:-1;;;;;5259:31:4;;5236:4;5259:31;;;:14;;:31;:14;:31;;;;;3716:144:8;;;;-1:-1:-1;;;3716:144:8;;1155:2:14;3716:144:8;;;1137:21:14;1194:2;1174:18;;;1167:30;1233:27;1213:18;;;1206:55;1278:18;;3716:144:8;;;;;;;;;3457:560;;;3891:40;3911:19;3891;:40::i;:::-;3945:61;;;;;;;;;;;;;;;;;;:11;:61::i;:::-;4031:26;:24;:26::i;:::-;4027:525;;;-1:-1:-1;;;;;5259:31:4;;5236:4;5259:31;;;:14;;:31;:14;:31;;;;;4248:151:8;;;;-1:-1:-1;;;4248:151:8;;1509:2:14;4248:151:8;;;1491:21:14;1548:2;1528:18;;;1521:30;1587:34;1567:18;;;1560:62;-1:-1:-1;;;1638:18:14;;;1631:32;1680:19;;4248:151:8;1307:398:14;4027:525:8;4430:38;4448:19;4430:17;:38::i;:::-;4482:59;;;;;;;;;;;;;;;;;;:11;:59::i;408:133:3:-;479:55;526:7;505:19;;;;;479:55;;:::i;2822:152:8:-;-1:-1:-1;;;;;;;;;;;2883:4:8;6680:14:4;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;:24;;2883:4:8;;2906:44;:61;;2899:68;;2822:152;:::o;4850:559::-;4926:63;-1:-1:-1;;;;;;;;;;;4969:19:8;4926:24;:63::i;:::-;4999:57;854:64;-1:-1:-1;;;;;;;;;;;4999:27:8;:57::i;:::-;5066:61;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;5066:27:8;:61::i;:::-;5137:63;-1:-1:-1;;;;;;;;;;;1268:66:8;5137:27;:63::i;:::-;5210:53;1462:66;-1:-1:-1;;;;;;;;;;;5210:27:8;:53::i;:::-;5273:56;2074:66;-1:-1:-1;;;;;;;;;;;5273:27:8;:56::i;:::-;5339:63;2284:66;-1:-1:-1;;;;;;;;;;;5339:27:8;:63::i;6000:121:3:-;6055:59;6110:2;6071:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6071:42:3;;;;;;;;;;;;;;-1:-1:-1;;;;;6071:42:3;;;-1:-1:-1;;;6071:42:3;;;;6055:15;:59;:::i;2980:148:8:-;-1:-1:-1;;;;;;;;;;;3039:4:8;6680:14:4;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;:24;;3039:4:8;;3062:42;6595:116:4;4564:280:8;4638:59;-1:-1:-1;;;;;;;;;;;1668:66:8;4638:27;:59::i;:::-;4707;1874:66;-1:-1:-1;;;;;;;;;;;4707:27:8;:59::i;:::-;4776:61;-1:-1:-1;;;;;;;;;;;4817:19:8;4776:24;:61::i;547:380:3:-;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;9592:227:4:-;5236:4;5259:14;;;-1:-1:-1;;;;;;;;;;;5259:14:4;;;;;;;;-1:-1:-1;;;;;5259:31:4;;;;;;;;;;;;9662:151;;9705:14;;;;-1:-1:-1;;;;;;;;;;;9705:14:4;;;;;;;;-1:-1:-1;;;;;9705:31:4;;;;;;;;;;:38;;-1:-1:-1;;9705:38:4;9739:4;9705:38;;;9762:40;3916:10;;9705:14;;9762:40;;9705:14;9762:40;9592:227;;:::o;9195:241::-;9270:25;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;;:24;;;;9326:36;;;;9377:52;;6680:24;;9326:36;;6680:24;;:14;;9377:52;;9270:25;9377:52;9260:176;9195:241;;:::o;14:184:14:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:14;;14:184;-1:-1:-1;14:184:14:o;203:423::-;245:3;283:5;277:12;310:6;305:3;298:19;335:1;345:162;359:6;356:1;353:13;345:162;;;421:4;477:13;;;473:22;;467:29;449:11;;;445:20;;438:59;374:12;345:162;;;349:3;552:1;545:4;536:6;531:3;527:16;523:27;516:38;615:4;608:2;604:7;599:2;591:6;587:15;583:29;578:3;574:39;570:50;563:57;;;203:423;;;;:::o;631:317::-;808:2;797:9;790:21;771:4;828:45;869:2;858:9;854:18;846:6;828:45;:::i;:::-;820:53;;938:1;934;929:3;925:11;921:19;913:6;909:32;904:2;893:9;889:18;882:60;631:317;;;;;:::o;1710:220::-;1859:2;1848:9;1841:21;1822:4;1879:45;1920:2;1909:9;1905:18;1897:6;1879:45;:::i;:::-;1871:53;1710:220;-1:-1:-1;;;1710:220:14:o;1935:127::-;2986:11128:12;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061021d575f3560e01c806372a44f0711610122578063d08fb6cb116100aa578063e907fa3c1161006e578063e907fa3c14610747578063ed9ef16a1461077b578063ee0e68071461079a578063fa0f73ba146107b9578063fad8b32a146107d85761026f565b8063d08fb6cb146106a1578063d38d8d7a146106c0578063d9fa7091146106d6578063deec9c5a146106f5578063e02904c6146107145761026f565b80639463629a116100f15780639463629a146105e8578063a2bdde3d14610607578063c5ab845314610626578063cb1cccce14610663578063cdd1f70d146106825761026f565b806372a44f0714610577578063757bd9ab1461058b5780638101b64c146105aa5780638e5224ff146105c95761026f565b80635a5d1bb9116101a557806362a143761161017457806362a14376146104e85780636c04d9d5146105075780636d70f7ae146105265780636fc97cbf146105455780637147855d146105645761026f565b80635a5d1bb9146104485780635c60da1b146104775780635cef2e86146104aa5780635e3a97e7146104c95761026f565b80632f951985116101ec5780632f9519851461039957806336568abe146103b85780633682a450146103d7578063439fab91146103f657806352b1e35e146104155761026f565b80630b3a2d21146102f65780630e770f2314610315578063178963831461033457806320cea94d146103535761026f565b3661026f5760405162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f5245434549564560448201526064015b60405180910390fd5b5f6102855f80516020611f5c8339815191525490565b90506001600160a01b0381166102d65760405162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b6044820152606401610266565b365f80375f80365f845af43d5f803e8080156102f0573d5ff35b3d5ffd5b005b348015610301575f80fd5b506102f4610310366004611b5a565b6107f7565b348015610320575f80fd5b506102f461032f366004611b5a565b610824565b34801561033f575f80fd5b506102f461034e366004611b5a565b61084e565b34801561035e575f80fd5b506103867fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040519081526020015b60405180910390f35b3480156103a4575f80fd5b506102f46103b3366004611b5a565b610878565b3480156103c3575f80fd5b506102f46103d2366004611b73565b6108cf565b3480156103e2575f80fd5b506102f46103f1366004611b5a565b610960565b348015610401575f80fd5b506102f4610410366004611be2565b61098a565b348015610420575f80fd5b506103867fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073881565b348015610453575f80fd5b50610467610462366004611b5a565b6109cb565b6040519015158152602001610390565b348015610482575f80fd5b505f80516020611f5c833981519152546040516001600160a01b039091168152602001610390565b3480156104b5575f80fd5b506102f46104c4366004611c2e565b6109fb565b3480156104d4575f80fd5b506102f46104e3366004611c2e565b610b35565b3480156104f3575f80fd5b506102f4610502366004611b5a565b610ca4565b348015610512575f80fd5b50610467610521366004611b5a565b610cce565b348015610531575f80fd5b50610467610540366004611b5a565b610cf9565b348015610550575f80fd5b506102f461055f366004611b5a565b610d24565b6102f4610572366004611c2e565b610d4e565b348015610582575f80fd5b506103866112d5565b348015610596575f80fd5b506104676105a5366004611b5a565b611314565b3480156105b5575f80fd5b506102f46105c4366004611b5a565b61133f565b3480156105d4575f80fd5b506104676105e3366004611b5a565b611392565b3480156105f3575f80fd5b506102f4610602366004611b5a565b6113bd565b348015610612575f80fd5b50610467610621366004611b5a565b6113d4565b348015610631575f80fd5b50610656604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516103909190611cb2565b34801561066e575f80fd5b5061046761067d366004611b5a565b6113ff565b34801561068d575f80fd5b506102f461069c366004611b5a565b611417565b3480156106ac575f80fd5b506104676106bb366004611b5a565b611440565b3480156106cb575f80fd5b5061038662ed4e0081565b3480156106e1575f80fd5b506102f46106f0366004611b5a565b61146b565b348015610700575f80fd5b506102f461070f366004611b5a565b611495565b34801561071f575f80fd5b507fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073854610386565b348015610752575f80fd5b507f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610467565b348015610786575f80fd5b506102f4610795366004611b5a565b6114be565b3480156107a5575f80fd5b506102f46107b4366004611b5a565b6114e8565b3480156107c4575f80fd5b506102f46107d3366004611b5a565b611528565b3480156107e3575f80fd5b506102f46107f2366004611b5a565b611552565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8261159c565b50565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968261159c565b6108217f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998261159c565b80336001600160a01b038216036108a15760405162461bcd60e51b815260040161026690611ce4565b6108cb7f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99836115d1565b5050565b5f80516020611f1c8339815191528214801561090957507f0000000000000000000000000000000000000000000000000000000000000000155b156109565760405162461bcd60e51b815260206004820181905260248201527f43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e6044820152606401610266565b6108cb8282611601565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78261159c565b60405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b6044820152606401610266565b5f6109f57ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688361167b565b92915050565b610a0433610cce565b610a205760405162461bcd60e51b815260040161026690611d14565b5f84848484604051602001610a389493929190611d6b565b6040516020818303038152906040528051906020012090505f610a596116b1565b5f8381526020919091526040902054905080610ab75760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b610abf6116b1565b5f8381526020919091526040812055610ad66116ec565b5f8381526020019081526020015f205f9055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051610b2593929190611da2565b60405180910390a2505050505050565b610b3e33610cce565b610b5a5760405162461bcd60e51b815260040161026690611d14565b6001600160a01b0384163b610ba85760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b5f84848484604051602001610bc09493929190611d6b565b6040516020818303038152906040528051906020012090505f610be16112d5565b610beb9042611ddb565b90505f610c167fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385490565b610c209083611ddb565b905081610c2b6116b1565b5f858152602091909152604090205580610c436116ec565b5f8581526020019081526020015f2081905550866001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b878787604051610c9393929190611da2565b60405180910390a250505050505050565b6108217f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38261159c565b5f6109f57f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288361167b565b5f6109f57f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78361167b565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288261159c565b610d5733610cce565b610d735760405162461bcd60e51b815260040161026690611d14565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610de25760405162461bcd60e51b815260206004820152601860248201527f494d504c454d454e544154494f4e5f46494e414c495a454400000000000000006044820152606401610266565b610dea611723565b15610e295760405162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b6044820152606401610266565b5f84848484604051602001610e419493929190611d6b565b6040516020818303038152906040528051906020012090505f610e626116b1565b5f83815260209190915260408120549150610e7b6116ec565b5f8481526020919091526040902054905081610ed95760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b6001600160a01b0387163b610f275760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b4282111580610f5257505f610f475f80516020611f5c8339815191525490565b6001600160a01b0316145b610f9e5760405162461bcd60e51b815260206004820152601760248201527f555047524144455f4e4f545f454e41424c45445f5945540000000000000000006044820152606401610266565b42811015610fe75760405162461bcd60e51b815260206004820152601660248201527512535413115351539510551253d397d156141254915160521b6044820152606401610266565b610ffc875f80516020611f5c83398151915255565b5f80886001600160a01b031663439fab9160e01b8989604051602401611023929190611dee565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516110619190611e09565b5f60405180830381855af49150503d805f8114611099576040519150601f19603f3d011682016040523d82523d5f602084013e61109e565b606091505b50915091508181906110c35760405162461bcd60e51b81526004016102669190611cb2565b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290516001600160a01b038b169161110291611e09565b5f60405180830381855af49150503d805f811461113a576040519150601f19603f3d011682016040523d82523d5f602084013e61113f565b606091505b509092509050816111925760405162461bcd60e51b815260206004820152601960248201527f43414c4c5f544f5f495346524f5a454e5f5245564552544544000000000000006044820152606401610266565b808060200190518101906111a69190611e24565b156111f35760405162461bcd60e51b815260206004820152601960248201527f4e45575f494d504c454d454e544154494f4e5f46524f5a454e000000000000006044820152606401610266565b6111fb6116b1565b5f86815260209190915260408120556112126116ec565b5f8681526020019081526020015f205f9055886001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544898960405161125f929190611dee565b60405180910390a285156112ca5761129660017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6040516001600160a01b038a16907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c905f90a25b505050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e00821061130c5762ed4e0061130e565b815b91505090565b5f6109f57f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968361167b565b80336001600160a01b038216036113685760405162461bcd60e51b815260040161026690611ce4565b6108cb7f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3836115d1565b5f6109f57f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998361167b565b6108215f80516020611f1c8339815191528261159c565b5f6109f57f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8361167b565b5f6109f55f80516020611f1c8339815191528361167b565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688261159c565b5f6109f57f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38361167b565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b96826115d1565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de06068826115d1565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec228826115d1565b80336001600160a01b038216036115115760405162461bcd60e51b815260040161026690611ce4565b6108cb5f80516020611f1c833981519152836115d1565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e826115d1565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da7826115d1565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115c281611812565b6115cc838361181c565b505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115f781611812565b6115cc8383611890565b6001600160a01b03811633146116715760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610266565b6108cb8282611890565b5f9182525f80516020611f3c833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f6116e76040518060400160405280601481526020017350524f58595f355f454e41424c45445f54494d4560601b815250611902565b905090565b5f6116e76040518060400160405280601581526020017450524f58595f355f44495341424c45445f54494d4560581b815250611902565b5f8061173a5f80516020611f5c8339815191525490565b90506001600160a01b038116611751575f91505090565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290515f9182916001600160a01b0385169161179391611e09565b5f60405180830381855af49150503d805f81146117cb576040519150601f19603f3d011682016040523d82523d5f602084013e6117d0565b606091505b50915091508181906117f55760405162461bcd60e51b81526004016102669190611cb2565b508080602001905181019061180a9190611e24565b935050505090565b6108218133611934565b611826828261167b565b6108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b61189a828261167b565b156108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f80826040516020016119159190611e09565b60408051601f1981840301815291905280516020909101209392505050565b61193e828261167b565b6108cb57611956816001600160a01b03166014611998565b611961836020611998565b604051602001611972929190611e3f565b60408051601f198184030181529082905262461bcd60e51b825261026691600401611cb2565b60605f6119a6836002611eb3565b6119b1906002611ddb565b67ffffffffffffffff8111156119c9576119c9611eca565b6040519080825280601f01601f1916602001820160405280156119f3576020820181803683370190505b509050600360fc1b815f81518110611a0d57611a0d611ede565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611a3b57611a3b611ede565b60200101906001600160f81b03191690815f1a9053505f611a5d846002611eb3565b611a68906001611ddb565b90505b6001811115611adf576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a9c57611a9c611ede565b1a60f81b828281518110611ab257611ab2611ede565b60200101906001600160f81b03191690815f1a90535060049490941c93611ad881611ef2565b9050611a6b565b508315611b2e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610266565b9392505050565b611b3d611f07565b565b80356001600160a01b0381168114611b55575f80fd5b919050565b5f60208284031215611b6a575f80fd5b611b2e82611b3f565b5f8060408385031215611b84575f80fd5b82359150611b9460208401611b3f565b90509250929050565b5f8083601f840112611bad575f80fd5b50813567ffffffffffffffff811115611bc4575f80fd5b602083019150836020828501011115611bdb575f80fd5b9250929050565b5f8060208385031215611bf3575f80fd5b823567ffffffffffffffff811115611c09575f80fd5b611c1585828601611b9d565b90969095509350505050565b8015158114610821575f80fd5b5f805f8060608587031215611c41575f80fd5b611c4a85611b3f565b9350602085013567ffffffffffffffff811115611c65575f80fd5b611c7187828801611b9d565b9094509250506040850135611c8581611c21565b939692955090935050565b5f5b83811015611caa578181015183820152602001611c92565b50505f910152565b602081525f8251806020840152611cd0816040850160208701611c90565b601f01601f19169190910160400192915050565b60208082526016908201527521a0a72727aa2fa822a92327a926afa7a72fa9a2a62360511b604082015260600190565b60208082526015908201527427a7262cafaaa823a920a222afa3a7ab22a92727a960591b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03851681526060602082018190525f90611d8f9083018587611d43565b9050821515604083015295945050505050565b604081525f611db5604083018587611d43565b90508215156020830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611dc7565b602081525f611e01602083018486611d43565b949350505050565b5f8251611e1a818460208701611c90565b9190910192915050565b5f60208284031215611e34575f80fd5b8151611b2e81611c21565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611e76816017850160208801611c90565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ea7816028840160208801611c90565b01602801949350505050565b80820281158282048414176109f5576109f5611dc7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f81611f0057611f00611dc7565b505f190190565b634e487b7160e01b5f52605160045260245ffdfe03711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c84184653e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24a264697066735822122010bff76d73dcfd786224e4e6f1dd55ea8b8f3cb9d6dd0c7f15219ee8c85f11c264736f6c63430008180033","sourceMap":"2986:11128:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7342:42;;-1:-1:-1;;;7342:42:12;;216:2:14;7342:42:12;;;198:21:14;;;235:18;;;228:30;294:34;274:18;;;267:62;346:18;;7342:42:12;;;;;;;;2986:11128;7633:23;7659:16;-1:-1:-1;;;;;;;;;;;5740:11:12;;5572:195;7659:16;7633:42;-1:-1:-1;;;;;;7693:31:12;;7685:66;;;;-1:-1:-1;;;7685:66:12;;577:2:14;7685:66:12;;;559:21:14;616:2;596:18;;;589:30;-1:-1:-1;;;635:18:14;;;628:52;697:18;;7685:66:12;375:346:14;7685:66:12;8030:14;8027:1;8024;8011:34;8253:1;8250;8234:14;8231:1;8214:15;8207:5;8194:61;8329:16;8326:1;8323;8308:38;8443:6;8510:66;;;;8625:16;8622:1;8615:27;8510:66;8545:16;8542:1;8535:27;8436:220;;3988:116:7;;;;;;;;;;-1:-1:-1;3988:116:7;;;;;:::i;:::-;;:::i;3860:122::-;;;;;;;;;;-1:-1:-1;3860:122:7;;;;;:::i;:::-;;:::i;3356:121::-;;;;;;;;;;-1:-1:-1;3356:121:7;;;;;:::i;:::-;;:::i;2402:119:9:-;;;;;;;;;;-1:-1:-1;2402:119:9;2455:66;2402:119;;;;;1241:25:14;;;1229:2;1214:18;2402:119:9;;;;;;;;4385:137:7;;;;;;;;;;-1:-1:-1;4385:137:7;;;;;:::i;:::-;;:::i;5337:247::-;;;;;;;;;;-1:-1:-1;5337:247:7;;;;;:::i;:::-;;:::i;3615:111::-;;;;;;;;;;-1:-1:-1;3615:111:7;;;;;:::i;:::-;;:::i;6611:122:12:-;;;;;;;;;;-1:-1:-1;6611:122:12;;;;;:::i;:::-;;:::i;2748:128:9:-;;;;;;;;;;-1:-1:-1;2748:128:9;2810:66;2748:128;;2064:135:7;;;;;;;;;;-1:-1:-1;2064:135:7;;;;;:::i;:::-;;:::i;:::-;;;2467:14:14;;2460:22;2442:41;;2430:2;2415:18;2064:135:7;2302:187:14;5572:195:12;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;5740:11:12;5572:195;;-1:-1:-1;;;;;2658:32:14;;;2640:51;;2628:2;2613:18;5572:195:12;2494:203:14;10655:619:12;;;;;;;;;;-1:-1:-1;10655:619:12;;;;;:::i;:::-;;:::i;9749:672::-;;;;;;;;;;-1:-1:-1;9749:672:12;;;;;:::i;:::-;;:::i;3732:122:7:-;;;;;;;;;;-1:-1:-1;3732:122:7;;;;;:::i;:::-;;:::i;3061:143::-;;;;;;;;;;-1:-1:-1;3061:143:7;;;;;:::i;:::-;;:::i;2498:128::-;;;;;;;;;;-1:-1:-1;2498:128:7;;;;;:::i;:::-;;:::i;4110:126::-;;;;;;;;;;-1:-1:-1;4110:126:7;;;;;:::i;:::-;;:::i;12173:1939:12:-;;;;;;:::i;:::-;;:::i;4763:281::-;;;;;;;;;;;;;:::i;2777:139:7:-;;;;;;;;;;-1:-1:-1;2777:139:7;;;;;:::i;:::-;;:::i;4792:138::-;;;;;;;;;;-1:-1:-1;4792:138:7;;;;;:::i;:::-;;:::i;2205:::-;;;;;;;;;;-1:-1:-1;2205:138:7;;;;;:::i;:::-;;:::i;3483:126::-;;;;;;;;;;-1:-1:-1;3483:126:7;;;;;:::i;:::-;;:::i;2922:133::-;;;;;;;;;;-1:-1:-1;2922:133:7;;;;;:::i;:::-;;:::i;3799:46:12:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3799:46:12;;;;;;;;;;;;:::i;2349:143:7:-;;;;;;;;;;-1:-1:-1;2349:143:7;;;;;:::i;:::-;;:::i;3232:118::-;;;;;;;;;;-1:-1:-1;3232:118:7;;;;;:::i;:::-;;:::i;2632:139::-;;;;;;;;;;-1:-1:-1;2632:139:7;;;;;:::i;:::-;;:::i;3740:52:12:-;;;;;;;;;;;;3784:8;3740:52;;4936:121:7;;;;;;;;;;-1:-1:-1;4936:121:7;;;;;:::i;:::-;;:::i;4262:117::-;;;;;;;;;;-1:-1:-1;4262:117:7;;;;;:::i;:::-;;:::i;5050:198:12:-;;;;;;;;;;-1:-1:-1;2810:66:9;5221:11:12;5050:198;;9016:244;;;;;;;;;;-1:-1:-1;2134:66:9;9196:11:12;9238:14;9016:244;;5184:125:7;;;;;;;;;;-1:-1:-1;5184:125:7;;;;;:::i;:::-;;:::i;4528:142::-;;;;;;;;;;-1:-1:-1;4528:142:7;;;;;:::i;:::-;;:::i;5063:115::-;;;;;;;;;;-1:-1:-1;5063:115:7;;;;;:::i;:::-;;:::i;4676:110::-;;;;;;;;;;-1:-1:-1;4676:110:7;;;;;:::i;:::-;;:::i;3988:116::-;4052:45;2074:66:8;4089:7:7;4052:23;:45::i;:::-;3988:116;:::o;3860:122::-;3927:48;1874:66:8;3967:7:7;3927:23;:48::i;3356:121::-;3422:48;1058:66:8;3462:7:7;3422:23;:48::i;4385:137::-;4447:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4466:49:::1;1058:66:8;4507:7:7::0;4466:24:::1;:49::i;:::-;4385:137:::0;;:::o;5337:247::-;-1:-1:-1;;;;;;;;;;;5413:24:7;;:45;;;;;5442:16;5441:17;5413:45;5409:118;;;5474:42;;-1:-1:-1;;;5474:42:7;;4833:2:14;5474:42:7;;;4815:21:14;;;4852:18;;;4845:30;4911:34;4891:18;;;4884:62;4963:18;;5474:42:7;4631:356:14;5409:118:7;5536:41;5563:4;5569:7;5536:26;:41::i;3615:111::-;3677:42;1462:66:8;3711:7:7;3677:23;:42::i;6611:122:12:-;6694:32;;-1:-1:-1;;;6694:32:12;;5194:2:14;6694:32:12;;;5176:21:14;5233:2;5213:18;;;5206:30;-1:-1:-1;;;5252:18:14;;;5245:52;5314:18;;6694:32:12;4992:346:14;2064:135:7;2125:4;2148:44;854:64:8;2184:7:7;2148:21;:44::i;:::-;2141:51;2064:135;-1:-1:-1;;2064:135:7:o;10655:619:12:-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;10821:22:12::1;10867:21;10890:4;;10896:8;10856:49;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10846:60;;;;;;10821:85;;10975:22;11000:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;;;-1:-1:-1;11047:18:12;11039:58:::1;;;::::0;-1:-1:-1;;;11039:58:12;;6593:2:14;11039:58:12::1;::::0;::::1;6575:21:14::0;6632:2;6612:18;;;6605:30;6671:29;6651:18;;;6644:57;6718:18;;11039:58:12::1;6391:351:14::0;11039:58:12::1;11114:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;11107:36;11160:16:::1;:14;:16::i;:::-;:32;11177:14;11160:32;;;;;;;;;;;11153:39;;;11229:21;-1:-1:-1::0;;;;;11207:60:12::1;;11252:4;;11258:8;11207:60;;;;;;;;:::i;:::-;;;;;;;;10811:463;;10655:619:::0;;;;:::o;9749:672::-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;-1:-1:-1;;;;;9916:28:12;::::1;1072:20:13::0;9908:63:12::1;;;::::0;-1:-1:-1;;;9908:63:12;;7279:2:14;9908:63:12::1;::::0;::::1;7261:21:14::0;7318:2;7298:18;;;7291:30;-1:-1:-1;;;7337:18:14;;;7330:50;7397:18;;9908:63:12::1;7077:344:14::0;9908:63:12::1;9982:22;10028:17;10047:4;;10053:8;10017:45;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10007:56;;;;;;9982:81;;10074:22;10117:27;:25;:27::i;:::-;10099:45;::::0;:15:::1;:45;:::i;:::-;10074:70;;10154:26;10200:25;2810:66:9::0;5221:11:12;;5050:198;10200:25:::1;10183:42;::::0;:14;:42:::1;:::i;:::-;10154:71;;10268:14;10236:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;:46;10327:18;10292:16:::1;:14;:16::i;:::-;:32;10309:14;10292:32;;;;;;;;;;;:53;;;;10380:17;-1:-1:-1::0;;;;;10360:54:12::1;;10399:4;;10405:8;10360:54;;;;;;;;:::i;:::-;;;;;;;;9898:523;;;9749:672:::0;;;;:::o;3732:122:7:-;3799:48;1668:66:8;3839:7:7;3799:23;:48::i;3061:143::-;3126:4;3149:48;2284:66:8;3189:7:7;3149:21;:48::i;2498:128::-;2556:4;2579:40;1462:66:8;2611:7:7;2579:21;:40::i;4110:126::-;4179:50;2284:66:8;4221:7:7;4179:23;:50::i;12173:1939:12:-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;2134:66:9;9196:11:12;9238:14;6773:53:::1;;;::::0;-1:-1:-1;;;6773:53:12;;7890:2:14;6773:53:12::1;::::0;::::1;7872:21:14::0;7929:2;7909:18;;;7902:30;7968:26;7948:18;;;7941:54;8012:18;;6773:53:12::1;7688:348:14::0;6773:53:12::1;7067:24:::2;:22;:24::i;:::-;7066:25;7058:53;;;::::0;-1:-1:-1;;;7058:53:12;;8243:2:14;7058:53:12::2;::::0;::::2;8225:21:14::0;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:14;;;8294:45;8356:18;;7058:53:12::2;8041:339:14::0;7058:53:12::2;12355:22:::3;12401:17;12420:4;;12426:8;12390:45;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12380:56;;;;;;12355:81;;12446:22;12471:13;:11;:13::i;:::-;:29;::::0;;;::::3;::::0;;;;;;;;;-1:-1:-1;12539:16:12::3;:14;:16::i;:::-;:32;::::0;;;::::3;::::0;;;;;;;;;-1:-1:-1;12589:18:12;12581:58:::3;;;::::0;-1:-1:-1;;;12581:58:12;;6593:2:14;12581:58:12::3;::::0;::::3;6575:21:14::0;6632:2;6612:18;;;6605:30;6671:29;6651:18;;;6644:57;6718:18;;12581:58:12::3;6391:351:14::0;12581:58:12::3;-1:-1:-1::0;;;;;12657:28:12;::::3;1072:20:13::0;12649:63:12::3;;;::::0;-1:-1:-1;;;12649:63:12;;7279:2:14;12649:63:12::3;::::0;::::3;7261:21:14::0;7318:2;7298:18;;;7291:30;-1:-1:-1;;;7337:18:14;;;7330:50;7397:18;;12649:63:12::3;7077:344:14::0;12649:63:12::3;12852:15;12834:14;:33;;:69;;;-1:-1:-1::0;12899:3:12::3;12871:16;-1:-1:-1::0;;;;;;;;;;;5740:11:12;;5572:195;12871:16:::3;-1:-1:-1::0;;;;;12871:32:12::3;;12834:69;12813:139;;;::::0;-1:-1:-1;;;12813:139:12;;8587:2:14;12813:139:12::3;::::0;::::3;8569:21:14::0;8626:2;8606:18;;;8599:30;8665:25;8645:18;;;8638:53;8708:18;;12813:139:12::3;8385:347:14::0;12813:139:12::3;12992:15;12970:18;:37;;12962:72;;;::::0;-1:-1:-1;;;12962:72:12;;8939:2:14;12962:72:12::3;::::0;::::3;8921:21:14::0;8978:2;8958:18;;;8951:30;-1:-1:-1;;;8997:18:14;;;8990:52;9059:18;;12962:72:12::3;8737:346:14::0;12962:72:12::3;13045:36;13063:17;-1:-1:-1::0;;;;;;;;;;;8883:31:12;8744:186;13045:36:::3;13161:12;13175:23:::0;13202:17:::3;-1:-1:-1::0;;;;;13202:30:12::3;13269:24;;;13295:4;;13246:54;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;13246:54:12;;::::3;::::0;;;;;;::::3;::::0;::::3;::::0;;-1:-1:-1;;;;;13246:54:12::3;-1:-1:-1::0;;;;;;13246:54:12;;::::3;::::0;;;::::3;::::0;;;13202:108;;::::3;::::0;13246:54;13202:108:::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13160:150;;;;13328:7;13344:10;13320:36;;;;;-1:-1:-1::0;;;13320:36:12::3;;;;;;;;:::i;:::-;-1:-1:-1::0;13584:37:12::3;::::0;;;;;::::3;::::0;::::3;::::0;;::::3;::::0;::::3;::::0;;-1:-1:-1;;;;;13584:37:12::3;-1:-1:-1::0;;;13584:37:12::3;::::0;;13540:91;;-1:-1:-1;;;;;13540:30:12;::::3;::::0;:91:::3;::::0;::::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13516:115:12;;-1:-1:-1;13516:115:12;-1:-1:-1;13516:115:12;13641:45:::3;;;::::0;-1:-1:-1;;;13641:45:12;;9831:2:14;13641:45:12::3;::::0;::::3;9813:21:14::0;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;13641:45:12::3;9629:349:14::0;13641:45:12::3;13716:10;13705:30;;;;;;;;;;;;:::i;:::-;13704:31;13696:69;;;::::0;-1:-1:-1;;;13696:69:12;;10435:2:14;13696:69:12::3;::::0;::::3;10417:21:14::0;10474:2;10454:18;;;10447:30;10513:27;10493:18;;;10486:55;10558:18;;13696:69:12::3;10233:349:14::0;13696:69:12::3;13836:13;:11;:13::i;:::-;:29;::::0;;;::::3;::::0;;;;;;;13829:36;13882:16:::3;:14;:16::i;:::-;:32;13899:14;13882:32;;;;;;;;;;;13875:39;;;13953:17;-1:-1:-1::0;;;;;13930:47:12::3;;13972:4;;13930:47;;;;;;;:::i;:::-;;;;;;;;13992:8;13988:118;;;14016:18;9460:3:::0;2134:66:9;9447:17:12;9333:147;14016:18:::3;14053:42;::::0;-1:-1:-1;;;;;14053:42:12;::::3;::::0;::::3;::::0;;;::::3;13988:118;12345:1767;;;;;12173:1939:::0;;;;:::o;4763:281::-;2455:66:9;4921:11:12;;;3784:8;4961:25;;4960:55;;3784:8;4960:55;;;4990:5;4960:55;4952:63;;5025:12;4763:281;:::o;2777:139:7:-;2840:4;2863:46;1874:66:8;2901:7:7;2863:21;:46::i;4792:138::-;4855:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4874:49:::1;1668:66:8;4915:7:7::0;4874:24:::1;:49::i;2205:138::-:0;2267:4;2290:46;1058:66:8;2328:7:7;2290:21;:46::i;3483:126::-;3552:50;-1:-1:-1;;;;;;;;;;;3594:7:7;3552:23;:50::i;2922:133::-;2982:4;3005:43;2074:66:8;3040:7:7;3005:21;:43::i;2349:143::-;2414:4;2437:48;-1:-1:-1;;;;;;;;;;;2477:7:7;2437:21;:48::i;3232:118::-;3297:46;854:64:8;3335:7:7;3297:23;:46::i;2632:139::-;2695:4;2718:46;1668:66:8;2756:7:7;2718:21;:46::i;4936:121::-;5001:49;1874:66:8;5042:7:7;5001:24;:49::i;4262:117::-;4325:47;854:64:8;4364:7:7;4325:24;:47::i;5184:125::-;5251:51;2284:66:8;5294:7:7;5251:24;:51::i;4528:142::-;4593:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4612:51:::1;-1:-1:-1::0;;;;;;;;;;;4655:7:7;4612:24:::1;:51::i;5063:115::-:0;5125:46;2074:66:8;5163:7:7;5125:24;:46::i;4676:110::-;4736:43;1462:66:8;4771:7:7;4736:24;:43::i;547:380:3:-;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;6990:152:4:-;6654:7;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;:24;;;5030:16;5041:4;5030:10;:16::i;:::-;7110:25:::1;7121:4;7127:7;7110:10;:25::i;:::-;6990:152:::0;;;:::o;7408:154::-;6654:7;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;:24;;;5030:16;5041:4;5030:10;:16::i;:::-;7529:26:::1;7541:4;7547:7;7529:11;:26::i;8078:233::-:0;-1:-1:-1;;;;;8171:23:4;;3916:10;8171:23;8150:117;;;;-1:-1:-1;;;8150:117:4;;10789:2:14;8150:117:4;;;10771:21:14;10828:2;10808:18;;;10801:30;10867:34;10847:18;;;10840:62;-1:-1:-1;;;10918:18:14;;;10911:45;10973:19;;8150:117:4;10587:411:14;8150:117:4;8278:26;8290:4;8296:7;8278:11;:26::i;5143:154::-;5236:4;5259:14;;;-1:-1:-1;;;;;;;;;;;5259:14:4;;;;;;;;-1:-1:-1;;;;;5259:31:4;;;;;;;;;;;;;;;5143:154::o;1160:189:6:-;1230:35;1288:54;1325:16;;;;;;;;;;;;;-1:-1:-1;;;1325:16:6;;;1288:36;:54::i;:::-;1281:61;;1160:189;:::o;1569:193::-;1642:35;1700:55;1737:17;;;;;;;;;;;;;-1:-1:-1;;;1737:17:6;;;1700:36;:55::i;5904:564:12:-;5955:4;5971:23;5997:16;-1:-1:-1;;;;;;;;;;;5740:11:12;;5572:195;5997:16;5971:42;-1:-1:-1;;;;;;6113:31:12;;6109:74;;6167:5;6160:12;;;5904:564;:::o;6109:74::-;6321:37;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6321:37:12;-1:-1:-1;;;6321:37:12;;;6279:89;;6238:12;;;;-1:-1:-1;;;;;6279:28:12;;;:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6237:131;;;;6386:7;6402:10;6378:36;;;;;-1:-1:-1;;;6378:36:12;;;;;;;;:::i;:::-;;6442:10;6431:30;;;;;;;;;;;;:::i;:::-;6424:37;;;;;5904:564;:::o;5576:95:4:-;5634:30;5645:4;3916:10;5634;:30::i;9592:227::-;9667:22;9675:4;9681:7;9667;:22::i;:::-;9662:151;;9705:14;;;;-1:-1:-1;;;;;;;;;;;9705:14:4;;;;;;;;-1:-1:-1;;;;;9705:31:4;;;;;;;;;;:38;;-1:-1:-1;;9705:38:4;9739:4;9705:38;;;9762:40;3916:10;;9705:14;;9762:40;;9705:14;9762:40;9592:227;;:::o;9978:228::-;10053:22;10061:4;10067:7;10053;:22::i;:::-;10049:151;;;10125:5;10091:14;;;-1:-1:-1;;;;;;;;;;;10091:14:4;;;;;;;;-1:-1:-1;;;;;10091:31:4;;;;;;;;;;:39;;-1:-1:-1;;10091:39:4;;;10149:40;3916:10;;10091:14;;10149:40;;10125:5;10149:40;9978:228;;:::o;1151:298:5:-;1251:50;1317:16;1363:4;1346:22;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1346:22:5;;;;;;;;;1336:33;;1346:22;1336:33;;;;;1151:298;-1:-1:-1;;;1151:298:5:o;5941:484:4:-;6021:22;6029:4;6035:7;6021;:22::i;:::-;6016:403;;6204:41;6232:7;-1:-1:-1;;;;;6204:41:4;6242:2;6204:19;:41::i;:::-;6316:38;6344:4;6351:2;6316:19;:38::i;:::-;6111:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6111:265:4;;;;;;;;;;-1:-1:-1;;;6059:349:4;;;;;;;:::i;2248:441:10:-;2323:13;2348:19;2380:10;2384:6;2380:1;:10;:::i;:::-;:14;;2393:1;2380:14;:::i;:::-;2370:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2370:25:10;;2348:47;;-1:-1:-1;;;2405:6:10;2412:1;2405:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2405:15:10;;;;;;;;;-1:-1:-1;;;2430:6:10;2437:1;2430:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2430:15:10;;;;;;;;-1:-1:-1;2460:9:10;2472:10;2476:6;2472:1;:10;:::i;:::-;:14;;2485:1;2472:14;:::i;:::-;2460:26;;2455:132;2492:1;2488;:5;2455:132;;;-1:-1:-1;;;2539:5:10;2547:3;2539:11;2526:25;;;;;;;:::i;:::-;;;;2514:6;2521:1;2514:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;2514:37:10;;;;;;;;-1:-1:-1;2575:1:10;2565:11;;;;;2495:3;;;:::i;:::-;;;2455:132;;;-1:-1:-1;2604:10:10;;2596:55;;;;-1:-1:-1;;;2596:55:10;;12894:2:14;2596:55:10;;;12876:21:14;;;12913:18;;;12906:30;12972:34;12952:18;;;12945:62;13024:18;;2596:55:10;12692:356:14;2596:55:10;2675:6;2248:441;-1:-1:-1;;;2248:441:10:o;-1:-1:-1:-;;;:::i;:::-;:::o;726:173:14:-;794:20;;-1:-1:-1;;;;;843:31:14;;833:42;;823:70;;889:1;886;879:12;823:70;726:173;;;:::o;904:186::-;963:6;1016:2;1004:9;995:7;991:23;987:32;984:52;;;1032:1;1029;1022:12;984:52;1055:29;1074:9;1055:29;:::i;1277:254::-;1345:6;1353;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;1458:9;1445:23;1435:33;;1487:38;1521:2;1510:9;1506:18;1487:38;:::i;:::-;1477:48;;1277:254;;;;;:::o;1536:347::-;1587:8;1597:6;1651:3;1644:4;1636:6;1632:17;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;-1:-1:-1;1692:20:14;;1735:18;1724:30;;1721:50;;;1767:1;1764;1757:12;1721:50;1804:4;1796:6;1792:17;1780:29;;1856:3;1849:4;1840:6;1832;1828:19;1824:30;1821:39;1818:59;;;1873:1;1870;1863:12;1818:59;1536:347;;;;;:::o;1888:409::-;1958:6;1966;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2075:9;2062:23;2108:18;2100:6;2097:30;2094:50;;;2140:1;2137;2130:12;2094:50;2179:58;2229:7;2220:6;2209:9;2205:22;2179:58;:::i;:::-;2256:8;;2153:84;;-1:-1:-1;1888:409:14;-1:-1:-1;;;;1888:409:14:o;2702:118::-;2788:5;2781:13;2774:21;2767:5;2764:32;2754:60;;2810:1;2807;2800:12;2825:612;2910:6;2918;2926;2934;2987:2;2975:9;2966:7;2962:23;2958:32;2955:52;;;3003:1;3000;2993:12;2955:52;3026:29;3045:9;3026:29;:::i;:::-;3016:39;;3106:2;3095:9;3091:18;3078:32;3133:18;3125:6;3122:30;3119:50;;;3165:1;3162;3155:12;3119:50;3204:58;3254:7;3245:6;3234:9;3230:22;3204:58;:::i;:::-;3281:8;;-1:-1:-1;3178:84:14;-1:-1:-1;;3366:2:14;3351:18;;3338:32;3379:28;3338:32;3379:28;:::i;:::-;2825:612;;;;-1:-1:-1;2825:612:14;;-1:-1:-1;;2825:612:14:o;3624:250::-;3709:1;3719:113;3733:6;3730:1;3727:13;3719:113;;;3809:11;;;3803:18;3790:11;;;3783:39;3755:2;3748:10;3719:113;;;-1:-1:-1;;3866:1:14;3848:16;;3841:27;3624:250::o;3879:396::-;4028:2;4017:9;4010:21;3991:4;4060:6;4054:13;4103:6;4098:2;4087:9;4083:18;4076:34;4119:79;4191:6;4186:2;4175:9;4171:18;4166:2;4158:6;4154:15;4119:79;:::i;:::-;4259:2;4238:15;-1:-1:-1;;4234:29:14;4219:45;;;;4266:2;4215:54;;3879:396;-1:-1:-1;;3879:396:14:o;4280:346::-;4482:2;4464:21;;;4521:2;4501:18;;;4494:30;-1:-1:-1;;;4555:2:14;4540:18;;4533:52;4617:2;4602:18;;4280:346::o;5343:345::-;5545:2;5527:21;;;5584:2;5564:18;;;5557:30;-1:-1:-1;;;5618:2:14;5603:18;;5596:51;5679:2;5664:18;;5343:345::o;5693:266::-;5781:6;5776:3;5769:19;5833:6;5826:5;5819:4;5814:3;5810:14;5797:43;-1:-1:-1;5885:1:14;5860:16;;;5878:4;5856:27;;;5849:38;;;;5941:2;5920:15;;;-1:-1:-1;;5916:29:14;5907:39;;;5903:50;;5693:266::o;5964:422::-;-1:-1:-1;;;;;6171:32:14;;6153:51;;6240:2;6235;6220:18;;6213:30;;;-1:-1:-1;;6260:61:14;;6302:18;;6294:6;6286;6260:61;:::i;:::-;6252:69;;6371:6;6364:14;6357:22;6352:2;6341:9;6337:18;6330:50;5964:422;;;;;;;:::o;6747:325::-;6926:2;6915:9;6908:21;6889:4;6946:61;7003:2;6992:9;6988:18;6980:6;6972;6946:61;:::i;:::-;6938:69;;7057:6;7050:14;7043:22;7038:2;7027:9;7023:18;7016:50;6747:325;;;;;;:::o;7426:127::-;7487:10;7482:3;7478:20;7475:1;7468:31;7518:4;7515:1;7508:15;7542:4;7539:1;7532:15;7558:125;7623:9;;;7644:10;;;7641:36;;;7657:18;;:::i;9088:244::-;9245:2;9234:9;9227:21;9208:4;9265:61;9322:2;9311:9;9307:18;9299:6;9291;9265:61;:::i;:::-;9257:69;9088:244;-1:-1:-1;;;;9088:244:14:o;9337:287::-;9466:3;9504:6;9498:13;9520:66;9579:6;9574:3;9567:4;9559:6;9555:17;9520:66;:::i;:::-;9602:16;;;;;9337:287;-1:-1:-1;;9337:287:14:o;9983:245::-;10050:6;10103:2;10091:9;10082:7;10078:23;10074:32;10071:52;;;10119:1;10116;10109:12;10071:52;10151:9;10145:16;10170:28;10192:5;10170:28;:::i;11297:812::-;11708:25;11703:3;11696:38;11678:3;11763:6;11757:13;11779:75;11847:6;11842:2;11837:3;11833:12;11826:4;11818:6;11814:17;11779:75;:::i;:::-;-1:-1:-1;;;11913:2:14;11873:16;;;11905:11;;;11898:40;11963:13;;11985:76;11963:13;12047:2;12039:11;;12032:4;12020:17;;11985:76;:::i;:::-;12081:17;12100:2;12077:26;;11297:812;-1:-1:-1;;;;11297:812:14:o;12114:168::-;12187:9;;;12218;;12235:15;;;12229:22;;12215:37;12205:71;;12256:18;;:::i;12287:127::-;12348:10;12343:3;12339:20;12336:1;12329:31;12379:4;12376:1;12369:15;12403:4;12400:1;12393:15;12419:127;12480:10;12475:3;12471:20;12468:1;12461:31;12511:4;12508:1;12501:15;12535:4;12532:1;12525:15;12551:136;12590:3;12618:5;12608:39;;12627:18;;:::i;:::-;-1:-1:-1;;;12663:18:14;;12551:136::o;13053:127::-;13114:10;13109:3;13105:20;13102:1;13095:31;13145:4;13142:1;13135:15;13169:4;13166:1;13159:15","linkReferences":{},"immutableReferences":{"8949":[{"start":2280,"length":32}]}},"methodIdentifiers":{"ENABLE_WINDOW_DURATION_SLOT()":"52b1e35e","MAX_UPGRADE_DELAY()":"d38d8d7a","PROXY_VERSION()":"c5ab8453","UPGRADE_DELAY_SLOT()":"20cea94d","addImplementation(address,bytes,bool)":"5e3a97e7","getEnableWindowDuration()":"e02904c6","getUpgradeActivationDelay()":"72a44f07","implementation()":"5c60da1b","initialize(bytes)":"439fab91","isAppGovernor(address)":"5a5d1bb9","isAppRoleAdmin(address)":"8e5224ff","isGovernanceAdmin(address)":"cb1cccce","isNotFinalized()":"e907fa3c","isOperator(address)":"6d70f7ae","isSecurityAdmin(address)":"d08fb6cb","isSecurityAgent(address)":"757bd9ab","isTokenAdmin(address)":"a2bdde3d","isUpgradeGovernor(address)":"6c04d9d5","registerAppGovernor(address)":"cdd1f70d","registerAppRoleAdmin(address)":"17896383","registerGovernanceAdmin(address)":"9463629a","registerOperator(address)":"3682a450","registerSecurityAdmin(address)":"62a14376","registerSecurityAgent(address)":"0e770f23","registerTokenAdmin(address)":"0b3a2d21","registerUpgradeGovernor(address)":"6fc97cbf","removeImplementation(address,bytes,bool)":"5cef2e86","renounceRole(bytes32,address)":"36568abe","revokeAppGovernor(address)":"deec9c5a","revokeAppRoleAdmin(address)":"2f951985","revokeGovernanceAdmin(address)":"ee0e6807","revokeOperator(address)":"fad8b32a","revokeSecurityAdmin(address)":"8101b64c","revokeSecurityAgent(address)":"d9fa7091","revokeTokenAdmin(address)":"fa0f73ba","revokeUpgradeGovernor(address)":"ed9ef16a","upgradeTo(address,bytes,bool)":"7147855d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"upgradeActivationDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"FinalizedImplementation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"ImplementationAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"ImplementationRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"}],\"name\":\"ImplementationUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"ENABLE_WINDOW_DURATION_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_UPGRADE_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROXY_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_DELAY_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"addImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEnableWindowDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUpgradeActivationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAppGovernor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAppRoleAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isGovernanceAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isNotFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"notFinal\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSecurityAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSecurityAgent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isTokenAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUpgradeGovernor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerAppGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerAppRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerGovernanceAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerSecurityAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerSecurityAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerTokenAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerUpgradeGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"removeImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeAppGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeAppRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeGovernanceAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeSecurityAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeSecurityAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeTokenAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeUpgradeGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The Proxy contract implements delegation of calls to other contracts (`implementations`), with proper forwarding of return values and revert reasons. This pattern allows retaining the contract storage while replacing implementation code. The following operations are supported by the proxy contract: - :sol:func:`addImplementation`: Defines a new implementation, the data with which it should be initialized and whether this will be the last version of implementation. - :sol:func:`upgradeTo`: Once an implementation is added, the governor may upgrade to that implementation only after a safety time period has passed (time lock), the current implementation is not the last version and the implementation is not frozen (see :sol:mod:`FullWithdrawals`). - :sol:func:`removeImplementation`: Any announced implementation may be removed. Removing an implementation is especially important once it has been used for an upgrade in order to avoid an additional unwanted revert to an older version. The only entity allowed to perform the above operations is the proxy governor (see :sol:mod:`ProxyGovernance`). Every implementation is required to have an `initialize` function that replaces the constructor of a normal contract. Furthermore, the only parameter of this function is an array of bytes (`data`) which may be decoded arbitrarily by the `initialize` function. It is up to the implementation to ensure that this function cannot be run more than once if so desired. When an implementation is added (:sol:func:`addImplementation`) the initialization `data` is also announced, allowing users of the contract to analyze the full effect of an upgrade to the new implementation. During an :sol:func:`upgradeTo`, the `data` is provided again and only if it is identical to the announced `data` is the upgrade performed by pointing the proxy to the new implementation and calling its `initialize` function with this `data`. ProxyStorage contains the storage variables required by the Proxy. The Proxy storage variables are not in the low slot addresses (a.k.a linear storage) - to avoid storage collision.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Proxy_5_0_0.sol\":\"Proxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":cairo-lang/=lib/cairo-lang/src/\",\":forge-std/=lib/forge-std/src/\",\":starknet-cc/=lib/cairo-lang/src/starkware/starknet/solidity/\",\":starknet-token/=lib/starknet-token/src/starkware/isd/\",\":starkware/isd/=lib/starknet-token/src/starkware/isd/\",\":starkware/solidity/=lib/cairo-lang/src/starkware/solidity/\",\":starkware/starknet/solidity/=lib/cairo-lang/src/starkware/starknet/solidity/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x0b7475858d62180b6ccbea2181cf9fa0ed6773fdb8b0f5cbd946d13c5660579f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ba7fa71d8d3ace512ee0a3d9d4d5923a6eb01fcbd93219726e40eeb50a8e52f\",\"dweb:/ipfs/QmScHyHRhrWp21Gazmzq1HR1YDjkbpya6SPTHEs5wzjhwg\"]},\"src/5_0_0/AccessControl.sol\":{\"keccak256\":\"0xf5b3f552f8bd4dabcde63211086f4cda6d4b8637fe91297b2330f0fd9ebfa09b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://780e24d5629c673aa1efcc98e1c8f6129d944ef8b32792cc693dfda095873333\",\"dweb:/ipfs/QmPZz3C6Pn4BcZuX3ABZWCcdXhW5YavXPWsAT3WzXXxFbt\"]},\"src/5_0_0/NamedStorage.sol\":{\"keccak256\":\"0xc2b96c4e9fca2bb7cb265086a8377291a2fcf038c1c938ded83cc62ffad552c3\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://9d2f160447e77d2f81fec54851ecc960591dba9a92c963a648fd11dd4aa14917\",\"dweb:/ipfs/QmWRGXLdBHy715WAuBNKe1C25rbBmP8oEYVqh5B72hTA39\"]},\"src/5_0_0/ProxyStorage.sol\":{\"keccak256\":\"0xe0e4255645aab6b7a9b7419420e677130b54f42cb136ac8cb5e2d6bf7f034d03\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://b6ffab7681237bd5bbf692bad55491aa28d71b6db222432be02ab99244a208bc\",\"dweb:/ipfs/QmZ2E7Ke48kctcRTvhjMaKWEcf8Z533r39Wvs3tWtk55XA\"]},\"src/5_0_0/Roles.sol\":{\"keccak256\":\"0xf81e26787d8d268c8158517ef463fa357ac499ca74fc5d908f37ec53503006a1\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://e40e4d0d580b2584cae427ab26ddfb8a725c00df2a359dd44fb5800908251f06\",\"dweb:/ipfs/QmWRwrDxZAp5gMvt61LVhGQaWk7bx1H7FFAccs89wZdGFG\"]},\"src/5_0_0/RolesLib.sol\":{\"keccak256\":\"0x2cdde9b0485fe296c4cb84de53192307b702fc993b66b8a40a5abb34a8cf23fa\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://645eead17db9c4d58b4f00b09e1dd213cec2a87f3fd9e7864d9cab72f405097e\",\"dweb:/ipfs/QmNW8RHp8CbM1NDGTt6fw6CQgA4kE64VwVqPHySKQCQRSA\"]},\"src/5_0_0/StorageSlots.sol\":{\"keccak256\":\"0x303de59cd73d16544cdda9e8a5ff90c2f0f8e42bd823a585b497eda076081272\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://126b212b0d36003b6e8688c6544296a63a8daa0b2d19ed70291cce0236b0ef2c\",\"dweb:/ipfs/QmcoKtyHSFSjtiBZ6e4nnUnqcQdMNrWXgmSbxejN9iDran\"]},\"src/5_0_0/Strings.sol\":{\"keccak256\":\"0x43b2d3275f2d2927db40aebd1b6e5514b54f778043fff677d3714c824f7ad9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa5f40e3f0f64c825f643f123260949bdcb63a552d4d3b49551efa5f4927f0e7\",\"dweb:/ipfs/QmNVmkv2FB3aUJb8g4BrF9D19Y37PsrHPf31dD636Kk82f\"]},\"src/Proxy_5_0_0.sol\":{\"keccak256\":\"0xf381b8d9116c0f51ba70df5a6b89c8a366543f8375d4a2ab5032b125d0001a0e\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://77f7a2d7624aa8bfd4c8bc7f4f778538ac6ac3f75bcc4b80835f7132bb016155\",\"dweb:/ipfs/QmPiW7pxBpNmoXNkpLn5p2VTEYr3b4Yd77REMPTpKWF3WW\"]},\"src/libraries/Addresses.sol\":{\"keccak256\":\"0xb0865ea6dcc8f3e095309859500c92912cf149f5a88d4d7ee73f75c5549bdb16\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://924d7db5ad489487c980f85511ee04002ec4921bb09e787614dd56c619b5d35a\",\"dweb:/ipfs/QmZbGn7PmGHWYqjj3rsypoJon3LJnbD4bP1fWdn1ivd4JR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"upgradeActivationDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"FinalizedImplementation","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false},{"internalType":"bool","name":"finalize","type":"bool","indexed":false}],"type":"event","name":"ImplementationAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false},{"internalType":"bool","name":"finalize","type":"bool","indexed":false}],"type":"event","name":"ImplementationRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false}],"type":"event","name":"ImplementationUpgraded","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"ENABLE_WINDOW_DURATION_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_UPGRADE_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PROXY_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_DELAY_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"addImplementation"},{"inputs":[],"stateMutability":"view","type":"function","name":"getEnableWindowDuration","outputs":[{"internalType":"uint256","name":"duration","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getUpgradeActivationDelay","outputs":[{"internalType":"uint256","name":"delay","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"_implementation","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAppGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAppRoleAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isGovernanceAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isNotFinalized","outputs":[{"internalType":"bool","name":"notFinal","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isSecurityAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isSecurityAgent","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isTokenAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isUpgradeGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerAppGovernor"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerAppRoleAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerGovernanceAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerOperator"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSecurityAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSecurityAgent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerTokenAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerUpgradeGovernor"},{"inputs":[{"internalType":"address","name":"removedImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeImplementation"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAppGovernor"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAppRoleAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeGovernanceAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeOperator"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeSecurityAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeSecurityAgent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeTokenAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeUpgradeGovernor"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"payable","type":"function","name":"upgradeTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["cairo-lang/=lib/cairo-lang/src/","forge-std/=lib/forge-std/src/","starknet-cc/=lib/cairo-lang/src/starkware/starknet/solidity/","starknet-token/=lib/starknet-token/src/starkware/isd/","starkware/isd/=lib/starknet-token/src/starkware/isd/","starkware/solidity/=lib/cairo-lang/src/starkware/solidity/","starkware/starknet/solidity/=lib/cairo-lang/src/starkware/starknet/solidity/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Proxy_5_0_0.sol":"Proxy"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0x0b7475858d62180b6ccbea2181cf9fa0ed6773fdb8b0f5cbd946d13c5660579f","urls":["bzz-raw://4ba7fa71d8d3ace512ee0a3d9d4d5923a6eb01fcbd93219726e40eeb50a8e52f","dweb:/ipfs/QmScHyHRhrWp21Gazmzq1HR1YDjkbpya6SPTHEs5wzjhwg"],"license":"MIT"},"src/5_0_0/AccessControl.sol":{"keccak256":"0xf5b3f552f8bd4dabcde63211086f4cda6d4b8637fe91297b2330f0fd9ebfa09b","urls":["bzz-raw://780e24d5629c673aa1efcc98e1c8f6129d944ef8b32792cc693dfda095873333","dweb:/ipfs/QmPZz3C6Pn4BcZuX3ABZWCcdXhW5YavXPWsAT3WzXXxFbt"],"license":"MIT"},"src/5_0_0/NamedStorage.sol":{"keccak256":"0xc2b96c4e9fca2bb7cb265086a8377291a2fcf038c1c938ded83cc62ffad552c3","urls":["bzz-raw://9d2f160447e77d2f81fec54851ecc960591dba9a92c963a648fd11dd4aa14917","dweb:/ipfs/QmWRGXLdBHy715WAuBNKe1C25rbBmP8oEYVqh5B72hTA39"],"license":"Apache-2.0."},"src/5_0_0/ProxyStorage.sol":{"keccak256":"0xe0e4255645aab6b7a9b7419420e677130b54f42cb136ac8cb5e2d6bf7f034d03","urls":["bzz-raw://b6ffab7681237bd5bbf692bad55491aa28d71b6db222432be02ab99244a208bc","dweb:/ipfs/QmZ2E7Ke48kctcRTvhjMaKWEcf8Z533r39Wvs3tWtk55XA"],"license":"Apache-2.0."},"src/5_0_0/Roles.sol":{"keccak256":"0xf81e26787d8d268c8158517ef463fa357ac499ca74fc5d908f37ec53503006a1","urls":["bzz-raw://e40e4d0d580b2584cae427ab26ddfb8a725c00df2a359dd44fb5800908251f06","dweb:/ipfs/QmWRwrDxZAp5gMvt61LVhGQaWk7bx1H7FFAccs89wZdGFG"],"license":"Apache-2.0."},"src/5_0_0/RolesLib.sol":{"keccak256":"0x2cdde9b0485fe296c4cb84de53192307b702fc993b66b8a40a5abb34a8cf23fa","urls":["bzz-raw://645eead17db9c4d58b4f00b09e1dd213cec2a87f3fd9e7864d9cab72f405097e","dweb:/ipfs/QmNW8RHp8CbM1NDGTt6fw6CQgA4kE64VwVqPHySKQCQRSA"],"license":"Apache-2.0."},"src/5_0_0/StorageSlots.sol":{"keccak256":"0x303de59cd73d16544cdda9e8a5ff90c2f0f8e42bd823a585b497eda076081272","urls":["bzz-raw://126b212b0d36003b6e8688c6544296a63a8daa0b2d19ed70291cce0236b0ef2c","dweb:/ipfs/QmcoKtyHSFSjtiBZ6e4nnUnqcQdMNrWXgmSbxejN9iDran"],"license":"Apache-2.0."},"src/5_0_0/Strings.sol":{"keccak256":"0x43b2d3275f2d2927db40aebd1b6e5514b54f778043fff677d3714c824f7ad9e2","urls":["bzz-raw://fa5f40e3f0f64c825f643f123260949bdcb63a552d4d3b49551efa5f4927f0e7","dweb:/ipfs/QmNVmkv2FB3aUJb8g4BrF9D19Y37PsrHPf31dD636Kk82f"],"license":"MIT"},"src/Proxy_5_0_0.sol":{"keccak256":"0xf381b8d9116c0f51ba70df5a6b89c8a366543f8375d4a2ab5032b125d0001a0e","urls":["bzz-raw://77f7a2d7624aa8bfd4c8bc7f4f778538ac6ac3f75bcc4b80835f7132bb016155","dweb:/ipfs/QmPiW7pxBpNmoXNkpLn5p2VTEYr3b4Yd77REMPTpKWF3WW"],"license":"Apache-2.0."},"src/libraries/Addresses.sol":{"keccak256":"0xb0865ea6dcc8f3e095309859500c92912cf149f5a88d4d7ee73f75c5549bdb16","urls":["bzz-raw://924d7db5ad489487c980f85511ee04002ec4921bb09e787614dd56c619b5d35a","dweb:/ipfs/QmZbGn7PmGHWYqjj3rsypoJon3LJnbD4bP1fWdn1ivd4JR"],"license":"Apache-2.0."}},"version":1},"id":12} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"upgradeActivationDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"ENABLE_WINDOW_DURATION_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_UPGRADE_DELAY","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PROXY_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_DELAY_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addImplementation","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getEnableWindowDuration","inputs":[],"outputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getUpgradeActivationDelay","inputs":[],"outputs":[{"name":"delay","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"_implementation","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"isAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isNotFinalized","inputs":[],"outputs":[{"name":"notFinal","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"registerAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeImplementation","inputs":[{"name":"removedImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAppGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAppRoleAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeGovernanceAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeOperator","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeSecurityAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeSecurityAgent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeTokenAdmin","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeUpgradeGovernor","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"finalize","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"FinalizedImplementation","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ImplementationAdded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"finalize","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ImplementationRemoved","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"finalize","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"ImplementationUpgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"},{"name":"initializer","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801562000010575f80fd5b5060405162002810380380620028108339810160408190526200003391620006a9565b5f608081905262000043620000a0565b506200006d817fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f55565b62000099621275007fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073855565b506200074c565b6040805180820190915260128152713e3e3e3e3e20696e697469616c697a65282960701b60208201523390620000d79082620000e6565b620000e3818062000137565b50565b620001338282604051602401620000ff92919062000706565b60408051601f198184030181529190526020810180516001600160e01b0390811663319af33360e01b17909152620002da16565b5050565b62000141620002f0565b15620001d9576001600160a01b0382165f9081527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b0602052604090205460ff16620001d35760405162461bcd60e51b815260206004820152601960248201527f524f4c45535f414c52454144595f494e495449414c495a45440000000000000060448201526064015b60405180910390fd5b62000208565b620001e48262000341565b620002086040518060600160405280602e8152602001620027e2602e91396200048c565b62000212620004d7565b15620002ab576001600160a01b0381165f9081527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c23602052604090205460ff16620001335760405162461bcd60e51b815260206004820152602260248201527f53454355524954595f524f4c45535f414c52454144595f494e495449414c495a604482015261115160f21b6064820152608401620001ca565b620002b68162000526565b620001336040518060600160405280602c815260200162002716602c91396200048c565b620000e3816200059460201b6200157c1760201c565b5f80516020620027428339815191525f9081525f80516020620027a28339815191526020527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b15481905b1415905090565b6200035b5f805160206200274283398151915282620005b4565b620003755f805160206200278283398151915282620005b4565b620003ae7ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060685f80516020620027c283398151915262000652565b620003d65f80516020620027c28339815191525f805160206200274283398151915262000652565b620003f05f80516020620027428339815191528062000652565b6200042a7f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da75f80516020620027c283398151915262000652565b620004647f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e5f80516020620027c283398151915262000652565b620000e35f80516020620027828339815191525f805160206200274283398151915262000652565b620000e381604051602401620004a3919062000731565b60408051601f198184030181529190526020810180516001600160e01b0390811663104c13eb60e21b17909152620002da16565b5f80516020620027628339815191525f9081525f80516020620027a28339815191526020527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c245481906200033a565b620005405f80516020620027628339815191528062000652565b6200057a7f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b965f805160206200276283398151915262000652565b620000e35f805160206200276283398151915282620005b4565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f80516020620027a2833981519152602090815260408083206001600160a01b038516845290915290205460ff1662000133575f8281525f80516020620027a2833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b5f8281525f80516020620027a28339815191526020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b5f60208284031215620006ba575f80fd5b5051919050565b5f81518084525f5b81811015620006e757602081850181015186830182015201620006c9565b505f602082860101526020601f19601f83011685010191505092915050565b604081525f6200071a6040830185620006c1565b905060018060a01b03831660208301529392505050565b602081525f620007456020830184620006c1565b9392505050565b608051611fb1620007655f395f6108e80152611fb15ff3fe60806040526004361061021d575f3560e01c806372a44f0711610122578063d08fb6cb116100aa578063e907fa3c1161006e578063e907fa3c14610747578063ed9ef16a1461077b578063ee0e68071461079a578063fa0f73ba146107b9578063fad8b32a146107d85761026f565b8063d08fb6cb146106a1578063d38d8d7a146106c0578063d9fa7091146106d6578063deec9c5a146106f5578063e02904c6146107145761026f565b80639463629a116100f15780639463629a146105e8578063a2bdde3d14610607578063c5ab845314610626578063cb1cccce14610663578063cdd1f70d146106825761026f565b806372a44f0714610577578063757bd9ab1461058b5780638101b64c146105aa5780638e5224ff146105c95761026f565b80635a5d1bb9116101a557806362a143761161017457806362a14376146104e85780636c04d9d5146105075780636d70f7ae146105265780636fc97cbf146105455780637147855d146105645761026f565b80635a5d1bb9146104485780635c60da1b146104775780635cef2e86146104aa5780635e3a97e7146104c95761026f565b80632f951985116101ec5780632f9519851461039957806336568abe146103b85780633682a450146103d7578063439fab91146103f657806352b1e35e146104155761026f565b80630b3a2d21146102f65780630e770f2314610315578063178963831461033457806320cea94d146103535761026f565b3661026f5760405162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f5245434549564560448201526064015b60405180910390fd5b5f6102855f80516020611f5c8339815191525490565b90506001600160a01b0381166102d65760405162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b6044820152606401610266565b365f80375f80365f845af43d5f803e8080156102f0573d5ff35b3d5ffd5b005b348015610301575f80fd5b506102f4610310366004611b5a565b6107f7565b348015610320575f80fd5b506102f461032f366004611b5a565b610824565b34801561033f575f80fd5b506102f461034e366004611b5a565b61084e565b34801561035e575f80fd5b506103867fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040519081526020015b60405180910390f35b3480156103a4575f80fd5b506102f46103b3366004611b5a565b610878565b3480156103c3575f80fd5b506102f46103d2366004611b73565b6108cf565b3480156103e2575f80fd5b506102f46103f1366004611b5a565b610960565b348015610401575f80fd5b506102f4610410366004611be2565b61098a565b348015610420575f80fd5b506103867fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073881565b348015610453575f80fd5b50610467610462366004611b5a565b6109cb565b6040519015158152602001610390565b348015610482575f80fd5b505f80516020611f5c833981519152546040516001600160a01b039091168152602001610390565b3480156104b5575f80fd5b506102f46104c4366004611c2e565b6109fb565b3480156104d4575f80fd5b506102f46104e3366004611c2e565b610b35565b3480156104f3575f80fd5b506102f4610502366004611b5a565b610ca4565b348015610512575f80fd5b50610467610521366004611b5a565b610cce565b348015610531575f80fd5b50610467610540366004611b5a565b610cf9565b348015610550575f80fd5b506102f461055f366004611b5a565b610d24565b6102f4610572366004611c2e565b610d4e565b348015610582575f80fd5b506103866112d5565b348015610596575f80fd5b506104676105a5366004611b5a565b611314565b3480156105b5575f80fd5b506102f46105c4366004611b5a565b61133f565b3480156105d4575f80fd5b506104676105e3366004611b5a565b611392565b3480156105f3575f80fd5b506102f4610602366004611b5a565b6113bd565b348015610612575f80fd5b50610467610621366004611b5a565b6113d4565b348015610631575f80fd5b50610656604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516103909190611cb2565b34801561066e575f80fd5b5061046761067d366004611b5a565b6113ff565b34801561068d575f80fd5b506102f461069c366004611b5a565b611417565b3480156106ac575f80fd5b506104676106bb366004611b5a565b611440565b3480156106cb575f80fd5b5061038662ed4e0081565b3480156106e1575f80fd5b506102f46106f0366004611b5a565b61146b565b348015610700575f80fd5b506102f461070f366004611b5a565b611495565b34801561071f575f80fd5b507fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073854610386565b348015610752575f80fd5b507f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610467565b348015610786575f80fd5b506102f4610795366004611b5a565b6114be565b3480156107a5575f80fd5b506102f46107b4366004611b5a565b6114e8565b3480156107c4575f80fd5b506102f46107d3366004611b5a565b611528565b3480156107e3575f80fd5b506102f46107f2366004611b5a565b611552565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8261159c565b50565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968261159c565b6108217f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998261159c565b80336001600160a01b038216036108a15760405162461bcd60e51b815260040161026690611ce4565b6108cb7f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99836115d1565b5050565b5f80516020611f1c8339815191528214801561090957507f0000000000000000000000000000000000000000000000000000000000000000155b156109565760405162461bcd60e51b815260206004820181905260248201527f43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e6044820152606401610266565b6108cb8282611601565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78261159c565b60405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b6044820152606401610266565b5f6109f57ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688361167b565b92915050565b610a0433610cce565b610a205760405162461bcd60e51b815260040161026690611d14565b5f84848484604051602001610a389493929190611d6b565b6040516020818303038152906040528051906020012090505f610a596116b1565b5f8381526020919091526040902054905080610ab75760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b610abf6116b1565b5f8381526020919091526040812055610ad66116ec565b5f8381526020019081526020015f205f9055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051610b2593929190611da2565b60405180910390a2505050505050565b610b3e33610cce565b610b5a5760405162461bcd60e51b815260040161026690611d14565b6001600160a01b0384163b610ba85760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b5f84848484604051602001610bc09493929190611d6b565b6040516020818303038152906040528051906020012090505f610be16112d5565b610beb9042611ddb565b90505f610c167fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385490565b610c209083611ddb565b905081610c2b6116b1565b5f858152602091909152604090205580610c436116ec565b5f8581526020019081526020015f2081905550866001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b878787604051610c9393929190611da2565b60405180910390a250505050505050565b6108217f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38261159c565b5f6109f57f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288361167b565b5f6109f57f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78361167b565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288261159c565b610d5733610cce565b610d735760405162461bcd60e51b815260040161026690611d14565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610de25760405162461bcd60e51b815260206004820152601860248201527f494d504c454d454e544154494f4e5f46494e414c495a454400000000000000006044820152606401610266565b610dea611723565b15610e295760405162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b6044820152606401610266565b5f84848484604051602001610e419493929190611d6b565b6040516020818303038152906040528051906020012090505f610e626116b1565b5f83815260209190915260408120549150610e7b6116ec565b5f8481526020919091526040902054905081610ed95760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b6001600160a01b0387163b610f275760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b4282111580610f5257505f610f475f80516020611f5c8339815191525490565b6001600160a01b0316145b610f9e5760405162461bcd60e51b815260206004820152601760248201527f555047524144455f4e4f545f454e41424c45445f5945540000000000000000006044820152606401610266565b42811015610fe75760405162461bcd60e51b815260206004820152601660248201527512535413115351539510551253d397d156141254915160521b6044820152606401610266565b610ffc875f80516020611f5c83398151915255565b5f80886001600160a01b031663439fab9160e01b8989604051602401611023929190611dee565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516110619190611e09565b5f60405180830381855af49150503d805f8114611099576040519150601f19603f3d011682016040523d82523d5f602084013e61109e565b606091505b50915091508181906110c35760405162461bcd60e51b81526004016102669190611cb2565b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290516001600160a01b038b169161110291611e09565b5f60405180830381855af49150503d805f811461113a576040519150601f19603f3d011682016040523d82523d5f602084013e61113f565b606091505b509092509050816111925760405162461bcd60e51b815260206004820152601960248201527f43414c4c5f544f5f495346524f5a454e5f5245564552544544000000000000006044820152606401610266565b808060200190518101906111a69190611e24565b156111f35760405162461bcd60e51b815260206004820152601960248201527f4e45575f494d504c454d454e544154494f4e5f46524f5a454e000000000000006044820152606401610266565b6111fb6116b1565b5f86815260209190915260408120556112126116ec565b5f8681526020019081526020015f205f9055886001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544898960405161125f929190611dee565b60405180910390a285156112ca5761129660017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6040516001600160a01b038a16907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c905f90a25b505050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e00821061130c5762ed4e0061130e565b815b91505090565b5f6109f57f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968361167b565b80336001600160a01b038216036113685760405162461bcd60e51b815260040161026690611ce4565b6108cb7f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3836115d1565b5f6109f57f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998361167b565b6108215f80516020611f1c8339815191528261159c565b5f6109f57f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8361167b565b5f6109f55f80516020611f1c8339815191528361167b565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688261159c565b5f6109f57f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38361167b565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b96826115d1565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de06068826115d1565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec228826115d1565b80336001600160a01b038216036115115760405162461bcd60e51b815260040161026690611ce4565b6108cb5f80516020611f1c833981519152836115d1565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e826115d1565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da7826115d1565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115c281611812565b6115cc838361181c565b505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115f781611812565b6115cc8383611890565b6001600160a01b03811633146116715760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610266565b6108cb8282611890565b5f9182525f80516020611f3c833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f6116e76040518060400160405280601481526020017350524f58595f355f454e41424c45445f54494d4560601b815250611902565b905090565b5f6116e76040518060400160405280601581526020017450524f58595f355f44495341424c45445f54494d4560581b815250611902565b5f8061173a5f80516020611f5c8339815191525490565b90506001600160a01b038116611751575f91505090565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290515f9182916001600160a01b0385169161179391611e09565b5f60405180830381855af49150503d805f81146117cb576040519150601f19603f3d011682016040523d82523d5f602084013e6117d0565b606091505b50915091508181906117f55760405162461bcd60e51b81526004016102669190611cb2565b508080602001905181019061180a9190611e24565b935050505090565b6108218133611934565b611826828261167b565b6108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b61189a828261167b565b156108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f80826040516020016119159190611e09565b60408051601f1981840301815291905280516020909101209392505050565b61193e828261167b565b6108cb57611956816001600160a01b03166014611998565b611961836020611998565b604051602001611972929190611e3f565b60408051601f198184030181529082905262461bcd60e51b825261026691600401611cb2565b60605f6119a6836002611eb3565b6119b1906002611ddb565b67ffffffffffffffff8111156119c9576119c9611eca565b6040519080825280601f01601f1916602001820160405280156119f3576020820181803683370190505b509050600360fc1b815f81518110611a0d57611a0d611ede565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611a3b57611a3b611ede565b60200101906001600160f81b03191690815f1a9053505f611a5d846002611eb3565b611a68906001611ddb565b90505b6001811115611adf576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a9c57611a9c611ede565b1a60f81b828281518110611ab257611ab2611ede565b60200101906001600160f81b03191690815f1a90535060049490941c93611ad881611ef2565b9050611a6b565b508315611b2e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610266565b9392505050565b611b3d611f07565b565b80356001600160a01b0381168114611b55575f80fd5b919050565b5f60208284031215611b6a575f80fd5b611b2e82611b3f565b5f8060408385031215611b84575f80fd5b82359150611b9460208401611b3f565b90509250929050565b5f8083601f840112611bad575f80fd5b50813567ffffffffffffffff811115611bc4575f80fd5b602083019150836020828501011115611bdb575f80fd5b9250929050565b5f8060208385031215611bf3575f80fd5b823567ffffffffffffffff811115611c09575f80fd5b611c1585828601611b9d565b90969095509350505050565b8015158114610821575f80fd5b5f805f8060608587031215611c41575f80fd5b611c4a85611b3f565b9350602085013567ffffffffffffffff811115611c65575f80fd5b611c7187828801611b9d565b9094509250506040850135611c8581611c21565b939692955090935050565b5f5b83811015611caa578181015183820152602001611c92565b50505f910152565b602081525f8251806020840152611cd0816040850160208701611c90565b601f01601f19169190910160400192915050565b60208082526016908201527521a0a72727aa2fa822a92327a926afa7a72fa9a2a62360511b604082015260600190565b60208082526015908201527427a7262cafaaa823a920a222afa3a7ab22a92727a960591b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03851681526060602082018190525f90611d8f9083018587611d43565b9050821515604083015295945050505050565b604081525f611db5604083018587611d43565b90508215156020830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611dc7565b602081525f611e01602083018486611d43565b949350505050565b5f8251611e1a818460208701611c90565b9190910192915050565b5f60208284031215611e34575f80fd5b8151611b2e81611c21565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611e76816017850160208801611c90565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ea7816028840160208801611c90565b01602801949350505050565b80820281158282048414176109f5576109f5611dc7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f81611f0057611f00611dc7565b505f190190565b634e487b7160e01b5f52605160045260245ffdfe03711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c84184653e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24a2646970667358221220bf6f09d43af45a98c3016fb09629920e993082c2a0a1b79b29c14e95153bc22b64736f6c634300081800333e3e3e3e3e20696e69745365637572697479526f6c65732870726f766973696f6e616c53656341646d696e2903711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b30251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec22853e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee993e3e3e3e3e20696e6974476f7665726e616e6365526f6c65732870726f766973696f6e616c476f7665726e6f7229","sourceMap":"2986:11128:12:-:0;;;3922:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3972:5;868:31:7;;;;909:21;:19;:21::i;:::-;-1:-1:-1;3989:49:12::1;4015:22:::0;2455:66:9;4416:28:12;4273:187;3989:49:::1;4048:32;4072:7;2810:66:9::0;5407:31:12;5254:200;4048:32:::1;3922:165:::0;2986:11128;;3134:198:8;3233:46;;;;;;;;;;;;-1:-1:-1;;;3233:46:8;;;;3916:10:4;;3233:46:8;;3916:10:4;3233:11:8;:46::i;:::-;3289:36;3300:11;;3289:10;:36::i;:::-;3165:167;3134:198::o;7364:145:3:-;7431:71;7494:2;7498;7447:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7447:54:3;;;;;;;;;;;;;;-1:-1:-1;;;;;7447:54:3;;;-1:-1:-1;;;7447:54:3;;;;7431:15;:71;:::i;:::-;7364:145;;:::o;3338:1220:8:-;3461:28;:26;:28::i;:::-;3457:560;;;-1:-1:-1;;;;;5259:31:4;;5236:4;5259:31;;;:14;;:31;:14;:31;;;;;3716:144:8;;;;-1:-1:-1;;;3716:144:8;;1155:2:14;3716:144:8;;;1137:21:14;1194:2;1174:18;;;1167:30;1233:27;1213:18;;;1206:55;1278:18;;3716:144:8;;;;;;;;;3457:560;;;3891:40;3911:19;3891;:40::i;:::-;3945:61;;;;;;;;;;;;;;;;;;:11;:61::i;:::-;4031:26;:24;:26::i;:::-;4027:525;;;-1:-1:-1;;;;;5259:31:4;;5236:4;5259:31;;;:14;;:31;:14;:31;;;;;4248:151:8;;;;-1:-1:-1;;;4248:151:8;;1509:2:14;4248:151:8;;;1491:21:14;1548:2;1528:18;;;1521:30;1587:34;1567:18;;;1560:62;-1:-1:-1;;;1638:18:14;;;1631:32;1680:19;;4248:151:8;1307:398:14;4027:525:8;4430:38;4448:19;4430:17;:38::i;:::-;4482:59;;;;;;;;;;;;;;;;;;:11;:59::i;408:133:3:-;479:55;526:7;505:19;;;;;479:55;;:::i;2822:152:8:-;-1:-1:-1;;;;;;;;;;;2883:4:8;6680:14:4;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;:24;;2883:4:8;;2906:44;:61;;2899:68;;2822:152;:::o;4850:632::-;4926:63;-1:-1:-1;;;;;;;;;;;4969:19:8;4926:24;:63::i;:::-;4999;-1:-1:-1;;;;;;;;;;;5042:19:8;4999:24;:63::i;:::-;5072:57;854:64;-1:-1:-1;;;;;;;;;;;5072:27:8;:57::i;:::-;5139:61;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;5139:27:8;:61::i;:::-;5210:63;-1:-1:-1;;;;;;;;;;;1268:66:8;5210:27;:63::i;:::-;5283:53;1462:66;-1:-1:-1;;;;;;;;;;;5283:27:8;:53::i;:::-;5346:56;2074:66;-1:-1:-1;;;;;;;;;;;5346:27:8;:56::i;:::-;5412:63;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;5412:27:8;:63::i;6000:121:3:-;6055:59;6110:2;6071:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6071:42:3;;;;;;;;;;;;;;-1:-1:-1;;;;;6071:42:3;;;-1:-1:-1;;;6071:42:3;;;;6055:15;:59;:::i;2980:148:8:-;-1:-1:-1;;;;;;;;;;;3039:4:8;6680:14:4;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;:24;;3039:4:8;;3062:42;6595:116:4;4564:280:8;4638:59;-1:-1:-1;;;;;;;;;;;1668:66:8;4638:27;:59::i;:::-;4707;1874:66;-1:-1:-1;;;;;;;;;;;4707:27:8;:59::i;:::-;4776:61;-1:-1:-1;;;;;;;;;;;4817:19:8;4776:24;:61::i;547:380:3:-;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;9592:227:4:-;5236:4;5259:14;;;-1:-1:-1;;;;;;;;;;;5259:14:4;;;;;;;;-1:-1:-1;;;;;5259:31:4;;;;;;;;;;;;9662:151;;9705:14;;;;-1:-1:-1;;;;;;;;;;;9705:14:4;;;;;;;;-1:-1:-1;;;;;9705:31:4;;;;;;;;;;:38;;-1:-1:-1;;9705:38:4;9739:4;9705:38;;;9762:40;3916:10;;9705:14;;9762:40;;9705:14;9762:40;9592:227;;:::o;9195:241::-;9270:25;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;;:24;;;;9326:36;;;;9377:52;;6680:24;;9326:36;;6680:24;;:14;;9377:52;;9270:25;9377:52;9260:176;9195:241;;:::o;14:184:14:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:14;;14:184;-1:-1:-1;14:184:14:o;203:423::-;245:3;283:5;277:12;310:6;305:3;298:19;335:1;345:162;359:6;356:1;353:13;345:162;;;421:4;477:13;;;473:22;;467:29;449:11;;;445:20;;438:59;374:12;345:162;;;349:3;552:1;545:4;536:6;531:3;527:16;523:27;516:38;615:4;608:2;604:7;599:2;591:6;587:15;583:29;578:3;574:39;570:50;563:57;;;203:423;;;;:::o;631:317::-;808:2;797:9;790:21;771:4;828:45;869:2;858:9;854:18;846:6;828:45;:::i;:::-;820:53;;938:1;934;929:3;925:11;921:19;913:6;909:32;904:2;893:9;889:18;882:60;631:317;;;;;:::o;1710:220::-;1859:2;1848:9;1841:21;1822:4;1879:45;1920:2;1909:9;1905:18;1897:6;1879:45;:::i;:::-;1871:53;1710:220;-1:-1:-1;;;1710:220:14:o;1935:127::-;2986:11128:12;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061021d575f3560e01c806372a44f0711610122578063d08fb6cb116100aa578063e907fa3c1161006e578063e907fa3c14610747578063ed9ef16a1461077b578063ee0e68071461079a578063fa0f73ba146107b9578063fad8b32a146107d85761026f565b8063d08fb6cb146106a1578063d38d8d7a146106c0578063d9fa7091146106d6578063deec9c5a146106f5578063e02904c6146107145761026f565b80639463629a116100f15780639463629a146105e8578063a2bdde3d14610607578063c5ab845314610626578063cb1cccce14610663578063cdd1f70d146106825761026f565b806372a44f0714610577578063757bd9ab1461058b5780638101b64c146105aa5780638e5224ff146105c95761026f565b80635a5d1bb9116101a557806362a143761161017457806362a14376146104e85780636c04d9d5146105075780636d70f7ae146105265780636fc97cbf146105455780637147855d146105645761026f565b80635a5d1bb9146104485780635c60da1b146104775780635cef2e86146104aa5780635e3a97e7146104c95761026f565b80632f951985116101ec5780632f9519851461039957806336568abe146103b85780633682a450146103d7578063439fab91146103f657806352b1e35e146104155761026f565b80630b3a2d21146102f65780630e770f2314610315578063178963831461033457806320cea94d146103535761026f565b3661026f5760405162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f5245434549564560448201526064015b60405180910390fd5b5f6102855f80516020611f5c8339815191525490565b90506001600160a01b0381166102d65760405162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b6044820152606401610266565b365f80375f80365f845af43d5f803e8080156102f0573d5ff35b3d5ffd5b005b348015610301575f80fd5b506102f4610310366004611b5a565b6107f7565b348015610320575f80fd5b506102f461032f366004611b5a565b610824565b34801561033f575f80fd5b506102f461034e366004611b5a565b61084e565b34801561035e575f80fd5b506103867fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040519081526020015b60405180910390f35b3480156103a4575f80fd5b506102f46103b3366004611b5a565b610878565b3480156103c3575f80fd5b506102f46103d2366004611b73565b6108cf565b3480156103e2575f80fd5b506102f46103f1366004611b5a565b610960565b348015610401575f80fd5b506102f4610410366004611be2565b61098a565b348015610420575f80fd5b506103867fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073881565b348015610453575f80fd5b50610467610462366004611b5a565b6109cb565b6040519015158152602001610390565b348015610482575f80fd5b505f80516020611f5c833981519152546040516001600160a01b039091168152602001610390565b3480156104b5575f80fd5b506102f46104c4366004611c2e565b6109fb565b3480156104d4575f80fd5b506102f46104e3366004611c2e565b610b35565b3480156104f3575f80fd5b506102f4610502366004611b5a565b610ca4565b348015610512575f80fd5b50610467610521366004611b5a565b610cce565b348015610531575f80fd5b50610467610540366004611b5a565b610cf9565b348015610550575f80fd5b506102f461055f366004611b5a565b610d24565b6102f4610572366004611c2e565b610d4e565b348015610582575f80fd5b506103866112d5565b348015610596575f80fd5b506104676105a5366004611b5a565b611314565b3480156105b5575f80fd5b506102f46105c4366004611b5a565b61133f565b3480156105d4575f80fd5b506104676105e3366004611b5a565b611392565b3480156105f3575f80fd5b506102f4610602366004611b5a565b6113bd565b348015610612575f80fd5b50610467610621366004611b5a565b6113d4565b348015610631575f80fd5b50610656604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516103909190611cb2565b34801561066e575f80fd5b5061046761067d366004611b5a565b6113ff565b34801561068d575f80fd5b506102f461069c366004611b5a565b611417565b3480156106ac575f80fd5b506104676106bb366004611b5a565b611440565b3480156106cb575f80fd5b5061038662ed4e0081565b3480156106e1575f80fd5b506102f46106f0366004611b5a565b61146b565b348015610700575f80fd5b506102f461070f366004611b5a565b611495565b34801561071f575f80fd5b507fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073854610386565b348015610752575f80fd5b507f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610467565b348015610786575f80fd5b506102f4610795366004611b5a565b6114be565b3480156107a5575f80fd5b506102f46107b4366004611b5a565b6114e8565b3480156107c4575f80fd5b506102f46107d3366004611b5a565b611528565b3480156107e3575f80fd5b506102f46107f2366004611b5a565b611552565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8261159c565b50565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968261159c565b6108217f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998261159c565b80336001600160a01b038216036108a15760405162461bcd60e51b815260040161026690611ce4565b6108cb7f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee99836115d1565b5050565b5f80516020611f1c8339815191528214801561090957507f0000000000000000000000000000000000000000000000000000000000000000155b156109565760405162461bcd60e51b815260206004820181905260248201527f43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e6044820152606401610266565b6108cb8282611601565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78261159c565b60405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b6044820152606401610266565b5f6109f57ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688361167b565b92915050565b610a0433610cce565b610a205760405162461bcd60e51b815260040161026690611d14565b5f84848484604051602001610a389493929190611d6b565b6040516020818303038152906040528051906020012090505f610a596116b1565b5f8381526020919091526040902054905080610ab75760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b610abf6116b1565b5f8381526020919091526040812055610ad66116ec565b5f8381526020019081526020015f205f9055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051610b2593929190611da2565b60405180910390a2505050505050565b610b3e33610cce565b610b5a5760405162461bcd60e51b815260040161026690611d14565b6001600160a01b0384163b610ba85760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b5f84848484604051602001610bc09493929190611d6b565b6040516020818303038152906040528051906020012090505f610be16112d5565b610beb9042611ddb565b90505f610c167fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385490565b610c209083611ddb565b905081610c2b6116b1565b5f858152602091909152604090205580610c436116ec565b5f8581526020019081526020015f2081905550866001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b878787604051610c9393929190611da2565b60405180910390a250505050505050565b6108217f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38261159c565b5f6109f57f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288361167b565b5f6109f57f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78361167b565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288261159c565b610d5733610cce565b610d735760405162461bcd60e51b815260040161026690611d14565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610de25760405162461bcd60e51b815260206004820152601860248201527f494d504c454d454e544154494f4e5f46494e414c495a454400000000000000006044820152606401610266565b610dea611723565b15610e295760405162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b6044820152606401610266565b5f84848484604051602001610e419493929190611d6b565b6040516020818303038152906040528051906020012090505f610e626116b1565b5f83815260209190915260408120549150610e7b6116ec565b5f8481526020919091526040902054905081610ed95760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e00000000006044820152606401610266565b6001600160a01b0387163b610f275760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b6044820152606401610266565b4282111580610f5257505f610f475f80516020611f5c8339815191525490565b6001600160a01b0316145b610f9e5760405162461bcd60e51b815260206004820152601760248201527f555047524144455f4e4f545f454e41424c45445f5945540000000000000000006044820152606401610266565b42811015610fe75760405162461bcd60e51b815260206004820152601660248201527512535413115351539510551253d397d156141254915160521b6044820152606401610266565b610ffc875f80516020611f5c83398151915255565b5f80886001600160a01b031663439fab9160e01b8989604051602401611023929190611dee565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516110619190611e09565b5f60405180830381855af49150503d805f8114611099576040519150601f19603f3d011682016040523d82523d5f602084013e61109e565b606091505b50915091508181906110c35760405162461bcd60e51b81526004016102669190611cb2565b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290516001600160a01b038b169161110291611e09565b5f60405180830381855af49150503d805f811461113a576040519150601f19603f3d011682016040523d82523d5f602084013e61113f565b606091505b509092509050816111925760405162461bcd60e51b815260206004820152601960248201527f43414c4c5f544f5f495346524f5a454e5f5245564552544544000000000000006044820152606401610266565b808060200190518101906111a69190611e24565b156111f35760405162461bcd60e51b815260206004820152601960248201527f4e45575f494d504c454d454e544154494f4e5f46524f5a454e000000000000006044820152606401610266565b6111fb6116b1565b5f86815260209190915260408120556112126116ec565b5f8681526020019081526020015f205f9055886001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544898960405161125f929190611dee565b60405180910390a285156112ca5761129660017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6040516001600160a01b038a16907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c905f90a25b505050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e00821061130c5762ed4e0061130e565b815b91505090565b5f6109f57f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968361167b565b80336001600160a01b038216036113685760405162461bcd60e51b815260040161026690611ce4565b6108cb7f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b3836115d1565b5f6109f57f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998361167b565b6108215f80516020611f1c8339815191528261159c565b5f6109f57f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8361167b565b5f6109f55f80516020611f1c8339815191528361167b565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688261159c565b5f6109f57f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38361167b565b6108217f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b96826115d1565b6108217ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de06068826115d1565b6108217f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec228826115d1565b80336001600160a01b038216036115115760405162461bcd60e51b815260040161026690611ce4565b6108cb5f80516020611f1c833981519152836115d1565b6108217f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e826115d1565b6108217f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da7826115d1565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115c281611812565b6115cc838361181c565b505050565b5f8281525f80516020611f3c83398151915260205260409020600101546115f781611812565b6115cc8383611890565b6001600160a01b03811633146116715760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610266565b6108cb8282611890565b5f9182525f80516020611f3c833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f6116e76040518060400160405280601481526020017350524f58595f355f454e41424c45445f54494d4560601b815250611902565b905090565b5f6116e76040518060400160405280601581526020017450524f58595f355f44495341424c45445f54494d4560581b815250611902565b5f8061173a5f80516020611f5c8339815191525490565b90506001600160a01b038116611751575f91505090565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290515f9182916001600160a01b0385169161179391611e09565b5f60405180830381855af49150503d805f81146117cb576040519150601f19603f3d011682016040523d82523d5f602084013e6117d0565b606091505b50915091508181906117f55760405162461bcd60e51b81526004016102669190611cb2565b508080602001905181019061180a9190611e24565b935050505090565b6108218133611934565b611826828261167b565b6108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b61189a828261167b565b156108cb575f8281525f80516020611f3c833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b5f80826040516020016119159190611e09565b60408051601f1981840301815291905280516020909101209392505050565b61193e828261167b565b6108cb57611956816001600160a01b03166014611998565b611961836020611998565b604051602001611972929190611e3f565b60408051601f198184030181529082905262461bcd60e51b825261026691600401611cb2565b60605f6119a6836002611eb3565b6119b1906002611ddb565b67ffffffffffffffff8111156119c9576119c9611eca565b6040519080825280601f01601f1916602001820160405280156119f3576020820181803683370190505b509050600360fc1b815f81518110611a0d57611a0d611ede565b60200101906001600160f81b03191690815f1a905350600f60fb1b81600181518110611a3b57611a3b611ede565b60200101906001600160f81b03191690815f1a9053505f611a5d846002611eb3565b611a68906001611ddb565b90505b6001811115611adf576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a9c57611a9c611ede565b1a60f81b828281518110611ab257611ab2611ede565b60200101906001600160f81b03191690815f1a90535060049490941c93611ad881611ef2565b9050611a6b565b508315611b2e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610266565b9392505050565b611b3d611f07565b565b80356001600160a01b0381168114611b55575f80fd5b919050565b5f60208284031215611b6a575f80fd5b611b2e82611b3f565b5f8060408385031215611b84575f80fd5b82359150611b9460208401611b3f565b90509250929050565b5f8083601f840112611bad575f80fd5b50813567ffffffffffffffff811115611bc4575f80fd5b602083019150836020828501011115611bdb575f80fd5b9250929050565b5f8060208385031215611bf3575f80fd5b823567ffffffffffffffff811115611c09575f80fd5b611c1585828601611b9d565b90969095509350505050565b8015158114610821575f80fd5b5f805f8060608587031215611c41575f80fd5b611c4a85611b3f565b9350602085013567ffffffffffffffff811115611c65575f80fd5b611c7187828801611b9d565b9094509250506040850135611c8581611c21565b939692955090935050565b5f5b83811015611caa578181015183820152602001611c92565b50505f910152565b602081525f8251806020840152611cd0816040850160208701611c90565b601f01601f19169190910160400192915050565b60208082526016908201527521a0a72727aa2fa822a92327a926afa7a72fa9a2a62360511b604082015260600190565b60208082526015908201527427a7262cafaaa823a920a222afa3a7ab22a92727a960591b604082015260600190565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b03851681526060602082018190525f90611d8f9083018587611d43565b9050821515604083015295945050505050565b604081525f611db5604083018587611d43565b90508215156020830152949350505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156109f5576109f5611dc7565b602081525f611e01602083018486611d43565b949350505050565b5f8251611e1a818460208701611c90565b9190910192915050565b5f60208284031215611e34575f80fd5b8151611b2e81611c21565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611e76816017850160208801611c90565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611ea7816028840160208801611c90565b01602801949350505050565b80820281158282048414176109f5576109f5611dc7565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f81611f0057611f00611dc7565b505f190190565b634e487b7160e01b5f52605160045260245ffdfe03711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c84184653e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24a2646970667358221220bf6f09d43af45a98c3016fb09629920e993082c2a0a1b79b29c14e95153bc22b64736f6c63430008180033","sourceMap":"2986:11128:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7342:42;;-1:-1:-1;;;7342:42:12;;216:2:14;7342:42:12;;;198:21:14;;;235:18;;;228:30;294:34;274:18;;;267:62;346:18;;7342:42:12;;;;;;;;2986:11128;7633:23;7659:16;-1:-1:-1;;;;;;;;;;;5740:11:12;;5572:195;7659:16;7633:42;-1:-1:-1;;;;;;7693:31:12;;7685:66;;;;-1:-1:-1;;;7685:66:12;;577:2:14;7685:66:12;;;559:21:14;616:2;596:18;;;589:30;-1:-1:-1;;;635:18:14;;;628:52;697:18;;7685:66:12;375:346:14;7685:66:12;8030:14;8027:1;8024;8011:34;8253:1;8250;8234:14;8231:1;8214:15;8207:5;8194:61;8329:16;8326:1;8323;8308:38;8443:6;8510:66;;;;8625:16;8622:1;8615:27;8510:66;8545:16;8542:1;8535:27;8436:220;;3988:116:7;;;;;;;;;;-1:-1:-1;3988:116:7;;;;;:::i;:::-;;:::i;3860:122::-;;;;;;;;;;-1:-1:-1;3860:122:7;;;;;:::i;:::-;;:::i;3356:121::-;;;;;;;;;;-1:-1:-1;3356:121:7;;;;;:::i;:::-;;:::i;2402:119:9:-;;;;;;;;;;-1:-1:-1;2402:119:9;2455:66;2402:119;;;;;1241:25:14;;;1229:2;1214:18;2402:119:9;;;;;;;;4385:137:7;;;;;;;;;;-1:-1:-1;4385:137:7;;;;;:::i;:::-;;:::i;5337:247::-;;;;;;;;;;-1:-1:-1;5337:247:7;;;;;:::i;:::-;;:::i;3615:111::-;;;;;;;;;;-1:-1:-1;3615:111:7;;;;;:::i;:::-;;:::i;6611:122:12:-;;;;;;;;;;-1:-1:-1;6611:122:12;;;;;:::i;:::-;;:::i;2748:128:9:-;;;;;;;;;;-1:-1:-1;2748:128:9;2810:66;2748:128;;2064:135:7;;;;;;;;;;-1:-1:-1;2064:135:7;;;;;:::i;:::-;;:::i;:::-;;;2467:14:14;;2460:22;2442:41;;2430:2;2415:18;2064:135:7;2302:187:14;5572:195:12;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;5740:11:12;5572:195;;-1:-1:-1;;;;;2658:32:14;;;2640:51;;2628:2;2613:18;5572:195:12;2494:203:14;10655:619:12;;;;;;;;;;-1:-1:-1;10655:619:12;;;;;:::i;:::-;;:::i;9749:672::-;;;;;;;;;;-1:-1:-1;9749:672:12;;;;;:::i;:::-;;:::i;3732:122:7:-;;;;;;;;;;-1:-1:-1;3732:122:7;;;;;:::i;:::-;;:::i;3061:143::-;;;;;;;;;;-1:-1:-1;3061:143:7;;;;;:::i;:::-;;:::i;2498:128::-;;;;;;;;;;-1:-1:-1;2498:128:7;;;;;:::i;:::-;;:::i;4110:126::-;;;;;;;;;;-1:-1:-1;4110:126:7;;;;;:::i;:::-;;:::i;12173:1939:12:-;;;;;;:::i;:::-;;:::i;4763:281::-;;;;;;;;;;;;;:::i;2777:139:7:-;;;;;;;;;;-1:-1:-1;2777:139:7;;;;;:::i;:::-;;:::i;4792:138::-;;;;;;;;;;-1:-1:-1;4792:138:7;;;;;:::i;:::-;;:::i;2205:::-;;;;;;;;;;-1:-1:-1;2205:138:7;;;;;:::i;:::-;;:::i;3483:126::-;;;;;;;;;;-1:-1:-1;3483:126:7;;;;;:::i;:::-;;:::i;2922:133::-;;;;;;;;;;-1:-1:-1;2922:133:7;;;;;:::i;:::-;;:::i;3799:46:12:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3799:46:12;;;;;;;;;;;;:::i;2349:143:7:-;;;;;;;;;;-1:-1:-1;2349:143:7;;;;;:::i;:::-;;:::i;3232:118::-;;;;;;;;;;-1:-1:-1;3232:118:7;;;;;:::i;:::-;;:::i;2632:139::-;;;;;;;;;;-1:-1:-1;2632:139:7;;;;;:::i;:::-;;:::i;3740:52:12:-;;;;;;;;;;;;3784:8;3740:52;;4936:121:7;;;;;;;;;;-1:-1:-1;4936:121:7;;;;;:::i;:::-;;:::i;4262:117::-;;;;;;;;;;-1:-1:-1;4262:117:7;;;;;:::i;:::-;;:::i;5050:198:12:-;;;;;;;;;;-1:-1:-1;2810:66:9;5221:11:12;5050:198;;9016:244;;;;;;;;;;-1:-1:-1;2134:66:9;9196:11:12;9238:14;9016:244;;5184:125:7;;;;;;;;;;-1:-1:-1;5184:125:7;;;;;:::i;:::-;;:::i;4528:142::-;;;;;;;;;;-1:-1:-1;4528:142:7;;;;;:::i;:::-;;:::i;5063:115::-;;;;;;;;;;-1:-1:-1;5063:115:7;;;;;:::i;:::-;;:::i;4676:110::-;;;;;;;;;;-1:-1:-1;4676:110:7;;;;;:::i;:::-;;:::i;3988:116::-;4052:45;2074:66:8;4089:7:7;4052:23;:45::i;:::-;3988:116;:::o;3860:122::-;3927:48;1874:66:8;3967:7:7;3927:23;:48::i;3356:121::-;3422:48;1058:66:8;3462:7:7;3422:23;:48::i;4385:137::-;4447:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4466:49:::1;1058:66:8;4507:7:7::0;4466:24:::1;:49::i;:::-;4385:137:::0;;:::o;5337:247::-;-1:-1:-1;;;;;;;;;;;5413:24:7;;:45;;;;;5442:16;5441:17;5413:45;5409:118;;;5474:42;;-1:-1:-1;;;5474:42:7;;4833:2:14;5474:42:7;;;4815:21:14;;;4852:18;;;4845:30;4911:34;4891:18;;;4884:62;4963:18;;5474:42:7;4631:356:14;5409:118:7;5536:41;5563:4;5569:7;5536:26;:41::i;3615:111::-;3677:42;1462:66:8;3711:7:7;3677:23;:42::i;6611:122:12:-;6694:32;;-1:-1:-1;;;6694:32:12;;5194:2:14;6694:32:12;;;5176:21:14;5233:2;5213:18;;;5206:30;-1:-1:-1;;;5252:18:14;;;5245:52;5314:18;;6694:32:12;4992:346:14;2064:135:7;2125:4;2148:44;854:64:8;2184:7:7;2148:21;:44::i;:::-;2141:51;2064:135;-1:-1:-1;;2064:135:7:o;10655:619:12:-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;10821:22:12::1;10867:21;10890:4;;10896:8;10856:49;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10846:60;;;;;;10821:85;;10975:22;11000:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;;;-1:-1:-1;11047:18:12;11039:58:::1;;;::::0;-1:-1:-1;;;11039:58:12;;6593:2:14;11039:58:12::1;::::0;::::1;6575:21:14::0;6632:2;6612:18;;;6605:30;6671:29;6651:18;;;6644:57;6718:18;;11039:58:12::1;6391:351:14::0;11039:58:12::1;11114:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;11107:36;11160:16:::1;:14;:16::i;:::-;:32;11177:14;11160:32;;;;;;;;;;;11153:39;;;11229:21;-1:-1:-1::0;;;;;11207:60:12::1;;11252:4;;11258:8;11207:60;;;;;;;;:::i;:::-;;;;;;;;10811:463;;10655:619:::0;;;;:::o;9749:672::-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;-1:-1:-1;;;;;9916:28:12;::::1;1072:20:13::0;9908:63:12::1;;;::::0;-1:-1:-1;;;9908:63:12;;7279:2:14;9908:63:12::1;::::0;::::1;7261:21:14::0;7318:2;7298:18;;;7291:30;-1:-1:-1;;;7337:18:14;;;7330:50;7397:18;;9908:63:12::1;7077:344:14::0;9908:63:12::1;9982:22;10028:17;10047:4;;10053:8;10017:45;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;10007:56;;;;;;9982:81;;10074:22;10117:27;:25;:27::i;:::-;10099:45;::::0;:15:::1;:45;:::i;:::-;10074:70;;10154:26;10200:25;2810:66:9::0;5221:11:12;;5050:198;10200:25:::1;10183:42;::::0;:14;:42:::1;:::i;:::-;10154:71;;10268:14;10236:13;:11;:13::i;:::-;:29;::::0;;;::::1;::::0;;;;;;;:46;10327:18;10292:16:::1;:14;:16::i;:::-;:32;10309:14;10292:32;;;;;;;;;;;:53;;;;10380:17;-1:-1:-1::0;;;;;10360:54:12::1;;10399:4;;10405:8;10360:54;;;;;;;;:::i;:::-;;;;;;;;9898:523;;;9749:672:::0;;;;:::o;3732:122:7:-;3799:48;1668:66:8;3839:7:7;3799:23;:48::i;3061:143::-;3126:4;3149:48;2284:66:8;3189:7:7;3149:21;:48::i;2498:128::-;2556:4;2579:40;1462:66:8;2611:7:7;2579:21;:40::i;4110:126::-;4179:50;2284:66:8;4221:7:7;4179:23;:50::i;12173:1939:12:-;1750:45:7;3916:10:4;3061:143:7;:::i;1750:45::-;1729:113;;;;-1:-1:-1;;;1729:113:7;;;;;;;:::i;:::-;2134:66:9;9196:11:12;9238:14;6773:53:::1;;;::::0;-1:-1:-1;;;6773:53:12;;7890:2:14;6773:53:12::1;::::0;::::1;7872:21:14::0;7929:2;7909:18;;;7902:30;7968:26;7948:18;;;7941:54;8012:18;;6773:53:12::1;7688:348:14::0;6773:53:12::1;7067:24:::2;:22;:24::i;:::-;7066:25;7058:53;;;::::0;-1:-1:-1;;;7058:53:12;;8243:2:14;7058:53:12::2;::::0;::::2;8225:21:14::0;8282:2;8262:18;;;8255:30;-1:-1:-1;;;8301:18:14;;;8294:45;8356:18;;7058:53:12::2;8041:339:14::0;7058:53:12::2;12355:22:::3;12401:17;12420:4;;12426:8;12390:45;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12380:56;;;;;;12355:81;;12446:22;12471:13;:11;:13::i;:::-;:29;::::0;;;::::3;::::0;;;;;;;;;-1:-1:-1;12539:16:12::3;:14;:16::i;:::-;:32;::::0;;;::::3;::::0;;;;;;;;;-1:-1:-1;12589:18:12;12581:58:::3;;;::::0;-1:-1:-1;;;12581:58:12;;6593:2:14;12581:58:12::3;::::0;::::3;6575:21:14::0;6632:2;6612:18;;;6605:30;6671:29;6651:18;;;6644:57;6718:18;;12581:58:12::3;6391:351:14::0;12581:58:12::3;-1:-1:-1::0;;;;;12657:28:12;::::3;1072:20:13::0;12649:63:12::3;;;::::0;-1:-1:-1;;;12649:63:12;;7279:2:14;12649:63:12::3;::::0;::::3;7261:21:14::0;7318:2;7298:18;;;7291:30;-1:-1:-1;;;7337:18:14;;;7330:50;7397:18;;12649:63:12::3;7077:344:14::0;12649:63:12::3;12852:15;12834:14;:33;;:69;;;-1:-1:-1::0;12899:3:12::3;12871:16;-1:-1:-1::0;;;;;;;;;;;5740:11:12;;5572:195;12871:16:::3;-1:-1:-1::0;;;;;12871:32:12::3;;12834:69;12813:139;;;::::0;-1:-1:-1;;;12813:139:12;;8587:2:14;12813:139:12::3;::::0;::::3;8569:21:14::0;8626:2;8606:18;;;8599:30;8665:25;8645:18;;;8638:53;8708:18;;12813:139:12::3;8385:347:14::0;12813:139:12::3;12992:15;12970:18;:37;;12962:72;;;::::0;-1:-1:-1;;;12962:72:12;;8939:2:14;12962:72:12::3;::::0;::::3;8921:21:14::0;8978:2;8958:18;;;8951:30;-1:-1:-1;;;8997:18:14;;;8990:52;9059:18;;12962:72:12::3;8737:346:14::0;12962:72:12::3;13045:36;13063:17;-1:-1:-1::0;;;;;;;;;;;8883:31:12;8744:186;13045:36:::3;13161:12;13175:23:::0;13202:17:::3;-1:-1:-1::0;;;;;13202:30:12::3;13269:24;;;13295:4;;13246:54;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;13246:54:12;;::::3;::::0;;;;;;::::3;::::0;::::3;::::0;;-1:-1:-1;;;;;13246:54:12::3;-1:-1:-1::0;;;;;;13246:54:12;;::::3;::::0;;;::::3;::::0;;;13202:108;;::::3;::::0;13246:54;13202:108:::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13160:150;;;;13328:7;13344:10;13320:36;;;;;-1:-1:-1::0;;;13320:36:12::3;;;;;;;;:::i;:::-;-1:-1:-1::0;13584:37:12::3;::::0;;;;;::::3;::::0;::::3;::::0;;::::3;::::0;::::3;::::0;;-1:-1:-1;;;;;13584:37:12::3;-1:-1:-1::0;;;13584:37:12::3;::::0;;13540:91;;-1:-1:-1;;;;;13540:30:12;::::3;::::0;:91:::3;::::0;::::3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13516:115:12;;-1:-1:-1;13516:115:12;-1:-1:-1;13516:115:12;13641:45:::3;;;::::0;-1:-1:-1;;;13641:45:12;;9831:2:14;13641:45:12::3;::::0;::::3;9813:21:14::0;9870:2;9850:18;;;9843:30;9909:27;9889:18;;;9882:55;9954:18;;13641:45:12::3;9629:349:14::0;13641:45:12::3;13716:10;13705:30;;;;;;;;;;;;:::i;:::-;13704:31;13696:69;;;::::0;-1:-1:-1;;;13696:69:12;;10435:2:14;13696:69:12::3;::::0;::::3;10417:21:14::0;10474:2;10454:18;;;10447:30;10513:27;10493:18;;;10486:55;10558:18;;13696:69:12::3;10233:349:14::0;13696:69:12::3;13836:13;:11;:13::i;:::-;:29;::::0;;;::::3;::::0;;;;;;;13829:36;13882:16:::3;:14;:16::i;:::-;:32;13899:14;13882:32;;;;;;;;;;;13875:39;;;13953:17;-1:-1:-1::0;;;;;13930:47:12::3;;13972:4;;13930:47;;;;;;;:::i;:::-;;;;;;;;13992:8;13988:118;;;14016:18;9460:3:::0;2134:66:9;9447:17:12;9333:147;14016:18:::3;14053:42;::::0;-1:-1:-1;;;;;14053:42:12;::::3;::::0;::::3;::::0;;;::::3;13988:118;12345:1767;;;;;12173:1939:::0;;;;:::o;4763:281::-;2455:66:9;4921:11:12;;;3784:8;4961:25;;4960:55;;3784:8;4960:55;;;4990:5;4960:55;4952:63;;5025:12;4763:281;:::o;2777:139:7:-;2840:4;2863:46;1874:66:8;2901:7:7;2863:21;:46::i;4792:138::-;4855:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4874:49:::1;1668:66:8;4915:7:7::0;4874:24:::1;:49::i;2205:138::-:0;2267:4;2290:46;1058:66:8;2328:7:7;2290:21;:46::i;3483:126::-;3552:50;-1:-1:-1;;;;;;;;;;;3594:7:7;3552:23;:50::i;2922:133::-;2982:4;3005:43;2074:66:8;3040:7:7;3005:21;:43::i;2349:143::-;2414:4;2437:48;-1:-1:-1;;;;;;;;;;;2477:7:7;2437:21;:48::i;3232:118::-;3297:46;854:64:8;3335:7:7;3297:23;:46::i;2632:139::-;2695:4;2718:46;1668:66:8;2756:7:7;2718:21;:46::i;4936:121::-;5001:49;1874:66:8;5042:7:7;5001:24;:49::i;4262:117::-;4325:47;854:64:8;4364:7:7;4325:24;:47::i;5184:125::-;5251:51;2284:66:8;5294:7:7;5251:24;:51::i;4528:142::-;4593:7;3916:10:4;-1:-1:-1;;;;;1931:37:7;;;1910:106;;;;-1:-1:-1;;;1910:106:7;;;;;;;:::i;:::-;4612:51:::1;-1:-1:-1::0;;;;;;;;;;;4655:7:7;4612:24:::1;:51::i;5063:115::-:0;5125:46;2074:66:8;5163:7:7;5125:24;:46::i;4676:110::-;4736:43;1462:66:8;4771:7:7;4736:24;:43::i;547:380:3:-;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;6990:152:4:-;6654:7;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;:24;;;5030:16;5041:4;5030:10;:16::i;:::-;7110:25:::1;7121:4;7127:7;7110:10;:25::i;:::-;6990:152:::0;;;:::o;7408:154::-;6654:7;6680:14;;;-1:-1:-1;;;;;;;;;;;6680:14:4;;;;;:24;;;5030:16;5041:4;5030:10;:16::i;:::-;7529:26:::1;7541:4;7547:7;7529:11;:26::i;8078:233::-:0;-1:-1:-1;;;;;8171:23:4;;3916:10;8171:23;8150:117;;;;-1:-1:-1;;;8150:117:4;;10789:2:14;8150:117:4;;;10771:21:14;10828:2;10808:18;;;10801:30;10867:34;10847:18;;;10840:62;-1:-1:-1;;;10918:18:14;;;10911:45;10973:19;;8150:117:4;10587:411:14;8150:117:4;8278:26;8290:4;8296:7;8278:11;:26::i;5143:154::-;5236:4;5259:14;;;-1:-1:-1;;;;;;;;;;;5259:14:4;;;;;;;;-1:-1:-1;;;;;5259:31:4;;;;;;;;;;;;;;;5143:154::o;1160:189:6:-;1230:35;1288:54;1325:16;;;;;;;;;;;;;-1:-1:-1;;;1325:16:6;;;1288:36;:54::i;:::-;1281:61;;1160:189;:::o;1569:193::-;1642:35;1700:55;1737:17;;;;;;;;;;;;;-1:-1:-1;;;1737:17:6;;;1700:36;:55::i;5904:564:12:-;5955:4;5971:23;5997:16;-1:-1:-1;;;;;;;;;;;5740:11:12;;5572:195;5997:16;5971:42;-1:-1:-1;;;;;;6113:31:12;;6109:74;;6167:5;6160:12;;;5904:564;:::o;6109:74::-;6321:37;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6321:37:12;-1:-1:-1;;;6321:37:12;;;6279:89;;6238:12;;;;-1:-1:-1;;;;;6279:28:12;;;:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6237:131;;;;6386:7;6402:10;6378:36;;;;;-1:-1:-1;;;6378:36:12;;;;;;;;:::i;:::-;;6442:10;6431:30;;;;;;;;;;;;:::i;:::-;6424:37;;;;;5904:564;:::o;5576:95:4:-;5634:30;5645:4;3916:10;5634;:30::i;9592:227::-;9667:22;9675:4;9681:7;9667;:22::i;:::-;9662:151;;9705:14;;;;-1:-1:-1;;;;;;;;;;;9705:14:4;;;;;;;;-1:-1:-1;;;;;9705:31:4;;;;;;;;;;:38;;-1:-1:-1;;9705:38:4;9739:4;9705:38;;;9762:40;3916:10;;9705:14;;9762:40;;9705:14;9762:40;9592:227;;:::o;9978:228::-;10053:22;10061:4;10067:7;10053;:22::i;:::-;10049:151;;;10125:5;10091:14;;;-1:-1:-1;;;;;;;;;;;10091:14:4;;;;;;;;-1:-1:-1;;;;;10091:31:4;;;;;;;;;;:39;;-1:-1:-1;;10091:39:4;;;10149:40;3916:10;;10091:14;;10149:40;;10125:5;10149:40;9978:228;;:::o;1151:298:5:-;1251:50;1317:16;1363:4;1346:22;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1346:22:5;;;;;;;;;1336:33;;1346:22;1336:33;;;;;1151:298;-1:-1:-1;;;1151:298:5:o;5941:484:4:-;6021:22;6029:4;6035:7;6021;:22::i;:::-;6016:403;;6204:41;6232:7;-1:-1:-1;;;;;6204:41:4;6242:2;6204:19;:41::i;:::-;6316:38;6344:4;6351:2;6316:19;:38::i;:::-;6111:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6111:265:4;;;;;;;;;;-1:-1:-1;;;6059:349:4;;;;;;;:::i;2248:441:10:-;2323:13;2348:19;2380:10;2384:6;2380:1;:10;:::i;:::-;:14;;2393:1;2380:14;:::i;:::-;2370:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2370:25:10;;2348:47;;-1:-1:-1;;;2405:6:10;2412:1;2405:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2405:15:10;;;;;;;;;-1:-1:-1;;;2430:6:10;2437:1;2430:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2430:15:10;;;;;;;;-1:-1:-1;2460:9:10;2472:10;2476:6;2472:1;:10;:::i;:::-;:14;;2485:1;2472:14;:::i;:::-;2460:26;;2455:132;2492:1;2488;:5;2455:132;;;-1:-1:-1;;;2539:5:10;2547:3;2539:11;2526:25;;;;;;;:::i;:::-;;;;2514:6;2521:1;2514:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;2514:37:10;;;;;;;;-1:-1:-1;2575:1:10;2565:11;;;;;2495:3;;;:::i;:::-;;;2455:132;;;-1:-1:-1;2604:10:10;;2596:55;;;;-1:-1:-1;;;2596:55:10;;12894:2:14;2596:55:10;;;12876:21:14;;;12913:18;;;12906:30;12972:34;12952:18;;;12945:62;13024:18;;2596:55:10;12692:356:14;2596:55:10;2675:6;2248:441;-1:-1:-1;;;2248:441:10:o;-1:-1:-1:-;;;:::i;:::-;:::o;726:173:14:-;794:20;;-1:-1:-1;;;;;843:31:14;;833:42;;823:70;;889:1;886;879:12;823:70;726:173;;;:::o;904:186::-;963:6;1016:2;1004:9;995:7;991:23;987:32;984:52;;;1032:1;1029;1022:12;984:52;1055:29;1074:9;1055:29;:::i;1277:254::-;1345:6;1353;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;1458:9;1445:23;1435:33;;1487:38;1521:2;1510:9;1506:18;1487:38;:::i;:::-;1477:48;;1277:254;;;;;:::o;1536:347::-;1587:8;1597:6;1651:3;1644:4;1636:6;1632:17;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;-1:-1:-1;1692:20:14;;1735:18;1724:30;;1721:50;;;1767:1;1764;1757:12;1721:50;1804:4;1796:6;1792:17;1780:29;;1856:3;1849:4;1840:6;1832;1828:19;1824:30;1821:39;1818:59;;;1873:1;1870;1863:12;1818:59;1536:347;;;;;:::o;1888:409::-;1958:6;1966;2019:2;2007:9;1998:7;1994:23;1990:32;1987:52;;;2035:1;2032;2025:12;1987:52;2075:9;2062:23;2108:18;2100:6;2097:30;2094:50;;;2140:1;2137;2130:12;2094:50;2179:58;2229:7;2220:6;2209:9;2205:22;2179:58;:::i;:::-;2256:8;;2153:84;;-1:-1:-1;1888:409:14;-1:-1:-1;;;;1888:409:14:o;2702:118::-;2788:5;2781:13;2774:21;2767:5;2764:32;2754:60;;2810:1;2807;2800:12;2825:612;2910:6;2918;2926;2934;2987:2;2975:9;2966:7;2962:23;2958:32;2955:52;;;3003:1;3000;2993:12;2955:52;3026:29;3045:9;3026:29;:::i;:::-;3016:39;;3106:2;3095:9;3091:18;3078:32;3133:18;3125:6;3122:30;3119:50;;;3165:1;3162;3155:12;3119:50;3204:58;3254:7;3245:6;3234:9;3230:22;3204:58;:::i;:::-;3281:8;;-1:-1:-1;3178:84:14;-1:-1:-1;;3366:2:14;3351:18;;3338:32;3379:28;3338:32;3379:28;:::i;:::-;2825:612;;;;-1:-1:-1;2825:612:14;;-1:-1:-1;;2825:612:14:o;3624:250::-;3709:1;3719:113;3733:6;3730:1;3727:13;3719:113;;;3809:11;;;3803:18;3790:11;;;3783:39;3755:2;3748:10;3719:113;;;-1:-1:-1;;3866:1:14;3848:16;;3841:27;3624:250::o;3879:396::-;4028:2;4017:9;4010:21;3991:4;4060:6;4054:13;4103:6;4098:2;4087:9;4083:18;4076:34;4119:79;4191:6;4186:2;4175:9;4171:18;4166:2;4158:6;4154:15;4119:79;:::i;:::-;4259:2;4238:15;-1:-1:-1;;4234:29:14;4219:45;;;;4266:2;4215:54;;3879:396;-1:-1:-1;;3879:396:14:o;4280:346::-;4482:2;4464:21;;;4521:2;4501:18;;;4494:30;-1:-1:-1;;;4555:2:14;4540:18;;4533:52;4617:2;4602:18;;4280:346::o;5343:345::-;5545:2;5527:21;;;5584:2;5564:18;;;5557:30;-1:-1:-1;;;5618:2:14;5603:18;;5596:51;5679:2;5664:18;;5343:345::o;5693:266::-;5781:6;5776:3;5769:19;5833:6;5826:5;5819:4;5814:3;5810:14;5797:43;-1:-1:-1;5885:1:14;5860:16;;;5878:4;5856:27;;;5849:38;;;;5941:2;5920:15;;;-1:-1:-1;;5916:29:14;5907:39;;;5903:50;;5693:266::o;5964:422::-;-1:-1:-1;;;;;6171:32:14;;6153:51;;6240:2;6235;6220:18;;6213:30;;;-1:-1:-1;;6260:61:14;;6302:18;;6294:6;6286;6260:61;:::i;:::-;6252:69;;6371:6;6364:14;6357:22;6352:2;6341:9;6337:18;6330:50;5964:422;;;;;;;:::o;6747:325::-;6926:2;6915:9;6908:21;6889:4;6946:61;7003:2;6992:9;6988:18;6980:6;6972;6946:61;:::i;:::-;6938:69;;7057:6;7050:14;7043:22;7038:2;7027:9;7023:18;7016:50;6747:325;;;;;;:::o;7426:127::-;7487:10;7482:3;7478:20;7475:1;7468:31;7518:4;7515:1;7508:15;7542:4;7539:1;7532:15;7558:125;7623:9;;;7644:10;;;7641:36;;;7657:18;;:::i;9088:244::-;9245:2;9234:9;9227:21;9208:4;9265:61;9322:2;9311:9;9307:18;9299:6;9291;9265:61;:::i;:::-;9257:69;9088:244;-1:-1:-1;;;;9088:244:14:o;9337:287::-;9466:3;9504:6;9498:13;9520:66;9579:6;9574:3;9567:4;9559:6;9555:17;9520:66;:::i;:::-;9602:16;;;;;9337:287;-1:-1:-1;;9337:287:14:o;9983:245::-;10050:6;10103:2;10091:9;10082:7;10078:23;10074:32;10071:52;;;10119:1;10116;10109:12;10071:52;10151:9;10145:16;10170:28;10192:5;10170:28;:::i;11297:812::-;11708:25;11703:3;11696:38;11678:3;11763:6;11757:13;11779:75;11847:6;11842:2;11837:3;11833:12;11826:4;11818:6;11814:17;11779:75;:::i;:::-;-1:-1:-1;;;11913:2:14;11873:16;;;11905:11;;;11898:40;11963:13;;11985:76;11963:13;12047:2;12039:11;;12032:4;12020:17;;11985:76;:::i;:::-;12081:17;12100:2;12077:26;;11297:812;-1:-1:-1;;;;11297:812:14:o;12114:168::-;12187:9;;;12218;;12235:15;;;12229:22;;12215:37;12205:71;;12256:18;;:::i;12287:127::-;12348:10;12343:3;12339:20;12336:1;12329:31;12379:4;12376:1;12369:15;12403:4;12400:1;12393:15;12419:127;12480:10;12475:3;12471:20;12468:1;12461:31;12511:4;12508:1;12501:15;12535:4;12532:1;12525:15;12551:136;12590:3;12618:5;12608:39;;12627:18;;:::i;:::-;-1:-1:-1;;;12663:18:14;;12551:136::o;13053:127::-;13114:10;13109:3;13105:20;13102:1;13095:31;13145:4;13142:1;13135:15;13169:4;13166:1;13159:15","linkReferences":{},"immutableReferences":{"8949":[{"start":2280,"length":32}]}},"methodIdentifiers":{"ENABLE_WINDOW_DURATION_SLOT()":"52b1e35e","MAX_UPGRADE_DELAY()":"d38d8d7a","PROXY_VERSION()":"c5ab8453","UPGRADE_DELAY_SLOT()":"20cea94d","addImplementation(address,bytes,bool)":"5e3a97e7","getEnableWindowDuration()":"e02904c6","getUpgradeActivationDelay()":"72a44f07","implementation()":"5c60da1b","initialize(bytes)":"439fab91","isAppGovernor(address)":"5a5d1bb9","isAppRoleAdmin(address)":"8e5224ff","isGovernanceAdmin(address)":"cb1cccce","isNotFinalized()":"e907fa3c","isOperator(address)":"6d70f7ae","isSecurityAdmin(address)":"d08fb6cb","isSecurityAgent(address)":"757bd9ab","isTokenAdmin(address)":"a2bdde3d","isUpgradeGovernor(address)":"6c04d9d5","registerAppGovernor(address)":"cdd1f70d","registerAppRoleAdmin(address)":"17896383","registerGovernanceAdmin(address)":"9463629a","registerOperator(address)":"3682a450","registerSecurityAdmin(address)":"62a14376","registerSecurityAgent(address)":"0e770f23","registerTokenAdmin(address)":"0b3a2d21","registerUpgradeGovernor(address)":"6fc97cbf","removeImplementation(address,bytes,bool)":"5cef2e86","renounceRole(bytes32,address)":"36568abe","revokeAppGovernor(address)":"deec9c5a","revokeAppRoleAdmin(address)":"2f951985","revokeGovernanceAdmin(address)":"ee0e6807","revokeOperator(address)":"fad8b32a","revokeSecurityAdmin(address)":"8101b64c","revokeSecurityAgent(address)":"d9fa7091","revokeTokenAdmin(address)":"fa0f73ba","revokeUpgradeGovernor(address)":"ed9ef16a","upgradeTo(address,bytes,bool)":"7147855d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"upgradeActivationDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"FinalizedImplementation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"ImplementationAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"ImplementationRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"}],\"name\":\"ImplementationUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"ENABLE_WINDOW_DURATION_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_UPGRADE_DELAY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROXY_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_DELAY_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"addImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEnableWindowDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUpgradeActivationDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAppGovernor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAppRoleAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isGovernanceAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isNotFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"notFinal\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSecurityAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSecurityAgent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isTokenAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isUpgradeGovernor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerAppGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerAppRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerGovernanceAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerSecurityAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerSecurityAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerTokenAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"registerUpgradeGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"removedImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"removeImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeAppGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeAppRoleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeGovernanceAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeSecurityAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeSecurityAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeTokenAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeUpgradeGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"finalize\",\"type\":\"bool\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"The Proxy contract implements delegation of calls to other contracts (`implementations`), with proper forwarding of return values and revert reasons. This pattern allows retaining the contract storage while replacing implementation code. The following operations are supported by the proxy contract: - :sol:func:`addImplementation`: Defines a new implementation, the data with which it should be initialized and whether this will be the last version of implementation. - :sol:func:`upgradeTo`: Once an implementation is added, the governor may upgrade to that implementation only after a safety time period has passed (time lock), the current implementation is not the last version and the implementation is not frozen (see :sol:mod:`FullWithdrawals`). - :sol:func:`removeImplementation`: Any announced implementation may be removed. Removing an implementation is especially important once it has been used for an upgrade in order to avoid an additional unwanted revert to an older version. The only entity allowed to perform the above operations is the proxy governor (see :sol:mod:`ProxyGovernance`). Every implementation is required to have an `initialize` function that replaces the constructor of a normal contract. Furthermore, the only parameter of this function is an array of bytes (`data`) which may be decoded arbitrarily by the `initialize` function. It is up to the implementation to ensure that this function cannot be run more than once if so desired. When an implementation is added (:sol:func:`addImplementation`) the initialization `data` is also announced, allowing users of the contract to analyze the full effect of an upgrade to the new implementation. During an :sol:func:`upgradeTo`, the `data` is provided again and only if it is identical to the announced `data` is the upgrade performed by pointing the proxy to the new implementation and calling its `initialize` function with this `data`. ProxyStorage contains the storage variables required by the Proxy. The Proxy storage variables are not in the low slot addresses (a.k.a linear storage) - to avoid storage collision.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Proxy_5_0_0.sol\":\"Proxy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":cairo-lang/=lib/cairo-lang/src/\",\":forge-std/=lib/forge-std/src/\",\":starknet-cc/=lib/cairo-lang/src/starkware/starknet/solidity/\",\":starknet-token/=lib/starknet-token/src/starkware/isd/\",\":starkware/isd/=lib/starknet-token/src/starkware/isd/\",\":starkware/solidity/=lib/cairo-lang/src/starkware/solidity/\",\":starkware/starknet/solidity/=lib/cairo-lang/src/starkware/starknet/solidity/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x0b7475858d62180b6ccbea2181cf9fa0ed6773fdb8b0f5cbd946d13c5660579f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ba7fa71d8d3ace512ee0a3d9d4d5923a6eb01fcbd93219726e40eeb50a8e52f\",\"dweb:/ipfs/QmScHyHRhrWp21Gazmzq1HR1YDjkbpya6SPTHEs5wzjhwg\"]},\"src/5_0_0/AccessControl.sol\":{\"keccak256\":\"0xf5b3f552f8bd4dabcde63211086f4cda6d4b8637fe91297b2330f0fd9ebfa09b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://780e24d5629c673aa1efcc98e1c8f6129d944ef8b32792cc693dfda095873333\",\"dweb:/ipfs/QmPZz3C6Pn4BcZuX3ABZWCcdXhW5YavXPWsAT3WzXXxFbt\"]},\"src/5_0_0/NamedStorage.sol\":{\"keccak256\":\"0xc2b96c4e9fca2bb7cb265086a8377291a2fcf038c1c938ded83cc62ffad552c3\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://9d2f160447e77d2f81fec54851ecc960591dba9a92c963a648fd11dd4aa14917\",\"dweb:/ipfs/QmWRGXLdBHy715WAuBNKe1C25rbBmP8oEYVqh5B72hTA39\"]},\"src/5_0_0/ProxyStorage.sol\":{\"keccak256\":\"0xe0e4255645aab6b7a9b7419420e677130b54f42cb136ac8cb5e2d6bf7f034d03\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://b6ffab7681237bd5bbf692bad55491aa28d71b6db222432be02ab99244a208bc\",\"dweb:/ipfs/QmZ2E7Ke48kctcRTvhjMaKWEcf8Z533r39Wvs3tWtk55XA\"]},\"src/5_0_0/Roles.sol\":{\"keccak256\":\"0xf81e26787d8d268c8158517ef463fa357ac499ca74fc5d908f37ec53503006a1\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://e40e4d0d580b2584cae427ab26ddfb8a725c00df2a359dd44fb5800908251f06\",\"dweb:/ipfs/QmWRwrDxZAp5gMvt61LVhGQaWk7bx1H7FFAccs89wZdGFG\"]},\"src/5_0_0/RolesLib.sol\":{\"keccak256\":\"0x3faa928d001ca6505da2b314e9b155d09853cb1a678d5b8a250da02c31831572\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://b37fd2d23c868b57b9c07dbab56e7a7e1a3b0dab9a2adf9978c239ace4b14d29\",\"dweb:/ipfs/QmTQ7eUq2PgwSxPpzCLviQqvGz55YKjD3Yj1BGy17bHD41\"]},\"src/5_0_0/StorageSlots.sol\":{\"keccak256\":\"0x303de59cd73d16544cdda9e8a5ff90c2f0f8e42bd823a585b497eda076081272\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://126b212b0d36003b6e8688c6544296a63a8daa0b2d19ed70291cce0236b0ef2c\",\"dweb:/ipfs/QmcoKtyHSFSjtiBZ6e4nnUnqcQdMNrWXgmSbxejN9iDran\"]},\"src/5_0_0/Strings.sol\":{\"keccak256\":\"0x43b2d3275f2d2927db40aebd1b6e5514b54f778043fff677d3714c824f7ad9e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa5f40e3f0f64c825f643f123260949bdcb63a552d4d3b49551efa5f4927f0e7\",\"dweb:/ipfs/QmNVmkv2FB3aUJb8g4BrF9D19Y37PsrHPf31dD636Kk82f\"]},\"src/Proxy_5_0_0.sol\":{\"keccak256\":\"0xf381b8d9116c0f51ba70df5a6b89c8a366543f8375d4a2ab5032b125d0001a0e\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://77f7a2d7624aa8bfd4c8bc7f4f778538ac6ac3f75bcc4b80835f7132bb016155\",\"dweb:/ipfs/QmPiW7pxBpNmoXNkpLn5p2VTEYr3b4Yd77REMPTpKWF3WW\"]},\"src/libraries/Addresses.sol\":{\"keccak256\":\"0xb0865ea6dcc8f3e095309859500c92912cf149f5a88d4d7ee73f75c5549bdb16\",\"license\":\"Apache-2.0.\",\"urls\":[\"bzz-raw://924d7db5ad489487c980f85511ee04002ec4921bb09e787614dd56c619b5d35a\",\"dweb:/ipfs/QmZbGn7PmGHWYqjj3rsypoJon3LJnbD4bP1fWdn1ivd4JR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"upgradeActivationDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"FinalizedImplementation","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false},{"internalType":"bool","name":"finalize","type":"bool","indexed":false}],"type":"event","name":"ImplementationAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false},{"internalType":"bool","name":"finalize","type":"bool","indexed":false}],"type":"event","name":"ImplementationRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true},{"internalType":"bytes","name":"initializer","type":"bytes","indexed":false}],"type":"event","name":"ImplementationUpgraded","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"ENABLE_WINDOW_DURATION_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_UPGRADE_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PROXY_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_DELAY_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"addImplementation"},{"inputs":[],"stateMutability":"view","type":"function","name":"getEnableWindowDuration","outputs":[{"internalType":"uint256","name":"duration","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getUpgradeActivationDelay","outputs":[{"internalType":"uint256","name":"delay","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"_implementation","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAppGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAppRoleAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isGovernanceAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isNotFinalized","outputs":[{"internalType":"bool","name":"notFinal","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isOperator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isSecurityAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isSecurityAgent","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isTokenAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isUpgradeGovernor","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerAppGovernor"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerAppRoleAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerGovernanceAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerOperator"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSecurityAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerSecurityAgent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerTokenAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"registerUpgradeGovernor"},{"inputs":[{"internalType":"address","name":"removedImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeImplementation"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAppGovernor"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAppRoleAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeGovernanceAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeOperator"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeSecurityAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeSecurityAgent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeTokenAdmin"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeUpgradeGovernor"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"finalize","type":"bool"}],"stateMutability":"payable","type":"function","name":"upgradeTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["cairo-lang/=lib/cairo-lang/src/","forge-std/=lib/forge-std/src/","starknet-cc/=lib/cairo-lang/src/starkware/starknet/solidity/","starknet-token/=lib/starknet-token/src/starkware/isd/","starkware/isd/=lib/starknet-token/src/starkware/isd/","starkware/solidity/=lib/cairo-lang/src/starkware/solidity/","starkware/starknet/solidity/=lib/cairo-lang/src/starkware/starknet/solidity/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Proxy_5_0_0.sol":"Proxy"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0x0b7475858d62180b6ccbea2181cf9fa0ed6773fdb8b0f5cbd946d13c5660579f","urls":["bzz-raw://4ba7fa71d8d3ace512ee0a3d9d4d5923a6eb01fcbd93219726e40eeb50a8e52f","dweb:/ipfs/QmScHyHRhrWp21Gazmzq1HR1YDjkbpya6SPTHEs5wzjhwg"],"license":"MIT"},"src/5_0_0/AccessControl.sol":{"keccak256":"0xf5b3f552f8bd4dabcde63211086f4cda6d4b8637fe91297b2330f0fd9ebfa09b","urls":["bzz-raw://780e24d5629c673aa1efcc98e1c8f6129d944ef8b32792cc693dfda095873333","dweb:/ipfs/QmPZz3C6Pn4BcZuX3ABZWCcdXhW5YavXPWsAT3WzXXxFbt"],"license":"MIT"},"src/5_0_0/NamedStorage.sol":{"keccak256":"0xc2b96c4e9fca2bb7cb265086a8377291a2fcf038c1c938ded83cc62ffad552c3","urls":["bzz-raw://9d2f160447e77d2f81fec54851ecc960591dba9a92c963a648fd11dd4aa14917","dweb:/ipfs/QmWRGXLdBHy715WAuBNKe1C25rbBmP8oEYVqh5B72hTA39"],"license":"Apache-2.0."},"src/5_0_0/ProxyStorage.sol":{"keccak256":"0xe0e4255645aab6b7a9b7419420e677130b54f42cb136ac8cb5e2d6bf7f034d03","urls":["bzz-raw://b6ffab7681237bd5bbf692bad55491aa28d71b6db222432be02ab99244a208bc","dweb:/ipfs/QmZ2E7Ke48kctcRTvhjMaKWEcf8Z533r39Wvs3tWtk55XA"],"license":"Apache-2.0."},"src/5_0_0/Roles.sol":{"keccak256":"0xf81e26787d8d268c8158517ef463fa357ac499ca74fc5d908f37ec53503006a1","urls":["bzz-raw://e40e4d0d580b2584cae427ab26ddfb8a725c00df2a359dd44fb5800908251f06","dweb:/ipfs/QmWRwrDxZAp5gMvt61LVhGQaWk7bx1H7FFAccs89wZdGFG"],"license":"Apache-2.0."},"src/5_0_0/RolesLib.sol":{"keccak256":"0x3faa928d001ca6505da2b314e9b155d09853cb1a678d5b8a250da02c31831572","urls":["bzz-raw://b37fd2d23c868b57b9c07dbab56e7a7e1a3b0dab9a2adf9978c239ace4b14d29","dweb:/ipfs/QmTQ7eUq2PgwSxPpzCLviQqvGz55YKjD3Yj1BGy17bHD41"],"license":"Apache-2.0."},"src/5_0_0/StorageSlots.sol":{"keccak256":"0x303de59cd73d16544cdda9e8a5ff90c2f0f8e42bd823a585b497eda076081272","urls":["bzz-raw://126b212b0d36003b6e8688c6544296a63a8daa0b2d19ed70291cce0236b0ef2c","dweb:/ipfs/QmcoKtyHSFSjtiBZ6e4nnUnqcQdMNrWXgmSbxejN9iDran"],"license":"Apache-2.0."},"src/5_0_0/Strings.sol":{"keccak256":"0x43b2d3275f2d2927db40aebd1b6e5514b54f778043fff677d3714c824f7ad9e2","urls":["bzz-raw://fa5f40e3f0f64c825f643f123260949bdcb63a552d4d3b49551efa5f4927f0e7","dweb:/ipfs/QmNVmkv2FB3aUJb8g4BrF9D19Y37PsrHPf31dD636Kk82f"],"license":"MIT"},"src/Proxy_5_0_0.sol":{"keccak256":"0xf381b8d9116c0f51ba70df5a6b89c8a366543f8375d4a2ab5032b125d0001a0e","urls":["bzz-raw://77f7a2d7624aa8bfd4c8bc7f4f778538ac6ac3f75bcc4b80835f7132bb016155","dweb:/ipfs/QmPiW7pxBpNmoXNkpLn5p2VTEYr3b4Yd77REMPTpKWF3WW"],"license":"Apache-2.0."},"src/libraries/Addresses.sol":{"keccak256":"0xb0865ea6dcc8f3e095309859500c92912cf149f5a88d4d7ee73f75c5549bdb16","urls":["bzz-raw://924d7db5ad489487c980f85511ee04002ec4921bb09e787614dd56c619b5d35a","dweb:/ipfs/QmZbGn7PmGHWYqjj3rsypoJon3LJnbD4bP1fWdn1ivd4JR"],"license":"Apache-2.0."}},"version":1},"id":12} \ No newline at end of file