1# This file is auto-generated by the Perl DateTime Suite time zone
2# code generator (0.07) This code generator comes with the
3# DateTime::TimeZone module distribution in the tools/ directory
4
5#
6# Generated from /tmp/AQnrcGnc70/europe.  Olson data version 2010b
7#
8# Do not edit this file directly.
9#
10package DateTime::TimeZone::Europe::Moscow;
11
12use strict;
13
14use Class::Singleton;
15use DateTime::TimeZone;
16use DateTime::TimeZone::OlsonDB;
17
18@DateTime::TimeZone::Europe::Moscow::ISA = ( 'Class::Singleton', 'DateTime::TimeZone' );
19
20my $spans =
21[
22    [
23DateTime::TimeZone::NEG_INFINITY,
2459295533380,
25DateTime::TimeZone::NEG_INFINITY,
2659295542400,
279020,
280,
29'LMT'
30    ],
31    [
3259295533380,
3360447418200,
3459295542380,
3560447427200,
369000,
370,
38'MMT'
39    ],
40    [
4160447418200,
4260478864152,
4360447427248,
4460478873200,
459048,
460,
47'MMT'
48    ],
49    [
5060478864152,
5160494329752,
5260478876800,
5360494342400,
5412648,
551,
56'MST'
57    ],
58    [
5960494329752,
6060507718152,
6160494338800,
6260507727200,
639048,
640,
65'MMT'
66    ],
67    [
6860507718152,
6960516966552,
7060507734400,
7160516982800,
7216248,
731,
74'MDST'
75    ],
76    [
7760516966552,
7860539254152,
7960516979200,
8060539266800,
8112648,
821,
83'MST'
84    ],
85    [
8660539254152,
8760541853352,
8860539270400,
8960541869600,
9016248,
911,
92'MDST'
93    ],
94    [
9560541853352,
9660545822400,
9760541867752,
9860545836800,
9914400,
1001,
101'MSD'
102    ],
103    [
10460545822400,
10560593256000,
10660545833200,
10760593266800,
10810800,
1090,
110'MSK'
111    ],
112    [
11360593256000,
11460596190000,
11560593270400,
11660596204400,
11714400,
1181,
119'MSD'
120    ],
121    [
12260596190000,
12360610359600,
12460596208000,
12560610377600,
12618000,
1271,
128'MSD'
129    ],
130    [
13160610359600,
13260612955200,
13360610374000,
13460612969600,
13514400,
1361,
137'MSD'
138    ],
139    [
14060612955200,
14160644494800,
14260612966000,
14360644505600,
14410800,
1450,
146'MSK'
147    ],
148    [
14960644494800,
15060888146400,
15160644502000,
15260888153600,
1537200,
1540,
155'EET'
156    ],
157    [
15860888146400,
15962490603600,
16060888157200,
16162490614400,
16210800,
1630,
164'MSK'
165    ],
166    [
16762490603600,
16862506411200,
16962490618000,
17062506425600,
17114400,
1721,
173'MSD'
174    ],
175    [
17662506411200,
17762522139600,
17862506422000,
17962522150400,
18010800,
1810,
182'MSK'
183    ],
184    [
18562522139600,
18662537947200,
18762522154000,
18862537961600,
18914400,
1901,
191'MSD'
192    ],
193    [
19462537947200,
19562553675600,
19662537958000,
19762553686400,
19810800,
1990,
200'MSK'
201    ],
202    [
20362553675600,
20462569483200,
20562553690000,
20662569497600,
20714400,
2081,
209'MSD'
210    ],
211    [
21262569483200,
21362585298000,
21462569494000,
21562585308800,
21610800,
2170,
218'MSK'
219    ],
220    [
22162585298000,
22262601030000,
22362585312400,
22462601044400,
22514400,
2261,
227'MSD'
228    ],
229    [
23062601030000,
23162616754800,
23262601040800,
23362616765600,
23410800,
2350,
236'MSK'
237    ],
238    [
23962616754800,
24062632479600,
24162616769200,
24262632494000,
24314400,
2441,
245'MSD'
246    ],
247    [
24862632479600,
24962648204400,
25062632490400,
25162648215200,
25210800,
2530,
254'MSK'
255    ],
256    [
25762648204400,
25862663929200,
25962648218800,
26062663943600,
26114400,
2621,
263'MSD'
264    ],
265    [
26662663929200,
26762679654000,
26862663940000,
26962679664800,
27010800,
2710,
272'MSK'
273    ],
274    [
27562679654000,
27662695378800,
27762679668400,
27862695393200,
27914400,
2801,
281'MSD'
282    ],
283    [
28462695378800,
28562711103600,
28662695389600,
28762711114400,
28810800,
2890,
290'MSK'
291    ],
292    [
29362711103600,
29462726828400,
29562711118000,
29662726842800,
29714400,
2981,
299'MSD'
300    ],
301    [
30262726828400,
30362742553200,
30462726839200,
30562742564000,
30610800,
3070,
308'MSK'
309    ],
310    [
31162742553200,
31262758278000,
31362742567600,
31462758292400,
31514400,
3161,
317'MSD'
318    ],
319    [
32062758278000,
32162774002800,
32262758288800,
32362774013600,
32410800,
3250,
326'MSK'
327    ],
328    [
32962774002800,
33062790332400,
33162774017200,
33262790346800,
33314400,
3341,
335'MSD'
336    ],
337    [
33862790332400,
33962806057200,
34062790343200,
34162806068000,
34210800,
3430,
344'MSK'
345    ],
346    [
34762806057200,
34862821785600,
34962806068000,
35062821796400,
35110800,
3521,
353'EEST'
354    ],
355    [
35662821785600,
35762831462400,
35862821792800,
35962831469600,
3607200,
3610,
362'EET'
363    ],
364    [
36562831462400,
36662837496000,
36762831473200,
36862837506800,
36910800,
3700,
371'MSK'
372    ],
373    [
37462837496000,
37562853217200,
37662837510400,
37762853231600,
37814400,
3791,
380'MSD'
381    ],
382    [
38362853217200,
38462868956400,
38562853228000,
38662868967200,
38710800,
3880,
389'MSK'
390    ],
391    [
39262868956400,
39362884681200,
39462868970800,
39562884695600,
39614400,
3971,
398'MSD'
399    ],
400    [
40162884681200,
40262900406000,
40362884692000,
40462900416800,
40510800,
4060,
407'MSK'
408    ],
409    [
41062900406000,
41162916130800,
41262900420400,
41362916145200,
41414400,
4151,
416'MSD'
417    ],
418    [
41962916130800,
42062931855600,
42162916141600,
42262931866400,
42310800,
4240,
425'MSK'
426    ],
427    [
42862931855600,
42962947580400,
43062931870000,
43162947594800,
43214400,
4331,
434'MSD'
435    ],
436    [
43762947580400,
43862963910000,
43962947591200,
44062963920800,
44110800,
4420,
443'MSK'
444    ],
445    [
44662963910000,
44762982054000,
44862963924400,
44962982068400,
45014400,
4511,
452'MSD'
453    ],
454    [
45562982054000,
45662995359600,
45762982064800,
45862995370400,
45910800,
4600,
461'MSK'
462    ],
463    [
46462995359600,
46563013503600,
46662995374000,
46763013518000,
46814400,
4691,
470'MSD'
471    ],
472    [
47363013503600,
47463026809200,
47563013514400,
47663026820000,
47710800,
4780,
479'MSK'
480    ],
481    [
48263026809200,
48363044953200,
48463026823600,
48563044967600,
48614400,
4871,
488'MSD'
489    ],
490    [
49163044953200,
49263058258800,
49363044964000,
49463058269600,
49510800,
4960,
497'MSK'
498    ],
499    [
50063058258800,
50163077007600,
50263058273200,
50363077022000,
50414400,
5051,
506'MSD'
507    ],
508    [
50963077007600,
51063089708400,
51163077018400,
51263089719200,
51310800,
5140,
515'MSK'
516    ],
517    [
51863089708400,
51963108457200,
52063089722800,
52163108471600,
52214400,
5231,
524'MSD'
525    ],
526    [
52763108457200,
52863121158000,
52963108468000,
53063121168800,
53110800,
5320,
533'MSK'
534    ],
535    [
53663121158000,
53763139906800,
53863121172400,
53963139921200,
54014400,
5411,
542'MSD'
543    ],
544    [
54563139906800,
54663153212400,
54763139917600,
54863153223200,
54910800,
5500,
551'MSK'
552    ],
553    [
55463153212400,
55563171356400,
55663153226800,
55763171370800,
55814400,
5591,
560'MSD'
561    ],
562    [
56363171356400,
56463184662000,
56563171367200,
56663184672800,
56710800,
5680,
569'MSK'
570    ],
571    [
57263184662000,
57363202806000,
57463184676400,
57563202820400,
57614400,
5771,
578'MSD'
579    ],
580    [
58163202806000,
58263216111600,
58363202816800,
58463216122400,
58510800,
5860,
587'MSK'
588    ],
589    [
59063216111600,
59163234860400,
59263216126000,
59363234874800,
59414400,
5951,
596'MSD'
597    ],
598    [
59963234860400,
60063247561200,
60163234871200,
60263247572000,
60310800,
6040,
605'MSK'
606    ],
607    [
60863247561200,
60963266310000,
61063247575600,
61163266324400,
61214400,
6131,
614'MSD'
615    ],
616    [
61763266310000,
61863279010800,
61963266320800,
62063279021600,
62110800,
6220,
623'MSK'
624    ],
625    [
62663279010800,
62763297759600,
62863279025200,
62963297774000,
63014400,
6311,
632'MSD'
633    ],
634    [
63563297759600,
63663310460400,
63763297770400,
63863310471200,
63910800,
6400,
641'MSK'
642    ],
643    [
64463310460400,
64563329209200,
64663310474800,
64763329223600,
64814400,
6491,
650'MSD'
651    ],
652    [
65363329209200,
65463342514800,
65563329220000,
65663342525600,
65710800,
6580,
659'MSK'
660    ],
661    [
66263342514800,
66363360658800,
66463342529200,
66563360673200,
66614400,
6671,
668'MSD'
669    ],
670    [
67163360658800,
67263373964400,
67363360669600,
67463373975200,
67510800,
6760,
677'MSK'
678    ],
679    [
68063373964400,
68163392108400,
68263373978800,
68363392122800,
68414400,
6851,
686'MSD'
687    ],
688    [
68963392108400,
69063405414000,
69163392119200,
69263405424800,
69310800,
6940,
695'MSK'
696    ],
697    [
69863405414000,
69963424162800,
70063405428400,
70163424177200,
70214400,
7031,
704'MSD'
705    ],
706    [
70763424162800,
70863436863600,
70963424173600,
71063436874400,
71110800,
7120,
713'MSK'
714    ],
715    [
71663436863600,
71763455612400,
71863436878000,
71963455626800,
72014400,
7211,
722'MSD'
723    ],
724    [
72563455612400,
72663468313200,
72763455623200,
72863468324000,
72910800,
7300,
731'MSK'
732    ],
733    [
73463468313200,
73563487062000,
73663468327600,
73763487076400,
73814400,
7391,
740'MSD'
741    ],
742    [
74363487062000,
74463500367600,
74563487072800,
74663500378400,
74710800,
7480,
749'MSK'
750    ],
751    [
75263500367600,
75363518511600,
75463500382000,
75563518526000,
75614400,
7571,
758'MSD'
759    ],
760    [
76163518511600,
76263531817200,
76363518522400,
76463531828000,
76510800,
7660,
767'MSK'
768    ],
769    [
77063531817200,
77163549961200,
77263531831600,
77363549975600,
77414400,
7751,
776'MSD'
777    ],
778    [
77963549961200,
78063563266800,
78163549972000,
78263563277600,
78310800,
7840,
785'MSK'
786    ],
787    [
78863563266800,
78963581410800,
79063563281200,
79163581425200,
79214400,
7931,
794'MSD'
795    ],
796    [
79763581410800,
79863594716400,
79963581421600,
80063594727200,
80110800,
8020,
803'MSK'
804    ],
805    [
80663594716400,
80763613465200,
80863594730800,
80963613479600,
81014400,
8111,
812'MSD'
813    ],
814    [
81563613465200,
81663626166000,
81763613476000,
81863626176800,
81910800,
8200,
821'MSK'
822    ],
823    [
82463626166000,
82563644914800,
82663626180400,
82763644929200,
82814400,
8291,
830'MSD'
831    ],
832    [
83363644914800,
83463657615600,
83563644925600,
83663657626400,
83710800,
8380,
839'MSK'
840    ],
841    [
84263657615600,
84363676364400,
84463657630000,
84563676378800,
84614400,
8471,
848'MSD'
849    ],
850    [
85163676364400,
85263689670000,
85363676375200,
85463689680800,
85510800,
8560,
857'MSK'
858    ],
859    [
86063689670000,
86163707814000,
86263689684400,
86363707828400,
86414400,
8651,
866'MSD'
867    ],
868    [
86963707814000,
87063721119600,
87163707824800,
87263721130400,
87310800,
8740,
875'MSK'
876    ],
877    [
87863721119600,
87963739263600,
88063721134000,
88163739278000,
88214400,
8831,
884'MSD'
885    ],
886    [
88763739263600,
88863752569200,
88963739274400,
89063752580000,
89110800,
8920,
893'MSK'
894    ],
895    [
89663752569200,
89763771318000,
89863752583600,
89963771332400,
90014400,
9011,
902'MSD'
903    ],
904];
905
906sub olson_version { '2010b' }
907
908sub has_dst_changes { 49 }
909
910sub _max_year { 2020 }
911
912sub _new_instance
913{
914    return shift->_init( @_, spans => $spans );
915}
916
917sub _last_offset { 10800 }
918
919my $last_observance = bless( {
920  'format' => 'MSK/MSD',
921  'gmtoff' => '3:00',
922  'local_start_datetime' => bless( {
923    'formatter' => undef,
924    'local_rd_days' => 727216,
925    'local_rd_secs' => 10800,
926    'offset_modifier' => 0,
927    'rd_nanosecs' => 0,
928    'tz' => bless( {
929      'name' => 'floating',
930      'offset' => 0
931    }, 'DateTime::TimeZone::Floating' ),
932    'utc_rd_days' => 727216,
933    'utc_rd_secs' => 10800,
934    'utc_year' => 1993
935  }, 'DateTime' ),
936  'offset_from_std' => 0,
937  'offset_from_utc' => 10800,
938  'until' => [],
939  'utc_start_datetime' => bless( {
940    'formatter' => undef,
941    'local_rd_days' => 727216,
942    'local_rd_secs' => 0,
943    'offset_modifier' => 0,
944    'rd_nanosecs' => 0,
945    'tz' => bless( {
946      'name' => 'floating',
947      'offset' => 0
948    }, 'DateTime::TimeZone::Floating' ),
949    'utc_rd_days' => 727216,
950    'utc_rd_secs' => 0,
951    'utc_year' => 1993
952  }, 'DateTime' )
953}, 'DateTime::TimeZone::OlsonDB::Observance' )
954;
955sub _last_observance { $last_observance }
956
957my $rules = [
958  bless( {
959    'at' => '2:00s',
960    'from' => '1993',
961    'in' => 'Mar',
962    'letter' => 'S',
963    'name' => 'Russia',
964    'offset_from_std' => 3600,
965    'on' => 'lastSun',
966    'save' => '1:00',
967    'to' => 'max',
968    'type' => undef
969  }, 'DateTime::TimeZone::OlsonDB::Rule' ),
970  bless( {
971    'at' => '2:00s',
972    'from' => '1996',
973    'in' => 'Oct',
974    'letter' => '',
975    'name' => 'Russia',
976    'offset_from_std' => 0,
977    'on' => 'lastSun',
978    'save' => '0',
979    'to' => 'max',
980    'type' => undef
981  }, 'DateTime::TimeZone::OlsonDB::Rule' )
982]
983;
984sub _rules { $rules }
985
986
9871;
988
989