how to find duplicate values using row_number and partition by - sql

I would like to know how to get all the duplicate values using the following query.please let me know what i am doing wrong with the query.
regards,
Iftekhar
SQL> desc tmp_emp_Area
Name Null? Type
------------------------------- -------- ----
SC_CD VARCHAR2(2)
DIST_CD VARCHAR2(2)
THA_CD VARCHAR2(2)
UN_CD VARCHAR2(3)
FP_ID VARCHAR2(4)
S_DT DATE
END_DT DATE
PERFORM VARCHAR2(1)
BS_CD VARCHAR2(4)
MKT_CD VARCHAR2(3)
Query :
SELECT SC_CD,DIST_CD,THA_CD,UN_CD,FP_ID,
row_number() over(partition BY SC_CD, DIST_CD, THA_CD, UN_CD, FP_ID order by FP_ID) rn
FROM tmp_emp_area
WHERE rn >1
SQL> / WHERE rn >1
* ERROR at line 4: ORA-00904: "RN": invalid identifier
Please check these two results below that i got after running two different queries to get duplicates.one is showing 92 columns and other is showing 96 columns.
select SC_CD,DIST_CD,THA_CD,UN_CD,FP_ID,count(fp_id)
from tmp_emp_area
group by SC_CD,DIST_CD,THA_CD,UN_CD,FP_ID
having count(fp_id)>1
/
SC DI TH UN_ FP_I COUNT(FP_ID)
-- -- -- --- ---- ------------
14 61 02 022 5J85 2
14 61 02 098 5J85 3
14 64 02 004 5J85 2
14 64 02 002 5J85 2
14 60 19 060 5F77 2
14 60 13 077 5F77 2
14 61 06 006 5D51 2
14 61 07 013 5D51 2
14 61 07 083 5D51 2
14 61 06 010 5D51 2
14 61 01 015 5R44 2
14 61 08 027 5R44 2
14 61 01 057 5R44 2
14 61 01 067 5R44 2
14 61 05 001 5R44 2
14 61 05 003 5R44 2
14 61 02 009 5J85 2
14 60 13 078 5F77 2
14 61 06 007 5D51 2
14 61 01 021 5R44 2
14 61 01 029 5R44 2
SC DI TH UN_ FP_I COUNT(FP_ID)
-- -- -- --- ---- ------------
14 61 01 065 5R44 2
14 61 01 069 5R44 2
14 64 03 013 5J85 2
14 61 02 014 5J85 2
14 61 02 089 5J85 2
14 60 19 132 5F77 2
14 60 19 134 5F77 2
14 61 07 086 5D51 2
14 61 06 035 5D51 2
14 61 06 014 5D51 2
14 61 01 031 5R44 2
14 61 01 036 5R44 2
14 61 01 041 5R44 2
14 61 02 092 5J85 3
14 61 02 074 5J85 3
14 61 02 088 5J85 2
14 61 02 109 5J85 2
14 60 19 014 5F77 2
14 61 07 015 5D51 2
14 61 06 008 5D51 2
14 61 06 016 5D51 2
SC DI TH UN_ FP_I COUNT(FP_ID)
-- -- -- --- ---- ------------
14 61 05 047 5R44 2
14 61 01 018 5R44 2
14 61 01 055 5R44 2
14 61 01 066 5R44 2
14 61 01 024 5R44 2
14 61 02 093 5J85 3
14 64 02 011 5J85 2
14 64 02 003 5J85 2
14 61 09 002 5J85 2
14 61 02 081 5J85 2
14 61 05 053 5D51 2
14 61 07 087 5D51 2
14 61 06 036 5D51 2
14 61 06 020 5D51 2
14 61 01 076 5R44 2
14 61 02 059 5R44 2
14 61 02 033 5J85 2
14 64 02 008 5J85 2
14 64 02 020 5J85 2
14 61 02 097 5J85 2
14 61 02 017 5J85 2
SC DI TH UN_ FP_I COUNT(FP_ID)
-- -- -- --- ---- ------------
14 61 02 082 5J85 2
14 61 01 077 5R44 2
14 61 05 046 5R44 2
14 61 01 017 5R44 2
14 61 01 054 5R44 2
14 64 02 030 5J85 2
14 61 02 010 5J85 2
14 61 02 103 5J85 2
14 64 02 006 5J85 2
14 64 03 020 5J85 2
14 61 02 105 5J85 2
14 61 02 080 5J85 2
14 61 02 151 5J85 2
14 60 19 059 5F77 2
14 61 06 045 5D51 2
14 61 01 075 5R44 2
14 61 01 056 5R44 2
14 61 01 020 5R44 2
14 61 05 007 5R44 2
14 61 01 053 5R44 2
14 61 01 078 5R44 2
SC DI TH UN_ FP_I COUNT(FP_ID)
-- -- -- --- ---- ------------
14 61 02 013 5J85 2
14 64 02 010 5J85 2
14 64 02 001 5J85 2
14 61 02 077 5J85 2
14 61 07 033 5D51 2
14 61 01 033 5R44 2
14 61 01 068 5R44 2
14 61 01 073 5R44 2
92 rows selected.
select *
from
(
SELECT SC_CD,DIST_CD,THA_CD,UN_CD,FP_ID,
row_number() over(partition BY SC_CD, DIST_CD, THA_CD, UN_CD, FP_ID order by FP_ID) rn
FROM tmp_emp_area
) dt
WHERE rn >1
SQL> /
SC DI TH UN_ FP_I RN
-- -- -- --- ---- ---------
14 60 13 077 5F77 2
14 60 13 078 5F77 2
14 60 19 014 5F77 2
14 60 19 059 5F77 2
14 60 19 060 5F77 2
14 60 19 132 5F77 2
14 60 19 134 5F77 2
14 61 01 015 5R44 2
14 61 01 017 5R44 2
14 61 01 018 5R44 2
14 61 01 020 5R44 2
14 61 01 021 5R44 2
14 61 01 024 5R44 2
14 61 01 029 5R44 2
14 61 01 031 5R44 2
14 61 01 033 5R44 2
14 61 01 036 5R44 2
14 61 01 041 5R44 2
14 61 01 053 5R44 2
14 61 01 054 5R44 2
14 61 01 055 5R44 2
SC DI TH UN_ FP_I RN
-- -- -- --- ---- ---------
14 61 01 056 5R44 2
14 61 01 057 5R44 2
14 61 01 065 5R44 2
14 61 01 066 5R44 2
14 61 01 067 5R44 2
14 61 01 068 5R44 2
14 61 01 069 5R44 2
14 61 01 073 5R44 2
14 61 01 075 5R44 2
14 61 01 076 5R44 2
14 61 01 077 5R44 2
14 61 01 078 5R44 2
14 61 02 009 5J85 2
14 61 02 010 5J85 2
14 61 02 013 5J85 2
14 61 02 014 5J85 2
14 61 02 017 5J85 2
14 61 02 022 5J85 2
14 61 02 033 5J85 2
14 61 02 059 5R44 2
14 61 02 074 5J85 2
SC DI TH UN_ FP_I RN
-- -- -- --- ---- ---------
14 61 02 074 5J85 3
14 61 02 077 5J85 2
14 61 02 080 5J85 2
14 61 02 081 5J85 2
14 61 02 082 5J85 2
14 61 02 088 5J85 2
14 61 02 089 5J85 2
14 61 02 092 5J85 2
14 61 02 092 5J85 3
14 61 02 093 5J85 2
14 61 02 093 5J85 3
14 61 02 097 5J85 2
14 61 02 098 5J85 2
14 61 02 098 5J85 3
14 61 02 103 5J85 2
14 61 02 105 5J85 2
14 61 02 109 5J85 2
14 61 02 151 5J85 2
14 61 05 001 5R44 2
14 61 05 003 5R44 2
14 61 05 007 5R44 2
SC DI TH UN_ FP_I RN
-- -- -- --- ---- ---------
14 61 05 046 5R44 2
14 61 05 047 5R44 2
14 61 05 053 5D51 2
14 61 06 006 5D51 2
14 61 06 007 5D51 2
14 61 06 008 5D51 2
14 61 06 010 5D51 2
14 61 06 014 5D51 2
14 61 06 016 5D51 2
14 61 06 020 5D51 2
14 61 06 035 5D51 2
14 61 06 036 5D51 2
14 61 06 045 5D51 2
14 61 07 013 5D51 2
14 61 07 015 5D51 2
14 61 07 033 5D51 2
14 61 07 083 5D51 2
14 61 07 086 5D51 2
14 61 07 087 5D51 2
14 61 08 027 5R44 2
14 61 09 002 5J85 2
SC DI TH UN_ FP_I RN
-- -- -- --- ---- ---------
14 64 02 001 5J85 2
14 64 02 002 5J85 2
14 64 02 003 5J85 2
14 64 02 004 5J85 2
14 64 02 006 5J85 2
14 64 02 008 5J85 2
14 64 02 010 5J85 2
14 64 02 011 5J85 2
14 64 02 020 5J85 2
14 64 02 030 5J85 2
14 64 03 013 5J85 2
14 64 03 020 5J85 2
96 rows selected.

You can't use an alias in WHERE, switch to a Derived Table:
select *
from
(
SELECT SC_CD,DIST_CD,THA_CD,UN_CD,FP_ID,
row_number() over(partition BY SC_CD, DIST_CD, THA_CD, UN_CD, FP_ID order by FP_ID) rn
FROM tmp_emp_area
) dt
WHERE rn >1

Related

Optimize Oracle Query - for View

I have single question, to optimize a View Query using Oracle. Is there anyone able to help me out.
I'm about to select circuitname and oldname (the old name of circuitname) from only one table. But each circuitname, possibly has more than 1 sub name (oldname, sub-oldname, etc), and i want to join all of them with this View Query. This query is good, but when I select 1 by 1 circuitname, oldname, sub-oldname, etc until 20 circuitname, it takes too much time. I want to optimize the query, to perform less time, before the app timeout.
Here's the query
CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMS"."VW_SI_CASCADE" ("R1", "L1", "L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9", "L10", "L11", "L12", "L13", "L14", "L15", "L16", "L17", "L18", "L19", "L20", "L21", "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "M13", "M14", "M15", "M16", "M17", "M18", "M19", "M20", "M21") AS
SELECT
ROWNUM AS R1,
V1.OLDNAME AS L1,
V1.CIRCUITNAME AS L2,
V2.CIRCUITNAME AS L3,
V3.CIRCUITNAME AS L4,
V4.CIRCUITNAME AS L5,
V5.CIRCUITNAME AS L6,
V6.CIRCUITNAME AS L7,
V7.CIRCUITNAME AS L8,
V8.CIRCUITNAME AS L9,
V9.CIRCUITNAME AS L10,
V10.CIRCUITNAME AS L11,
V11.CIRCUITNAME AS L12,
V12.CIRCUITNAME AS L13,
V13.CIRCUITNAME AS L14,
V14.CIRCUITNAME AS L15,
V15.CIRCUITNAME AS L16,
V16.CIRCUITNAME AS L17,
V17.CIRCUITNAME AS L18,
V18.CIRCUITNAME AS L19,
V19.CIRCUITNAME AS L20,
V20.CIRCUITNAME AS L21,
V1.OLDCIRCUITID AS M1,
V1.CIRCUITID AS M2,
V2.CIRCUITID AS M3,
V3.CIRCUITID AS M4,
V4.CIRCUITID AS M5,
V5.CIRCUITID AS M6,
V6.CIRCUITID AS M7,
V7.CIRCUITID AS M8,
V8.CIRCUITID AS M9,
V9.CIRCUITID AS M10,
V10.CIRCUITID AS M11,
V11.CIRCUITID AS M12,
V12.CIRCUITID AS M13,
V13.CIRCUITID AS M14,
V14.CIRCUITID AS M15,
V15.CIRCUITID AS M16,
V16.CIRCUITID AS M17,
V17.CIRCUITID AS M18,
V18.CIRCUITID AS M19,
V19.CIRCUITID AS M20,
V20.CIRCUITID AS M21
FROM VW_SI_OLDNAME V1
LEFT JOIN VW_SI_OLDNAME V2 ON V2.OLDNAME = V1.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V3 ON V3.OLDNAME = V2.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V4 ON V4.OLDNAME = V3.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V5 ON V5.OLDNAME = V4.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V6 ON V6.OLDNAME = V5.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V7 ON V7.OLDNAME = V6.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V8 ON V8.OLDNAME = V7.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V9 ON V9.OLDNAME = V8.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V10 ON V10.OLDNAME = V9.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V11 ON V11.OLDNAME = V10.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V12 ON V12.OLDNAME = V11.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V13 ON V13.OLDNAME = V12.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V14 ON V14.OLDNAME = V13.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V15 ON V15.OLDNAME = V14.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V16 ON V16.OLDNAME = V15.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V17 ON V17.OLDNAME = V16.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V18 ON V18.OLDNAME = V17.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V19 ON V19.OLDNAME = V18.CIRCUITNAME
LEFT JOIN VW_SI_OLDNAME V20 ON V20.OLDNAME = V19.CIRCUITNAME;
Pardon if I have any mistakes, and kindly need your help guys, my fellow heroes!
You're querying the view twenty times. That's going to be slow. You could try using subquery factoring, so you query the view once and re-use the result set multiple times.
CREATE OR REPLACE FORCE EDITIONABLE VIEW "IMS"."VW_SI_CASCADE" ("R1", "L1", "L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9", "L10", "L11", "L12", "L13", "L14", "L15", "L16", "L17", "L18", "L19", "L20", "L21", "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "M13", "M14", "M15", "M16", "M17", "M18", "M19", "M20", "M21") AS
with cte as (
select * from VW_SI_OLDNAME
)
SELECT
ROWNUM AS R1,
V1.OLDNAME AS L1,
V1.CIRCUITNAME AS L2,
V2.CIRCUITNAME AS L3,
V3.CIRCUITNAME AS L4,
V4.CIRCUITNAME AS L5,
V5.CIRCUITNAME AS L6,
V6.CIRCUITNAME AS L7,
V7.CIRCUITNAME AS L8,
V8.CIRCUITNAME AS L9,
V9.CIRCUITNAME AS L10,
V10.CIRCUITNAME AS L11,
V11.CIRCUITNAME AS L12,
V12.CIRCUITNAME AS L13,
V13.CIRCUITNAME AS L14,
V14.CIRCUITNAME AS L15,
V15.CIRCUITNAME AS L16,
V16.CIRCUITNAME AS L17,
V17.CIRCUITNAME AS L18,
V18.CIRCUITNAME AS L19,
V19.CIRCUITNAME AS L20,
V20.CIRCUITNAME AS L21,
V1.OLDCIRCUITID AS M1,
V1.CIRCUITID AS M2,
V2.CIRCUITID AS M3,
V3.CIRCUITID AS M4,
V4.CIRCUITID AS M5,
V5.CIRCUITID AS M6,
V6.CIRCUITID AS M7,
V7.CIRCUITID AS M8,
V8.CIRCUITID AS M9,
V9.CIRCUITID AS M10,
V10.CIRCUITID AS M11,
V11.CIRCUITID AS M12,
V12.CIRCUITID AS M13,
V13.CIRCUITID AS M14,
V14.CIRCUITID AS M15,
V15.CIRCUITID AS M16,
V16.CIRCUITID AS M17,
V17.CIRCUITID AS M18,
V18.CIRCUITID AS M19,
V19.CIRCUITID AS M20,
V20.CIRCUITID AS M21
FROM cte V1
LEFT JOIN cte V2 ON V2.OLDNAME = V1.CIRCUITNAME
LEFT JOIN cte V3 ON V3.OLDNAME = V2.CIRCUITNAME
LEFT JOIN cte V4 ON V4.OLDNAME = V3.CIRCUITNAME
LEFT JOIN cte V5 ON V5.OLDNAME = V4.CIRCUITNAME
LEFT JOIN cte V6 ON V6.OLDNAME = V5.CIRCUITNAME
LEFT JOIN cte V7 ON V7.OLDNAME = V6.CIRCUITNAME
LEFT JOIN cte V8 ON V8.OLDNAME = V7.CIRCUITNAME
LEFT JOIN cte V9 ON V9.OLDNAME = V8.CIRCUITNAME
LEFT JOIN cte V10 ON V10.OLDNAME = V9.CIRCUITNAME
LEFT JOIN cte V11 ON V11.OLDNAME = V10.CIRCUITNAME
LEFT JOIN cte V12 ON V12.OLDNAME = V11.CIRCUITNAME
LEFT JOIN cte V13 ON V13.OLDNAME = V12.CIRCUITNAME
LEFT JOIN cte V14 ON V14.OLDNAME = V13.CIRCUITNAME
LEFT JOIN cte V15 ON V15.OLDNAME = V14.CIRCUITNAME
LEFT JOIN cte V16 ON V16.OLDNAME = V15.CIRCUITNAME
LEFT JOIN cte V17 ON V17.OLDNAME = V16.CIRCUITNAME
LEFT JOIN cte V18 ON V18.OLDNAME = V17.CIRCUITNAME
LEFT JOIN cte V19 ON V19.OLDNAME = V18.CIRCUITNAME
LEFT JOIN cte V20 ON V20.OLDNAME = V19.CIRCUITNAME;
Beyond that you may need to consider the internal logic of the view. There may be a better way to re-construct the chain of names. You also might be exposed to cycles in the re-naming.
For example, your VW_SI_OLDNAME contains a data like this:
with VW_SI_OLDNAME as (
select
'name_'||to_char(level-1,'fm0000') OLDNAME
,'name_'||to_char(level ,'fm0000') CIRCUITNAME
,level-1 OLDCIRCUITID
,level CIRCUITID
from dual
connect by level<=100
)
select *
from VW_SI_OLDNAME;
Example:
OLDNAME CIRCUITNAM OLDCIRCUITID CIRCUITID
---------- ---------- ------------ ----------
name_0000 name_0001 0 1
name_0001 name_0002 1 2
name_0002 name_0003 2 3
name_0003 name_0004 3 4
name_0004 name_0005 4 5
...
name_0028 name_0029 28 29
name_0029 name_0030 29 30
name_0030 name_0031 30 31
...
name_0097 name_0098 97 98
name_0098 name_0099 98 99
name_0099 name_0100 99 100
In this case, you can easily create your view using MATCH_RECOGNIZE that will scan your VW_SI_OLDNAME just once:
VW_SI_CASCADE as (
select *
from VW_SI_OLDNAME
match_recognize(
MEASURES
classifier() event
,match_number() match
,prev(CIRCUITID,1) CIRCUITID_1
,prev(CIRCUITID,2) CIRCUITID_2
,prev(CIRCUITID,3) CIRCUITID_3
,prev(CIRCUITID,4) CIRCUITID_4
,prev(CIRCUITID,5) CIRCUITID_5
,prev(CIRCUITID,6) CIRCUITID_6
,prev(CIRCUITID,7) CIRCUITID_7
,prev(CIRCUITID,8) CIRCUITID_8
,prev(CIRCUITNAME,1) CIRCUITNAME_1
,prev(CIRCUITNAME,2) CIRCUITNAME_2
,prev(CIRCUITNAME,3) CIRCUITNAME_3
,prev(CIRCUITNAME,4) CIRCUITNAME_4
,prev(CIRCUITNAME,5) CIRCUITNAME_5
,prev(CIRCUITNAME,6) CIRCUITNAME_6
,prev(CIRCUITNAME,7) CIRCUITNAME_7
,prev(CIRCUITNAME,8) CIRCUITNAME_8
ALL ROWS PER MATCH
PATTERN (p)
DEFINE
p AS OLDNAME = prev(CIRCUITNAME)
)
)
I've created only 1-8 just to make this example shorter.
Full example with test data:
with
VW_SI_OLDNAME as (
select
'name_'||to_char(level-1,'fm0000') OLDNAME
,'name_'||to_char(level ,'fm0000') CIRCUITNAME
,level-1 OLDCIRCUITID
,level CIRCUITID
from dual
connect by level<=100
)
,VW_SI_CASCADE as (
select *
from VW_SI_OLDNAME
match_recognize(
MEASURES
classifier() event
,match_number() match
,prev(CIRCUITID,1) CIRCUITID_1
,prev(CIRCUITID,2) CIRCUITID_2
,prev(CIRCUITID,3) CIRCUITID_3
,prev(CIRCUITID,4) CIRCUITID_4
,prev(CIRCUITID,5) CIRCUITID_5
,prev(CIRCUITID,6) CIRCUITID_6
,prev(CIRCUITID,7) CIRCUITID_7
,prev(CIRCUITID,8) CIRCUITID_8
,prev(CIRCUITNAME,1) CIRCUITNAME_1
,prev(CIRCUITNAME,2) CIRCUITNAME_2
,prev(CIRCUITNAME,3) CIRCUITNAME_3
,prev(CIRCUITNAME,4) CIRCUITNAME_4
,prev(CIRCUITNAME,5) CIRCUITNAME_5
,prev(CIRCUITNAME,6) CIRCUITNAME_6
,prev(CIRCUITNAME,7) CIRCUITNAME_7
,prev(CIRCUITNAME,8) CIRCUITNAME_8
ALL ROWS PER MATCH
PATTERN (p)
DEFINE
p AS OLDNAME = prev(CIRCUITNAME)
)
)
select *
from VW_SI_CASCADE;
Results:
EVENT MATCH CIRCUITID_1 CIRCUITID_2 CIRCUITID_3 CIRCUITID_4 CIRCUITID_5 CIRCUITID_6 CIRCUITID_7 CIRCUITID_8 CIRCUITNAM CIRCUITNAM CIRCUITNAM CIRCUITNAM CIRCUITNAM CIRCUITNAM CIRCUITNAM CIRCUITNAM OLDNAME CIRCUITNAM OLDCIRCUITID CIRCUITID
----- ------ ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------------ ----------
P 1 1 name_0001 name_0001 name_0002 1 2
P 2 2 1 name_0002 name_0001 name_0002 name_0003 2 3
P 3 3 2 1 name_0003 name_0002 name_0001 name_0003 name_0004 3 4
P 4 4 3 2 1 name_0004 name_0003 name_0002 name_0001 name_0004 name_0005 4 5
P 5 5 4 3 2 1 name_0005 name_0004 name_0003 name_0002 name_0001 name_0005 name_0006 5 6
P 6 6 5 4 3 2 1 name_0006 name_0005 name_0004 name_0003 name_0002 name_0001 name_0006 name_0007 6 7
P 7 7 6 5 4 3 2 1 name_0007 name_0006 name_0005 name_0004 name_0003 name_0002 name_0001 name_0007 name_0008 7 8
P 8 8 7 6 5 4 3 2 1 name_0008 name_0007 name_0006 name_0005 name_0004 name_0003 name_0002 name_0001 name_0008 name_0009 8 9
P 9 9 8 7 6 5 4 3 2 name_0009 name_0008 name_0007 name_0006 name_0005 name_0004 name_0003 name_0002 name_0009 name_0010 9 10
P 10 10 9 8 7 6 5 4 3 name_0010 name_0009 name_0008 name_0007 name_0006 name_0005 name_0004 name_0003 name_0010 name_0011 10 11
P 11 11 10 9 8 7 6 5 4 name_0011 name_0010 name_0009 name_0008 name_0007 name_0006 name_0005 name_0004 name_0011 name_0012 11 12
P 12 12 11 10 9 8 7 6 5 name_0012 name_0011 name_0010 name_0009 name_0008 name_0007 name_0006 name_0005 name_0012 name_0013 12 13
P 13 13 12 11 10 9 8 7 6 name_0013 name_0012 name_0011 name_0010 name_0009 name_0008 name_0007 name_0006 name_0013 name_0014 13 14
P 14 14 13 12 11 10 9 8 7 name_0014 name_0013 name_0012 name_0011 name_0010 name_0009 name_0008 name_0007 name_0014 name_0015 14 15
P 15 15 14 13 12 11 10 9 8 name_0015 name_0014 name_0013 name_0012 name_0011 name_0010 name_0009 name_0008 name_0015 name_0016 15 16
P 16 16 15 14 13 12 11 10 9 name_0016 name_0015 name_0014 name_0013 name_0012 name_0011 name_0010 name_0009 name_0016 name_0017 16 17
P 17 17 16 15 14 13 12 11 10 name_0017 name_0016 name_0015 name_0014 name_0013 name_0012 name_0011 name_0010 name_0017 name_0018 17 18
P 18 18 17 16 15 14 13 12 11 name_0018 name_0017 name_0016 name_0015 name_0014 name_0013 name_0012 name_0011 name_0018 name_0019 18 19
P 19 19 18 17 16 15 14 13 12 name_0019 name_0018 name_0017 name_0016 name_0015 name_0014 name_0013 name_0012 name_0019 name_0020 19 20
P 20 20 19 18 17 16 15 14 13 name_0020 name_0019 name_0018 name_0017 name_0016 name_0015 name_0014 name_0013 name_0020 name_0021 20 21
P 21 21 20 19 18 17 16 15 14 name_0021 name_0020 name_0019 name_0018 name_0017 name_0016 name_0015 name_0014 name_0021 name_0022 21 22
P 22 22 21 20 19 18 17 16 15 name_0022 name_0021 name_0020 name_0019 name_0018 name_0017 name_0016 name_0015 name_0022 name_0023 22 23
P 23 23 22 21 20 19 18 17 16 name_0023 name_0022 name_0021 name_0020 name_0019 name_0018 name_0017 name_0016 name_0023 name_0024 23 24
P 24 24 23 22 21 20 19 18 17 name_0024 name_0023 name_0022 name_0021 name_0020 name_0019 name_0018 name_0017 name_0024 name_0025 24 25
P 25 25 24 23 22 21 20 19 18 name_0025 name_0024 name_0023 name_0022 name_0021 name_0020 name_0019 name_0018 name_0025 name_0026 25 26
P 26 26 25 24 23 22 21 20 19 name_0026 name_0025 name_0024 name_0023 name_0022 name_0021 name_0020 name_0019 name_0026 name_0027 26 27
P 27 27 26 25 24 23 22 21 20 name_0027 name_0026 name_0025 name_0024 name_0023 name_0022 name_0021 name_0020 name_0027 name_0028 27 28
P 28 28 27 26 25 24 23 22 21 name_0028 name_0027 name_0026 name_0025 name_0024 name_0023 name_0022 name_0021 name_0028 name_0029 28 29
P 29 29 28 27 26 25 24 23 22 name_0029 name_0028 name_0027 name_0026 name_0025 name_0024 name_0023 name_0022 name_0029 name_0030 29 30
P 30 30 29 28 27 26 25 24 23 name_0030 name_0029 name_0028 name_0027 name_0026 name_0025 name_0024 name_0023 name_0030 name_0031 30 31
P 31 31 30 29 28 27 26 25 24 name_0031 name_0030 name_0029 name_0028 name_0027 name_0026 name_0025 name_0024 name_0031 name_0032 31 32
P 32 32 31 30 29 28 27 26 25 name_0032 name_0031 name_0030 name_0029 name_0028 name_0027 name_0026 name_0025 name_0032 name_0033 32 33
P 33 33 32 31 30 29 28 27 26 name_0033 name_0032 name_0031 name_0030 name_0029 name_0028 name_0027 name_0026 name_0033 name_0034 33 34
P 34 34 33 32 31 30 29 28 27 name_0034 name_0033 name_0032 name_0031 name_0030 name_0029 name_0028 name_0027 name_0034 name_0035 34 35
P 35 35 34 33 32 31 30 29 28 name_0035 name_0034 name_0033 name_0032 name_0031 name_0030 name_0029 name_0028 name_0035 name_0036 35 36
P 36 36 35 34 33 32 31 30 29 name_0036 name_0035 name_0034 name_0033 name_0032 name_0031 name_0030 name_0029 name_0036 name_0037 36 37
P 37 37 36 35 34 33 32 31 30 name_0037 name_0036 name_0035 name_0034 name_0033 name_0032 name_0031 name_0030 name_0037 name_0038 37 38
P 38 38 37 36 35 34 33 32 31 name_0038 name_0037 name_0036 name_0035 name_0034 name_0033 name_0032 name_0031 name_0038 name_0039 38 39
P 39 39 38 37 36 35 34 33 32 name_0039 name_0038 name_0037 name_0036 name_0035 name_0034 name_0033 name_0032 name_0039 name_0040 39 40
P 40 40 39 38 37 36 35 34 33 name_0040 name_0039 name_0038 name_0037 name_0036 name_0035 name_0034 name_0033 name_0040 name_0041 40 41
P 41 41 40 39 38 37 36 35 34 name_0041 name_0040 name_0039 name_0038 name_0037 name_0036 name_0035 name_0034 name_0041 name_0042 41 42
P 42 42 41 40 39 38 37 36 35 name_0042 name_0041 name_0040 name_0039 name_0038 name_0037 name_0036 name_0035 name_0042 name_0043 42 43
P 43 43 42 41 40 39 38 37 36 name_0043 name_0042 name_0041 name_0040 name_0039 name_0038 name_0037 name_0036 name_0043 name_0044 43 44
P 44 44 43 42 41 40 39 38 37 name_0044 name_0043 name_0042 name_0041 name_0040 name_0039 name_0038 name_0037 name_0044 name_0045 44 45
P 45 45 44 43 42 41 40 39 38 name_0045 name_0044 name_0043 name_0042 name_0041 name_0040 name_0039 name_0038 name_0045 name_0046 45 46
P 46 46 45 44 43 42 41 40 39 name_0046 name_0045 name_0044 name_0043 name_0042 name_0041 name_0040 name_0039 name_0046 name_0047 46 47
P 47 47 46 45 44 43 42 41 40 name_0047 name_0046 name_0045 name_0044 name_0043 name_0042 name_0041 name_0040 name_0047 name_0048 47 48
P 48 48 47 46 45 44 43 42 41 name_0048 name_0047 name_0046 name_0045 name_0044 name_0043 name_0042 name_0041 name_0048 name_0049 48 49
P 49 49 48 47 46 45 44 43 42 name_0049 name_0048 name_0047 name_0046 name_0045 name_0044 name_0043 name_0042 name_0049 name_0050 49 50
P 50 50 49 48 47 46 45 44 43 name_0050 name_0049 name_0048 name_0047 name_0046 name_0045 name_0044 name_0043 name_0050 name_0051 50 51
P 51 51 50 49 48 47 46 45 44 name_0051 name_0050 name_0049 name_0048 name_0047 name_0046 name_0045 name_0044 name_0051 name_0052 51 52
P 52 52 51 50 49 48 47 46 45 name_0052 name_0051 name_0050 name_0049 name_0048 name_0047 name_0046 name_0045 name_0052 name_0053 52 53
P 53 53 52 51 50 49 48 47 46 name_0053 name_0052 name_0051 name_0050 name_0049 name_0048 name_0047 name_0046 name_0053 name_0054 53 54
P 54 54 53 52 51 50 49 48 47 name_0054 name_0053 name_0052 name_0051 name_0050 name_0049 name_0048 name_0047 name_0054 name_0055 54 55
P 55 55 54 53 52 51 50 49 48 name_0055 name_0054 name_0053 name_0052 name_0051 name_0050 name_0049 name_0048 name_0055 name_0056 55 56
P 56 56 55 54 53 52 51 50 49 name_0056 name_0055 name_0054 name_0053 name_0052 name_0051 name_0050 name_0049 name_0056 name_0057 56 57
P 57 57 56 55 54 53 52 51 50 name_0057 name_0056 name_0055 name_0054 name_0053 name_0052 name_0051 name_0050 name_0057 name_0058 57 58
P 58 58 57 56 55 54 53 52 51 name_0058 name_0057 name_0056 name_0055 name_0054 name_0053 name_0052 name_0051 name_0058 name_0059 58 59
P 59 59 58 57 56 55 54 53 52 name_0059 name_0058 name_0057 name_0056 name_0055 name_0054 name_0053 name_0052 name_0059 name_0060 59 60
P 60 60 59 58 57 56 55 54 53 name_0060 name_0059 name_0058 name_0057 name_0056 name_0055 name_0054 name_0053 name_0060 name_0061 60 61
P 61 61 60 59 58 57 56 55 54 name_0061 name_0060 name_0059 name_0058 name_0057 name_0056 name_0055 name_0054 name_0061 name_0062 61 62
P 62 62 61 60 59 58 57 56 55 name_0062 name_0061 name_0060 name_0059 name_0058 name_0057 name_0056 name_0055 name_0062 name_0063 62 63
P 63 63 62 61 60 59 58 57 56 name_0063 name_0062 name_0061 name_0060 name_0059 name_0058 name_0057 name_0056 name_0063 name_0064 63 64
P 64 64 63 62 61 60 59 58 57 name_0064 name_0063 name_0062 name_0061 name_0060 name_0059 name_0058 name_0057 name_0064 name_0065 64 65
P 65 65 64 63 62 61 60 59 58 name_0065 name_0064 name_0063 name_0062 name_0061 name_0060 name_0059 name_0058 name_0065 name_0066 65 66
P 66 66 65 64 63 62 61 60 59 name_0066 name_0065 name_0064 name_0063 name_0062 name_0061 name_0060 name_0059 name_0066 name_0067 66 67
P 67 67 66 65 64 63 62 61 60 name_0067 name_0066 name_0065 name_0064 name_0063 name_0062 name_0061 name_0060 name_0067 name_0068 67 68
P 68 68 67 66 65 64 63 62 61 name_0068 name_0067 name_0066 name_0065 name_0064 name_0063 name_0062 name_0061 name_0068 name_0069 68 69
P 69 69 68 67 66 65 64 63 62 name_0069 name_0068 name_0067 name_0066 name_0065 name_0064 name_0063 name_0062 name_0069 name_0070 69 70
P 70 70 69 68 67 66 65 64 63 name_0070 name_0069 name_0068 name_0067 name_0066 name_0065 name_0064 name_0063 name_0070 name_0071 70 71
P 71 71 70 69 68 67 66 65 64 name_0071 name_0070 name_0069 name_0068 name_0067 name_0066 name_0065 name_0064 name_0071 name_0072 71 72
P 72 72 71 70 69 68 67 66 65 name_0072 name_0071 name_0070 name_0069 name_0068 name_0067 name_0066 name_0065 name_0072 name_0073 72 73
P 73 73 72 71 70 69 68 67 66 name_0073 name_0072 name_0071 name_0070 name_0069 name_0068 name_0067 name_0066 name_0073 name_0074 73 74
P 74 74 73 72 71 70 69 68 67 name_0074 name_0073 name_0072 name_0071 name_0070 name_0069 name_0068 name_0067 name_0074 name_0075 74 75
P 75 75 74 73 72 71 70 69 68 name_0075 name_0074 name_0073 name_0072 name_0071 name_0070 name_0069 name_0068 name_0075 name_0076 75 76
P 76 76 75 74 73 72 71 70 69 name_0076 name_0075 name_0074 name_0073 name_0072 name_0071 name_0070 name_0069 name_0076 name_0077 76 77
P 77 77 76 75 74 73 72 71 70 name_0077 name_0076 name_0075 name_0074 name_0073 name_0072 name_0071 name_0070 name_0077 name_0078 77 78
P 78 78 77 76 75 74 73 72 71 name_0078 name_0077 name_0076 name_0075 name_0074 name_0073 name_0072 name_0071 name_0078 name_0079 78 79
P 79 79 78 77 76 75 74 73 72 name_0079 name_0078 name_0077 name_0076 name_0075 name_0074 name_0073 name_0072 name_0079 name_0080 79 80
P 80 80 79 78 77 76 75 74 73 name_0080 name_0079 name_0078 name_0077 name_0076 name_0075 name_0074 name_0073 name_0080 name_0081 80 81
P 81 81 80 79 78 77 76 75 74 name_0081 name_0080 name_0079 name_0078 name_0077 name_0076 name_0075 name_0074 name_0081 name_0082 81 82
P 82 82 81 80 79 78 77 76 75 name_0082 name_0081 name_0080 name_0079 name_0078 name_0077 name_0076 name_0075 name_0082 name_0083 82 83
P 83 83 82 81 80 79 78 77 76 name_0083 name_0082 name_0081 name_0080 name_0079 name_0078 name_0077 name_0076 name_0083 name_0084 83 84
P 84 84 83 82 81 80 79 78 77 name_0084 name_0083 name_0082 name_0081 name_0080 name_0079 name_0078 name_0077 name_0084 name_0085 84 85
P 85 85 84 83 82 81 80 79 78 name_0085 name_0084 name_0083 name_0082 name_0081 name_0080 name_0079 name_0078 name_0085 name_0086 85 86
P 86 86 85 84 83 82 81 80 79 name_0086 name_0085 name_0084 name_0083 name_0082 name_0081 name_0080 name_0079 name_0086 name_0087 86 87
P 87 87 86 85 84 83 82 81 80 name_0087 name_0086 name_0085 name_0084 name_0083 name_0082 name_0081 name_0080 name_0087 name_0088 87 88
P 88 88 87 86 85 84 83 82 81 name_0088 name_0087 name_0086 name_0085 name_0084 name_0083 name_0082 name_0081 name_0088 name_0089 88 89
P 89 89 88 87 86 85 84 83 82 name_0089 name_0088 name_0087 name_0086 name_0085 name_0084 name_0083 name_0082 name_0089 name_0090 89 90
P 90 90 89 88 87 86 85 84 83 name_0090 name_0089 name_0088 name_0087 name_0086 name_0085 name_0084 name_0083 name_0090 name_0091 90 91
P 91 91 90 89 88 87 86 85 84 name_0091 name_0090 name_0089 name_0088 name_0087 name_0086 name_0085 name_0084 name_0091 name_0092 91 92
P 92 92 91 90 89 88 87 86 85 name_0092 name_0091 name_0090 name_0089 name_0088 name_0087 name_0086 name_0085 name_0092 name_0093 92 93
P 93 93 92 91 90 89 88 87 86 name_0093 name_0092 name_0091 name_0090 name_0089 name_0088 name_0087 name_0086 name_0093 name_0094 93 94
P 94 94 93 92 91 90 89 88 87 name_0094 name_0093 name_0092 name_0091 name_0090 name_0089 name_0088 name_0087 name_0094 name_0095 94 95
P 95 95 94 93 92 91 90 89 88 name_0095 name_0094 name_0093 name_0092 name_0091 name_0090 name_0089 name_0088 name_0095 name_0096 95 96
P 96 96 95 94 93 92 91 90 89 name_0096 name_0095 name_0094 name_0093 name_0092 name_0091 name_0090 name_0089 name_0096 name_0097 96 97
P 97 97 96 95 94 93 92 91 90 name_0097 name_0096 name_0095 name_0094 name_0093 name_0092 name_0091 name_0090 name_0097 name_0098 97 98
P 98 98 97 96 95 94 93 92 91 name_0098 name_0097 name_0096 name_0095 name_0094 name_0093 name_0092 name_0091 name_0098 name_0099 98 99
P 99 99 98 97 96 95 94 93 92 name_0099 name_0098 name_0097 name_0096 name_0095 name_0094 name_0093 name_0092 name_0099 name_0100 99 100
So you can take this example and modify it for your needs: add required number of previous data(9-20), change column names, remove unneeded columns.

Drop multiple columns in python

I have 1000 columns in my dataframe, and I want to drop 3rd, 5th, 7th, 9th....999th columns, but need to keep the 1st column. I am not sure if df.drop function can deal with this issue. any ideas? The following code drops all odd columns include 1st column. but I need to keep the 1st column
col_to_drop = df.columns[np.array([i for i in range(df.shape[1]) if i%2!= 1 and i != 1])]
df.drop(col_to_drop, axis=1)
Try this:
df = pd.DataFrame(np.arange(100).reshape(10,-1), columns=[*'ABCDEFGHIJ'])
df.drop(df.columns[np.r_[2,4,5,6,9]], axis=1)
# or df.drop(df.columns[np.array([2,4,5,6,9])], axis=1)
Output:
A B D H I
0 0 1 3 7 8
1 10 11 13 17 18
2 20 21 23 27 28
3 30 31 33 37 38
4 40 41 43 47 48
5 50 51 53 57 58
6 60 61 63 67 68
7 70 71 73 77 78
8 80 81 83 87 88
9 90 91 93 97 98
Update for 1,000 columns.
Drops every odd colum except 1. -> 3,5,7,9...999
col_to_drop = df.columns[np.array([i for i in range(df.shape[1]) if i%2 != 0 and i != 0])]
df.drop(col_to_drop, axis=1)
I think you can try like below:
>>> df
A B C D E
0 A1 B1 C1 D1 E1
1 A2 B2 C2 D2 E2
2 A3 B3 C3 D3 E3
3 A4 B4 C4 D4 E4
4 A5 B5 C5 D5 E5
Drop unwanted columns:
>>> df.drop(ex.columns[[0, 4, 2]], axis = 1, inplace = True)
Result:
>>> df
B D
0 B1 D1
1 B2 D2
2 B3 D3
3 B4 D4
4 B5 D5
Another way around:
>>> df
A B C D E F G H I J K L M N O P
0 24 27 61 40 12 20 52 95 47 23 92 97 86 73 89 84
1 88 33 39 38 87 7 38 31 77 0 66 41 30 34 80 4
2 8 45 68 99 21 66 6 54 28 48 29 18 12 56 30 3
3 22 79 37 1 32 5 53 13 0 57 54 97 71 86 84 12
4 94 19 8 99 91 91 77 90 56 50 41 4 70 36 56 58
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
95 70 22 73 15 41 50 81 38 31 78 94 72 62 56 78 17
96 13 45 40 83 25 24 73 30 67 85 98 63 32 1 70 97
97 24 58 74 64 0 43 36 27 17 76 51 36 85 39 15 77
98 29 3 73 57 39 70 45 53 83 98 92 51 49 45 85 71
99 74 22 77 87 4 16 69 77 39 88 71 73 39 8 63 34
[100 rows x 16 columns]
As you want to drop all the odd columns hence other way around is to opt all the even column then while using .loc indexer as follows.
>>> df.loc[:, ::2]
A C E G I K M O
0 24 61 12 52 47 92 86 89
1 88 39 87 38 77 66 30 80
2 8 68 21 6 28 29 12 30
3 22 37 32 53 0 54 71 84
4 94 8 91 77 56 41 70 56
.. .. .. .. .. .. .. .. ..
95 70 73 41 81 31 94 62 78
96 13 40 25 73 67 98 32 70
97 24 74 0 36 17 51 85 15
98 29 73 39 45 83 92 49 85
99 74 77 4 69 39 71 39 63
[100 rows x 8 columns]
OR
>>> df[df.columns[::2]]
A C E G I K M O
0 24 61 12 52 47 92 86 89
1 88 39 87 38 77 66 30 80
2 8 68 21 6 28 29 12 30
3 22 37 32 53 0 54 71 84
4 94 8 91 77 56 41 70 56
.. .. .. .. .. .. .. .. ..
95 70 73 41 81 31 94 62 78
96 13 40 25 73 67 98 32 70
97 24 74 0 36 17 51 85 15
98 29 73 39 45 83 92 49 85
99 74 77 4 69 39 71 39 63
[100 rows x 8 columns]
A little change from scott Boston's answer works perfectly for this case
col_to_drop = df.columns[np.array([i for i in range(df.shape[1]) if i%2 != 1 and i != 0])]
df.drop(col_to_drop, axis=1)

TLS handshake failure

I have an embedded IOT device connected to real time DB FireBase. However, the server cancel the TLS handshake with fatal alert 0x46 = protocol_version. I have managed to get an hex dump of the whole handshake process.
Can someone explain me why the handshake was canceled?
My device is using TLS V1.2 as firebase expected as it can be seen in the header (16 3 3).
Update:
I've noticed that the first 4 bytes in the client random are zero. They need to be a calculated in seconds from 1970AD. There is no internal Time function (like we have in WIN32 or UNIX) and I used br_x509_minimal_set_time() to set the time for the BearSSL
Thanks,
Hexa dump:
Client Hello (Output from my IOT device to the peer)
16 3 1 0 E2 1 0 0 DE 3 3 0 0 0 0 E6 1F 4 48 79 54 47 D3 D7 CB FF C8 69 43 C8 66 7 ED DE 9C AF 96 8C F2 E 97 AD A6 0 0 5A CC A9 CC A8 C0 2B C0 2F C0 2C C0 30 C0 AC C0 AD C0 AE C0 AF C0 23 C0 27 C0 24 C0 28 C0 9 C0 13 C0 A C0 14 C0 2D C0 31 C0 2E C0 32 C0 25 C0 29 C0 26 C0 2A C0 4 C0 E C0 5 C0 F 0 9C 0 9D C0 9C C0 9D C0 A0 C0 A1 0 3C 0 3D 0 2F 0 35 C0 8 C0 12 C0 3 C0 D 0 A 1 0 0 5B FF 1 0 1 0 0 0 0 24 0 22 0 0 1F 69 72 6F 6E 6D 61 78 73 6F 73 62 75 74 74 6F 6E 2E 66 69 72 65 62 61 73 65 69 6F 2E 63 6F 6D 0 D 0 16 0 14 4 3 3 3 5 3 6 3 2 3 4 1 3 1 5 1 6 1 2 1 0 A 0 A 0 8 0 17 0 18 0 19 0 1D 0 B 0 2 1 0
Server hello (Input from the peer)
16 3 3 0 5B 2 0 0 57 3 3 5F DD D0 79 2B C1 D 5C 7 F3 C1 95 A2 D9 36 8C C7 4B DA 9F A2 22 D4 31 CF C9 C1 AB 86 5D CC A2 20 E3 4A 89 12 38 A0 31 D 9A 0 76 D0 E9 AE F2 F 9D 56 4C 36 4E A0 39 A5 AD D1 39 6B 3 33 8F 88 CC A8 0 0 F 0 0 0 0 FF 1 0 1 0 0 B 0 2 1 0
Certificate (Input)
16 3 3 9 FB B 0 9 F7 0 9 F4 0 5 A0 30 82 5 9C 30 82 4 84 A0 3 2 1 2 2 11 0 F0 CB F2 8F DF 22 56 9C 8 0 0 0 0 2F EE 22 30 D 6 9 2A 86 48 86 F7 D 1 1 B 5 0 30 42 31 B 30 9 6 3 55 4 6 13 2 55 53 31 1E 30 1C 6 3 55 4 A 13 15 47 6F 6F 67 6C 65 20 54 72 75 73 74 20 53 65 72 76 69 63 65 73 31 13 30 11 6 3 55 4 3 13 A 47 54 53 20 43 41 20 31 4F 31 30 1E 17 D 32 30 30 32 32 30 31 39 33 36 30 36 5A 17 D 32 31 30 32 31 38 31 39 33 36 30 36 5A 30 68 31 B 30 9 6 3 55 4 6 13 2 55 53 31 13 30 11 6 3 55 4 8 13 A 43 61 6C 69 66 6F 72 6E 69 61 31 16 30 14 6 3 55 4 7 13 D 4D 6F 75 6E 74 61 69 6E 20 56 69 65 77 31 13 30 11 6 3 55 4 A 13 A 47 6F 6F 67 6C 65 20 4C 4C 43 31 17 30 15 6 3 55 4 3 13 E 66 69 72 65 62 61 73 65 69 6F 2E 63 6F 6D 30 82 1 22 30 D 6 9 2A 86 48 86 F7 D 1 1 1 5 0 3 82 1 F 0 30 82 1 A 2 82 1 1 0 DF 51 84 12 1 76 47 89 16 CC BC E2 2E F5 27 E4 D2 44 2D 3A F7 D8 F2 9F F2 44 95 F4 A9 57 F4 D8 B2 66 EB 83 36 1D B5 94 99 A0 21 3E 17 CE 64 5A 61 EB 7F 2F F0 5C BD 44 5A 3 B9 E1 74 A7 BD 28 F0 51 9E 59 CE 98 5B 66 E3 E 1 22 50 A3 AA 9E 57 35 D0 AC 11 F6 2D 58 A7 13 C4 49 FA 3C 89 65 60 6E F9 E8 10 95 71 37 4A FA 11 F 4F 1B FA 7D 8C DB EC 2F 4A D4 EE 2A 86 A5 2F 11 44 85 E3 6B 6E 94 A9 BE 5A C6 FD 30 82 EE BB 2B 3C 69 BD 2B 3A E7 83 15 C1 3C B6 AB AB 62 DC 13 F8 9B 51 41 DF 21 C6 70 BA 4D BD F0 77 60 16 34 56 F CF B5 CF 29 24 46 D 21 6 E6 37 B 4D AE 8E C8 8D 2E 43 7E 81 20 50 2C 70 F6 55 12 2C 7B 1 62 1B B3 2F 66 C1 1D 61 8C 56 13 C B0 90 3A A 2 0 4C 22 1B 33 14 35 DF DD 41 C3 1A 6A 7D EA 3E EC 73 3E 4F FB 5A 46 40 98 10 35 4D 8A 73 AB 3B 63 E9 2 3 1 0 1 A3 82 2 65 30 82 2 61 30 E 6 3 55 1D F 1 1 FF 4 4 3 2 5 A0 30 13 6 3 55 1D 25 4 C 30 A 6 8 2B 6 1 5 5 7 3 1 30 C 6 3 55 1D 13 1 1 FF 4 2 30 0 30 1D 6 3 55 1D E 4 16 4 14 DA 22 8D DC A2 42 AB 7B 5 4A 6E F6 D3 60 3E D2 58 2C 13 42 30 1F 6 3 55 1D 23 4 18 30 16 80 14 98 D1 F8 6E 10 EB CF 9B EC 60 9F 18 90 1B A0 EB 7D 9 FD 2B 30 64 6 8 2B 6 1 5 5 7 1 1 4 58 30 56 30 27 6 8 2B 6 1 5 5 7 30 1 86 1B 68 74 74 70 3A 2F 2F 6F 63 73 70 2E 70 6B 69 2E 67 6F 6F 67 2F 67 74 73 31 6F 31 30 2B 6 8 2B 6 1 5 5 7 30 2 86 1F 68 74 74 70 3A 2F 2F 70 6B 69 2E 67 6F 6F 67 2F 67 73 72 32 2F 47 54 53 31 4F 31 2E 63 72 74 30 2B 6 3 55 1D 11 4 24 30 22 82 E 66 69 72 65 62 61 73 65 69 6F 2E 63 6F 6D 82 10 2A 2E 66 69 72 65 62 61 73 65 69 6F 2E 63 6F 6D 30 21 6 3 55 1D 20 4 1A 30 18 30 8 6 6 67 81 C 1 2 2 30 C 6 A 2B 6 1 4 1 D6 79 2 5 3 30 2F 6 3 55 1D 1F 4 28 30 26 30 24 A0 22 A0 20 86 1E 68 74 74 70 3A 2F 2F 63 72 6C 2E 70 6B 69 2E 67 6F 6F 67 2F 47 54 53 31 4F 31 2E 63 72 6C 30 82 1 3 6 A 2B 6 1 4 1 D6 79 2 4 2 4 81 F4 4 81 F1 0 EF 0 75 0 F6 5C 94 2F D1 77 30 22 14 54 18 8 30 94 56 8E E3 4D 13 19 33 BF DF C 2F 20 B CC 4E F1 64 E3 0 0 1 70 64 50 91 CE 0 0 4 3 0 46 30 44 2 20 2 A0 A AA 37 B4 C9 31 3F E9 41 83 35 63 EF D3 EE 45 E2 D9 CE E4 E E8 A4 1 A2 FC 9C 91 51 F1 2 20 60 2B 2 EB 2E 4D 49 C6 E0 D2 87 33 B0 BA EF 4D 79 A3 BE BA A9 17 92 16 6A 26 4F FC 0 50 5C 51 0 76 0 44 94 65 2E B0 EE CE AF C4 40 7 D8 A8 FE 28 C0 DA E6 82 BE D8 CB 31 B5 3F D3 33 96 B5 B6 81 A8 0 0 1 70 64 50 92 27 0 0 4 3 0 47 30 45 2 20 4D 5 84 E0 5 CA A6 14 51 9D C6 3E 5D 84 D6 A6 84 80 80 C B7 1C DD 46 E2 73 61 40 C1 E3 90 D1 2 21 0 CD 4C B6 65 EE 99 5F B1 BE 1D D6 45 83 C F4 33 AB 5C 84 7B EA AC D0 61 C7 48 F2 CE 44 9C D7 64 30 D 6 9 2A 86 48 86 F7 D 1 1 B 5 0 3 82 1 1 0 93 6B AB 76 2D D2 BB 81 1B 91 28 49 78 BD 8F EB 36 13 E6 6C F2 E4 92 26 68 9 E6 5 8E CB D7 62 6A 3F 1E 97 8C 47 57 AD 46 2E 16 A5 78 27 A3 49 46 F1 AE 76 60 83 C1 BB 75 65 18 9B C7 B5 EA D7 F9 24 4D 90 FC B9 57 ED C1 73 6A 88 EA 41 AB FC C D3 96 39 8E 56 CA A3 A3 45 E9 D6 70 AD 1C E5 15 15 6 74 1E B9 C6 D 51 A AE 31 6F 9 3F 50 69 59 7 43 FF 6E 6B ED 1 A3 1C FD 4E 21 9D 5 EB B8 74 8D A7 43 DB B2 C5 2 79 EB A 8D 1A B9 8 39 E FA 6D 4B 5 92 A6 15 93 FE 87 81 C9 80 AC 56 1 1A D4 7 85 F1 70 FC 76 57 7D EF 7E 78 3D C5 E9 FE F D5 2E D3 B8 27 6 B4 85 58 B2 F5 3F 8B 31 DF F6 AA 5B B AB 3 9C A B2 FB C2 90 AF FB 22 A1 7B 8F 6C 64 F8 C7 B4 85 6A 17 2B 91 CC CB 7 75 7D FE F5 76 C8 D2 9E 8E C1 37 D9 E7 73 CA 3C 7A 4 59 EA 59 C8 93 8B CB 7A 78 51 C0 0 4 4E 30 82 4 4A 30 82 3 32 A0 3 2 1 2 2 D 1 E3 B4 9A A1 8D 8A A9 81 25 69 50 B8 30 D 6 9 2A 86 48 86 F7 D 1 1 B 5 0 30 4C 31 20 30 1E 6 3 55 4 B 13 17 47 6C 6F 62 61 6C 53 69 67 6E 20 52 6F 6F 74 20 43 41 20 2D 20 52 32 31 13 30 11 6 3 55 4 A 13 A 47 6C 6F 62 61 6C 53 69 67 6E 31 13 30 11 6 3 55 4 3 13 A 47 6C 6F 62 61 6C 53 69 67 6E 30 1E 17 D 31 37 30 36 31 35 30 30 30 30 34 32 5A 17 D 32 31 31 32 31 35 30 30 30 30 34 32 5A 30 42 31 B 30 9 6 3 55 4 6 13 2 55 53 31 1E 30 1C 6 3 55 4 A 13 15 47 6F 6F 67 6C 65 20 54 72 75 73 74 20 53 65 72 76 69 63 65 73 31 13 30 11 6 3 55 4 3 13 A 47 54 53 20 43 41 20 31 4F 31 30 82 1 22 30 D 6 9 2A 86 48 86 F7 D 1 1 1 5 0 3 82 1 F 0 30 82 1 A 2 82 1 1 0 D0 18 CF 45 D4 8B CD D3 9C E4 40 EF 7E B4 DD 69 21 1B C9 CF 3C 8E 4C 75 B9 F 31 19 84 3D 9E 3C 29 EF 50 D 10 93 6F 5 80 80 9F 2A A0 BD 12 4B 2 E1 3D 9F 58 16 24 FE 30 9F B 74 77 55 93 1D 4B F7 4D E1 92 82 10 F6 51 AC C C3 B2 22 94 F 34 6B 98 10 49 E7 B 9D 83 39 DD 20 C6 1C 2D EF D1 18 61 65 E7 23 83 20 A8 23 12 FF D2 24 7F D4 2F E7 44 6A 5B 4D D7 50 66 B0 AF 9E 42 63 5 FB E0 1C C4 63 61 AF 9F 6A 33 FF 62 97 BD 48 D9 D3 7C 14 67 DC 75 DC 2E 69 E8 F8 6D 78 69 D0 B7 10 5 B8 F1 31 C2 3B 24 FD 1A 33 74 F8 23 E0 EC 6B 19 8A 16 C6 E3 CD A4 CD B DB B3 A4 59 60 38 88 3B AD 1D B9 C6 8C A7 53 1B FC BC D9 A4 AB BC DD 3C 61 D7 93 15 98 EE 81 BD 8F E2 64 47 20 40 6 4E D7 AC 97 E8 B9 C0 59 12 A1 49 25 23 E4 ED 70 34 2C A5 B4 63 7C F9 A3 3D 83 D1 CD 6D 24 AC 7 2 3 1 0 1 A3 82 1 33 30 82 1 2F 30 E 6 3 55 1D F 1 1 FF 4 4 3 2 1 86 30 1D 6 3 55 1D 25 4 16 30 14 6 8 2B 6 1 5 5 7 3 1 6 8 2B 6 1 5 5 7 3 2 30 12 6 3 55 1D 13 1 1 FF 4 8 30 6 1 1 FF 2 1 0 30 1D 6 3 55 1D E 4 16 4 14 98 D1 F8 6E 10 EB CF 9B EC 60 9F 18 90 1B A0 EB 7D 9 FD 2B 30 1F 6 3 55 1D 23 4 18 30 16 80 14 9B E2 7 57 67 1C 1E C0 6A 6 DE 59 B4 9A 2D DF DC 19 86 2E 30 35 6 8 2B 6 1 5 5 7 1 1 4 29 30 27 30 25 6 8 2B 6 1 5 5 7 30 1 86 19 68 74 74 70 3A 2F 2F 6F 63 73 70 2E 70 6B 69 2E 67 6F 6F 67 2F 67 73 72 32 30 32 6 3 55 1D 1F 4 2B 30 29 30 27 A0 25 A0 23 86 21 68 74 74 70 3A 2F 2F 63 72 6C 2E 70 6B 69 2E 67 6F 6F 67 2F 67 73 72 32 2F 67 73 72 32 2E 63 72 6C 30 3F 6 3 55 1D 20 4 38 30 36 30 34 6 6 67 81 C 1 2 2 30 2A 30 28 6 8 2B 6 1 5 5 7 2 1 16 1C 68 74 74 70 73 3A 2F 2F 70 6B 69 2E 67 6F 6F 67 2F 72 65 70 6F 73 69 74 6F 72 79 2F 30 D 6 9 2A 86 48 86 F7 D 1 1 B 5 0 3 82 1 1 0 1A 80 3E 36 79 FB F3 2E A9 46 37 7D 5E 54 16 35 AE C7 4E 8 99 FE BD D1 34 69 26 52 66 7 3D A BA 49 CB 62 F4 F1 1A 8E FC 11 4F 68 96 4C 74 2B D3 67 DE B2 A3 AA 5 8D 84 4D 4C 20 65 F A5 96 DA D 16 F8 6C 3B DB 6F 4 23 88 6B 3A 6C C1 60 BD 68 9F 71 8E EE 2D 58 34 7 F0 D5 54 E9 86 59 FD 7B 5E D 21 94 F5 8C C9 A8 F8 D8 F2 AD CC F 1A F3 9A A7 A9 4 27 F9 A3 C9 B0 FF 2 78 6B 61 BA C7 35 2B E8 56 FA 4F C3 1C C ED B6 3C B4 4B EA ED CC E1 3C EC DC D 8C D6 3E 9B CA 42 58 8B CC 16 21 17 40 BC A2 D6 66 EF DA C4 15 5B CD 89 AA 9B 9 26 E7 32 D2 D 6E 67 20 2 5B 10 B0 90 9 9C C 1F 9E AD D8 3B EA A1 FC 6C E8 10 5C 8 52 19 51 2A 71 BB AC 7A B5 DD 15 ED 2B C9 8 2A 2C 8A B4 A6 21 AB 63 FF D7 52 49 50 D0 89 B7 AD F2 AF FB 50 AE 2F E1 95 D F3 46 AD 9D 9C F5 CA
Server key exchange (Input)
16 3 3 1 2C C 0 1 28 3 0 1D 20 69 4A A 2A 99 52 9D E1 E3 32 BB 19 71 1F CC 9A 31 19 99 9B B 3D 7B 2A 87 E 53 F2 B6 E8 57 56 4 1 1 0 5 D4 B0 F5 6C 91 1C 62 94 8 B3 E F8 CE 21 32 69 A5 1B C5 4 62 64 EA C 7E 0 99 98 FD B1 60 78 78 9D A6 33 72 2E 36 65 71 F6 5 73 1F 34 4D 37 13 71 D A3 6A B7 39 F9 DD A6 F8 37 B 84 E7 62 FE 66 42 98 93 45 5 35 DD 8A B9 2C 29 A 34 D6 22 CA B8 8 FA 5A C7 49 27 F9 47 8F B2 CF FC 51 75 5D 5C 33 EC 28 E F7 EC 70 95 E8 C7 B3 10 2B E9 9 B E B2 B3 7E 3D 53 60 BD 38 99 8E 66 83 A6 9C EF 4F 39 1F 8D 2A 10 6B 6E DE 41 B2 0 37 E9 3 C1 1 FB 43 C6 42 95 AC 40 1 12 9 4 2C BC 29 50 DE 8B BC B5 D1 12 7A 71 B4 7F DB EC CB B0 35 7D 84 8B 60 19 72 5D 70 D FA 7A 4B 1 C1 BA BC BC D 5F 18 43 56 E4 B7 1 75 1E B0 92 C5 5E 9 36 F8 65 EC DE 23 22 79 5F E4 75 FD AB 85 DB DF 25 D9 32 EA D0 4D E5 64 9B 17 EE 8D EE D2 3A 36 3D 97 FB DA 33 FC FD B7 A3 A0 E1 A1 5A
Server hello done (Input)
16 3 3 0 4 E 0 0 0
Client key exchange (Output)
16 3 3 0 25 10 0 0 21 20 4B EA B1 D1 7F 14 56 5D 76 1A 6B 56 B6 93 8B 76 3D EA E5 D2 95 2C C3 1 45 B5 5D F2 4F FF 91 75
Client change cipher spec (Output)
14 3 3 0 1 1
Client handshake finish (Output)
16 3 3 0 20 C4 46 D6 2C 6F A9 E9 E8 E4 BE 7B DA 5F 3E 7F 11 D6 83 31 EA 71 D7 4F CF 5E 62 36 5A F 6 AC 7F
Server fatal alert (Input)
15 3 3 0 2 2 46

Decode Proprietary Data GPRMC Data - Yamaha GPS Data logger

This is a long shot, but I have been trying to convert a .ctrk file which has been downloaded from a Yamaha Motorbike Data logger to a readable format.
If I open the file with Notepad++ there is some readable text, mostly the GPRMC data which I can convert to GPS coordinates, speed, time, etc... however the file 'should' also contain 18(i think) other data points(Lean angles, engine RPMs, G forces etc...).
In Notepad++ the data between the GPRMC data just shows as Start of headers, Null, Escape characters,(ENO,DC4,EOT,STX) and such like.
RAW data in Hex
24 47 50 52 4D 43 2C 30 34 32 37 32 35 2E 38 30 30 2C 41 2C 33 33 34 38 2E 32 33 31 38 2C 53 2C 31 35 30 35 32 2E 32 31 31 30 2C 45 2C 30 2E 30 32 2C 32 37 36 2E 35 38 2C 32 30 30 32 31 35 2C 2C 2C 44 2A 37 35 0D 0A 01 00 19 00 C6 02 19 1B 04 05 14 02 DF 07 09 02 00 00 06 0D A9 00 06 00 80 01 00 1B 00 EA 02 19 1B 04 05 14 02 DF 07 11 05 00 00 08 96 7C 50 6A 58 2C 60 10 01 00 1B 00 EA 02 19 1B 04 05 14 02 DF 07 1B 05 00 00 08 FF FF FF FF 80 00 00 00 01 00 1A 00 FE 02 19 1B 04 05 14 02 DF 07 26 02 00 00 07 0C E8 E8 EB E8 28 40 01 00 1B 00 0C 03 19 1B 04 05 14 02 DF 07 15 02 00 00 08 00 06 00 01 F3 22 06 00 01 00 1B 00 0F 03 19 1B 04 05 14 02 DF 07 58 02 00 00 08 52 16 B1 7B 00 00 75 46 01 00 1B 00 13 03 19 1B 04 05 14 02 DF 07 60 02 00 00 08 00 02 00 93 00 00 00 8C 01 00 17 00 1D 03 19 1B 04 05 14 02 DF 07 64 02 00 00 04 00 00 00 00 01 00 19 00 1D 03 19 1B 04 05 14 02 DF 07 68 02 00 00 06 00 00 00 00 04 00 01 00 1B 00 23 03 19 1B 04 05 14 02 DF 07 50 02 00 00 08 1B 48 1B 0A 1F 40 20 00 02 00 56 00 26 03 19 1B 04 05 14 02 DF 07 24 47 50 52 4D 43 2C 30 34 32 37 32 35 2E 39 30 30 2C 41 2C 33 33 34 38 2E 32 33 31 38 2C 53 2C 31 35 30 35 32 2E 32 31 31 30 2C 45 2C 30 2E 30 32 2C 32 37 36 2E 35 38 2C 32 30 30 32 31 35 2C 2C 2C 44 2A 37 34
Any ideas how I'd go about decoding this data which I'm assuming is a proprietary format. I have no idea where to start.
Thanks
James
Data in Hex editor
[1]:https://imgur.com/a/A7hlqH5

OpenSSL Certificate: How to sign csr directly to pem file?

When a csr is signed , I get crt file and then convert to pem. Is there a way to sign csr to get pem directly (one step without conversion)?
I tried "$ openssl ca ... -out cert.pem", but the generated "cert.pem" is still in crt format, i.e. it has human-readable portion before "-----BEGIN CERTIFICATE-----".
Thank you.
You need to use the outform parameter, which isn't available on all openssl commands, it is available in the x509 directive and req. If you are looking to create a self-signed certificate you can do it all in one line:
openssl req -outform PEM -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout mysitename.key -out mysitename.pem
Here is a difference between DER and PEM I created on the fly, see the difference?:
# cat mysitename.pem
-----BEGIN CERTIFICATE-----
MIIDtTCCAp2gAwIBAgIJANR/b/eOXlq+MA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTQwMTAxMDYyNDAxWhcNMTUwMTAxMDYyNDAxWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy92lHaC8sP6UkeoaoLH6xKOxQtrvtWmP6myqy100T/TAv7QqJnVzbDXd
ukfMCPRa4WVXi/dOtXUqqfpsGj0+I35A4P5ygVqErgBxtTXI7UGtPV7cVQ5JfaV+
F+Sj3EiDmil6sHy+0JZ7u3smg88QRCtelFJLbR+hnA4y1NaGY2wmmVtdzCTCkCQn
/BlLZhOV/TMzjZmBQj6/+f4vSMYH9OJ6CXVt7ylCWpy81zSv/tuv8Zmx8YJthJo1
6iiRjmL0Y78RykhAtbjMFe3tCeEuJsK8uzjmKipJXYNWFHl/hcXemVPfKbkqzkR0
fqVKVRpjXw/ZH03RAmUgrfIH6eVAZwIDAQABo4GnMIGkMB0GA1UdDgQWBBQTa5hF
UxN2WrOqoPebd31iLe6XNzB1BgNVHSMEbjBsgBQTa5hFUxN2WrOqoPebd31iLe6X
N6FJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJANR/b/eOXlq+MAwGA1UdEwQF
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACTRFbVO7tOn3PP0UCVX1k9xbRfj7ZUa
CuA6rFoDp8JogV8LZWeqPtiNjycaml94Wcc5z9cahvN/3sobfZ8yiYRUgkke5kor
el8R/I4u4X3BObU6Se66WCEuNQYj367gsa4HXju538zIw+i7oOIxbu1DI4UKxG/r
jCJAC7lXyl9c/sxPYqg3nSp7CAfqwqBlHoBCbAOzSvUfMxFwf5pGc2YVK8Q8c+pW
pVlDBroOKmCjLc9JAmJG4TQ2mADpGu0LY398trMOQJWhSV4x++tDYlw0mnV8rPF2
7bhKz11mZEsFPaJ1UAbthOYWCl2MvVJf9pmah5VEoXUyM+gw9LfeXW8=
-----END CERTIFICATE-----
# hexdump mysitename2.der
00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF
00000000 30 82 03 B5 30 82 02 9D - A0 03 02 01 02 02 09 00 0...0...........
00000010 AE E1 5C 32 AA 72 47 CC - 30 0D 06 09 2A 86 48 86 ..\2.rG.0...*.H.
00000020 F7 0D 01 01 05 05 00 30 - 45 31 0B 30 09 06 03 55 .......0E1.0...U
00000030 04 06 13 02 41 55 31 13 - 30 11 06 03 55 04 08 13 ....AU1.0...U...
00000040 0A 53 6F 6D 65 2D 53 74 - 61 74 65 31 21 30 1F 06 .Some-State1!0..
00000050 03 55 04 0A 13 18 49 6E - 74 65 72 6E 65 74 20 57 .U....Internet W
00000060 69 64 67 69 74 73 20 50 - 74 79 20 4C 74 64 30 1E idgits Pty Ltd0.
00000070 17 0D 31 34 30 31 30 31 - 30 36 32 37 30 36 5A 17 ..140101062706Z.
00000080 0D 31 35 30 31 30 31 30 - 36 32 37 30 36 5A 30 45 .150101062706Z0E
00000090 31 0B 30 09 06 03 55 04 - 06 13 02 41 55 31 13 30 1.0...U....AU1.0
000000A0 11 06 03 55 04 08 13 0A - 53 6F 6D 65 2D 53 74 61 ...U....Some-Sta
000000B0 74 65 31 21 30 1F 06 03 - 55 04 0A 13 18 49 6E 74 te1!0...U....Int
000000C0 65 72 6E 65 74 20 57 69 - 64 67 69 74 73 20 50 74 ernet Widgits Pt
000000D0 79 20 4C 74 64 30 82 01 - 22 30 0D 06 09 2A 86 48 y Ltd0.."0...*.H
000000E0 86 F7 0D 01 01 01 05 00 - 03 82 01 0F 00 30 82 01 .............0..
000000F0 0A 02 82 01 01 00 B3 00 - 17 31 F1 CD 97 CB AE 68 .........1.....h
00000100 0C 9D 62 82 75 CF 78 C3 - 23 68 EF 57 8A 65 EB C1 ..b.u.x.#h.W.e..
00000110 37 0D 28 78 94 43 BF 1C - 18 FE 03 DB CC 0E D8 08 7.(x.C..........
00000120 AE CB B2 32 2F A4 F0 69 - E7 04 4B 98 93 DB CB 94 ...2/..i..K.....
00000130 A1 3B 9C 9F C8 2B 37 DB - 3B AD F9 15 79 55 D7 8B .;...+7.;...yU..
00000140 58 8A 5E 92 DC C5 2F B4 - C2 90 E5 58 C8 3E 6D 33 X.^.../....X.>m3
00000150 BA 67 B6 6D 83 03 01 F6 - B9 DB 71 0B 10 13 56 B2 .g.m......q...V.
00000160 F8 42 6F F7 AE 57 86 AA - AE AF D8 BF 39 9E 62 A0 .Bo..W......9.b.
00000170 14 1B D9 5E F4 22 76 0B - 44 58 D1 B2 E8 87 6C 3B ...^."v.DX....l;
00000180 72 7F D5 E2 89 26 5C 53 - F3 D4 2F 60 E2 67 C1 09 r....&\S../`.g..
00000190 AB 1A 8A 4A 8E 2A C2 07 - C3 CE 02 A3 F8 03 35 E1 ...J.*........5.
000001A0 D8 85 31 11 A6 7B B3 2D - D5 10 9C 74 48 7E 3A 19 ..1..{.-...tH~:.
000001B0 97 FD 89 4C 2E A8 0F 2E - CE FC A1 EE 73 41 15 1D ...L........sA..
000001C0 71 63 D3 DF ED DA 2C 5A - 7D 3F F2 06 2D C6 6E 10 qc....,Z}?..-.n.
000001D0 39 D7 6F D3 70 32 4A D8 - CC A3 B8 09 3C 52 62 93 9.o.p2J.....<Rb.
000001E0 2B 6E BF 6E FD D7 FA F7 - 19 3D 7D 6D 7C 20 5D 31 +n.n.....=}m| ]1
000001F0 82 07 CC 6E B1 A1 02 03 - 01 00 01 A3 81 A7 30 81 ...n..........0.
00000200 A4 30 1D 06 03 55 1D 0E - 04 16 04 14 09 A1 46 E7 .0...U........F.
00000210 3A E8 6E 17 95 7B 0D 15 - 66 3D BF 92 6D 5D 41 25 :.n..{..f=..m]A%
00000220 30 75 06 03 55 1D 23 04 - 6E 30 6C 80 14 09 A1 46 0u..U.#.n0l....F
00000230 E7 3A E8 6E 17 95 7B 0D - 15 66 3D BF 92 6D 5D 41 .:.n..{..f=..m]A
00000240 25 A1 49 A4 47 30 45 31 - 0B 30 09 06 03 55 04 06 %.I.G0E1.0...U..
00000250 13 02 41 55 31 13 30 11 - 06 03 55 04 08 13 0A 53 ..AU1.0...U....S
00000260 6F 6D 65 2D 53 74 61 74 - 65 31 21 30 1F 06 03 55 ome-State1!0...U
00000270 04 0A 13 18 49 6E 74 65 - 72 6E 65 74 20 57 69 64 ....Internet Wid
00000280 67 69 74 73 20 50 74 79 - 20 4C 74 64 82 09 00 AE gits Pty Ltd....
00000290 E1 5C 32 AA 72 47 CC 30 - 0C 06 03 55 1D 13 04 05 .\2.rG.0...U....
000002A0 30 03 01 01 FF 30 0D 06 - 09 2A 86 48 86 F7 0D 01 0....0...*.H....
000002B0 01 05 05 00 03 82 01 01 - 00 AE 59 7C 8F A0 F7 75 ..........Y|...u
000002C0 BA 83 63 9F AA A0 7F BF - B4 B1 EC A9 C5 DA 4B 4A ..c...........KJ
000002D0 D9 40 DC 21 1D 1A 3B 98 - D8 ED 21 40 00 98 A1 FA .#.!..;...!#....
000002E0 A6 7A 01 F0 C6 A8 E8 BD - 6E AA F5 FA 45 99 C4 20 .z......n...E..
000002F0 AD C8 C7 E3 81 BC FF CD - 48 1D 01 EC 44 3E A2 05 ........H...D>..
00000300 CD 0D 22 62 3B 85 AB A8 - EA 28 D0 AA 76 06 73 41 .."b;....(..v.sA
00000310 10 6D 7A 1B C9 E2 5B F4 - 93 8F 91 A4 25 1B C7 91 .mz...[.....%...
00000320 C7 31 2A D2 00 86 8A 94 - FE DB 48 87 52 A1 0F 3C .1*.......H.R..<
00000330 BF 2B 1C 32 5C D8 54 AD - 5A 88 31 3A 4C F3 72 37 .+.2\.T.Z.1:L.r7
00000340 30 39 A1 F1 6D 51 2E 4D - 9F D7 50 5C FE A6 91 CA 09..mQ.M..P\....
00000350 03 36 BA 4D 5F C0 48 8C - D4 FB BB 98 F1 85 11 DB .6.M_.H.........
00000360 BC 16 DA 99 52 A7 82 46 - 82 63 8F D3 F7 5F 00 96 ....R..F.c..._..
00000370 E1 C0 A4 CE 18 61 61 E9 - 84 C3 F6 BD B1 12 9D D4 .....aa.........
00000380 FE AF 87 7B 49 25 A4 0C - 51 5E 20 03 EE 32 64 65 ...{I%..Q^ ..2de
00000390 53 4B 8F CF FC AF 07 6F - 54 96 3F BF A8 85 11 D2 SK.....oT.?.....
000003A0 D3 25 51 60 78 1C DD D3 - 75 35 A8 B4 C9 A2 81 30 .%Q`x...u5.....0
000003B0 A4 87 7F A8 91 B4 32 09 - 5C ......2.\