Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ipIo9-0008Qv-Rj for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jan 2020 21:24:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ipIo8-0004vs-O4 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Jan 2020 21:24:04 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ipIo8-0004vS-2q for pgsql-hackers@lists.postgresql.org; Wed, 08 Jan 2020 21:24:04 +0000 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ipIo5-0007UV-8c for pgsql-hackers@postgresql.org; Wed, 08 Jan 2020 21:24:02 +0000 Received: by mail-wr1-x429.google.com with SMTP id b6so5075595wrq.0 for ; Wed, 08 Jan 2020 13:24:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=2ndquadrant-com.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=fffSHm0e5ySCPpH+aemvkvMJus8ni4Q3rIHJQ9SgnGM=; b=xSB2W2OO+3+b6wWAjQw9h+nwW/vheD4Oa5+e8IPphWf3jiKQnRqTlZ1758iFd9/HC1 wiuUL0Yk2iWwqnHtMWSvKy86j8E9w53ouu+FK2G7dn5p06Xkkedz9Nm0r28IBUDGj007 egKkJHM8Rv6YWVIUR2UUnXDv2rloJXHSmWBeujTLMpz7d4U0tlTskjqENEaRGXn6ps3d DdmsyRjKHM4b7pBXHfTOyw4NNvTkRtBGaSn7ztuYYU/XLBBNb2PZukNhtgTEIj8bG7SO vJ7F8rlgpQIWpN8aAy3zV3HVCeWcW+XMC+S8+x8MuVZKqDA1mbkPELPGIVUxdTcQcUNo 3EaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=fffSHm0e5ySCPpH+aemvkvMJus8ni4Q3rIHJQ9SgnGM=; b=fvovl5rjc/Nid1UbzLgyBF3//ETMtH/x7lKbIGdKE38sgtWzeTy1tefIFrKAd/95iw GltrLXEYxHIYRHgurvYrPUKGcqYDiso72HnpHGfM8f4NZeSsYPeo683AWgtZEWzR/NeI TV+4Cpc2s2c4UNGpZ9/LpM4h5NizGuGgtBLVimVHDi7l1ZWQhL27By5dbblUoUIMrtQi LpCu/h43sJPRNzqNP8p+EtbWlUOIkSz5VbKAQljSGXxBVFXOXoTSEQa3aMPvOfykG2pL MuoFOkwdmvLEq0RrAOx1AOJ2pv4fnLqGXIBjMsncBhx1tctSIBFIwEDUdGgnIER6cY5D bTbw== X-Gm-Message-State: APjAAAUgr6xWKbbA/5aPDWrEnIMEuxCMyBjlshKCyZexfS5UKHTPARYA Im85ntBIAGaMNWnxBRnHo6iHG0lDPIVcdAPAvN/ls6BvLklaEWuqPHLlA64TfbXEyAU5REXFXGO w6ih0WBgcpf5thlutT965NT/MWV75LMiRtqwRDawPBilH9EYH5RhQQRTk0uvV4m3s/2RpOSHnpV nPOMEvTGOtsh4z X-Google-Smtp-Source: APXvYqwnkz4jBFfXyhschPZCRkxPOA+wpSx3ophDs+VbyCV6qvswnh3GVdVAp1AC0XOvgU9sJNdS+g== X-Received: by 2002:adf:f103:: with SMTP id r3mr6699038wro.295.1578518639502; Wed, 08 Jan 2020 13:23:59 -0800 (PST) Received: from [10.10.154.47] (a4129-adsl1.pck.nerim.net. [62.212.97.127]) by smtp.gmail.com with ESMTPSA id i5sm428211wml.31.2020.01.08.13.23.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Jan 2020 13:23:58 -0800 (PST) Subject: Re: WIP: System Versioned Temporal Table From: Vik Fearing To: Surafel Temesgen Cc: PostgreSQL Hackers References: <3de42e96-45c3-faaa-af20-30f127724601@2ndquadrant.com> <55cf779b-a347-8c21-9a82-ad2030f95d0b@2ndquadrant.com> <9550e917-c370-36a3-277f-2f25bfc1b497@2ndquadrant.com> <59567979-d7a9-c9b3-9ae0-7b80dc7d6618@2ndquadrant.com> Message-ID: <91d73b0f-fd7e-b11e-6a46-a32654f8d64d@2ndquadrant.com> Date: Wed, 8 Jan 2020 22:23:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <59567979-d7a9-c9b3-9ae0-7b80dc7d6618@2ndquadrant.com> Content-Type: multipart/mixed; boundary="------------328A7C907CB80D4B7411FE0D" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------328A7C907CB80D4B7411FE0D Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 05/01/2020 13:50, Vik Fearing wrote: > Okay, now that I see your tests, I understand why everything is broken.  > You only test FROM-TO and with a really wide interval.  There are no > tests for AS OF and no tests for BETWEEN-AND. I have started working on some better test cases for you.  The attached .sql and .out tests should pass, and they are some of the tests that I'll be putting your next version through.  There are many more tests that need to be added. Once all the desired functionality is there, I'll start reviewing the code itself. Keep up the good work, and let me know if I can do anything to help you. -- Vik Fearing --------------328A7C907CB80D4B7411FE0D Content-Type: application/sql; name="system_versioned_table.sql" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="system_versioned_table.sql" LyoKICogQ1JFQVRFIFRBQkxFCiAqLwoKLS0gaW52YWxpZCBkYXRhdHlwZQpDUkVBVEUgVEFC TEUgc3Rlc3QxICgKICAgIGEgaW50ZWdlciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVz dGFtcCB0aW1lc3RhbXAgR0VORVJBVEVEIEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRf dGltZXN0YW1wIGludGVnZXIgR0VORVJBVEVEIEFMV0FZUyBBUyBST1cgRU5ELAogICAgUEVS SU9EIEZPUiBTWVNURU1fVElNRSAoc3RhcnRfdGltZXN0YW1wLCBlbmRfdGltZXN0YW1wKQop IFdJVEggU1lTVEVNIFZFUlNJT05JTkc7CgotLSByZWZlcmVuY2VzIHRvIG90aGVyIGNvbHVt biBpbiBwZXJpb2QgY29sdW1ucwpDUkVBVEUgVEFCTEUgc3Rlc3QxICgKICAgIGEgaW50ZWdl ciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVE IEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRfdGltZXN0YW1wIHRpbWVzdGFtcCBHRU5F UkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIChh LCBlbmRfdGltZXN0YW1wKQopIFdJVEggU1lTVEVNIFZFUlNJT05JTkc7CgpDUkVBVEUgVEFC TEUgc3Rlc3QxICgKICAgIGEgaW50ZWdlciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVz dGFtcCB0aW1lc3RhbXAgR0VORVJBVEVEIEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRf dGltZXN0YW1wIHRpbWVzdGFtcCBHRU5FUkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQ RVJJT0QgRk9SIFNZU1RFTV9USU1FIChzdGFydF90aW1lc3RhbXAsIGEpCikgV0lUSCBTWVNU RU0gVkVSU0lPTklORzsKCkNSRUFURSBUQUJMRSBzdGVzdDEgKAogICAgYSBpbnRlZ2VyIFBS SU1BUlkgS0VZLAogICAgc3RhcnRfdGltZXN0YW1wIHRpbWVzdGFtcCBHRU5FUkFURUQgQUxX QVlTIEFTIFJPVyBTVEFSVCwKICAgIGVuZF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVSQVRF RCBBTFdBWVMgQVMgUk9XIEVORCwKICAgIFBFUklPRCBGT1IgU1lTVEVNX1RJTUUgKGVuZF90 aW1lc3RhbXAsIHN0YXJ0X3RpbWVzdGFtcCkKKSBXSVRIIFNZU1RFTSBWRVJTSU9OSU5HOwoK LS0gZHVwbGljYXRlIHN5c3RlbSB0aW1lIGNvbHVtbgpDUkVBVEUgVEFCTEUgc3Rlc3QxICgK ICAgIGEgaW50ZWdlciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3Rh bXAgR0VORVJBVEVEIEFMV0FZUyBBUyByb3cgU1RBUlQsCiAgICBzdGFydF90aW1lc3RhbXAx IHRpbWVzdGFtcCBHRU5FUkFURUQgQUxXQVlTIEFTIHJvdyBTVEFSVCwKICAgIGVuZF90aW1l c3RhbXAgdGltZXN0YW1wIEdFTkVSQVRFRCBBTFdBWVMgQVMgUk9XIEVORCwKICAgIFBFUklP RCBGT1IgU1lTVEVNX1RJTUUgKHN0YXJ0X3RpbWVzdGFtcCwgZW5kX3RpbWVzdGFtcCkKKSBX SVRIIFNZU1RFTSBWRVJTSU9OSU5HOwoKQ1JFQVRFIFRBQkxFIHN0ZXN0MSAoCiAgICBhIGlu dGVnZXIgUFJJTUFSWSBLRVksCiAgICBzdGFydF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVS QVRFRCBBTFdBWVMgQVMgcm93IFNUQVJULAogICAgZW5kX3RpbWVzdGFtcCB0aW1lc3RhbXAg R0VORVJBVEVEIEFMV0FZUyBBUyBST1cgRU5ELAogICAgZW5kX3RpbWVzdGFtcDEgdGltZXN0 YW1wIEdFTkVSQVRFRCBBTFdBWVMgQVMgUk9XIEVORCwKICAgIFBFUklPRCBGT1IgU1lTVEVN X1RJTUUgKHN0YXJ0X3RpbWVzdGFtcCwgZW5kX3RpbWVzdGFtcCkKKSBXSVRIIFNZU1RFTSBW RVJTSU9OSU5HOwoKLS0gc3VjY2VzcwpDUkVBVEUgVEFCTEUgc3Rlc3QwICgKICAgIGEgaW50 ZWdlciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJB VEVEIEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRfdGltZXN0YW1wIHRpbWVzdGFtcCBH RU5FUkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQRVJJT0QgRk9SIFNZU1RFTV9USU1F IChzdGFydF90aW1lc3RhbXAsIGVuZF90aW1lc3RhbXApCikgV0lUSCBTWVNURU0gVkVSU0lP TklORzsKCi0tIGRlZmF1bHQgc3lzdGVtIHRpbWUgY29sdW1uIHVzYWdlCkNSRUFURSBUQUJM RSBzdGVzdDIgKAogICAgYSBpbnRlZ2VyCikgV0lUSCBTWVNURU0gVkVSU0lPTklORzsKClxk IHN0ZXN0MgoKLS0gQUxURVIgVEFCTEUgdGJOYW1lIEFERCBTWVNURU0gVkVSU0lPTklORwpD UkVBVEUgVEFCTEUgc3Rlc3QzICgKICAgIGEgaW50ZWdlcgopOwoKXGQgc3Rlc3QzCgpBTFRF UiBUQUJMRSBzdGVzdDMgQUREIFNZU1RFTSBWRVJTSU9OSU5HOwoKXGQgc3Rlc3QzCgotLSBB TFRFUiBUQUJMRSB0Yk5hbWUgRFJPUCBTWVNURU0gVkVSU0lPTklORwpBTFRFUiBUQUJMRSBz dGVzdDMgRFJPUCBTWVNURU0gVkVSU0lPTklORzsKClxkIHN0ZXN0MwoKLS0gQUxURVIgVEFC TEUKQUxURVIgVEFCTEUgc3Rlc3QwIEFMVEVSIHN0YXJ0X3RpbWVzdGFtcCBEUk9QIE5PVCBO VUxMOwoKQUxURVIgVEFCTEUgc3Rlc3QwIEFMVEVSIHN0YXJ0X3RpbWVzdGFtcCBEUk9QIE5P VCBOVUxMOwoKQUxURVIgVEFCTEUgc3Rlc3QwIEFMVEVSIENPTFVNTiBzdGFydF90aW1lc3Rh bXAgU0VUIERBVEEgVFlQRSBjaGFyYWN0ZXI7CgoKCi0tdHJ1bmNhdGlvbgp0cnVuY2F0ZSB0 YWJsZSBzdGVzdDA7CgotLSB0ZXN0IFVQREFURS9ERUxFVEUKSU5TRVJUIElOVE8gc3Rlc3Qw IFZBTFVFUyAoMSk7CklOU0VSVCBJTlRPIHN0ZXN0MCBWQUxVRVMgKDIpOwpJTlNFUlQgSU5U TyBzdGVzdDAgVkFMVUVTICgzKTsKU0VMRUNUIG5vdygpIEFTIHRzMSBcZ3NldAoKU0VMRUNU IGEgRlJPTSBzdGVzdDAgT1JERVIgQlkgYTsKU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5 c3RlbV90aW1lIEZST00gJy1pbmZpbml0eScgVE8gJ2luZmluaXR5JyBPUkRFUiBCWSBhOwoK VVBEQVRFIHN0ZXN0MCBTRVQgYSA9IDQgV0hFUkUgYSA9IDE7ClNFTEVDVCBub3coKSBBUyB0 czIgXGdzZXQKClNFTEVDVCBhIEZST00gc3Rlc3QwIE9SREVSIEJZIGE7ClNFTEVDVCBhIEZS T00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBGUk9NICctaW5maW5pdHknIFRPICdpbmZpbml0 eScgT1JERVIgQlkgYTsKCkRFTEVURSBGUk9NIHN0ZXN0MCBXSEVSRSBhID0gMjsKU0VMRUNU IG5vdygpIEFTIHRzMyBcZ3NldAoKU0VMRUNUIGEgRlJPTSBzdGVzdDAgT1JERVIgQlkgYTsK U0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEZST00gJy1pbmZpbml0eScg VE8gJ2luZmluaXR5JyBPUkRFUiBCWSBhOwoKSU5TRVJUIElOVE8gc3Rlc3QwIFZBTFVFUyAo NSk7CgpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBPUkRFUiBCWSBhOwpTRUxFQ1QgYSBGUk9NIHN0 ZXN0MCBGT1Igc3lzdGVtX3RpbWUgRlJPTSAnLWluZmluaXR5JyBUTyAnaW5maW5pdHknIE9S REVSIEJZIGE7CgovKgogKiBUZW1wb3JhbCBRdWVyaWVzCiAqLwoKLS0gQVMgT0YgLi4uClNF TEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBBUyBPRiA6J3RzMScgT1JERVIg Qlkgc3RhcnRfdGltZXN0YW1wLCBhOwpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Igc3lzdGVt X3RpbWUgQVMgT0YgOid0czInIE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKU0VMRUNU IGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEFTIE9GIDondHMzJyBPUkRFUiBCWSBz dGFydF90aW1lc3RhbXAsIGE7CgotLSBCRVRXRUVOIC4uLiBBTkQgLi4uClNFTEVDVCBhIEZS T00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBCRVRXRUVOIDondHMxJyBBTkQgOid0czInIE9S REVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5 c3RlbV90aW1lIEJFVFdFRU4gOid0czInIEFORCA6J3RzMycgT1JERVIgQlkgc3RhcnRfdGlt ZXN0YW1wLCBhOwpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Igc3lzdGVtX3RpbWUgQkVUV0VF TiA6J3RzMScgQU5EIDondHMzJyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7CgotLSBC RVRXRUVOIEFTWU1NRVRSSUMgLi4uIEFORCAuLi4KU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9S IHN5c3RlbV90aW1lIEJFVFdFRU4gQVNZTU1FVFJJQyA6J3RzMScgQU5EIDondHMyJyBPUkRF UiBCWSBzdGFydF90aW1lc3RhbXAsIGE7ClNFTEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0 ZW1fdGltZSBCRVRXRUVOIEFTWU1NRVRSSUMgOid0czInIEFORCA6J3RzMycgT1JERVIgQlkg c3RhcnRfdGltZXN0YW1wLCBhOwpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Igc3lzdGVtX3Rp bWUgQkVUV0VFTiBBU1lNTUVUUklDIDondHMxJyBBTkQgOid0czMnIE9SREVSIEJZIHN0YXJ0 X3RpbWVzdGFtcCwgYTsKCi0tIEJFVFdFRU4gU1lNTUVUUklDIC4uLiBBTkQgLi4uClNFTEVD VCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBCRVRXRUVOIFNZTU1FVFJJQyA6J3Rz MicgQU5EIDondHMxJyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7ClNFTEVDVCBhIEZS T00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBCRVRXRUVOIFNZTU1FVFJJQyA6J3RzMycgQU5E IDondHMyJyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7ClNFTEVDVCBhIEZST00gc3Rl c3QwIEZPUiBzeXN0ZW1fdGltZSBCRVRXRUVOIFNZTU1FVFJJQyA6J3RzMycgQU5EIDondHMx JyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7CgotLSBGUk9NIC4uLiBUTyAuLi4KU0VM RUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEZST00gOid0czEnIFRPIDondHMy JyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7ClNFTEVDVCBhIEZST00gc3Rlc3QwIEZP UiBzeXN0ZW1fdGltZSBGUk9NIDondHMyJyBUTyA6J3RzMycgT1JERVIgQlkgc3RhcnRfdGlt ZXN0YW1wLCBhOwpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Igc3lzdGVtX3RpbWUgRlJPTSA6 J3RzMScgVE8gOid0czMnIE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKCi8qCiAqIEpP SU5TCiAqLwoKQ1JFQVRFIFRBQkxFIHN0ZXN0eCAoeCBpbnQsIHkgaW50KTsKSU5TRVJUIElO VE8gc3Rlc3R4IFZBTFVFUyAoMTEsIDEpLCAoMjIsIDIpLCAoMzMsIDMpOwoKU0VMRUNUIGEs IHgsIHkKRlJPTSBzdGVzdHgKSU5ORVIgSk9JTiBzdGVzdDAgT04gc3Rlc3R4LnkgPSBzdGVz dDAuYTsKClNFTEVDVCBhLCB4LCB5CkZST00gc3Rlc3R4CkxFRlQgT1VURVIgSk9JTiBzdGVz dDAgT04gc3Rlc3R4LnkgPSBzdGVzdDAuYTsKClNFTEVDVCBhLCB4LCB5CkZST00gc3Rlc3R4 ClJJR0hUIE9VVEVSIEpPSU4gc3Rlc3QwIE9OIHN0ZXN0eC55ID0gc3Rlc3QwLmE7CgpTRUxF Q1QgYSwgeCwgeQpGUk9NIHN0ZXN0eApGVUxMIE9VVEVSIEpPSU4gc3Rlc3QwIE9OIHN0ZXN0 eC55ID0gc3Rlc3QwLmE7CgpEUk9QIFRBQkxFIHN0ZXN0eDsKCi0tIHZpZXdzCkNSRUFURSBW SUVXIHN0ZXN0MXYgQVMgU0VMRUNUIGEgRlJPTSBzdGVzdDA7CkNSRUFURSBWSUVXIHN0ZXN0 MnYgQVMgc2VsZWN0IGEgZnJvbSBzdGVzdDAgZm9yIHN5c3RlbV90aW1lIGZyb20gJzIwMDAt MDEtMDEgMDA6MDA6MDAuMDAwMDAnIHRvICdpbmZpbml0eScgT1JERVIgQlkgYTsKU0VMRUNU ICogRlJPTSBzdGVzdDF2OwpTRUxFQ1QgKiBGUk9NIHN0ZXN0MnY7CgpEUk9QIFZJRVcgc3Rl c3QxdjsKRFJPUCBWSUVXIHN0ZXN0MnY7Ci0tIENURXMKV0lUSCBmb28gQVMgKFNFTEVDVCBh IEZST00gc3Rlc3QwKSBTRUxFQ1QgKiBGUk9NIGZvbzsKCldJVEggZm9vIEFTIChzZWxlY3Qg YSBmcm9tIHN0ZXN0MCBmb3Igc3lzdGVtX3RpbWUgZnJvbSAnMjAwMC0wMS0wMSAwMDowMDow MC4wMDAwMCcgdG8gJ2luZmluaXR5JyBPUkRFUiBCWSBhKSBTRUxFQ1QgKiBGUk9NIGZvbzsK Ci0tIGluaGVyaXRhbmNlCkNSRUFURSBUQUJMRSBzdGVzdDEgKCkgSU5IRVJJVFMgKHN0ZXN0 MCk7ClNFTEVDVCAqIEZST00gc3Rlc3QxOwoKXGQgc3Rlc3QxCgpJTlNFUlQgSU5UTyBzdGVz dDEgVkFMVUVTICg0KTsKU0VMRUNUIGEgRlJPTSBzdGVzdDE7Cg== --------------328A7C907CB80D4B7411FE0D Content-Type: text/plain; charset=UTF-8; name="system_versioned_table.out" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="system_versioned_table.out" LyoKICogQ1JFQVRFIFRBQkxFCiAqLwotLSBpbnZhbGlkIGRhdGF0eXBlCkNSRUFURSBUQUJM RSBzdGVzdDEgKAogICAgYSBpbnRlZ2VyIFBSSU1BUlkgS0VZLAogICAgc3RhcnRfdGltZXN0 YW1wIHRpbWVzdGFtcCBHRU5FUkFURUQgQUxXQVlTIEFTIFJPVyBTVEFSVCwKICAgIGVuZF90 aW1lc3RhbXAgaW50ZWdlciBHRU5FUkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQRVJJ T0QgRk9SIFNZU1RFTV9USU1FIChzdGFydF90aW1lc3RhbXAsIGVuZF90aW1lc3RhbXApCikg V0lUSCBTWVNURU0gVkVSU0lPTklORzsKRVJST1I6ICB0aGUgZGF0YSB0eXBlIG9mIHJvdyBl bmQgdGltZSBtdXN0IGJlIHRpbWVzdGFtcAotLSByZWZlcmVuY2VzIHRvIG90aGVyIGNvbHVt biBpbiBwZXJpb2QgY29sdW1ucwpDUkVBVEUgVEFCTEUgc3Rlc3QxICgKICAgIGEgaW50ZWdl ciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVE IEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRfdGltZXN0YW1wIHRpbWVzdGFtcCBHRU5F UkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIChh LCBlbmRfdGltZXN0YW1wKQopIFdJVEggU1lTVEVNIFZFUlNJT05JTkc7CkVSUk9SOiAgVGhl IHBlcmlvZCBzdGFydCB0aW1lIHBhcmFtZXRlciBtdXN0IGVxdWFsIHRoZSBuYW1lIG9mIHJv dyBzdGFydCB0aW1lIGNvbHVtbgpDUkVBVEUgVEFCTEUgc3Rlc3QxICgKICAgIGEgaW50ZWdl ciBQUklNQVJZIEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVE IEFMV0FZUyBBUyBST1cgU1RBUlQsCiAgICBlbmRfdGltZXN0YW1wIHRpbWVzdGFtcCBHRU5F UkFURUQgQUxXQVlTIEFTIFJPVyBFTkQsCiAgICBQRVJJT0QgRk9SIFNZU1RFTV9USU1FIChz dGFydF90aW1lc3RhbXAsIGEpCikgV0lUSCBTWVNURU0gVkVSU0lPTklORzsKRVJST1I6ICBU aGUgcGVyaW9kIGVuZCB0aW1lICBwYXJhbWV0ZXIgbXVzdCBlcXVhbCB0aGUgbmFtZSBvZiBy b3cgZW5kIHRpbWUgY29sdW1uCkNSRUFURSBUQUJMRSBzdGVzdDEgKAogICAgYSBpbnRlZ2Vy IFBSSU1BUlkgS0VZLAogICAgc3RhcnRfdGltZXN0YW1wIHRpbWVzdGFtcCBHRU5FUkFURUQg QUxXQVlTIEFTIFJPVyBTVEFSVCwKICAgIGVuZF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVS QVRFRCBBTFdBWVMgQVMgUk9XIEVORCwKICAgIFBFUklPRCBGT1IgU1lTVEVNX1RJTUUgKGVu ZF90aW1lc3RhbXAsIHN0YXJ0X3RpbWVzdGFtcCkKKSBXSVRIIFNZU1RFTSBWRVJTSU9OSU5H OwpFUlJPUjogIFRoZSBwZXJpb2Qgc3RhcnQgdGltZSBwYXJhbWV0ZXIgbXVzdCBlcXVhbCB0 aGUgbmFtZSBvZiByb3cgc3RhcnQgdGltZSBjb2x1bW4KLS0gZHVwbGljYXRlIHN5c3RlbSB0 aW1lIGNvbHVtbgpDUkVBVEUgVEFCTEUgc3Rlc3QxICgKICAgIGEgaW50ZWdlciBQUklNQVJZ IEtFWSwKICAgIHN0YXJ0X3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVEIEFMV0FZUyBB UyByb3cgU1RBUlQsCiAgICBzdGFydF90aW1lc3RhbXAxIHRpbWVzdGFtcCBHRU5FUkFURUQg QUxXQVlTIEFTIHJvdyBTVEFSVCwKICAgIGVuZF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVS QVRFRCBBTFdBWVMgQVMgUk9XIEVORCwKICAgIFBFUklPRCBGT1IgU1lTVEVNX1RJTUUgKHN0 YXJ0X3RpbWVzdGFtcCwgZW5kX3RpbWVzdGFtcCkKKSBXSVRIIFNZU1RFTSBWRVJTSU9OSU5H OwpFUlJPUjogIHJvdyBzdGFydCB0aW1lIGNhbiBub3QgYmUgc3BlY2lmaWVkIG11bHRpcGxl IHRpbWUKQ1JFQVRFIFRBQkxFIHN0ZXN0MSAoCiAgICBhIGludGVnZXIgUFJJTUFSWSBLRVks CiAgICBzdGFydF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVSQVRFRCBBTFdBWVMgQVMgcm93 IFNUQVJULAogICAgZW5kX3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVEIEFMV0FZUyBB UyBST1cgRU5ELAogICAgZW5kX3RpbWVzdGFtcDEgdGltZXN0YW1wIEdFTkVSQVRFRCBBTFdB WVMgQVMgUk9XIEVORCwKICAgIFBFUklPRCBGT1IgU1lTVEVNX1RJTUUgKHN0YXJ0X3RpbWVz dGFtcCwgZW5kX3RpbWVzdGFtcCkKKSBXSVRIIFNZU1RFTSBWRVJTSU9OSU5HOwpFUlJPUjog IHJvdyBlbmQgdGltZSBjYW4gbm90IGJlIHNwZWNpZmllZCBtdWx0aXBsZSB0aW1lCi0tIHN1 Y2Nlc3MKQ1JFQVRFIFRBQkxFIHN0ZXN0MCAoCiAgICBhIGludGVnZXIgUFJJTUFSWSBLRVks CiAgICBzdGFydF90aW1lc3RhbXAgdGltZXN0YW1wIEdFTkVSQVRFRCBBTFdBWVMgQVMgUk9X IFNUQVJULAogICAgZW5kX3RpbWVzdGFtcCB0aW1lc3RhbXAgR0VORVJBVEVEIEFMV0FZUyBB UyBST1cgRU5ELAogICAgUEVSSU9EIEZPUiBTWVNURU1fVElNRSAoc3RhcnRfdGltZXN0YW1w LCBlbmRfdGltZXN0YW1wKQopIFdJVEggU1lTVEVNIFZFUlNJT05JTkc7Ci0tIGRlZmF1bHQg c3lzdGVtIHRpbWUgY29sdW1uIHVzYWdlCkNSRUFURSBUQUJMRSBzdGVzdDIgKAogICAgYSBp bnRlZ2VyCikgV0lUSCBTWVNURU0gVkVSU0lPTklORzsKXGQgc3Rlc3QyCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnN0ZXN0MiIKICBDb2x1 bW4gICB8ICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICB8IENvbGxhdGlvbiB8IE51bGxh YmxlIHwgICAgICAgICAgICBEZWZhdWx0ICAgICAgICAgICAgCi0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYSAgICAgICAgIHwgaW50ZWdlciAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKIFN0YXJ0VGltZSB8IHRp bWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgZ2Vu ZXJhdGVkIGFsd2F5cyBhcyByb3cgc3RhcnQKIEVuZFRpbWUgICB8IHRpbWVzdGFtcCB3aXRo b3V0IHRpbWUgem9uZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgZ2VuZXJhdGVkIGFsd2F5 cyBhcyByb3cgZW5kCgotLSBBTFRFUiBUQUJMRSB0Yk5hbWUgQUREIFNZU1RFTSBWRVJTSU9O SU5HCkNSRUFURSBUQUJMRSBzdGVzdDMgKAogICAgYSBpbnRlZ2VyCik7ClxkIHN0ZXN0Mwog ICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnN0ZXN0MyIKIENvbHVtbiB8ICBUeXBlICAg fCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCi0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQogYSAgICAgIHwgaW50ZWdlciB8ICAg ICAgICAgICB8ICAgICAgICAgIHwgCgpBTFRFUiBUQUJMRSBzdGVzdDMgQUREIFNZU1RFTSBW RVJTSU9OSU5HOwpcZCBzdGVzdDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRhYmxlICJwdWJsaWMuc3Rlc3QzIgogIENvbHVtbiAgIHwgICAgICAgICAgICBUeXBl ICAgICAgICAgICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCAgICAgICAgICAgIERlZmF1 bHQgICAgICAgICAgICAKLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiBhICAgICAgICAgfCBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAogU3RhcnRUaW1lIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6 b25lIHwgICAgICAgICAgIHwgbm90IG51bGwgfCBnZW5lcmF0ZWQgYWx3YXlzIGFzIHJvdyBz dGFydAogRW5kVGltZSAgIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgICAgICAg ICAgIHwgbm90IG51bGwgfCBnZW5lcmF0ZWQgYWx3YXlzIGFzIHJvdyBlbmQKCi0tIEFMVEVS IFRBQkxFIHRiTmFtZSBEUk9QIFNZU1RFTSBWRVJTSU9OSU5HCkFMVEVSIFRBQkxFIHN0ZXN0 MyBEUk9QIFNZU1RFTSBWRVJTSU9OSU5HOwpcZCBzdGVzdDMKICAgICAgICAgICAgICAgVGFi bGUgInB1YmxpYy5zdGVzdDMiCiBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVs bGFibGUgfCBEZWZhdWx0IAotLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0KIGEgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAoKLS0gQUxURVIgVEFCTEUKQUxURVIgVEFCTEUgc3Rlc3QwIEFMVEVSIHN0YXJ0X3Rp bWVzdGFtcCBEUk9QIE5PVCBOVUxMOwpFUlJPUjogIGNvbHVtbiAic3RhcnRfdGltZXN0YW1w IiBvZiByZWxhdGlvbiAic3Rlc3QwIiBpcyBzeXN0ZW0gdGltZSBjb2x1bW4KQUxURVIgVEFC TEUgc3Rlc3QwIEFMVEVSIHN0YXJ0X3RpbWVzdGFtcCBEUk9QIE5PVCBOVUxMOwpFUlJPUjog IGNvbHVtbiAic3RhcnRfdGltZXN0YW1wIiBvZiByZWxhdGlvbiAic3Rlc3QwIiBpcyBzeXN0 ZW0gdGltZSBjb2x1bW4KQUxURVIgVEFCTEUgc3Rlc3QwIEFMVEVSIENPTFVNTiBzdGFydF90 aW1lc3RhbXAgU0VUIERBVEEgVFlQRSBjaGFyYWN0ZXI7CkVSUk9SOiAgY29sdW1uICJzdGFy dF90aW1lc3RhbXAiIG9mIHJlbGF0aW9uICJzdGVzdDAiIGlzIHN5c3RlbSB0aW1lIGNvbHVt bgotLXRydW5jYXRpb24KdHJ1bmNhdGUgdGFibGUgc3Rlc3QwOwpFUlJPUjogIGNhbm5vdCB0 cnVuY2F0ZSBzeXN0ZW0gdmVyc2lvbmVkIHRhYmxlCi0tIHRlc3QgVVBEQVRFL0RFTEVURQpJ TlNFUlQgSU5UTyBzdGVzdDAgVkFMVUVTICgxKTsKSU5TRVJUIElOVE8gc3Rlc3QwIFZBTFVF UyAoMik7CklOU0VSVCBJTlRPIHN0ZXN0MCBWQUxVRVMgKDMpOwpTRUxFQ1Qgbm93KCkgQVMg dHMxIFxnc2V0ClNFTEVDVCBhIEZST00gc3Rlc3QwIE9SREVSIEJZIGE7CiBhIAotLS0KIDEK IDIKIDMKKDMgcm93cykKClNFTEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBG Uk9NICctaW5maW5pdHknIFRPICdpbmZpbml0eScgT1JERVIgQlkgYTsKIGEgCi0tLQogMQog MgogMwooMyByb3dzKQoKVVBEQVRFIHN0ZXN0MCBTRVQgYSA9IDQgV0hFUkUgYSA9IDE7ClNF TEVDVCBub3coKSBBUyB0czIgXGdzZXQKU0VMRUNUIGEgRlJPTSBzdGVzdDAgT1JERVIgQlkg YTsKIGEgCi0tLQogMgogMwogNAooMyByb3dzKQoKU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9S IHN5c3RlbV90aW1lIEZST00gJy1pbmZpbml0eScgVE8gJ2luZmluaXR5JyBPUkRFUiBCWSBh OwogYSAKLS0tCiAxCiAyCiAzCiA0Cig0IHJvd3MpCgpERUxFVEUgRlJPTSBzdGVzdDAgV0hF UkUgYSA9IDI7ClNFTEVDVCBub3coKSBBUyB0czMgXGdzZXQKU0VMRUNUIGEgRlJPTSBzdGVz dDAgT1JERVIgQlkgYTsKIGEgCi0tLQogMwogNAooMiByb3dzKQoKU0VMRUNUIGEgRlJPTSBz dGVzdDAgRk9SIHN5c3RlbV90aW1lIEZST00gJy1pbmZpbml0eScgVE8gJ2luZmluaXR5JyBP UkRFUiBCWSBhOwogYSAKLS0tCiAxCiAyCiAzCiA0Cig0IHJvd3MpCgpJTlNFUlQgSU5UTyBz dGVzdDAgVkFMVUVTICg1KTsKU0VMRUNUIGEgRlJPTSBzdGVzdDAgT1JERVIgQlkgYTsKIGEg Ci0tLQogMwogNAogNQooMyByb3dzKQoKU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3Rl bV90aW1lIEZST00gJy1pbmZpbml0eScgVE8gJ2luZmluaXR5JyBPUkRFUiBCWSBhOwogYSAK LS0tCiAxCiAyCiAzCiA0CiA1Cig1IHJvd3MpCgovKgogKiBUZW1wb3JhbCBRdWVyaWVzCiAq LwotLSBBUyBPRiAuLi4KU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEFT IE9GIDondHMxJyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7CiBhIAotLS0KIDEKIDIK IDMKKDMgcm93cykKClNFTEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBBUyBP RiA6J3RzMicgT1JERVIgQlkgc3RhcnRfdGltZXN0YW1wLCBhOwogYSAKLS0tCiAyCiAzCiA0 CigzIHJvd3MpCgpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Igc3lzdGVtX3RpbWUgQVMgT0Yg Oid0czMnIE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMwogNAooMiBy b3dzKQoKLS0gQkVUV0VFTiAuLi4gQU5EIC4uLgpTRUxFQ1QgYSBGUk9NIHN0ZXN0MCBGT1Ig c3lzdGVtX3RpbWUgQkVUV0VFTiA6J3RzMScgQU5EIDondHMyJyBPUkRFUiBCWSBzdGFydF90 aW1lc3RhbXAsIGE7CiBhIAotLS0KIDEKIDIKIDMKIDQKKDQgcm93cykKClNFTEVDVCBhIEZS T00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGltZSBCRVRXRUVOIDondHMyJyBBTkQgOid0czMnIE9S REVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMgogMwogNAooMyByb3dzKQoK U0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEJFVFdFRU4gOid0czEnIEFO RCA6J3RzMycgT1JERVIgQlkgc3RhcnRfdGltZXN0YW1wLCBhOwogYSAKLS0tCiAxCiAyCiAz CiA0Cig0IHJvd3MpCgotLSBCRVRXRUVOIEFTWU1NRVRSSUMgLi4uIEFORCAuLi4KU0VMRUNU IGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEJFVFdFRU4gQVNZTU1FVFJJQyA6J3Rz MScgQU5EIDondHMyJyBPUkRFUiBCWSBzdGFydF90aW1lc3RhbXAsIGE7CiBhIAotLS0KIDEK IDIKIDMKIDQKKDQgcm93cykKClNFTEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0ZW1fdGlt ZSBCRVRXRUVOIEFTWU1NRVRSSUMgOid0czInIEFORCA6J3RzMycgT1JERVIgQlkgc3RhcnRf dGltZXN0YW1wLCBhOwogYSAKLS0tCiAyCiAzCiA0CigzIHJvd3MpCgpTRUxFQ1QgYSBGUk9N IHN0ZXN0MCBGT1Igc3lzdGVtX3RpbWUgQkVUV0VFTiBBU1lNTUVUUklDIDondHMxJyBBTkQg Oid0czMnIE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMQogMgogMwog NAooNCByb3dzKQoKLS0gQkVUV0VFTiBTWU1NRVRSSUMgLi4uIEFORCAuLi4KU0VMRUNUIGEg RlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEJFVFdFRU4gU1lNTUVUUklDIDondHMyJyBB TkQgOid0czEnIE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMQogMgog MwogNAooNCByb3dzKQoKU0VMRUNUIGEgRlJPTSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEJF VFdFRU4gU1lNTUVUUklDIDondHMzJyBBTkQgOid0czInIE9SREVSIEJZIHN0YXJ0X3RpbWVz dGFtcCwgYTsKIGEgCi0tLQogMgogMwogNAooMyByb3dzKQoKU0VMRUNUIGEgRlJPTSBzdGVz dDAgRk9SIHN5c3RlbV90aW1lIEJFVFdFRU4gU1lNTUVUUklDIDondHMzJyBBTkQgOid0czEn IE9SREVSIEJZIHN0YXJ0X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMQogMgogMwogNAooNCBy b3dzKQoKLS0gRlJPTSAuLi4gVE8gLi4uClNFTEVDVCBhIEZST00gc3Rlc3QwIEZPUiBzeXN0 ZW1fdGltZSBGUk9NIDondHMxJyBUTyA6J3RzMicgT1JERVIgQlkgc3RhcnRfdGltZXN0YW1w LCBhOwogYSAKLS0tCiAxCiAyCiAzCiA0Cig0IHJvd3MpCgpTRUxFQ1QgYSBGUk9NIHN0ZXN0 MCBGT1Igc3lzdGVtX3RpbWUgRlJPTSA6J3RzMicgVE8gOid0czMnIE9SREVSIEJZIHN0YXJ0 X3RpbWVzdGFtcCwgYTsKIGEgCi0tLQogMgogMwogNAooMyByb3dzKQoKU0VMRUNUIGEgRlJP TSBzdGVzdDAgRk9SIHN5c3RlbV90aW1lIEZST00gOid0czEnIFRPIDondHMzJyBPUkRFUiBC WSBzdGFydF90aW1lc3RhbXAsIGE7CiBhIAotLS0KIDEKIDIKIDMKIDQKKDQgcm93cykKCi8q CiAqIEpPSU5TCiAqLwpDUkVBVEUgVEFCTEUgc3Rlc3R4ICh4IGludCwgeSBpbnQpOwpJTlNF UlQgSU5UTyBzdGVzdHggVkFMVUVTICgxMSwgMSksICgyMiwgMiksICgzMywgMyk7ClNFTEVD VCBhLCB4LCB5CkZST00gc3Rlc3R4CklOTkVSIEpPSU4gc3Rlc3QwIE9OIHN0ZXN0eC55ID0g c3Rlc3QwLmE7CiBhIHwgeCAgfCB5IAotLS0rLS0tLSstLS0KIDMgfCAzMyB8IDMKKDEgcm93 KQoKU0VMRUNUIGEsIHgsIHkKRlJPTSBzdGVzdHgKTEVGVCBPVVRFUiBKT0lOIHN0ZXN0IE9O IHN0ZXN0eC55ID0gc3Rlc3QwLmE7CiBhIHwgeCAgfCB5IAotLS0rLS0tLSstLS0KICAgfCAx MSB8IDEKICAgfCAyMiB8IDIKIDMgfCAzMyB8IDMKKDMgcm93cykKClNFTEVDVCBhLCB4LCB5 CkZST00gc3Rlc3R4ClJJR0hUIE9VVEVSIEpPSU4gc3Rlc3QgT04gc3Rlc3R4LnkgPSBzdGVz dDAuYTsKIGEgfCB4ICB8IHkgCi0tLSstLS0tKy0tLQogMyB8IDMzIHwgMwogNSB8ICAgIHwg IAogNCB8ICAgIHwgIAooMyByb3dzKQoKU0VMRUNUIGEsIHgsIHkKRlJPTSBzdGVzdHgKRlVM TCBPVVRFUiBKT0lOIHN0ZXN0IE9OIHN0ZXN0eC55ID0gc3Rlc3QwLmE7CiBhIHwgeCAgfCB5 IAotLS0rLS0tLSstLS0KICAgfCAxMSB8IDEKICAgfCAyMiB8IDIKIDMgfCAzMyB8IDMKIDUg fCAgICB8ICAKIDQgfCAgICB8ICAKKDUgcm93cykKCkRST1AgVEFCTEUgc3Rlc3R4OwotLSB2 aWV3cwpDUkVBVEUgVklFVyBzdGVzdDF2IEFTIFNFTEVDVCBhIEZST00gc3Rlc3QwOwpDUkVB VEUgVklFVyBzdGVzdDJ2IEFTIHNlbGVjdCBhIGZyb20gc3Rlc3QwIGZvciBzeXN0ZW1fdGlt ZSBmcm9tICcyMDAwLTAxLTAxIDAwOjAwOjAwLjAwMDAwJyB0byAnaW5maW5pdHknIE9SREVS IEJZIGE7ClNFTEVDVCAqIEZST00gc3Rlc3QxdjsKIGEgCi0tLQogMwogNAogNQooMyByb3dz KQoKU0VMRUNUICogRlJPTSBzdGVzdDJ2OwogYSAKLS0tCiAxCiAyCiAzCiA0CiA1Cig1IHJv d3MpCgpEUk9QIFZJRVcgc3Rlc3QxdjsKRFJPUCBWSUVXIHN0ZXN0MnY7Ci0tIENURXMKV0lU SCBmb28gQVMgKFNFTEVDVCBhIEZST00gc3Rlc3QwKSBTRUxFQ1QgKiBGUk9NIGZvbzsKIGEg Ci0tLQogMwogNAogNQooMyByb3dzKQoKV0lUSCBmb28gQVMgKHNlbGVjdCBhIGZyb20gc3Rl c3QwIGZvciBzeXN0ZW1fdGltZSBmcm9tICcyMDAwLTAxLTAxIDAwOjAwOjAwLjAwMDAwJyB0 byAnaW5maW5pdHknIE9SREVSIEJZIGEpIFNFTEVDVCAqIEZST00gZm9vOwogYSAKLS0tCiAx CiAyCiAzCiA0CiA1Cig1IHJvd3MpCgotLSBpbmhlcml0YW5jZQpDUkVBVEUgVEFCTEUgc3Rl c3QxICgpIElOSEVSSVRTIChzdGVzdDApOwpTRUxFQ1QgKiBGUk9NIHN0ZXN0MTsKIGEgfCBz dGFydF90aW1lc3RhbXAgfCBlbmRfdGltZXN0YW1wIAotLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tCigwIHJvd3MpCgpcZCBzdGVzdDEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMuc3Rlc3QxIgogICAgIENvbHVt biAgICAgIHwgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIHwgQ29sbGF0aW9uIHwgTnVs bGFibGUgfCAgICAgICAgICAgIERlZmF1bHQgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBhICAgICAgICAgICAgICAgfCBp bnRlZ2VyICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAog c3RhcnRfdGltZXN0YW1wIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgICAgICAg ICAgIHwgbm90IG51bGwgfCBnZW5lcmF0ZWQgYWx3YXlzIGFzIHJvdyBzdGFydAogZW5kX3Rp bWVzdGFtcCAgIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgICAgICAgICAgIHwg bm90IG51bGwgfCBnZW5lcmF0ZWQgYWx3YXlzIGFzIHJvdyBlbmQKSW5oZXJpdHM6IHN0ZXN0 MAoKSU5TRVJUIElOVE8gc3Rlc3QxIFZBTFVFUyAoNCk7ClNFTEVDVCBhIEZST00gc3Rlc3Qx OwogYSAKLS0tCiA0CigxIHJvdykKCg== --------------328A7C907CB80D4B7411FE0D--