PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package big import ( "bytes" "fmt" "testing" ) var stringTests = []struct { in string out string base int val int64 ok bool }{ // invalid inputs {in: ""}, {in: "a"}, {in: "z"}, {in: "+"}, {in: "-"}, {in: "0b"}, {in: "0o"}, {in: "0x"}, {in: "0y"}, {in: "2", base: 2}, {in: "0b2", base: 0}, {in: "08"}, {in: "8", base: 8}, {in: "0xg", base: 0}, {in: "g", base: 16}, // invalid inputs with separators // (smoke tests only - a comprehensive set of tests is in natconv_test.go) {in: "_"}, {in: "0_"}, {in: "_0"}, {in: "-1__0"}, {in: "0x10_"}, {in: "1_000", base: 10}, // separators are not permitted for bases != 0 {in: "d_e_a_d", base: 16}, // valid inputs {"0", "0", 0, 0, true}, {"0", "0", 10, 0, true}, {"0", "0", 16, 0, true}, {"+0", "0", 0, 0, true}, {"-0", "0", 0, 0, true}, {"10", "10", 0, 10, true}, {"10", "10", 10, 10, true}, {"10", "10", 16, 16, true}, {"-10", "-10", 16, -16, true}, {"+10", "10", 16, 16, true}, {"0b10", "2", 0, 2, true}, {"0o10", "8", 0, 8, true}, {"0x10", "16", 0, 16, true}, {in: "0x10", base: 16}, {"-0x10", "-16", 0, -16, true}, {"+0x10", "16", 0, 16, true}, {"00", "0", 0, 0, true}, {"0", "0", 8, 0, true}, {"07", "7", 0, 7, true}, {"7", "7", 8, 7, true}, {"023", "19", 0, 19, true}, {"23", "23", 8, 19, true}, {"cafebabe", "cafebabe", 16, 0xcafebabe, true}, {"0b0", "0", 0, 0, true}, {"-111", "-111", 2, -7, true}, {"-0b111", "-7", 0, -7, true}, {"0b1001010111", "599", 0, 0x257, true}, {"1001010111", "1001010111", 2, 0x257, true}, {"A", "a", 36, 10, true}, {"A", "A", 37, 36, true}, {"ABCXYZ", "abcxyz", 36, 623741435, true}, {"ABCXYZ", "ABCXYZ", 62, 33536793425, true}, // valid input with separators // (smoke tests only - a comprehensive set of tests is in natconv_test.go) {"1_000", "1000", 0, 1000, true}, {"0b_1010", "10", 0, 10, true}, {"+0o_660", "432", 0, 0660, true}, {"-0xF00D_1E", "-15731998", 0, -0xf00d1e, true}, } func TestIntText(t *testing.T) { z := new(Int) for _, test := range stringTests { if !test.ok { continue } _, ok := z.SetString(test.in, test.base) if !ok { t.Errorf("%v: failed to parse", test) continue } base := test.base if base == 0 { base = 10 } if got := z.Text(base); got != test.out { t.Errorf("%v: got %s; want %s", test, got, test.out) } } } func TestAppendText(t *testing.T) { z := new(Int) var buf []byte for _, test := range stringTests { if !test.ok { continue } _, ok := z.SetString(test.in, test.base) if !ok { t.Errorf("%v: failed to parse", test) continue } base := test.base if base == 0 { base = 10 } i := len(buf) buf = z.Append(buf, base) if got := string(buf[i:]); got != test.out { t.Errorf("%v: got %s; want %s", test, got, test.out) } } } func format(base int) string { switch base { case 2: return "%b" case 8: return "%o" case 16: return "%x" } return "%d" } func TestGetString(t *testing.T) { z := new(Int) for i, test := range stringTests { if !test.ok { continue } z.SetInt64(test.val) if test.base == 10 { if got := z.String(); got != test.out { t.Errorf("#%da got %s; want %s", i, got, test.out) } } f := format(test.base) got := fmt.Sprintf(f, z) if f == "%d" { if got != fmt.Sprintf("%d", test.val) { t.Errorf("#%db got %s; want %d", i, got, test.val) } } else { if got != test.out { t.Errorf("#%dc got %s; want %s", i, got, test.out) } } } } func TestSetString(t *testing.T) { tmp := new(Int) for i, test := range stringTests { // initialize to a non-zero value so that issues with parsing // 0 are detected tmp.SetInt64(1234567890) n1, ok1 := new(Int).SetString(test.in, test.base) n2, ok2 := tmp.SetString(test.in, test.base) expected := NewInt(test.val) if ok1 != test.ok || ok2 != test.ok { t.Errorf("#%d (input '%s') ok incorrect (should be %t)", i, test.in, test.ok) continue } if !ok1 { if n1 != nil { t.Errorf("#%d (input '%s') n1 != nil", i, test.in) } continue } if !ok2 { if n2 != nil { t.Errorf("#%d (input '%s') n2 != nil", i, test.in) } continue } if ok1 && !isNormalized(n1) { t.Errorf("#%d (input '%s'): %v is not normalized", i, test.in, *n1) } if ok2 && !isNormalized(n2) { t.Errorf("#%d (input '%s'): %v is not normalized", i, test.in, *n2) } if n1.Cmp(expected) != 0 { t.Errorf("#%d (input '%s') got: %s want: %d", i, test.in, n1, test.val) } if n2.Cmp(expected) != 0 { t.Errorf("#%d (input '%s') got: %s want: %d", i, test.in, n2, test.val) } } } var formatTests = []struct { input string format string output string }{ {"", "%x", ""}, {"", "%#x", ""}, {"", "%#y", "%!y(big.Int=)"}, {"10", "%b", "1010"}, {"10", "%o", "12"}, {"10", "%d", "10"}, {"10", "%v", "10"}, {"10", "%x", "a"}, {"10", "%X", "A"}, {"-10", "%X", "-A"}, {"10", "%y", "%!y(big.Int=10)"}, {"-10", "%y", "%!y(big.Int=-10)"}, {"10", "%#b", "0b1010"}, {"10", "%#o", "012"}, {"10", "%O", "0o12"}, {"-10", "%#b", "-0b1010"}, {"-10", "%#o", "-012"}, {"-10", "%O", "-0o12"}, {"10", "%#d", "10"}, {"10", "%#v", "10"}, {"10", "%#x", "0xa"}, {"10", "%#X", "0XA"}, {"-10", "%#X", "-0XA"}, {"10", "%#y", "%!y(big.Int=10)"}, {"-10", "%#y", "%!y(big.Int=-10)"}, {"1234", "%d", "1234"}, {"1234", "%3d", "1234"}, {"1234", "%4d", "1234"}, {"-1234", "%d", "-1234"}, {"1234", "% 5d", " 1234"}, {"1234", "%+5d", "+1234"}, {"1234", "%-5d", "1234 "}, {"1234", "%x", "4d2"}, {"1234", "%X", "4D2"}, {"-1234", "%3x", "-4d2"}, {"-1234", "%4x", "-4d2"}, {"-1234", "%5x", " -4d2"}, {"-1234", "%-5x", "-4d2 "}, {"1234", "%03d", "1234"}, {"1234", "%04d", "1234"}, {"1234", "%05d", "01234"}, {"1234", "%06d", "001234"}, {"-1234", "%06d", "-01234"}, {"1234", "%+06d", "+01234"}, {"1234", "% 06d", " 01234"}, {"1234", "%-6d", "1234 "}, {"1234", "%-06d", "1234 "}, {"-1234", "%-06d", "-1234 "}, {"1234", "%.3d", "1234"}, {"1234", "%.4d", "1234"}, {"1234", "%.5d", "01234"}, {"1234", "%.6d", "001234"}, {"-1234", "%.3d", "-1234"}, {"-1234", "%.4d", "-1234"}, {"-1234", "%.5d", "-01234"}, {"-1234", "%.6d", "-001234"}, {"1234", "%8.3d", " 1234"}, {"1234", "%8.4d", " 1234"}, {"1234", "%8.5d", " 01234"}, {"1234", "%8.6d", " 001234"}, {"-1234", "%8.3d", " -1234"}, {"-1234", "%8.4d", " -1234"}, {"-1234", "%8.5d", " -01234"}, {"-1234", "%8.6d", " -001234"}, {"1234", "%+8.3d", " +1234"}, {"1234", "%+8.4d", " +1234"}, {"1234", "%+8.5d", " +01234"}, {"1234", "%+8.6d", " +001234"}, {"-1234", "%+8.3d", " -1234"}, {"-1234", "%+8.4d", " -1234"}, {"-1234", "%+8.5d", " -01234"}, {"-1234", "%+8.6d", " -001234"}, {"1234", "% 8.3d", " 1234"}, {"1234", "% 8.4d", " 1234"}, {"1234", "% 8.5d", " 01234"}, {"1234", "% 8.6d", " 001234"}, {"-1234", "% 8.3d", " -1234"}, {"-1234", "% 8.4d", " -1234"}, {"-1234", "% 8.5d", " -01234"}, {"-1234", "% 8.6d", " -001234"}, {"1234", "%.3x", "4d2"}, {"1234", "%.4x", "04d2"}, {"1234", "%.5x", "004d2"}, {"1234", "%.6x", "0004d2"}, {"-1234", "%.3x", "-4d2"}, {"-1234", "%.4x", "-04d2"}, {"-1234", "%.5x", "-004d2"}, {"-1234", "%.6x", "-0004d2"}, {"1234", "%8.3x", " 4d2"}, {"1234", "%8.4x", " 04d2"}, {"1234", "%8.5x", " 004d2"}, {"1234", "%8.6x", " 0004d2"}, {"-1234", "%8.3x", " -4d2"}, {"-1234", "%8.4x", " -04d2"}, {"-1234", "%8.5x", " -004d2"}, {"-1234", "%8.6x", " -0004d2"}, {"1234", "%+8.3x", " +4d2"}, {"1234", "%+8.4x", " +04d2"}, {"1234", "%+8.5x", " +004d2"}, {"1234", "%+8.6x", " +0004d2"}, {"-1234", "%+8.3x", " -4d2"}, {"-1234", "%+8.4x", " -04d2"}, {"-1234", "%+8.5x", " -004d2"}, {"-1234", "%+8.6x", " -0004d2"}, {"1234", "% 8.3x", " 4d2"}, {"1234", "% 8.4x", " 04d2"}, {"1234", "% 8.5x", " 004d2"}, {"1234", "% 8.6x", " 0004d2"}, {"1234", "% 8.7x", " 00004d2"}, {"1234", "% 8.8x", " 000004d2"}, {"-1234", "% 8.3x", " -4d2"}, {"-1234", "% 8.4x", " -04d2"}, {"-1234", "% 8.5x", " -004d2"}, {"-1234", "% 8.6x", " -0004d2"}, {"-1234", "% 8.7x", "-00004d2"}, {"-1234", "% 8.8x", "-000004d2"}, {"1234", "%-8.3d", "1234 "}, {"1234", "%-8.4d", "1234 "}, {"1234", "%-8.5d", "01234 "}, {"1234", "%-8.6d", "001234 "}, {"1234", "%-8.7d", "0001234 "}, {"1234", "%-8.8d", "00001234"}, {"-1234", "%-8.3d", "-1234 "}, {"-1234", "%-8.4d", "-1234 "}, {"-1234", "%-8.5d", "-01234 "}, {"-1234", "%-8.6d", "-001234 "}, {"-1234", "%-8.7d", "-0001234"}, {"-1234", "%-8.8d", "-00001234"}, {"16777215", "%b", "111111111111111111111111"}, // 2**24 - 1 {"0", "%.d", ""}, {"0", "%.0d", ""}, {"0", "%3.d", ""}, } func TestFormat(t *testing.T) { for i, test := range formatTests { var x *Int if test.input != "" { var ok bool x, ok = new(Int).SetString(test.input, 0) if !ok { t.Errorf("#%d failed reading input %s", i, test.input) } } output := fmt.Sprintf(test.format, x) if output != test.output { t.Errorf("#%d got %q; want %q, {%q, %q, %q}", i, output, test.output, test.input, test.format, test.output) } } } var scanTests = []struct { input string format string output string remaining int }{ {"1010", "%b", "10", 0}, {"0b1010", "%v", "10", 0}, {"12", "%o", "10", 0}, {"012", "%v", "10", 0}, {"10", "%d", "10", 0}, {"10", "%v", "10", 0}, {"a", "%x", "10", 0}, {"0xa", "%v", "10", 0}, {"A", "%X", "10", 0}, {"-A", "%X", "-10", 0}, {"+0b1011001", "%v", "89", 0}, {"0xA", "%v", "10", 0}, {"0 ", "%v", "0", 1}, {"2+3", "%v", "2", 2}, {"0XABC 12", "%v", "2748", 3}, } func TestScan(t *testing.T) { var buf bytes.Buffer for i, test := range scanTests { x := new(Int) buf.Reset() buf.WriteString(test.input) if _, err := fmt.Fscanf(&buf, test.format, x); err != nil { t.Errorf("#%d error: %s", i, err) } if x.String() != test.output { t.Errorf("#%d got %s; want %s", i, x.String(), test.output) } if buf.Len() != test.remaining { t.Errorf("#%d got %d bytes remaining; want %d", i, buf.Len(), test.remaining) } } }