prompt --application/set_environment
set define off verify off feedback off
whenever sqlerror exit sql.sqlcode rollback
--------------------------------------------------------------------------------
--
-- Oracle APEX export file
--
-- You should run this script using a SQL client connected to the database as
-- the owner (parsing schema) of the application or as a database user with the
-- APEX_ADMINISTRATOR_ROLE role.
--
-- This export file has been automatically generated. Modifying this file is not
-- supported by Oracle and can lead to unexpected application and/or instance
-- behavior now or in the future.
--
-- NOTE: Calls to apex_application_install override the defaults below.
--
--------------------------------------------------------------------------------
begin
wwv_flow_imp.import_begin (
 p_version_yyyy_mm_dd=>'2024.11.30'
,p_release=>'24.2.14'
,p_default_workspace_id=>17917319603172110296
,p_default_application_id=>120879
,p_default_id_offset=>0
,p_default_owner=>'WKSP_HFTPZNGHOYRQYJ'
);
end;
/
 
prompt APPLICATION 120879 - APEX SMARTDOCS
--
-- Application Export:
--   Application:     120879
--   Name:            APEX SMARTDOCS
--   Date and Time:   19:01 Sunday April 26, 2026
--   Exported By:     AHMED.CNS2022@GMAIL.COM
--   Flashback:       0
--   Export Type:     Application Export
--     Pages:                      3
--       Items:                    9
--       Processes:                6
--       Regions:                  3
--       Buttons:                  3
--     Shared Components:
--       Logic:
--         Build Options:          1
--       Navigation:
--         Lists:                  2
--         Breadcrumbs:            1
--       Security:
--         Authentication:         1
--         Authorization:          1
--       User Interface:
--         Themes:                 1
--         Templates:
--       PWA:
--       Globalization:
--       Reports:
--       E-Mail:
--     Supporting Objects:  Included
--       Install scripts:          1
--   Version:         24.2.14
--   Instance ID:     63113759365424
--

prompt --application/delete_application
begin
wwv_flow_imp.remove_flow(wwv_flow.g_flow_id);
end;
/
prompt --application/create_application
begin
wwv_imp_workspace.create_flow(
 p_id=>wwv_flow.g_flow_id
,p_owner=>nvl(wwv_flow_application_install.get_schema,'WKSP_HFTPZNGHOYRQYJ')
,p_name=>nvl(wwv_flow_application_install.get_application_name,'APEX SMARTDOCS')
,p_alias=>nvl(wwv_flow_application_install.get_application_alias,'APEX-SMARTDOCS')
,p_page_view_logging=>'YES'
,p_page_protection_enabled_y_n=>'Y'
,p_checksum_salt=>'BB0FA52522D1B3B26AE68B6CCCBED13EEB2CA2A89675213325A55E39F23A33C4'
,p_bookmark_checksum_function=>'SH512'
,p_compatibility_mode=>'24.2'
,p_flow_language=>'en'
,p_flow_language_derived_from=>'FLOW_PRIMARY_LANGUAGE'
,p_allow_feedback_yn=>'Y'
,p_date_format=>'DS'
,p_timestamp_format=>'DS'
,p_timestamp_tz_format=>'DS'
,p_flow_image_prefix => nvl(wwv_flow_application_install.get_image_prefix,'')
,p_authentication_id=>wwv_flow_imp.id(163062258727897697547)
,p_application_tab_set=>1
,p_logo_type=>'T'
,p_logo_text=>'APEX SMARTDOCS'
,p_proxy_server=>nvl(wwv_flow_application_install.get_proxy,'')
,p_no_proxy_domains=>nvl(wwv_flow_application_install.get_no_proxy_domains,'')
,p_flow_version=>'Release 1.0'
,p_flow_status=>'AVAILABLE_W_EDIT_LINK'
,p_exact_substitutions_only=>'Y'
,p_browser_cache=>'N'
,p_browser_frame=>'D'
,p_rejoin_existing_sessions=>'N'
,p_csv_encoding=>'Y'
,p_auto_time_zone=>'N'
,p_substitution_string_01=>'APP_NAME'
,p_substitution_value_01=>'APEX SMARTDOCS'
,p_file_prefix => nvl(wwv_flow_application_install.get_static_app_file_prefix,'')
,p_files_version=>11
,p_version_scn=>15762596745629
,p_print_server_type=>'INSTANCE'
,p_file_storage=>'DB'
,p_is_pwa=>'Y'
,p_pwa_is_installable=>'N'
,p_pwa_is_push_enabled=>'N'
);
end;
/
prompt --application/user_interfaces
begin
wwv_flow_imp_shared.create_user_interface(
 p_id=>wwv_flow_imp.id(120879)
,p_theme_id=>42
,p_home_url=>'f?p=&APP_ID.:40:&SESSION.'
,p_login_url=>'f?p=&APP_ID.:LOGIN:&APP_SESSION.::&DEBUG.:::'
,p_theme_style_by_user_pref=>false
,p_built_with_love=>false
,p_global_page_id=>0
,p_navigation_list_id=>wwv_flow_imp.id(163062259579222697549)
,p_navigation_list_position=>'SIDE'
,p_navigation_list_template_id=>2467739217141810545
,p_nav_list_template_options=>'#DEFAULT#:js-defaultCollapsed:js-navCollapsed--hidden:t-TreeNav--styleA'
,p_nav_bar_type=>'LIST'
,p_nav_bar_list_id=>wwv_flow_imp.id(163062260869348697554)
,p_nav_bar_list_template_id=>2847543055748234966
,p_nav_bar_template_options=>'#DEFAULT#'
);
end;
/
prompt --application/shared_components/navigation/lists/navigation_menu
begin
wwv_flow_imp_shared.create_list(
 p_id=>wwv_flow_imp.id(163062259579222697549)
,p_name=>'Navigation Menu'
,p_list_status=>'PUBLIC'
,p_version_scn=>15762596291875
);
wwv_flow_imp_shared.create_list_item(
 p_id=>wwv_flow_imp.id(163088280976270424205)
,p_list_item_display_sequence=>20
,p_list_item_link_text=>'AI Document Designer'
,p_list_item_link_target=>'f?p=&APP_ID.:40:&APP_SESSION.::&DEBUG.:::'
,p_list_item_icon=>'fa-file-o'
,p_list_item_current_type=>'COLON_DELIMITED_PAGE_LIST'
,p_list_item_current_for_pages=>'40'
);
end;
/
prompt --application/shared_components/navigation/lists/navigation_bar
begin
wwv_flow_imp_shared.create_list(
 p_id=>wwv_flow_imp.id(163062260869348697554)
,p_name=>'Navigation Bar'
,p_list_status=>'PUBLIC'
,p_version_scn=>15762486808657
);
wwv_flow_imp_shared.create_list_item(
 p_id=>wwv_flow_imp.id(163062272903569697575)
,p_list_item_display_sequence=>10
,p_list_item_link_text=>'&APP_USER.'
,p_list_item_link_target=>'#'
,p_list_item_icon=>'fa-user'
,p_list_text_02=>'has-username'
,p_list_item_current_type=>'TARGET_PAGE'
);
wwv_flow_imp_shared.create_list_item(
 p_id=>wwv_flow_imp.id(163062273418259697575)
,p_list_item_display_sequence=>20
,p_list_item_link_text=>'---'
,p_list_item_link_target=>'separator'
,p_list_item_disp_cond_type=>'USER_IS_NOT_PUBLIC_USER'
,p_parent_list_item_id=>wwv_flow_imp.id(163062272903569697575)
,p_list_item_current_type=>'TARGET_PAGE'
);
wwv_flow_imp_shared.create_list_item(
 p_id=>wwv_flow_imp.id(163062273981367697576)
,p_list_item_display_sequence=>30
,p_list_item_link_text=>'Sign Out'
,p_list_item_link_target=>'&LOGOUT_URL.'
,p_list_item_icon=>'fa-sign-out'
,p_list_item_disp_cond_type=>'USER_IS_NOT_PUBLIC_USER'
,p_parent_list_item_id=>wwv_flow_imp.id(163062272903569697575)
,p_list_item_current_type=>'TARGET_PAGE'
);
end;
/
prompt --application/shared_components/navigation/listentry
begin
null;
end;
/
prompt --application/shared_components/files/icons_app_icon_32_png
begin
wwv_flow_imp.g_varchar2_table := wwv_flow_imp.empty_varchar2_table;
wwv_flow_imp.g_varchar2_table(1) := '89504E470D0A1A0A0000000D4948445200000020000000200806000000737A7AF400000179494441547801EC94BD4A034110C787C4C2CF225E73851E1248110B31859541D0DA27B0B050F0417C104B9F42F4012C2246B048A3A0109498C28F939CA83B43';
wwv_flow_imp.g_varchar2_table(2) := '0297307B37739E04C21ECCDEEDCCEEFC7FCCDC6E61EDE2EC679C5680313F0EC055C055405481AF4E07F666E7ACE69B38AEC972A24500FBCB011CACD7AC565EF460CB5816081100089E9D4A2513442E00DB4100E7AD166146A61DF4211CF201302D3ADEAC';
wwv_flow_imp.g_varchar2_table(3) := '03DAA16995509B96A9001AED369C5C3558C31865EC0FDF6108927F420550F37DEB8F88B1BE3609D7A7676069E04878AB0012F20C85AAF30B70F3FC040F435E7EA202C032732D18A4C6D865B74BD3976211A63C8FBE930615009699BB0F50202E7EFBF62A';
wwv_flow_imp.g_varchar2_table(4) := '12C77D2A00AE0298242E7E7D7F2716C7BD2A00AE0271F18D5209FEF51822F1A83D7E86E442716C0F4D1483AA025CDEDD95321C5557E97872F134DF9F01B02D686942B6B808A01945ECED87FD1F355C6B13E3FC42801E9C7EBC8BAC19F5381DAB4F0460DD';
wwv_flow_imp.g_varchar2_table(5) := '9D43C001B80A4C7E05D20ECA2F000000FFFFF672859800000006494441540300E3F1195036C564B30000000049454E44AE426082';
wwv_flow_imp_shared.create_app_static_file(
 p_id=>wwv_flow_imp.id(163062261939416697558)
,p_file_name=>'icons/app-icon-32.png'
,p_mime_type=>'image/png'
,p_file_charset=>'utf-8'
,p_file_content => wwv_flow_imp.varchar2_to_blob(wwv_flow_imp.g_varchar2_table)
);
end;
/
prompt --application/shared_components/files/icons_app_icon_144_rounded_png
begin
wwv_flow_imp.g_varchar2_table := wwv_flow_imp.empty_varchar2_table;
wwv_flow_imp.g_varchar2_table(1) := '89504E470D0A1A0A0000000D4948445200000090000000900806000000E746E2B800000929494441547801EC9D4F6FD44618C65F072A04A7A81C08128872209C1AB2BD14A9AA4A4A902855FB192AE0C837E82170E837E0D8A25EFA055AF58F4468A055A5';
wwv_flow_imp.g_varchar2_table(2) := 'F614B23D11A4B60824E040452F44A834EE3CEB4CB4D9D8EBB5E7F59FF13CABBC3BBBB667E67D9FF7B7637BECDD4C091F54C0410102E4201EAB8A102052E0A4000172928F950910197052800039C9C7CA04880C3829501A20A75E59B9330A10A0CEA4B299';
wwv_flow_imp.g_varchar2_table(3) := '40085033BA77A65702D49954361308016A46F7CEF44A803A93CA66022140CDE8DE995EEB072847BA533F2FCF0EDBDCED5B1F856EC37AE4C857FBEAC6019A5FB979666EE5E6D5532BCB2B732BCB71FC4AEE0D9BC4F1D7A1DBB01ED0087AC1A05DEDC48C74';
wwv_flow_imp.g_varchar2_table(4) := 'D8084008DC02B329D18A48B4148B9C113E2654205A12A319B41B064A1A78D40A900507811318CD6C27405998345BCE6BAB168030DC22388293970E8DF5D112B486E61AADE5B55139404920F884E4B9C2F5BA0A00A49B5775DBDCDD5A6500D9DD95987DB5';
wwv_flow_imp.g_varchar2_table(5) := 'F0D19002D1128E35918BAA1CA8042038ACBFBBAA4A826EB78B634DE40239A922527580E0281CAEC259B6595E01E404B929DF427A4D758062EEB2D2956EC1D22A72A30A100E9863CEE7B400957417901BE4287D6DB9A56A00258EF16CAB5C1AEAAC1599D3';
wwv_flow_imp.g_varchar2_table(6) := '7CBDB333358084BB2EF1E7A1F741570128197DFC918F9E8A681D50AB0024ED1E7D848FDD0AC44A39730688A3CFEEE4F8B02436273B1AA39033403E88451FD315881546210580F40EC8D2C3E4D2AA1488CD28E4DAB613401A43A06B00ACEFA6806B0E9D00';
wwv_flow_imp.g_varchar2_table(7) := 'DA5420D82D7CD67655C035874E00B93ACFFACD2B1049F49E8B178E00454B2E9DB7BD6E08FEB91E07950608DF140841E0106274C965698042109631E62B4080F235E2166314280D50FC5F74724CBB5C158802A5010A449F20C274190C0850108854172401';
wwv_flow_imp.g_varchar2_table(8) := 'AA42DB80DAEC0440AF9E3D93978F1ED566E80F16102799A17A0DD0E6C6866CACAFCBBF06A0CD172FA42E437F30409BA96C202BBC060849449E2ECDF7E4FAF90BF2CB27172B35F421E671F6C4ACC0006CE810790D1012D89B392C170D40BD991993DAFAFE';
wwv_flow_imp.g_varchar2_table(9) := 'DE3F71821019B9BD0508BB2FE37FA37F8448F8DF7A5C090C1D226F4720D7C46BD6D78348D3AB7ADA22404A3A870A1101520208CD8408110142E6152D34880890223CB6A99020224036EB05CA3FFE7E96BBF530445DBEEC41807251D8BDC19FE6D2C98FF7';
wwv_flow_imp.g_varchar2_table(10) := 'EFEF5E31B2041061919D31C7EBAE19012A9051CC765F32B3DEA872EBFEBA7CFADDB7B9866D6BB0C6BA204005A5C765135C1303483D731925CF0A36EFDDE604A844CA7AE6BA5B02D207E622EE78EB19C84A74E14D1502E44DAADAE928016A675EBCF18A00';
wwv_flow_imp.g_varchar2_table(11) := '7993AA763A4A80DA99176FBCEA3C40577EF85EDEF9F2466586F6CB661B138CB8A311B7E5E27513F73895F5DDD6EB3C406F9933269C09556568DF8A59A404309860C45D95A887D72F1F3E14DF20EA3C40939E6E5F3F3FFE743C6B3DDA070045CCC273FCE0';
wwv_flow_imp.g_varchar2_table(12) := '41B97CFAB47C76E1C3C1EDB1680320A1F4C53A0F50DB12B1039EB74FCBF1D70F0E5CB4973D066F3C7A22403526CBC2832E2F1B78505AB3D7D6F6ECDF6F17795112A09AD264E139343D3DE8F1F3DF7E1D9478023CB8B686D77BCD6E0DA52F46806ACA148E';
wwv_flow_imp.g_varchar2_table(13) := '6D00CFE2DC29993BF686E08A3E201A8667DFD1A33579A3D70D01D2D3726C4B87A6A705F060A3378F1DDB86C88E3C8067CAA7DD17023146808C0855FDDDB8BB2AAB4F1ECB303C697DF90A0F62E93C40572A98485C7DF204DA8D35C0F38501280D9EDF1F3C';
wwv_flow_imp.g_varchar2_table(14) := '90FE83BF06F57D860701741E204CF4E94F228EFF1A7528F00401D0C5F95EEE3D3B59938459CB215C9685040F34E8FC088420EBB2D0E081AE04082A285888F040360204151C2D5478205B7180508BB6AD40C8F040040204154ADAA4F0A0791F2709E1779E';
wwv_flow_imp.g_varchar2_table(15) := '11A03C8532D64F0A0FA610329AE8C4E2CE03E4329188BA69599E141E7C7F2CAD7E9796751E20978944D41D4D7611787A33E3271C47DBF6F17DE70172994844DDE1A4129E613592D79D072809D3FD99F0A46B582340E90EF8B2141746E1ABBD2503AF61C3';
wwv_flow_imp.g_varchar2_table(16) := '174671CC13C26E0B715B234056893125461FACC68D6028AD850E0F7420405021C7ECE8831BC1ECA68427518200253A643EAF3E7E3C5867479FA7FF3C97E5FEDAF6FD3C21EEB606826C3D11A02D21B28AD5A7C9CD63B801ECAB9FEEC8F2DA9A3C7DFE5C7A';
wwv_flow_imp.g_varchar2_table(17) := '3387257478A01901820A63CCEEBEEC26161CDC2BD40B609EC7C69D5512A02C65B6965F9AEF6D8F36F86F4004674B98ADC20780B65C6DA6C06422A1C9D69E00656BC335132840802610899B642B4080B2B5E19A091420401388C44DB2152040D9DAA8ACC1';
wwv_flow_imp.g_varchar2_table(18) := '3753551A6A6923DE02646F114582ECB5AAB6696CFD7ACDB35FDC28A2A3B70021487C2D182526FBD27E07B1E965F00BFE75D9BC0608A3103EDD53070EB43247F00B90FBF69B3F45C4F41A20048AE4EC3B7244F6CFCEB6CEE01720879F5D35EF01EA6A627C';
wwv_flow_imp.g_varchar2_table(19) := '898B00F992A996FA591AA0684F7CAFA531D1AD1A15280D508D3EB2AB8A1570190C08505A72B86C620508D0C45271C334054A03B4F6EEE27A5A835CE69F022EB92C0D10648A446E0B1F9E2B105F7309C009A058E23B2E9DB3AEFF0A3801642A7304F29C01';
wwv_flow_imp.g_varchar2_table(20) := 'D71C9AFAE515B8BB708E009597AF15355D73E8041014E0711054B0E65B193B1DFF205A0580DC9D8023343F15700608432047213F93DF5F3877D5D5736780E040241C85A0835FA693331580300AF9251EBDD5187DA0A20A406848380A253278F1AC33FA20';
wwv_flow_imp.g_varchar2_table(21) := '54358012A2F51C8373B42A1488AF25B9D2695B0D20B803C778400D250A5B2D15901BE448B3335580E0180FA8A1423BAD8ADCA8038403EA298917DA2961B85E2127C88DB602EA00C141380A873164E23DAD39059003E40239A9C28B4A0082A370786D61D1';
wwv_flow_imp.g_varchar2_table(22) := '8C44B1F37439DAA3955120BE861C2017656A4F52A732806CE7C9411B21B27AD457EA9E6D65F95D3940E81810F51716CD684A90A047556604BE8DDD15B4EE2B5CA698C4CF5A00B28E20A8FE364884C9EAE252A2AE05A7EADD15FA1AB55A01B29DF7CDA723';
wwv_flow_imp.g_varchar2_table(23) := 'B1C5089F9864169B40597DF24A0003CDA05DDF7C209B00C7FAD80840B6739438C0EB0F0115ED9593D6248A3E0EDDAC16B6EC6F01D3379A413B68D8A4350ED068F0F88680B5FE99B3DF846E560B5B8EEAD5F4FBD601D4B420ECBF980204A8985EDC7A4401';
wwv_flow_imp.g_varchar2_table(24) := '02342208DF1653800015D3AB3B5B2B45428094840CB51902146AE695E226404A4286DA0C010A35F34A7113202521436D8600859A79A5B809909290E134B3335202B4530FBE2BA800012A281837DFA9C0FF000000FFFF5BAA258100000006494441540300';
wwv_flow_imp.g_varchar2_table(25) := 'C078B47BDDB37F880000000049454E44AE426082';
wwv_flow_imp_shared.create_app_static_file(
 p_id=>wwv_flow_imp.id(163062262212889697559)
,p_file_name=>'icons/app-icon-144-rounded.png'
,p_mime_type=>'image/png'
,p_file_charset=>'utf-8'
,p_file_content => wwv_flow_imp.varchar2_to_blob(wwv_flow_imp.g_varchar2_table)
);
end;
/
prompt --application/shared_components/files/icons_app_icon_192_png
begin
wwv_flow_imp.g_varchar2_table := wwv_flow_imp.empty_varchar2_table;
wwv_flow_imp.g_varchar2_table(1) := '89504E470D0A1A0A0000000D49484452000000C0000000C0080600000052DC6C0700000AC9494441547801EC9DBF8FDC4414C74707085DAA882B382450A0B87404B622121DA108E19F408192FF809AFF202544FC13048A042A24A8F2832E2942944824C5';
wwv_flow_imp.g_varchar2_table(2) := '45A149140109FB35B16FCEEBBDF5DAE3D979339F53E63C1EDB6FDEFBBCF7B57D1BEFEED6A99F2F3FA7C1A0D41AD872FC40A0600208A0E0E413BA7308802A289A0002283AFD045FB000483E04B805A2060A27C015A0F002283D7C04507A05141E3F0228BC';
wwv_flow_imp.g_varchar2_table(3) := '004A0F1F01945801C4DC1040000D0A3A2512400025669D981B0208A04141A7440208A0C4AC13734300013428E89440A01D2302681361BD280208A0A874136C9B0002681361BD280208A0A874136C9B0002681361BD28020509A0A8BC126C4F0208A02728';
wwv_flow_imp.g_varchar2_table(4) := '76CB930002C833AF44D5930002E8098ADDF2248000F2CC2B51F52480007A8232BD1BCE2F25800096A2614309041040095926C6A50410C052346C288100022821CBC4B8940002588A860D391058150302584588ED5913400059A797E056114000AB08B13D';
wwv_flow_imp.g_varchar2_table(5) := '6B020820EBF412DC2A0208601521B6674D206301649D37820B440001040289199B041080CDBCE175200208201048CCD82480006CE60DAF031140008140266506677A134000BD51B1638E0410408E5925A6DE0410406F54EC9823010490635689A9370104';
wwv_flow_imp.g_varchar2_table(6) := 'D01B153B5A20B0AE8F4508E0D99327EE9FFD7DF7F4DE3D934DBEABAD9B5CF65F4D207B01A8709EDEBDEBFE9E0BE0D9E3C7CE6293EF6A4F6EDEAC84BC3AADECD19740D60250F1AB70FAC2B0B09FE2515C167CB5E063B602D06D8F8AA54EC26CF70D77E1EC';
wwv_flow_imp.g_varchar2_table(7) := '3933CD793F67F64E7A6BAEBA9A2182434806AFE42B80F9ED4E4DE5F3F767F3C2FFC4CD7677CD34E7FD7CB4B7E7BE3EF7A97B6767A71995B811418363702723011C66F0EFFC0FDF7A64363FFBD77DCBCB2F3E388D080227305B01E88FDD9AD56C7EE6AFFB';
wwv_flow_imp.g_varchar2_table(8) := 'D69788206C06B31540584C69594304E1F28100C2B18C6A091184C18D00C270DC881544301E3B0218CF70A3162A11F0EAD0E01C2080C1E8D23910110CCF050218CE2EA92311C1B074208061DC923C0A11AC9F1604B03EB3A48F4004EBA50701ACC7CBC4DE';
wwv_flow_imp.g_varchar2_table(9) := '2589606C4210C05882891E8F08FA250601F4E364722F44B03A6D086035A38DEC31F31EE0BBFD707FB00F5D22D0A3E2830D667620023090D0DBFB0F4779D925825106333A1801249ACCCFDF9F359E5DB975D3FD74EB56B33EA473666F6FC861D91F635800';
wwv_flow_imp.g_varchar2_table(10) := '79E766B6BBEB66DE6D9044F0D5A5EFDD37BFFD3AA85DF104E43F2AEE0AFF41000917807F15A8DDBCBDBFEF86B6DA06CB030208E0804572BDD9FC2AF0CB67E75D97109273D6A84308C040E2CECFFF1E9010D4C6BCB1DF40A8D15D4400D1918F9B505785A1';
wwv_flow_imp.g_varchar2_table(11) := '6DDCCC791E8D002CE6159F83114000C15062C822010460316BF81C8C000208861243160920008B59C3E7600410403094188A4120F41C08203451EC992280003AD275F1DA55F7E17717936EF2B1C3F5A0437A6CBAFE52117D3781FAB97D202F02E828996F';
wwv_flow_imp.g_varchar2_table(12) := 'E702E8184E6A686A1F55E8FA62113D38A7A6E0B5D4A7524B081287C6AC3704D091410BCFDE4CE9A38A5F85DE81A61AAA8550AD18FF85003A12E83F7BA3E76F526CF2B1C3F5D143EDE2D777127C71FAB4D3F7139CF1BEA84322C8E12A604800A3738B8115';
wwv_flow_imp.g_varchar2_table(13) := '04DAC5AF82AFDE4DF6DAFF5FCCF1D1DE9E93186A33475D25EA7D525F2280D43314C9BFAEE257C1B7A77FE7851834AEAB8096961B02B09CBD40BEF72D7E4DE7BF417FEBD8310D996E08C074FAC63BDF2E7EDDF3779DF9EB99FC37E8BFB4BD5D0F9B5D2200';
wwv_flow_imp.g_varchar2_table(14) := 'B3A91BEF78BBF865516FB75CF6067C8D5FB97553BB558D2B4085815F931398608276F1BF7EFC78338B8A5CC5DE0CCC3B5AD7F8BC5BFD7B6567C76D7105A858F0CB2001FF159C5327DE761F9F7ACF695987A26257D16B5D4BADABAFA6E27F792E00F5ADB7';
wwv_flow_imp.g_varchar2_table(15) := '2DEB01E0FF38022AFA774F9CA88C68A9F56A65FE4B45AF8F61D172BE5AFDCBA9F81510021085429B8A5D45EF87AF758DD763FA9BA0EEE756FC8A0B01884201ADFDF09C8A5CC5DE15BAC65F3F7EFCD0A61C8B5F01220051C8BCA9F8FD87E78E2A7EA1F8FD';
wwv_flow_imp.g_varchar2_table(16) := 'CE1DF7E0D12375ABB6C9E2AF1C98F01702E880AB8249E57168F9D2E162EF211DBF6EF1DFB8F347633FE7E257900840145ACD2F98D6A6E8AB637CA1F857A70B0174309AF251E38EE98E1C1AEA0BC57F24D666230268501C74CE7B1F45B8E947A1E5CB8167';
wwv_flow_imp.g_varchar2_table(17) := 'FD7A147F3F4EDA0B018842468DE25F2F99090B60BD40D8DB398A7FFD2A4000EB334BF2088A7F585A10C0306E491D45F10F4F070218CE2E892329FE71694000E3F86DF4688A7F3C7E04309E61780B3D2C52FC3D20F5D80501F48094DA2E638B5FF1E4F23C';
wwv_flow_imp.g_varchar2_table(18) := 'BF6219D310C0187A1B383644F16FC0ED64A74400C9A666D1318A7F91C9D81104309660A4E3C716FFD0678A2285B7B1691040077A155B8CC7A1354FC7F40B43DACF7F2AB4CFF3FCFE23CD2AFE21CF142D38126120F61408A083B85F6C1D9B830DF59987E2';
wwv_flow_imp.g_varchar2_table(19) := '0F86BBD31002E8C0A23366C770F0A155F350FCC1912F1844000B489CD3ED428CC7A0354FC7F4D510C55F6198FC1702981CF1FA1350FCEB331B7A0402184A6EA2E328FE89C02E319B9000967858D030C51F3FD908203EF3A533FAAF0AF152E7524C413720';
wwv_flow_imp.g_varchar2_table(20) := '80A038871BD3D9DF3F5A1F4EE5AFFB7D7D6E0FAFF3FB4486F711C07076418F7CFEFC79634F67FF66A5D5A1F85B4046AE22809100431D7EF1FAB5C6D4B2B33FC5DF200AD64100C1500E3774F1DAD5E6E0AEB3FF83BF1EB9CB37AE3B6E7B1A4CC13A082018';
wwv_flow_imp.g_varchar2_table(21) := 'CAE186FCDB1FDF8A0A5F67FDCBD7AF1FFAAC4EFD0FF251FF89E6DBA07F34010470349F285BFDDB1F4DA8C2D7195F85EF9FF5B58DE21785700D01846339C852FBD51F15BC0ADFFF7466199EEDBEE1287E9108DB1040589E6B5B5B76FB531B52E15F387BCE';
wwv_flow_imp.g_varchar2_table(22) := '5D38FB49F58C92E3272801041014E7FAC6DAB73FB25017BD1EC853E1CF7677359C65DB74500860C319D06D8D5C98CD6F7174A6A7E845235E4300F15877CEA4577328FA4E345106114014CC4C922A0104906A66F02B0A010410053393A44A608302481509';
wwv_flow_imp.g_varchar2_table(23) := '7E9544000194946D625D208000169030501201045052B689758100025840C2404904B215C0D6B1634D1EAFDEBFDFF493E8E0443204B215804FF8EAFD3FFDD522FBFE53A7FEC9A148185ED0D90AE0959D9D264C7DDA825F00CD86423ABA028A411DEE4BDB';
wwv_flow_imp.g_varchar2_table(24) := 'DB75B7F865B602D89A27D93FD3A900F489CF5FFEF8832BAF5D3A54E87C3BCC018E6C05A010FDAB80D6D5743B545A53DC6A3A21BCFAD65BEAD25E10C85A00BA0A6C9F3CE9BA84F022FE621662F0EA9B6F3A31D964D0A9CD9DB5006AD8BAE44B086A3A0396';
wwv_flow_imp.g_varchar2_table(25) := 'D614B718D43C581E1028420007E1BAEA0CA8B36049CD8F9FFE6102C509E070F8AC954E0001945E0185C78F000A2F80D2C38F2880D251137F8A0410408A59C1A76804104034D44C94220104906256F0291A0104100D3513A5480001C4C80A73244B000124';
wwv_flow_imp.g_varchar2_table(26) := '9B1A1C8B410001C4A0CC1CC9124000C9A606C76210400031283347B2041040B2A9C9C3B1D4A34000A96708FF2625800026C58BF1D4092080D433847F9312400093E2C578EA041040EA19C2BF49094C288049FDC6380482104000413062C42A0104603573';
wwv_flow_imp.g_varchar2_table(27) := 'F81D8400020882112356092000AB99C3EF20041040108C2D23AC9A218000CCA40A47A7208000A6A08A4D330410809954E1E8140410C01454B16986000230932A1B8E5AF3120158CB18FE0625800082E2C498350208C05AC6F037280104101427C6AC1140';
wwv_flow_imp.g_varchar2_table(28) := '00D63286BF410904144050BF3006812804104014CC4C922A0104906A66F02B0A010410053393A44A0001A49A19FC8A42000184C08C0DB3041080D9D4E1780802082004456C98258000CCA60EC743104000212862C32C010460367569386EDD8BFF000000';
wwv_flow_imp.g_varchar2_table(29) := 'FFFF57B6390E00000006494441540300A730170849EDA3E60000000049454E44AE426082';
wwv_flow_imp_shared.create_app_static_file(
 p_id=>wwv_flow_imp.id(163062262590006697559)
,p_file_name=>'icons/app-icon-192.png'
,p_mime_type=>'image/png'
,p_file_charset=>'utf-8'
,p_file_content => wwv_flow_imp.varchar2_to_blob(wwv_flow_imp.g_varchar2_table)
);
end;
/
prompt --application/shared_components/files/icons_app_icon_256_rounded_png
begin
wwv_flow_imp.g_varchar2_table := wwv_flow_imp.empty_varchar2_table;
wwv_flow_imp.g_varchar2_table(1) := '89504E470D0A1A0A0000000D49484452000001000000010008060000005C72A86600001000494441547801EC9D4D8F1CD51586EF38A00836B198058304222CEC5D8C3B9B5862110CB664F815C866C93FC8C2F67FF032B1D8E4272420E1C4100989556C77';
wwv_flow_imp.g_varchar2_table(2) := '76F6825858C22C1C391B5B16E0A6DEE9A99EEA9AEA99AEAEFB716EDDA7C5A13EBAEBDE739E73CF7BABAAA7CBC71C2F0840A058020840B1A9277008388700300A2050300104A0E0E4137AD904143D02200A18040A258000149A78C28680082000A28041A0';
wwv_flow_imp.g_varchar2_table(3) := '50020840A18927ECB209D4D1230035099610289000025060D2091902350104A026C11202051240000A4C3A21974DA0193D02D0A4C13A040A238000149670C28540930002D0A4C13A040A238000149670C22D9B403B7A04A04D846D08144400012828D984';
wwv_flow_imp.g_varchar2_table(4) := '0A81360104A04D846D08144400012828D9845A3681AEE811802E2AEC83402104108042124D9810E82280007451611F040A218000149268C22C9BC0AAE811805564D80F81020820002B927CFAE617EF76D9A99B5F5CC1EC32E8CA99F6AD4873F1BB8B1500';
wwv_flow_imp.g_varchar2_table(5) := '0D0A998AF9ED9B376ED676EAE68D99ECB9DBBAD965CE6D5DC6EC32E8CA99F629A7B5EDE77A2E641A07AED0573102A024EF27FEC64C8342E6AA829E39F76E6D8ED7E809ECE77A2E641A0712078D0F4D08B23141382C96D10A800A5E899C27755EF0FB893F';
wwv_flow_imp.g_varchar2_table(6) := '0C09EF954A40E3C3551382AC29081A4B6EA4AFD1098092A5A297AABB2A99F3A43A5E10E84D603E76B62E6B2C491034A1F46EC4F801A31080BAE89524256B9E38E3E4712F43025B9735C62404B20C0338E072D60250173E457F20AFEC084A607EEF402220';
wwv_flow_imp.g_varchar2_table(7) := '0BDAD5C0C68F3A3C4B01A0F08F4A2BEFC721B02F0471FAF3DF4B760220C565C6F73F1068710881FD4B8321ADA438361B01A8677D57DDD873BC2060928084E08B2B265D5BE1541602C0ACBF227BEC36484022A03F264B2F04EBC0312F002A7EC7ACEF78E5';
wwv_flow_imp.g_varchar2_table(8) := '464042605F044C0B00C59FDBA0C7DF6502F645C0AC0050FCCB4389AD5C09D81601930240F1E73AD8F1BB9B407C11E8F6E3E05E730240F11F4C127BC640C0A6089812008A7F0C039D185613B02702A604C071B7DFF11A3B81ADCBFA9B162B519A1180F9EC';
wwv_flow_imp.g_varchar2_table(9) := '6F050B7E40201C8159E089AE8FE72604605EFCFABBEA3EAEF35908E44960E6DCBBF3319FDE7F1302E00C29A2E3058128046C5C0A2417002B4A1825E774028106819981892FA900CC8B9F53FFC69860B52002B3EA52C0F70DC1BEF8920A405F67F93C04C6';
wwv_flow_imp.g_varchar2_table(10) := '466096F82C20990030FB8F6D2813CF26046689CF029209C026B03806026324304B7816905000B8F61FE36026A6FE0466D55940FFA30E1EB1C99E2402303FFDDFC45D8E81C03809A4BA199844005CC2531EC70B020609CC12D544740148A57406738E4B10';
wwv_flow_imp.g_varchar2_table(11) := '581098559701296A23BA003CAF025D44CD0A0420B02030A436168DF45C892E005B6EEB8F3D7DE4E3102882408ADA882E003AD529229B0409819E0452D4465401E0EE7FCF11C1C78B2310FB3E405401282E9B040C819E04661B7C1BD0B38BA58F47158014';
wwv_flow_imp.g_varchar2_table(12) := 'D7384BD1B20101082C11882A0033BE015882CF0604DA0462D7483401887D6DD306CB3604722110B356A209408AEF387349387E42605302438F8B2600431DE57808944220E664194D00B80158CAF025CEA10462D64A3401180A85E3210001FF04A20940EC';
wwv_flow_imp.g_varchar2_table(13) := 'BB9BFE51D122046C11F0E14D3401F0E12C6D40A0040231274B04A08411458C105841208A00C4FC5E73459CEC8640560462D54C1401C88A3CCE42200302BE5C44007C91A41D0864480001C83069B80C015F0410005F2469070219124000324C1A2E974DC0';
wwv_flow_imp.g_varchar2_table(14) := '67F4510420E6DF36FB84435B1048452056CD441180541053F7FBECC103277B7AF7AECBDD14C74F8F1EA5464AFF9E0920009E81AAB9E74F9FEE16FCF3274F9C4CFB7237C5F163250012328420F76CEEFB8F00ECB3F0B2A6E278F6DD775EDAB2DA88844071';
wwv_flow_imp.g_varchar2_table(15) := '5AF56FCC7EF98E0D01F04C54C5D16CF2D2E989BB76E1C3EC6CB2F39A6BBEDE3F71B2B9E9142722B08424CB0D04C063DADA05A1C2BF5809C06467C7E566BFAF7C767BAFB7B6B7DD7B274EB88FCF9CD9DB335F2002730E39FF1F010894BD4B7B851FA8F924';
wwv_flow_imp.g_varchar2_table(16) := 'CDBEF5CA362290847CB84E11008F6C7FAE6EFE796CCE64538840BAB484E81901084175E46D2202E3493002309E5C468D0411888A3B5867084030B4E36F1811C83FC70840FE394C1A012210077FA85E108050640B6A1711C837D90840BEB933E53922602A';
wwv_flow_imp.g_varchar2_table(17) := '1D6B3B8300AC8D8A0F1E450011388A90BDF711007B39C9DA2344C07FFA42B6880084A45B68DB88403E894700F2C955569E220279A40B01C8234F597A8908D84F1B02603F47597BB84A04F4D094AC038BE47CE86E1080D08469DF7589C0D81F9A924BDA11';
wwv_flow_imp.g_varchar2_table(18) := '805C3215D9CF49E38120F73DFCCAB153041E3C881C15DDB50920006D226C1F20A0E701FEF3DEBD03FBFBEE9008E8E1227D8FE3F3E1082000E1D866DDF26467C7E9A1267510FFB877D7FDE9EF7F7312822156B7A7A584454BAC9B408CBD08400CCA99F631';
wwv_flow_imp.g_varchar2_table(19) := '7F9CD9F2B301250443ECDB473C5ADCD27040002C65C3A02FD72E7CB0742660D0455C1A4000011800AF94437526F0F54717778540970543AD146E39C48900E49025233E4A0886DAA4F1ED8291B04CBA11CB2904201669FA818041020880C1A4E012046211';
wwv_flow_imp.g_varchar2_table(20) := '40006291A61F0818248000184C0A2E954D2066F408404CDAF40501630410006309C11D08C4248000C4A44D5F1030460001309610DC299B40ECE81180D8C40FE9EFD6C387EE93CF3F73EF7C7A3D0BBB7EFBD621D1F87D4B0F1079F6E081933DBD7B7777F9';
wwv_flow_imp.g_varchar2_table(21) := '13BF2B180C1901188CD05F03B71E7EEF64FE5A0CDBD25F2209808A5E0F10D1AF07658A4ACB1F2B01D07B1207EDC3FA134000FA330B76446E7F26ABDF040483B1D7F06E813F79B2B77570510BC1C177D8B30E0104601D4A913E33D9D971FAD1CDB50B1FBA';
wwv_flow_imp.g_varchar2_table(22) := '1CECE2E9890BF96A17BF1E26F2F199334EF6FE89938BAE250263B81C58041471050188087BDDAE240439D8BAF16CF2B976F1ABE03FFEC399DDE70BEAC942EF9D38E1DE6F88C0CF1E1E5BB6899FB91F8300E49EC111FADF55FCEF5505DF0EF5ADED5716BB';
wwv_flow_imp.g_varchar2_table(23) := '7416B0D860656D0208C0DAA8F8600C02EB16BF7CD1998096D8E6041080CDD971A467027D8A5F5DEBD9845A8EC152C58000A4224FBF4B04DAC5BFF466C7C6B7FF7BE4F46CC2FAAD17B7B7EB55963D0820003D60F1D130045615BF0ABC6B9657F1FFF99B6F';
wwv_flow_imp.g_varchar2_table(24) := '969C79010158E2B1EE0602B02E293E178440BBF84FBDF95BF7EAF1E38BBEDA22D055FCCCFE0B5CBD571080DEC838C02781E6DD7B15FFEFDE7CD39D3BF576A708AC2AFEDC677F9F3CFBB68500F425C6E78310A88BBF6EBC4B04DAA7FD9AF929FE9AD8664B';
wwv_flow_imp.g_varchar2_table(25) := '0460336E1CE59140BBF8EBA6DB2250EFD792E21785E186000C67480B3D08B47F40B4AAF8EB26754950AFD74B8ABF26317C89000C67480B6B12F8E4F3CF967EED7854F1FFF0FFC7EEC69D3B4BAD8FADF897824BB081002480BEAA4B8BCF039817EDC3552E';
wwv_flow_imp.g_varchar2_table(26) := 'AFBD7FDECEF78BCF53FC0B1449571080A4F8973BD7B30064CB7BD36EC91FD9102F28FE21F4C21E8B0084E5DBABF5C908FFD92C8ABFD71088FE6104203AF2D51D4E0C3E0F40CF27D8F477FF14FFEA5CEB1D0B860058C842CB070981156BB9B6F626C5BF36';
wwv_flow_imp.g_varchar2_table(27) := 'AAA41F440092E21F67E7147F3E794500F2C955169E52FC59A469E12402B040C1CA500214FFFA04AD7C1201B09289CCFDA0F8F34C20029067DE4C794DF19B4A472F6710805EB8F8709B00C5DF2692D736029057BE4C794BF16F960E4B47210096B291912F';
wwv_flow_imp.g_varchar2_table(28) := '3E8A5FE1F27B7E51486708403AF6D9F6ECABF8B3053022C711801125334628147F0CCAF1FA4000E2B1CEBE271FC53F19E10F9EFA24D6DA671100431989FD3C80EBB76FAD1DBD8FE2BF747AE2648E97190208809954B8DDA7E50CFDED7D9F70DA8FE75A75';
wwv_flow_imp.g_varchar2_table(29) := 'ACAFE2DFF45785ABFC62FF700208C07086DE5A887D7ABCCE6C4CF17B4BAFC9861000436999447E1EC0513332C5EF7770586C0D0130981509410C3B2C748AFF303AE3790F01184F2EBD4542F17B4369BE2104C07C8AE23AA86F069A372237797AAFEE2D1C';
wwv_flow_imp.g_varchar2_table(30) := '757911372A7A5B4500015845A6C0FD2AFEE6370314BFBF4160B52504C06A6612F8D52CFE578F1F775DFF2A4FED56D73FDAC1CC5FD3C9678900E493ABA09E6AF66F76F0EA6F8E373797D629FE251C596F200059A72F8CF3879DFA53FC6198A76A15014845';
wwv_flow_imp.g_varchar2_table(31) := 'DE58BFCDD3FF55AE51FCABC81CBEDFF2BB0880E5EC44F2AD7DFADF75EDFF9FFBF7DD8D3B77963CE29A7F0947961B084096690BE7B44EFF9BADEFCEFAD33B6E7AFFBFCDDDBB3FEAE1ABBE2524596E200059A6CDAFD3CDD37F15BCEC4655F47FFDD757BBB3';
wwv_flow_imp.g_varchar2_table(32) := 'FE0F8F1F2F75C8CCBF8423EB0D0420EBF40D77BE7DFAAF62D7A9BE96EDD6273BAFB96B173E74CCFC6D32ABB7ADBF830058CF9001FFEAC2BF76E10337D9D931E0112EF8228000F82299693BCDD3FF660893BDD9FEEB8F2E56B33E85DF6433A67504604CD9';
wwv_flow_imp.g_varchar2_table(33) := 'DC20964BA7278BA328FA058A625610806252DD1DA8AEE7755DCF4CDFCD67C8DE1C8E450072C852601F275CD707266CB77904C06E6EF00C02C1092000C111D30104EC124000ECE606CF3226908BEB08402E99C24F080420800004804A9310C8850002904B';
wwv_flow_imp.g_varchar2_table(34) := 'A6F013020108200001A0D264D904728A1E01C8295BF80A01CF041000CF40690E02391140003C66EB572FBDB468EDDF0F1F2ED659D927D0FC37078EBDFCF2FE1BAC2521800078C4DE1CD01AE8EDDFDA7BEC2ACBA6C4A3F9EBC3A66066195087D3B9ED4200';
wwv_flow_imp.g_varchar2_table(35) := '3C66EC587506F0E2F6F6A2450DF6773EBDEEF44F6D956EE2201E351C89E50B0D56F57E96710920009E796B50374540CDEB6CA0741387A6B51935DF633D1E01042000EB2E1108D04D964D6AE67FE9E449A7B3A52C031899D30840A0844A0434D07FFDC61B';
wwv_flow_imp.g_varchar2_table(36) := '4EB35DC92606B25D1EAFBF1E8878FA6673F4208A00549D7C99231C1F3E6BA69318946C6220F3C1B3943662D54CD54F29488913021068134000DA44D886404104108082924DA8E108E4DA3202906BE6F01B021E0820001E20D2040472251045006E9F3D5F';
wwv_flow_imp.g_varchar2_table(37) := 'ECB700B90E0CFC4E4B2056CD441180B428E91D026109E4DC7A3401D8728EB300C70B02B6084413005B61E30D04EC12883959220076C7019E4120388168023073B3AF8247430710884C204477316B259A00541D710F20C468A14D080C2050D5E580A33914';
wwv_flow_imp.g_varchar2_table(38) := '0210F04EA02ACA689365D59777FF3B1B8CF5BD6667E7EC8440460462D64A340110FF987737D51F0681900442B41DBB46A20A400860B40981311188790350DCA20AC0969B5D55A7180420608340540188796D63032F5E40A01F81E9D9F357FA1D31ECD351';
wwv_flow_imp.g_varchar2_table(39) := '0540AEC6BEC6519F18047C1308D15E8ADA882E0033FE2028C4D8A1CD111048511BD105A0EA30DA779C2318138450108114B551F51997B0EE03A438D5891B25BD41A03F01D546FFA3861D115D00E42EDF068802962B81307EA7F9862C8900A450BA3049A3';
wwv_flow_imp.g_varchar2_table(40) := '5508F82110FBEE7FED75120150E75C0688020601114833FBABE78402902E68058E410002CE2513005D066CF19830C6606604FCBB3BBB9AEAF45FB124130075CECD4051C020908E405201E02C205DE2E9D90281B4B3BF0824150039C05980286025124879';
wwv_flow_imp.g_varchar2_table(41) := 'EA5FF34E2E003A0B70FC4AB0CE074BC304FCBA66E32678720110542921370445022B8340FA53FF9AB3090190335C0A88025602014D7856E23423005C0A581912F81196808D53FF3A4633022087E6CA680B90FCC220E087809D53FF3A1E530220A7100151';
wwv_flow_imp.g_varchar2_table(42) := 'C0C647C05EF18BB13901905388802860E32160B3F8C5D7A400C831444014B0FC09D82D7EB16BDCAA3C0000026849444154352B00720E1110052C3581CDFBB75DFC8ACBB400C841444014B0FC08D82F7E31352F00725222303D7B6E8BBF18140DCC32816A';
wwv_flow_imp.g_varchar2_table(43) := '907E79CCCDCE4E233FDE7B53265908401DDC1C2A5F13D63C585A2330BB7AE7ECB9B3F3BF69B1E65BB73F5909804290084C391B100A2C028175BAC86DD66FC6949D00D4CE4F774FB1743620ABF7B284403C0275E1E736EB3709652B000A4222209BDF1B40';
wwv_flow_imp.g_varchar2_table(44) := '08C4040B4F600C855F53CA5A00EA20240273E34661CD84A55F0275D14FABCBCF9C67FC369551084033A869756930AD92A43BB13A3350E29AEFB30E817509CCC7CEECAAC6D2988ABE19FFE804A00E4E7762A795182871D34A102406B27952EB4FB184C03E';
wwv_flow_imp.g_varchar2_table(45) := '018D0D990A5E63663E76CE5FD158DAFFD4B8D6462B00ED344D2B3190CD937A6E4B499620C8947459FB18B6C7474079AE4DB9D738904DAB4942634336E6826F67B418016807AE244F1BA2A0C44FAB41509B06459769D060BAE16AD3BA72A67D755E95E7DA';
wwv_flow_imp.g_varchar2_table(46) := 'A655FE350E64EDF151CA76B1027054823528BA4C83063B7FC52A83AE9C69DF51F96EBF5FCA3602504AA68913021D0410800E28EC82402904108052324D9C10E820800074406157D9044A8A1E012829DBC40A81160104A005844D08944400012829DBC40A';
wwv_flow_imp.g_varchar2_table(47) := '81160104A00584CDB20994163D02505AC68917020D0208400306AB10288D0002505AC68917020D0208400306AB651328317A04A0C4AC133304F60820007B205840A0440208408959276608EC114000F640B0289B40A9D12300A5669EB821501140002A08';
wwv_flow_imp.g_varchar2_table(48) := 'FC078152092000A5669EB821501140002A08FC57368192A347004ACE3EB1174F0001287E0800A064020840C9D927F6E2092000C50F81B201941EFD2F000000FFFF1E8BEE2200000006494441540300F2AEE4A64C4CF51D0000000049454E44AE426082';
wwv_flow_imp_shared.create_app_static_file(
 p_id=>wwv_flow_imp.id(163062262873964697560)
,p_file_name=>'icons/app-icon-256-rounded.png'
,p_mime_type=>'image/png'
,p_file_charset=>'utf-8'
,p_file_content => wwv_flow_imp.varchar2_to_blob(wwv_flow_imp.g_varchar2_table)
);
end;
/
prompt --application/shared_components/files/icons_app_icon_512_png
begin
wwv_flow_imp.g_varchar2_table := wwv_flow_imp.empty_varchar2_table;
wwv_flow_imp.g_varchar2_table(1) := '89504E470D0A1A0A0000000D4948445200000200000002000806000000F478D4FA00001000494441547801ECDD4D8B64D77907F0CB24C6481B9B0C897A828DA3C07895C4AA1088C1108295C548F912A227CBF90659FB030466690FDEE42344D242764840';
wwv_flow_imp.g_varchar2_table(2) := 'A06C329603094810C7C8E031668CBCD120EC28A9A74735D36F55756FD57D39E73C3FE15277D73DF7DCF3FC9E729F7FDDEED1DCF8B37F7EE7FF3C18780D780D780D780D780DE47A0DDCE8FC438000010204082413E83A01205DCB154C80000102040400AF';
wwv_flow_imp.g_varchar2_table(3) := '010204081020904E200A760720143C0810204080403201012059C3954B80000102D9059ED62F003C75F06F0204081020904A400048D56EC5122040804076814DFD02C046C24702040810209048400048D46CA512204080407681E7F50B00CF2D7C468000';
wwv_flow_imp.g_varchar2_table(4) := '010204D2080800695AAD5002040810C82E70BE7E01E0BC86CF0910204080401201012049A3954980000102D9052ED62F005CF4F015010204081048212000A468B3220910204020BBC0E5FA0580CB22BE26408000010209040480044D5622010204086417';
wwv_flow_imp.g_varchar2_table(5) := 'B85ABF0070D5C4330408102040A0790101A0F9162B9000010204B20B5C57BF00709D8AE7081020408040E3020240E30D561E010204086417B8BE7E01E07A17CF122040800081A6050480A6DBAB3802040810C82EB0AD7E01609B8CE7091020408040C302';
wwv_flow_imp.g_varchar2_table(6) := '0240C3CD551A010204086417D85EBF00B0DDC6110204081020D0AC8000D06C6B154680000102D90576D52F00ECD2718C0001020408342A200034DA586511204080407681DDF50B00BB7D1C2540800001024D0A08004DB6555104081020905D605FFD02C0';
wwv_flow_imp.g_varchar2_table(7) := '3E21C709102040804083020240834D5512010204086417D85FBF00B0DFC8080204081020D09C8000D05C4B154480000102D905FAD42F00F451328600010204083426200034D650E5102040804076817EF50B00FD9C8C2240800001024D0908004DB55331';
wwv_flow_imp.g_varchar2_table(8) := '04081020905DA06FFD02405F29E30810204080404302024043CD540A010204086417E85FBF00D0DFCA480204081020D08C8000D04C2B154280000102D90586D42F000CD1329600010204083422200034D248651020408040768161F50B00C3BC8C264080';
wwv_flow_imp.g_varchar2_table(9) := '0001024D0808004DB4511104081020905D6068FD02C05031E309102040804003020240034D5402010204086417185EBF0030DCCC190408102040A07A0101A0FA162A8000010204B20B1C52BF0070889A73081020408040E5020240E50DB47C02040810C8';
wwv_flow_imp.g_varchar2_table(10) := '2E7058FD02C0616ECE224080000102550B080055B7CFE20910204020BBC0A1F50B0087CA398F0001020408542C200054DC3C4B2740800081EC0287D72F001C6EE74C020408102050AD8000506DEB2C9C00010204B20B1C53BF00708C9E73091020408040';
wwv_flow_imp.g_varchar2_table(11) := 'A5020240A58DB36C02040810C82E705CFD02C0717ECE264080000102550A080055B6CDA20910204020BBC0B1F50B00C70A3A9F00010204085428200054D8344B2640800081EC02C7D72F001C6F68060204081020509D8000505DCB2C9800010204B20B8C';
wwv_flow_imp.g_varchar2_table(12) := '51BF003086A23908102040804065020240650DB35C02040810C82E304EFD02C0388E662140800001025509080055B5CB620910204020BBC058F50B0063499A8700010204085424200054D42C4B2540800081EC02E3D52F008C6769260204081020508D80';
wwv_flow_imp.g_varchar2_table(13) := '00504DAB2C9400010204B20B8C59BF0030A6A6B908102040804025020240258DB24C02040810C82E306EFD02C0B89E662340800001025508080055B4C9220910204020BBC0D8F50B00638B9A8F00010204085420200054D0244B2440800081EC02E3D72F';
wwv_flow_imp.g_varchar2_table(14) := '008C6F6A46020408102050BC8000507C8B2C9000010204B20B4C51BF003085AA39091020408040E1020240E10DB23C02040810C82E304DFD02C034AE66254080000102450B080045B7C7E20810204020BBC054F50B0053C99A970001020408142C200014';
wwv_flow_imp.g_varchar2_table(15) := 'DC1C4B2340800081EC02D3D52F004C676B66020408102050AC8000506C6B2C8C00010204B20B4C59BF0030A5AEB9091020408040A1020240A18DB12C02040810C82E306DFD02C0B4BE66274080000102450A080045B6C5A20810204020BBC0D4F50B0053';
wwv_flow_imp.g_varchar2_table(16) := '0B9B9F00010204081428200014D8144B2240800081EC02D3D72F004C6FEC0A0408102040A0380101A0B896581001020408641798A37E01600E65D7204080000102850908008535C4720810204020BBC03CF50B00F338BB0A0102040810284A400028AA1D';
wwv_flow_imp.g_varchar2_table(17) := '164380000102D905E6AA5F00984BDA750810204080404102024041CDB01402040810C82E305FFD02C07CD6AE4480000102048A1110008A6985851020408040768139EB1700E6D4762D0204081020508880005048232C8300010204B20BCC5BBF0030AFB7';
wwv_flow_imp.g_varchar2_table(18) := 'AB1120408000812204048022DA601104081020905D60EEFA0580B9C55D8F00010204081420200014D0044B2040800081EC02F3D72F00CC6FEE8A04081020406071010160F116580001020408641758A27E01600975D72440800001020B0B08000B37C0E5';
wwv_flow_imp.g_varchar2_table(19) := '0910204020BBC032F50B00CBB8BB2A0102040810585440005894DFC50910204020BBC052F50B004BC9BB2E0102040810585040005810DFA50910204020BBC072F50B00CBD9BB320102040810584C4000588CDE850910204020BBC092F50B004BEABB3601';
wwv_flow_imp.g_varchar2_table(20) := '02040810584840005808DE650910204020BBC0B2F50B00CBFABB3A0102040810584440005884DD450910204020BBC0D2F50B004B7720E1F53F7BF2A48BC76F1F3FEE3CDA37885E277C992B9940F1020240F12D6A6381B1097CFAB39F754F3EF8A0FBF4A3';
wwv_flow_imp.g_varchar2_table(21) := '8FCE1EBF5907008FC75DEB06D1EFB3BEAFFB1F81AF8D57B42A081C2BB0FCF902C0F23D687A05F10DFFEC9BFF7AD3FFEC934F9AAE5571BB05A2FF1176E2F510AF8BDDA31D2540606A0101606AE1A4F36FDEF1C737FCA404CADE2110AF0B4160079043CD0B';
wwv_flow_imp.g_varchar2_table(22) := '9450A0005042171A5B43BCBB8BDBBEF18EAFB1D29433B240048178BD8C3CADE90810E8212000F44032A4BF407C338F6FEAFDCF3032BB40BC5EE2F743B23BA83F934019B50A0065F4A18955D8FC9B68E32245C4DD222160117A174D2C2000246EFED8A5C7';
wwv_flow_imp.g_varchar2_table(23) := '3BB9B1E7345F1E0121204FAFB3575A4AFD0240299DA87C1DF1EE7F4809AB935B5D3CEEBEB2EA3CEA35881E763BFE79F9E6CD1D47AF1E1202AE9A7886C0540202C054B2C9E6EDFBEE3F36FB77DF38EDEEDF79EDEC71BA0E001EABAE56836ECF3FAFDEBEDD';
wwv_flow_imp.g_varchar2_table(24) := '7DE7F5BFED5EBDFDF53D239F1F16029E5BF8AC4581726A1200CAE945B52BE9F3EE3FDE29DEBFF3FAD946576DA1167EB0C0B76F0F0B0242C0C1D44E24D05B4000E84D65E036813EEFFEE31DFFEAE464DB149E4F221041E0D59E77038480242F8A64659654';
wwv_flow_imp.g_varchar2_table(25) := 'AE005052372A5C4B9F77FF77D7B7F92B2CCD922712F8F6FA6EC0AB42C044BAA625D05F4000E86F65E40102AB935B6EFB1FE0D6FA29DF16025A6FB1FAAE1528EB4901A0AC7E54B79AFF7DF264E79AFFDC6DFF9D3E990F0A0199BBAFF61204048012BA600D';
wwv_flow_imp.g_varchar2_table(26) := '04920A0801491B9FB4ECD2CA16004AEB4863EB891F0134569272461610024606351D819E0202404F28C30810984E400898CED6CCA50894B70E01A0BC9E58118194024240CAB62B7A41010160417C972640E0A2801070D1C357ED0894588900506257AC89';
wwv_flow_imp.g_varchar2_table(27) := '406201212071F3953EAB8000302BB78B1120D0474008E8A3644C3D0265AE540028B32F564520BD801090FE250060620101606260D3132070B8801070B89D33CB112875250240A99DB12E0204CE0484803306FF2230BA8000303AA9090910185B4008185B';
wwv_flow_imp.g_varchar2_table(28) := 'D47CF309947B2501A0DCDE58190102E704848073183E25308280003002A22908109847400898C7D955C61328792601A0E4EE581B0102570484802B249E207090800070109B930810585240085852DFB5FB0B943D520028BB3F564780C0160121600B8CA7';
wwv_flow_imp.g_varchar2_table(29) := '09F41410007A421946804079024240793DB1A2E702A57F260094DE21EB234060A78010B093C741025B050480AD340E1020508B8010504BA732ADB3FC5A0580F27B64850408F41010027A201942E09C8000700EC3A70408D42D2004D4DDBF96565F432D02';
wwv_flow_imp.g_varchar2_table(30) := '400D5DB24602047A0B0801BDA90C4C2E2000247F01289F408B0242408B5DADA9A63AD62A00D4D127AB244060A080103010CCF074020240BA962B98401E0121204FAF4BAAB496B50800B574CA3A0910384840083888CD4909040480044D562281EC024240';
wwv_flow_imp.g_varchar2_table(31) := 'F657C09CF5D7732D01A09E5E592901024708080147E039B5490101A0C9B62A8A0081EB048480EB543C37A6404D7309003575CB5A0910385A4008389AD0048D0808008D3452190408F4171002FA5B193944A0AEB102405DFDB25A0204461210024682344D';
wwv_flow_imp.g_varchar2_table(32) := 'B5020240B5ADB37002048E15181A027EFBF8F1B197747EC302B5952600D4D631EB25406054812121E037EB00F0D99327A35EDF6404961210009692775D02048A11181A028A59B885142450DF520480FA7A66C504AA11F8C9E35F55B3D6BE21E0B34F3EE9';
wwv_flow_imp.g_varchar2_table(33) := 'FC28A09AB65AE80E010160078E430408EC1658BDF4D2CE01FFFDABBA7E66DE3704C48F027616EE603A811A0B16006AEC9A35132844E0CF6FFDE1CE95FC64FD33F39F5418025EBE7973675D71D0EF02848247CD020240CDDDB376020B0BAC4E4EF6AEE0BB';
wwv_flow_imp.g_varchar2_table(34) := 'EFBDB7774C69035EBD7D7BEF92DC05D84B9468409DA50A0075F6CDAA091423B03AB9B5772DDFFDB7F7BA9AEE04BCFC7B37BB3E7701F6166E008182050480829B6369046A10B8FBCA6AEF32E347017127E0871F7EB8776C2903F6DD05885F062C65ADD6B1';
wwv_flow_imp.g_varchar2_table(35) := 'AC40AD5717006AED9C7513284460B5FE31C0AAC75D8058EE0F3EFCA0FBFB37FFA98B3B0211064A7ED4F42718C2D683C050010160A898F104085C11E87317E0FC49714720C240E98FF36BBEEE73BF08789D4AB6E7EAAD5700A8B777564EA01881D5FA2EC0';
wwv_flow_imp.g_varchar2_table(36) := 'FD3BAF17B31E0B214060BF8000B0DFC80802047A084408187A27A0C7B48610285AA0E6C509003577CFDA09142670FACAAA13023AFF10A8424000A8A24D1649A01E8108017E1C504FBFACF41881BACF1500EAEE9FD5132852207E1CF0EE1BA7EE0614D91D';
wwv_flow_imp.g_varchar2_table(37) := '8B22F054400078EAE0DF04084C20107703364160D5F38F0A4EB00C53129844A0F6490580DA3B68FD042A10882070FFCE6B5D8481F8F140FC9E400D0FA1A5821797251E2C20001C4CE74402040E11589D9C7411086A781C529F73B208D45FA700507F0F55';
wwv_flow_imp.g_varchar2_table(38) := '408000010204060B080083C99C4080000102D9055AA85F0068A18B6A204080000102030504808160861320408040768136EA1700DAE8A32A0810204080C0200101601097C104081020905DA095FA0580563AA90E02040810203040400018806528010204';
wwv_flow_imp.g_varchar2_table(39) := '08641768A77E01A09D5EAA840001020408F41610007A53194880000102D9055AAA5F0068A99B6A2140800001023D0504809E508611204080407681B6EA1700DAEAA76A0810204080402F0101A017934104081020905DA0B5FA0580D63AAA1E0204081020';
wwv_flow_imp.g_varchar2_table(40) := 'D0434000E881640801020408641768AF7E01A0BD9EAA880001020408EC151000F612194080000102D9055AAC5F0068B1AB6A2240800001027B0404803D400E1320408040768136EB1700DAECABAA0810204080C04E010160278F8304081020905DA0D5FA';
wwv_flow_imp.g_varchar2_table(41) := '0580563BABAE67020F1F3DEAEEBDFD56F7ADEF3FF0A8C0E0C18F1E3EEB9D4F2E0A7CF6E449F7E9CF7EF6ECF1E4830FBA786C9EFBEDE3C7174FF015811D0202C00E1C87DA10B8F7F69BDDC3473F6FA39804557C6F1D0022AC45704B50EEDE12379BFED946';
wwv_flow_imp.g_varchar2_table(42) := 'FFD147DD679F7CF2ECB13979F3DC6FD60120C6C54318D8E81CFBB1DDF30580767BABB2B5805AAFE8AF000010004944415477936B844AFF1741A0D2A58FB6ECB377F69F6FFA43278D3010212002C4D0738DCF212000E4E873DA2A6D22F5B63EF35D9BD8B4';
wwv_flow_imp.g_varchar2_table(43) := '63F38F77F6C7743042C0A7EB001141E09879329FDB72ED0240CBDD551B0102D5099C6DFEEB4DFBD8CDFF7CE111048480F3223E0F010120143C9A15589DDC6AB6B6D60BBBFBCAAAF512AFD4B7D9FCAF1C18E10921E010C4B6CF1100DAEE6FFAEA326E22AD';
wwv_flow_imp.g_varchar2_table(44) := '34FD3459009872F3DFBC262204C475365FFB985B4000C8DDFFE6AB5F9D9C74EFBE71DA0902F5B47AB5BE6B73FFCEEBF52C788495C6A61C3FAB1F61AABD534408D83BC8803381D6FF2500B4DE61F59D099CAEDF4D4610F0383D0B44253BDCBFF35AB75A07';
wwv_flow_imp.g_varchar2_table(45) := 'B72EC93F4337FF976FDEECFEEE9BDF3C7B7CE7F5BFEDE2F1EAEDAF77F1E84316BF5B10D7EC33D698B6050480B6FBAB3A02040A16888D78C83BFFD8E4FFEE2FBFD9BDFC7B37CF1E9BD2BE7DFB76178F0803111036CF6FFBE82EC03699F3CFB7FFB900D07E';
wwv_flow_imp.g_varchar2_table(46) := '8F5548804081024337FF78D71F9BFCBE52CE02C2FA2EC1AE71EE02ECD2C9734C00C8D36B9512205088C0219B7FBCEBEFBBFC57D77704FA8E35EE7A810CCF0A0019BAAC4602048A11987AF38F42232CECFB51801F038454EE870090BBFFAA274060468139';
wwv_flow_imp.g_varchar2_table(47) := '36FF4D39EE026C240EF998E31C0120479F554980C0C202736EFE516ADC05888FDB1EF17B00DB8E793E87800090A3CFAA2440604181B937FF054B6DE2D2598A1000B2745A9D04082C2260F35F84DD457B0808003D900C214080C021024B6EFE3FFCF0C39D';
wwv_flow_imp.g_varchar2_table(48) := '4BBEF1E28B3B8FE73D98A77201204FAF554A80C08C024B6EFE7DCAFC9D175EE833CC9886050480869BAB3402049611587AF38F77FF3FF8F083658AAFFCAA99962F0064EAB65A0910985C60E8E63FF6827EF2ABC75D9FCDFF77F7FCD702C75E97F9CA1310';
wwv_flow_imp.g_varchar2_table(49) := '00CAEB8915112050A9C0A19BFF77DF7BAF8B8DFBD8B2638E986BDF3C5FB0F96F21CAF5B40090ABDFAA25406022814337FFCD7262E38E0D7CF3F5D08F716ECCD1E73CEFFEFB28B53F460068BFC72A24406062816337FFCDF262038F8D7CF375DF8F714E9C';
wwv_flow_imp.g_varchar2_table(50) := 'DB67BC77FFDB95B21D1100B2755CBD04088C2A30D6E6BF59546CE4B1A16FBEDEF731C6C639FBC6C5F1F8A37FDEFD878447080800A1E0418000810304E23FA7FBE9471F1D70E6EE5362438F8D7DF7A8EEECF70662ECBE719BE35FFCCA57369FFA784520DF';
wwv_flow_imp.g_varchar2_table(51) := '130240BE9EAB980081910486FC8D7A7FF38D6F74F1E87BE9D8D8778580381663FACEF7C5AF7EB5EF50E392080800491AAD4C02049613888DFFA52F7DB98B477CDE7725B1C1C7467F797C3C17C72E3FBFEDEBD8FC6FF80FFF6CE3397B3EE3BF04808C5D57';
wwv_flow_imp.g_varchar2_table(52) := '330102B309C4861F1BFFE682F1793CB7F97ADFC7D8E863C3DF8C8BCFE3B9CDD7FB3EDAFCF709E53D2E00E4EDBDCA091098582036FAD8F02F5F269E8B63979FDFF6756CF8B1F1C7233EDF36EEF2F336FFCB22DBBECEF9BC0090B3EFAA2640606281D8E063';
wwv_flow_imp.g_varchar2_table(53) := 'A3DF7699381663B61DBFFC7C6CFCF1B8FCFCB6AF6DFEDB643CBF11100036123E122040602481D8D86383DF375D8C89B1FBC60D3D6EF31F269675B40090B5F3EA2640601281D8D06363EF3B798C8D73FA8EDF37CEE6BF4FC8F18D8000B091F09100010247';
wwv_flow_imp.g_varchar2_table(54) := '0AC4461E1BFAD069E29C3877E87997C7DBFC2F8BF4F93AEF1801206FEF554E80C00E81878F1E750F1FFD7CC7888B8762038F8DFCE2B3FDBF8A73638EFE675C1C69F3BFE8E1ABFD0202C07E232308104826109BFFBDB7DFEC5D756CDCB181F73E61CBC098';
wwv_flow_imp.g_varchar2_table(55) := '23E6DA7278EBD336FFAD347B0F641E200064EEBEDA0910B822B0D4E67F65213D9FB0F9F78432EC8A80007085C41304086415587AF3FFC5AF3FEEDE79FFFDDEFC36FFDE545B06E67E5A00C8DD7FD51320F0B980CDFF73081FD2080800695AAD500204B609';
wwv_flow_imp.g_varchar2_table(56) := 'D8FCB7C9B4FD7CF6EA0480ECAF8004F53FFDE6FE56F7ADEF3FF098C1E0C18F1E56F5AA7AFAFA98FF17FE36486EFB6F247C9C5B4000985BDCF5661788DFE61EF2C7B9665F606317FCDE3A0044D88A8DB5F4D2628DF1FAE8BBCEF80DFDF84DFDBEE3F78DB3';
wwv_flow_imp.g_varchar2_table(57) := 'F9EF139AF2B8B90500AF81A6056A7B37DA52332208945C8FCDBFE4EE58DB1C0202C01CCAAEB19840E99BD06230335CB8E4BB2E36FF195E00855FC2F2BA4E00F02A2040209580CD3F55BB15BB434000D881E350FD02AB935BF517516905775F5915B7729B';
wwv_flow_imp.g_varchar2_table(58) := '7F712D5968412E1B0202402878342B50E226D42CF6A5C24E0B0B0036FF4B0DF2657A010120FD4BA06D80D5C949F7EE1BA79D20305F9F57EBBB2EF7EFBC3EDF057B5CC9E6DF0329D110A53E1510009E3AF877E302A7EB77A311043C4ECF02D1940EF7EFBC';
wwv_flow_imp.g_varchar2_table(59) := 'D6ADD6C1AB2BE41F9B7F218DB08CE2040480E25A624104088C2560F31F4BB2A579D4B211100036123E1220D09480CDBFA9762A66020101600254531220B0AC80CD7F59FF92AF6E6DCF050480E7163E2340A001019B7F034D54C22C0202C02CCC2E4280C0';
wwv_flow_imp.g_varchar2_table(60) := '1C0236FF39946BBE86B59F171000CE6BF89C00816A056CFED5B6CEC217121000168277590204C613B0F98F67D9F24C6ABB2820005CF4F01501029509D8FC2B6B98E51623200014D30A0B214060A880CD7FA858E6F16ABF2C20005C16F13501025508D8FC';
wwv_flow_imp.g_varchar2_table(61) := 'AB689345162C200014DC1C4B2340E07A019BFFF52E9EDD2EE0C8550101E0AA896708102858C0E65F70732CAD2A0101A0AA76592C81DC0236FFDCFD3FBC7A675E2720005CA7E23902048A13B0F917D7120BAA5C4000A8BC81964F208380CD3F4397A7ABD1';
wwv_flow_imp.g_varchar2_table(62) := 'CCD70B0800D7BB7896008142046CFE8534C2329A1310009A6BA98208B42360F36FA797CB55E2CADB0404806D329E27406051019BFFA2FC2E9E40400048D0642512A84DC0E65F5BC7CA5DAF956D171000B6DB384280C0020236FF05D05D32A5800090B2ED';
wwv_flow_imp.g_varchar2_table(63) := '8A2650A6406D9BFF176EDEEC6EBCF042999856D5751D845D0202C02E1DC70810984DA0B6CD3F606EBCF8627CF02050A580005065DB2C9A405B02356EFE6D75A0CD6A54B55B4000D8EDE3280102130BD8FC2706363D812D0202C016184F132030BD80CD7F';
wwv_flow_imp.g_varchar2_table(64) := '7AE3BC5750F93E0101609F90E304084C2260F39F84D5A4047A0B0800BDA90C2440602C019BFF5892E6D926E0F9FD0202C07E232308101851C0E63F22A6A9081C2120001C81E75402048609D4B6F9AF4E6E0D2BD0E842042CA38F8000D047C91802048E16';
wwv_flow_imp.g_varchar2_table(65) := 'A86DF3BF7FE7F5A36B3601819205048092BB636D041A11A871F35F9D9C34A29FAF0C15F7131000FA391955B1C0D3CDE7ADEE5BDF7FE0B13678F0A387B376F3A9FF9BBDAFF937DFF846F7D297BEDC7BFCBE81BFF8F5C7DD3BEFBFBF6FD8B3E3F1CEDFE6FF';
wwv_flow_imp.g_varchar2_table(66) := '8CC3270D0B08000D3757694F05EEBDFD66F7F0D1CF9F7EE1DFDDF7D60120C2506CCC5373C435C2BFEF756CFE7DA58CDB2EE0485F0101A0AF9471550ACCFD6EB726A4080253AED7E63FA5AEB9091C2F20001C6F68868205A6DEE40A2E7DEFD2A6BC2B62F3';
wwv_flow_imp.g_varchar2_table(67) := 'DFCB6FC04402A6ED2F2000F4B7329200811E0236FF1E4886102840400028A00996309DC0CA9FE3DE8A7BF795D5D663871EB0F91F2AE7BC7104CC3244400018A2656C7502536C72D5216C59F0E9C801C0E6BF05DAD3040A1510000A6D8C658D23B03A39E9';
wwv_flow_imp.g_varchar2_table(68) := 'DE7DE3B413049E7BAED67745E28FBA3D7FE6F8CF6CFEC71B9AE17801330C1310008679195DA9C0E9FADD6E04018FD3EEFE9DD7BAD53A188DD54A9BFF5892E62130AF800030AFB7AB11684AC0E6DF543B2B2FC6F2870A080043C58C2740E04CC0E67FC6E0';
wwv_flow_imp.g_varchar2_table(69) := '5F04AA151000AA6D9D8513584EC0E6BF9CBD2B5F2FE0D9E10202C070336710482D60F34FDD7EC53724200034D44CA510985AC0E63FB5B0F90F1370D6210202C0216ACE219054C05FEC93B4F1CA6E52400068B2AD8A2230BEC0BDB7DFEA3DA9BFD5AF3795';
wwv_flow_imp.g_varchar2_table(70) := '81230898E2300101E0303767114825107FAB62DFBF3CC8E69FEAA5A1D88A0504808A9B67E904E61088CDBFEFDFAA68F39FA323AE7151C057870A080087CA398F4012019B7F92462B339D800090AEE50A26D05F20DEFDF719ED9D7F1F2563A61030E7E102';
wwv_flow_imp.g_varchar2_table(71) := '02C0E176CE24D0BC409F77FF7FF6B53FEA5EFAD29747B3F8C5AF3FEEDE79FFFDDEF3C55F6C34E6DF6DD0FBC20612A85C4000A8BC81964F602A813EEFFE63F3FFD3AF7D6DB425D8FC47A34C3291328F1110008ED1732E818605F6BDFBBFF1E28B9DCDBFE1';
wwv_flow_imp.g_varchar2_table(72) := '1780D29A1710009A6FB102090C17E8F3EEFF4F7EFF0F864FBCE50CEFFCB7C0787AA78083C7090800C7F9399B405A81B1DEFDDBFCD3BE8414BEB08000B070035C9E408902FB6EFFC7CFFEC758B7CD7F0CC5AC73A8FB580101E05841E713684CA0CFEDFF31';
wwv_flow_imp.g_varchar2_table(73) := 'DEFDDBFC1B7BE128A73A0101A0BA965930816505C678F76FF35FB6872D5C5D0DC70B0800C71B9A81405302FB6EFF1F5BACCDFF5841E7131847400018C7D12C049A1098FAF6BFCDBF899749014558C2180202C0188AE6209044E098DBFFFFF1D39FFA2FFC';
wwv_flow_imp.g_varchar2_table(74) := '25799D28B30E0101A08E3E5925815904A6BAFD1F9BFF8F7FFA3FBD6BF09FF7ED4D9572A0A2C7111000C671340B81EA05A6B8FD7F76CBFFC7EF7736FFEA5F1E0A6850400068B0A94A223085C090DBFF8F7EF9CBEE9DF5C61F7FA9CF2F3EFEB8F772BCF3EF';
wwv_flow_imp.g_varchar2_table(75) := '4D9578A0D2C7121000C692340F81CA058EBDFDBF79B7FF8FFFFA2FDD0FFEEB3FBB211B7FD0D9FC43C183C07C0202C07CD6AE44A058813EB7FFAF5BFCF94D7FE8BBFDF3F3D9FCCF6BF87C978063E3090800E3599A8940D302F173FCF865BEB136FDC05A9D';
wwv_flow_imp.g_varchar2_table(76) := 'DCEADE7DE3B45B9D9CC4971E0408CC282000CC88ED52044A15E87BFB3F42C031EFF4CFD77FF7955577FFCE6BE79FF239813D020E8F2920008CA9692E02150A1C7AFBFF9852EFAE37FFD3F5E398399C4B80C0710202C0717ECE26406080C05FFCF11FAFDF';
wwv_flow_imp.g_varchar2_table(77) := 'F5BFDED9FC07A019FA4CC027E30A0800E37A9A8D4075027D6FFF1F53D8DDF5BBFDF859FF3FFCD55FFB79FF3190CE2530A280003022A6A908D42630E5EDFFD5C9ADB377FBB1F17BC75FDB2BA3C4F55AD3D80202C0D8A2E6239058E0FCA61FBFE0B7F2DBFD';
wwv_flow_imp.g_varchar2_table(78) := '895F0D4A2F5D400028BD43D647604281316EFFAFCEBDD3B7E94FD8ACE4532B7F7C0101607C533312685EC0A6DF7C8B159840400048D0642512D826101BF9B663979F8FB1F15FEC8B9FE97BA77F59C7D7D30A987D0A0101600A557312A844207E3B7FD752';
wwv_flow_imp.g_varchar2_table(79) := '6DFABB741C2350B780005077FFAC9EC05102AB9393B3FF14EFF920B0F233FDA34C9D3CBE8019A7111000A671352B81AA044E3FFF73FA6EEF57D5368B257094800070149F9309102040605A01B34F2520004C256B5E020408102050B080005070732C8D00';
wwv_flow_imp.g_varchar2_table(80) := '0102D905D43F9D8000309DAD99091020408040B1020240B1ADB130020408641750FF940202C094BAE6264080000102850A08008536C6B2081020905D40FDD30A0800D3FA9A9D00010204081429200014D9168B224080407601F54F2D20004C2D6C7E0204';
wwv_flow_imp.g_varchar2_table(81) := '08102050A080005060532C89000102D905D43FBD800030BDB12B102040800081E2040480E25A6241040810C82EA0FE3904048039945D8300010204081426200014D610CB214080407601F5CF232000CCE3EC2A0408102040A0280101A0A876580C010204';
wwv_flow_imp.g_varchar2_table(82) := 'B20BA87F2E0101602E69D7214080000102050908000535C352081020905D40FDF3090800F359BB1201020408102846400028A6151642800081EC02EA9F5340009853DBB508102040804021020240218DB00C020408641750FFBC0202C0BCDEAE46804045';
wwv_flow_imp.g_varchar2_table(83) := '020F1FFD7CE76A6FBCF0C2CEE30E122859400028B93BD64680008134020A9D5B4000985B3CD9F5F6BD834AC6A1D5CE853A0000092649444154DC8A041E3E7A54D16A2D95C070010160B899330608FCBB6FA203B40C2D49605F78BDF1E28B252DB7FAB528';
wwv_flow_imp.g_varchar2_table(84) := '607E0101607EF3A6AEF8859B3777D613DF44BD93DA49E460A102DFFBD1C39D2BFB1D3FFFDFE9E360F9020240F93D2A7A857D7E09EADEDB6F165D83C511B82CF060CFE61FE3DD010885B11EE6594240005842BDB16BF6F94678EFEDB73A77021A6B7CA3E5';
wwv_flow_imp.g_varchar2_table(85) := 'C46B75DFBBFF28BD4FF88D711E044A1510004AED4C45EBDAF7638028257E14706F7D27A0CF3BAB18EF41606E8108A8DFFAFE837550DDFD47FF625D7D5EF331CEA39F8051CB080800CBB83775D57827D4E72E40141DEFACE29BECBDF51D8107EBDBAC1E0F';
wwv_flow_imp.g_varchar2_table(86) := '3B06CB1AC46BF1E96BB2FF8FAA7E77CFEFBEC46BDD8340E9020240E91DAA647D43DF11C51D8108031E0F3B06CB1AC46B71C8FFCD86BED687CC9D73ACAA9712100096926FECBA7117E08B5FFD6A63552987C04581D8FCBDFBBF68E2AB7A0504807A7B57DC';
wwv_flow_imp.g_varchar2_table(87) := 'CA2304C437C8E216664104461088D7B6CD7F04C84B53F8723901016039FB26AF1CDF20E31B6593C5292AAD40BCA6E3B59D1640E14D0A08004DB675D9A2E21BA51F072CDB03571F4FC0E63F9EE5D5993CB3A48000B0A47EC3D78E1F07BCF0F5AF77F1CDB3';
wwv_flow_imp.g_varchar2_table(88) := 'E13295D6B040FCC99608B211681B2E536989050480C4CD9FA3F4F8E6B90902F10D758E6BBA06814305E2351A8FD8F8BFF895AF7411640F9DCB79FB058C5856400058D63FCDD52308C437D40803F1CD35EE0C78DC3CBB43C2615987783D3E7BAC37FD789D';
wwv_flow_imp.g_varchar2_table(89) := 'DAF8D37C6B4A5DA80090BAFDCB141FDF5C231078DCEC182C6F10AFC7CD6399FF4764BDAABA9716100096EE80EB1320408000810504048005D05D92000102D905D4BFBC8000B07C0FAC800001020408CC2E2000CC4EEE82040810C82EA0FE1204048012BA';
wwv_flow_imp.g_varchar2_table(90) := '600D04081020406066010160667097234080407601F59721200094D107AB204080000102B30A0800B372BB18010204B20BA8BF140101A0944E58070102040810985140009811DBA5081020905D40FDE5080800E5F4C24A0810204080C06C0202C06CD42E';
wwv_flow_imp.g_varchar2_table(91) := '44800081EC02EA2F49400028A91BD642800001020466121000668276190204086417507F5902024059FDB01A0204081020308B8000300BB38B10204020BB80FA4B1310004AEB88F51020408000811904048019905D82000102D905D45F9E8000505E4FAC';
wwv_flow_imp.g_varchar2_table(92) := '8800010204084C2E20004C4EEC02040810C82EA0FE1205048012BB624D040810204060620101606260D313204020BB80FACB141000CAEC8B551120408000814905048049794D4E800081EC02EA2F55400028B533D64580000102042614100026C4353501';
wwv_flow_imp.g_varchar2_table(93) := '0204B20BA8BF5C0101A0DCDE58190102040810984C4000988CD6C4040810C82EA0FE9205048092BB636D040810204060220101602258D312204020BB80FACB161000CAEE8FD51120408000814904048049584D4A800081EC02EA2F5D400028BD43D64780';
wwv_flow_imp.g_varchar2_table(94) := '000102042610100026403525010204B20BA8BF7C0101A0FC1E59210102040810185D4000189DD484040810C82EA0FE1A0404801ABA648D040810204060640101606450D311204020BB80FAEB101000EAE893551220408000815105048051394D46800081';
wwv_flow_imp.g_varchar2_table(95) := 'EC02EAAF454000A8A553D64980000102044614100046C43415010204B20BA8BF1E0101A09E5E59290102040810184D4000188DD244040810C82EA0FE9A0404809ABA65AD040810204060240101602448D310204020BB80FAEB121000EAEA97D512204080';
wwv_flow_imp.g_varchar2_table(96) := '00815104048051184D42800081EC02EAAF4D4000A8AD63D64B80000102044610100046403405010204B20BA8BF3E0101A0BE9E59310102040810385A4000389AD004040810C82EA0FE1A0504801ABB66CD0408102040E0480101E04840A713204020BB80';
wwv_flow_imp.g_varchar2_table(97) := 'FAEB141000EAEC9B55132040800081A3040480A3F89C4C800081EC02EAAF554000A8B573D64D80000102048E1010008EC0732A010204B20BA8BF5E0101A0DEDE59390102040810385840003898CE89040810C82EA0FE9A0504809ABB67ED0408102040E0';
wwv_flow_imp.g_varchar2_table(98) := '400101E04038A711204020BB80FAEB161000EAEE9FD51320408000818304048083D89C44800081EC02EAAF5D4000A8BD83D64F80000102040E1010000E40730A010204B20BA8BF7E0101A0FE1EAA8000010204080C16100006933981000102D905D4DF82';
wwv_flow_imp.g_varchar2_table(99) := '8000D04217D5408000010204060A080003C10C274080407601F5B7212000B4D14755102040800081410202C0202E83091020905D40FDAD080800AD74521D0408102040608080003000CB500204086417507F3B0202403BBD54090102040810E82D2000F4';
wwv_flow_imp.g_varchar2_table(100) := 'A63290000102D905D4DF928000D05237D54280000102047A0A08003DA10C234080407601F5B7252000B4D54FD51020408000815E0202402F2683081020905D40FDAD090800AD75543D0408102040A0878000D003C9100204086417507F7B0202407B3D55';
wwv_flow_imp.g_varchar2_table(101) := '110102040810D82B2000EC253280000102D905D4DFA28000D06257D5448000010204F60808007B801C264080407601F5B7292000B4D957551120408000819D0202C04E1E07091020905D40FDAD0A0800AD76565D040810204060878000B003C721020408';
wwv_flow_imp.g_varchar2_table(102) := '6417507FBB020240BBBD55190102040810D82A20006CA57180000102D905D4DFB28000D07277D5468000010204B60808005B603C4D800081EC02EA6F5B400068BBBFAA234080000102D70A0800D7B27892000102D905D4DFBA8000D07A87D54780000102';
wwv_flow_imp.g_varchar2_table(103) := '04AE111000AE41F114010204B20BA8BF7D0101A0FD1EAB9000010204085C111000AE907882000102D905D49F414000C8D065351220408000814B0202C025105F12204020BB80FA7308080039FAAC4A020408102070414000B8C0E10B0204086417507F16';
wwv_flow_imp.g_varchar2_table(104) := '0101204BA7D5498000010204CE090800E7307C4A800081EC02EACF232000E4E9B54A0910204080C0330101E019854F081020905D40FD990404804CDD562B0102040810F85C4000F81CC2070204086417507F2E01012057BF554B8000010204CE04048033';
wwv_flow_imp.g_varchar2_table(105) := '06FF224080407601F567131000B2755CBD0408102040602D2000AC11FC8F000102D905D49F4F4000C8D773151320408000814E00F022204080407A0100190504808C5D573301020408A4171000D2BF04001020905D40FD390504809C7D57350102040824';
wwv_flow_imp.g_varchar2_table(106) := '17100092BF00944F80407601F567151000B2765EDD04081020905A400048DD7EC51320905D40FD79050480BCBD5739010204082416100012375FE904086417507F6601012073F7D54E8000010269050480B4AD57380102D905D49F5BE0FF010000FFFFEC';
wwv_flow_imp.g_varchar2_table(107) := '77C334000000064944415403004691EE5ABF8FD8C00000000049454E44AE426082';
wwv_flow_imp_shared.create_app_static_file(
 p_id=>wwv_flow_imp.id(163062263101501697560)
,p_file_name=>'icons/app-icon-512.png'
,p_mime_type=>'image/png'
,p_file_charset=>'utf-8'
,p_file_content => wwv_flow_imp.varchar2_to_blob(wwv_flow_imp.g_varchar2_table)
);
end;
/
prompt --application/plugin_settings
begin
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062254273288697543)
,p_plugin_type=>'DYNAMIC ACTION'
,p_plugin=>'NATIVE_OPEN_AI_ASSISTANT'
,p_version_scn=>15762486808462
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062254562634697544)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_COLOR_PICKER'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'display_as', 'POPUP',
  'mode', 'FULL')).to_clob
,p_version_scn=>15762486808463
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062254886720697544)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_DATE_PICKER_APEX'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'appearance_behavior', 'MONTH-PICKER:YEAR-PICKER:TODAY-BUTTON',
  'days_outside_month', 'VISIBLE',
  'show_on', 'FOCUS',
  'time_increment', '15')).to_clob
,p_version_scn=>15762486808465
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062255134544697544)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_GEOCODED_ADDRESS'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'background', 'default',
  'display_as', 'LIST',
  'map_preview', 'POPUP:ITEM',
  'match_mode', 'RELAX_HOUSE_NUMBER',
  'show_coordinates', 'N')).to_clob
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062255497596697544)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_SELECT_MANY'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'display_values_as', 'separated')).to_clob
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062255704436697545)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_SINGLE_CHECKBOX'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'checked_value', 'Y',
  'unchecked_value', 'N')).to_clob
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062256030323697545)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_STAR_RATING'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'default_icon', 'fa-star',
  'tooltip', '#VALUE#')).to_clob
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062256313836697545)
,p_plugin_type=>'ITEM TYPE'
,p_plugin=>'NATIVE_YES_NO'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'display_style', 'SWITCH_CB',
  'off_value', 'N',
  'on_value', 'Y')).to_clob
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062256638868697545)
,p_plugin_type=>'PROCESS TYPE'
,p_plugin=>'NATIVE_GEOCODING'
,p_attribute_01=>'RELAX_HOUSE_NUMBER'
,p_version_scn=>15762486808467
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062256975659697546)
,p_plugin_type=>'REGION TYPE'
,p_plugin=>'NATIVE_DISPLAY_SELECTOR'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'include_slider', 'Y')).to_clob
,p_version_scn=>15762486808472
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062257235305697546)
,p_plugin_type=>'REGION TYPE'
,p_plugin=>'NATIVE_IR'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'actions_menu_structure', 'IG')).to_clob
,p_version_scn=>15762486808476
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062257510160697546)
,p_plugin_type=>'REGION TYPE'
,p_plugin=>'NATIVE_MAP_REGION'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'use_vector_tile_layers', 'Y')).to_clob
,p_version_scn=>15762486808479
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062257843500697546)
,p_plugin_type=>'WEB SOURCE TYPE'
,p_plugin=>'NATIVE_ADFBC'
,p_version_scn=>15762486808479
);
wwv_flow_imp_shared.create_plugin_setting(
 p_id=>wwv_flow_imp.id(163062258123404697546)
,p_plugin_type=>'WEB SOURCE TYPE'
,p_plugin=>'NATIVE_BOSS'
,p_version_scn=>15762486808479
);
end;
/
prompt --application/shared_components/security/authorizations/administration_rights
begin
wwv_flow_imp_shared.create_security_scheme(
 p_id=>wwv_flow_imp.id(163062264484210697561)
,p_name=>'Administration Rights'
,p_scheme_type=>'NATIVE_FUNCTION_BODY'
,p_attribute_01=>'return true;'
,p_error_message=>'Insufficient privileges, user is not an Administrator'
,p_version_scn=>15762486808562
,p_caching=>'BY_USER_BY_PAGE_VIEW'
);
end;
/
prompt --application/shared_components/navigation/navigation_bar
begin
null;
end;
/
prompt --application/shared_components/logic/application_settings
begin
null;
end;
/
prompt --application/shared_components/navigation/tabs/standard
begin
null;
end;
/
prompt --application/shared_components/navigation/tabs/parent
begin
null;
end;
/
prompt --application/pages/page_groups
begin
wwv_flow_imp_page.create_page_group(
 p_id=>wwv_flow_imp.id(163062264739977697562)
,p_group_name=>'Administration'
);
end;
/
prompt --application/comments
begin
null;
end;
/
prompt --application/shared_components/navigation/breadcrumbs/breadcrumb
begin
wwv_flow_imp_shared.create_menu(
 p_id=>wwv_flow_imp.id(163062259075553697548)
,p_name=>'Breadcrumb'
);
end;
/
prompt --application/shared_components/navigation/breadcrumbentry
begin
null;
end;
/
prompt --application/shared_components/user_interface/templates/popuplov
begin
null;
end;
/
prompt --application/shared_components/user_interface/themes
begin
wwv_flow_imp_shared.create_theme(
 p_id=>wwv_flow_imp.id(163062259984575697549)
,p_theme_id=>42
,p_theme_name=>'Universal Theme'
,p_theme_internal_name=>'UNIVERSAL_THEME'
,p_version_identifier=>'24.2'
,p_navigation_type=>'L'
,p_nav_bar_type=>'LIST'
,p_reference_id=>4072363937200175119
,p_is_locked=>false
,p_current_theme_style_id=>1939904515211033942
,p_default_page_template=>4072355960268175073
,p_default_dialog_template=>2100407606326202693
,p_error_template=>2101157952850466385
,p_printer_friendly_template=>4072355960268175073
,p_login_template=>2101157952850466385
,p_default_button_template=>4072362960822175091
,p_default_region_template=>4072358936313175081
,p_default_chart_template=>4072358936313175081
,p_default_form_template=>4072358936313175081
,p_default_reportr_template=>4072358936313175081
,p_default_tabform_template=>4072358936313175081
,p_default_wizard_template=>4072358936313175081
,p_default_menur_template=>2531463326621247859
,p_default_listr_template=>4072358936313175081
,p_default_irr_template=>2100526641005906379
,p_default_report_template=>2538654340625403440
,p_default_label_template=>1609121967514267634
,p_default_menu_template=>4072363345357175094
,p_default_calendar_template=>4072363550766175095
,p_default_list_template=>4072361143931175087
,p_default_nav_list_template=>2526754704087354841
,p_default_top_nav_list_temp=>2526754704087354841
,p_default_side_nav_list_temp=>2467739217141810545
,p_default_nav_list_position=>'SIDE'
,p_default_dialogbtnr_template=>2126429139436695430
,p_default_dialogr_template=>4501440665235496320
,p_default_option_label=>1609121967514267634
,p_default_required_label=>1609122147107268652
,p_default_navbar_list_template=>2847543055748234966
,p_file_prefix => nvl(wwv_flow_application_install.get_static_theme_file_prefix(42),'#APEX_FILES#themes/theme_42/24.2/')
,p_files_version=>64
,p_icon_library=>'FONTAPEX'
,p_javascript_file_urls=>wwv_flow_string.join(wwv_flow_t_varchar2(
'#APEX_FILES#libraries/apex/#MIN_DIRECTORY#widget.stickyWidget#MIN#.js?v=#APEX_VERSION#',
'#THEME_FILES#js/theme42#MIN#.js?v=#APEX_VERSION#'))
,p_css_file_urls=>'#THEME_FILES#css/Core#MIN#.css?v=#APEX_VERSION#'
);
end;
/
prompt --application/shared_components/user_interface/theme_style
begin
null;
end;
/
prompt --application/shared_components/user_interface/theme_files
begin
null;
end;
/
prompt --application/shared_components/user_interface/template_opt_groups
begin
null;
end;
/
prompt --application/shared_components/user_interface/template_options
begin
null;
end;
/
prompt --application/shared_components/globalization/language
begin
null;
end;
/
prompt --application/shared_components/globalization/translations
begin
null;
end;
/
prompt --application/shared_components/logic/build_options
begin
wwv_flow_imp_shared.create_build_option(
 p_id=>wwv_flow_imp.id(163062258492647697547)
,p_build_option_name=>'Commented Out'
,p_build_option_status=>'EXCLUDE'
,p_version_scn=>15762486808485
);
end;
/
prompt --application/shared_components/globalization/messages
begin
null;
end;
/
prompt --application/shared_components/globalization/dyntranslations
begin
null;
end;
/
prompt --application/shared_components/security/authentications/oracle_apex_accounts
begin
wwv_flow_imp_shared.create_authentication(
 p_id=>wwv_flow_imp.id(163062258727897697547)
,p_name=>'Oracle APEX Accounts'
,p_scheme_type=>'NATIVE_APEX_ACCOUNTS'
,p_invalid_session_type=>'LOGIN'
,p_use_secure_cookie_yn=>'N'
,p_ras_mode=>0
,p_version_scn=>15762486808485
);
end;
/
prompt --application/user_interfaces/combined_files
begin
null;
end;
/
prompt --application/pages/page_00000
begin
wwv_flow_imp_page.create_page(
 p_id=>0
,p_name=>'Global Page'
,p_step_title=>'Global Page'
,p_autocomplete_on_off=>'OFF'
,p_page_template_options=>'#DEFAULT#'
,p_protection_level=>'D'
,p_page_component_map=>'14'
);
end;
/
prompt --application/pages/page_00040
begin
wwv_flow_imp_page.create_page(
 p_id=>40
,p_name=>'AI Document Designer'
,p_alias=>'AI-DOCUMENT-DESIGNER'
,p_step_title=>'AI Document Designer'
,p_warn_on_unsaved_changes=>'N'
,p_autocomplete_on_off=>'OFF'
,p_javascript_file_urls=>wwv_flow_string.join(wwv_flow_t_varchar2(
'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/jspdf/3.0.3/jspdf.umd.min.js'))
,p_javascript_code_onload=>wwv_flow_string.join(wwv_flow_t_varchar2(
'(function () {',
'    const generateButton = document.querySelector("#GENERATE_AI_DOCUMENT");',
'    const pdfButton = document.querySelector("#DOWNLOAD_PDF");',
'',
'    const box = document.querySelector("#aiDocProgressBox");',
'    const bar = document.querySelector("#aiDocProgressBar");',
'    const percent = document.querySelector("#aiDocProgressPercent");',
'    const title = document.querySelector("#aiDocProgressTitle");',
'    const message = document.querySelector("#aiDocProgressMessage");',
'    const preview = document.querySelector("#aiDocPreview");',
'',
'    let pulseTimer = null;',
'',
'    function setProgress(value, titleText, messageText, busy) {',
'        if (box) {',
'            box.style.display = "block";',
'            box.classList.toggle("is-busy", Boolean(busy));',
'            box.classList.toggle("is-indeterminate", value === null);',
'        }',
'',
'        if (bar) {',
'            if (value === null) {',
'                bar.style.width = "35%";',
'            } else {',
'                const safeValue = Math.max(0, Math.min(100, Number(value || 0)));',
'                bar.style.width = safeValue + "%";',
'            }',
'        }',
'',
'        if (percent) {',
'            if (value === null) {',
'                percent.textContent = "";',
'                percent.style.display = "none";',
'            } else {',
'                const safeValue = Math.max(0, Math.min(100, Number(value || 0)));',
'                percent.textContent = safeValue + "%";',
'                percent.style.display = "";',
'            }',
'        }',
'',
'        if (title) {',
'            title.textContent = titleText || "";',
'        }',
'',
'        if (message) {',
'            message.textContent = messageText || "";',
'        }',
'    }',
'',
'    function setButtonBusy(isBusy) {',
'        if (!generateButton) {',
'            return;',
'        }',
'',
'        generateButton.disabled = isBusy;',
'        generateButton.textContent = isBusy ? "Generating..." : "Generate AI Document";',
'    }',
'',
'    function stopPulse() {',
'        if (pulseTimer) {',
'            window.clearInterval(pulseTimer);',
'            pulseTimer = null;',
'        }',
'    }',
'',
'    function startAiPulse() {',
'        let dots = 0;',
'',
'        stopPulse();',
'',
'        pulseTimer = window.setInterval(function () {',
'            dots = (dots + 1) % 4;',
'',
'            if (message) {',
'                message.textContent = "AI is designing the report" + ".".repeat(dots);',
'            }',
'        }, 600);',
'    }',
'',
'    function getItemValue(itemName) {',
'        const item = apex.item(itemName);',
'',
'        if (!item) {',
'            return "";',
'        }',
'',
'        return item.getValue() || "";',
'    }',
'',
'    function getDefaultModel(provider) {',
'        if (provider === "GROQ") {',
'            return "openai/gpt-oss-120b";',
'        }',
'',
'        if (provider === "OPENAI") {',
'            return "gpt-4.1";',
'        }',
'',
'        if (provider === "ANTHROPIC") {',
'            return "claude-sonnet-4-5";',
'        }',
'',
'        if (provider === "GOOGLE") {',
'            return "gemini-2.5-flash";',
'        }',
'',
'        return "";',
'    }',
'',
'    function validateAiSettings() {',
'        const provider = getItemValue("P40_AI_PROVIDER").trim().toUpperCase();',
'        let model = getItemValue("P40_AI_MODEL").trim();',
'        const apiKey = getItemValue("P40_AI_API_KEY").trim();',
'',
'        const allowedProviders = ["GROQ", "OPENAI", "ANTHROPIC", "GOOGLE"];',
'',
'        if (!provider || !allowedProviders.includes(provider)) {',
'            return {',
'                valid: false,',
'                message: "Provider must be GROQ, OPENAI, ANTHROPIC, or GOOGLE."',
'            };',
'        }',
'',
'        if (!model) {',
'            model = getDefaultModel(provider);',
'        }',
'',
'        if (!model) {',
'            return {',
'                valid: false,',
'                message: "Model is required."',
'            };',
'        }',
'',
'        if (!apiKey) {',
'            return {',
'                valid: false,',
'                message: "API key is required."',
'            };',
'        }',
'',
'        return {',
'            valid: true,',
'            provider: provider,',
'            model: model,',
'            apiKey: apiKey',
'        };',
'    }',
'',
'    function generateReport() {',
'        const aiSettings = validateAiSettings();',
'',
'        if (!aiSettings.valid) {',
'            setProgress(100, "Failed", aiSettings.message, false);',
'            setButtonBusy(false);',
'            return;',
'        }',
'',
'        if (preview) {',
'            preview.innerHTML = "";',
'        }',
'',
'        setButtonBusy(true);',
'        setProgress(10, "Starting", "Preparing request...", false);',
'',
'        apex.server.process(',
'            "AI_DOC_PRECHECK",',
'            {',
'                pageItems: "#P40_SQL_QUERY,#P40_QUESTION,#P40_MAX_ROWS"',
'            },',
'            {',
'                dataType: "text",',
'                success: function (responseText) {',
'                    let data;',
'',
'                    try {',
'                        data = JSON.parse(responseText || "{}");',
'                    } catch (error) {',
'                        setProgress(',
'                            100,',
'                            "Failed",',
'                            "AI_DOC_PRECHECK did not return valid JSON. Response: " + (responseText || "[empty response]"),',
'                            false',
'                        );',
'                        setButtonBusy(false);',
'                        return;',
'                    }',
'',
'                    if (!data || data.success !== true) {',
'                        setProgress(',
'                            100,',
'                            "Failed",',
'                            data && data.error ? data.error : "SQL precheck failed.",',
'                            false',
'                        );',
'                        setButtonBusy(false);',
'                        return;',
'                    }',
'',
'                    setProgress(25, "SQL validated", "Metadata and sample rows are ready.", false);',
'',
'                    setTimeout(function () {',
'                        setProgress(null, "AI designing", "AI is designing the report...", true);',
'                        startAiPulse();',
'',
'                        apex.server.process(',
'                            "AI_DOC_GENERATE_HTML",',
'                            {',
'                                pageItems: "#P40_SQL_QUERY,#P40_QUESTION,#P40_MAX_ROWS",',
'                                x01: aiSettings.provider,',
'                                x02: aiSettings.model,',
'                                x03: aiSettings.apiKey',
'                            },',
'                            {',
'                                dataType: "text",',
'                                success: function (html) {',
'                                    stopPulse();',
'',
'                                    if (!html || html.trim().length === 0) {',
'                                        setProgress(100, "Failed", "AI returned empty HTML.", false);',
'                                        setButtonBusy(false);',
'                                        return;',
'                                    }',
'',
'                                    if (preview) {',
'                                        preview.innerHTML = html;',
'                                    }',
'',
'                                    setProgress(100, "Completed", "Report is ready.", false);',
'                                    setButtonBusy(false);',
'                                },',
'                                error: function (jqXHR, textStatus, errorThrown) {',
'                                    stopPulse();',
'',
'                                    const errorText =',
'                                        jqXHR && jqXHR.responseText',
'                                            ? jqXHR.responseText',
'                                            : errorThrown || textStatus || "AI generation failed.";',
'',
'                                    setProgress(100, "Failed", errorText, false);',
'                                    setButtonBusy(false);',
'                                }',
'                            }',
'                        );',
'                    }, 250);',
'                },',
'                error: function (jqXHR, textStatus, errorThrown) {',
'                    const errorText =',
'                        jqXHR && jqXHR.responseText',
'                            ? jqXHR.responseText',
'                            : errorThrown || textStatus || "SQL precheck failed.";',
'',
'                    setProgress(100, "Failed", errorText, false);',
'                    setButtonBusy(false);',
'                }',
'            }',
'        );',
'    }',
'',
'    async function downloadPdf() {',
'        const report = document.querySelector("#ai-doc-report");',
'',
'        if (!report) {',
'            apex.message.alert("Generate the report first.");',
'            return;',
'        }',
'',
'        if (!window.html2canvas || !window.jspdf || !window.jspdf.jsPDF) {',
'            apex.message.alert("PDF libraries are not loaded.");',
'            return;',
'        }',
'',
'        const originalText = pdfButton ? pdfButton.innerText : "";',
'',
'        function sanitizeGradientsForCanvas(root) {',
'            const allElements = [root].concat(Array.from(root.querySelectorAll("*")));',
'',
'            allElements.forEach(function (el) {',
'                const style = window.getComputedStyle(el);',
'',
'                const backgroundImage = style.backgroundImage || "";',
'                const borderImageSource = style.borderImageSource || "";',
'                const maskImage = style.maskImage || "";',
'                const webkitMaskImage = style.webkitMaskImage || "";',
'',
'                if (',
'                    backgroundImage.includes("gradient(") ||',
'                    backgroundImage.includes("linear-gradient") ||',
'                    backgroundImage.includes("radial-gradient") ||',
'                    backgroundImage.includes("conic-gradient")',
'                ) {',
'                    const backgroundColor = style.backgroundColor;',
'',
'                    el.style.backgroundImage = "none";',
'',
'                    if (',
'                        backgroundColor &&',
'                        backgroundColor !== "rgba(0, 0, 0, 0)" &&',
'                        backgroundColor !== "transparent"',
'                    ) {',
'                        el.style.backgroundColor = backgroundColor;',
'                    } else {',
'                        el.style.backgroundColor = "#ffffff";',
'                    }',
'                }',
'',
'                if (',
'                    borderImageSource.includes("gradient(") ||',
'                    borderImageSource.includes("linear-gradient") ||',
'                    borderImageSource.includes("radial-gradient") ||',
'                    borderImageSource.includes("conic-gradient")',
'                ) {',
'                    el.style.borderImage = "none";',
'                    el.style.borderImageSource = "none";',
'                }',
'',
'                if (',
'                    maskImage.includes("gradient(") ||',
'                    webkitMaskImage.includes("gradient(")',
'                ) {',
'                    el.style.maskImage = "none";',
'                    el.style.webkitMaskImage = "none";',
'                }',
'',
'                const colorProperties = [',
'                    "color",',
'                    "backgroundColor",',
'                    "borderColor",',
'                    "borderTopColor",',
'                    "borderRightColor",',
'                    "borderBottomColor",',
'                    "borderLeftColor",',
'                    "outlineColor",',
'                    "textDecorationColor"',
'                ];',
'',
'                colorProperties.forEach(function (propertyName) {',
'                    const value = style[propertyName];',
'',
'                    if (',
'                        value &&',
'                        (',
'                            value.includes("oklch(") ||',
'                            value.includes("lab(") ||',
'                            value.includes("lch(") ||',
'                            value.includes("color-mix(")',
'                        )',
'                    ) {',
'                        if (propertyName === "color") {',
'                            el.style.color = "#111827";',
'                        } else if (propertyName === "backgroundColor") {',
'                            el.style.backgroundColor = "#ffffff";',
'                        } else {',
'                            el.style[propertyName] = "#e5e7eb";',
'                        }',
'                    }',
'                });',
'            });',
'        }',
'',
'        try {',
'            if (pdfButton) {',
'                pdfButton.disabled = true;',
'                pdfButton.innerText = "Generating PDF...";',
'            }',
'',
'            if (document.fonts && document.fonts.ready) {',
'                await document.fonts.ready;',
'            }',
'',
'            await new Promise(function (resolve) {',
'                setTimeout(resolve, 300);',
'            });',
'',
'            const wrapper = document.createElement("div");',
'            wrapper.style.position = "fixed";',
'            wrapper.style.left = "-100000px";',
'            wrapper.style.top = "0";',
'            wrapper.style.width = report.scrollWidth + "px";',
'            wrapper.style.background = "#ffffff";',
'            wrapper.style.zIndex = "-1";',
'            wrapper.style.pointerEvents = "none";',
'            wrapper.style.overflow = "visible";',
'',
'            const clonedReport = report.cloneNode(true);',
'            clonedReport.style.width = report.scrollWidth + "px";',
'            clonedReport.style.maxWidth = "none";',
'            clonedReport.style.backgroundColor = "#ffffff";',
'            clonedReport.style.transform = "none";',
'',
'            wrapper.appendChild(clonedReport);',
'            document.body.appendChild(wrapper);',
'',
'            sanitizeGradientsForCanvas(clonedReport);',
'',
'            const canvas = await html2canvas(clonedReport, {',
'                scale: 2,',
'                useCORS: false,',
'                allowTaint: false,',
'                backgroundColor: "#ffffff",',
'                logging: false,',
'                imageTimeout: 0,',
'                windowWidth: clonedReport.scrollWidth,',
'                windowHeight: clonedReport.scrollHeight,',
'                scrollX: 0,',
'                scrollY: 0',
'            });',
'',
'            if (wrapper.parentNode) {',
'                document.body.removeChild(wrapper);',
'            }',
'',
'            if (!canvas || canvas.width === 0 || canvas.height === 0) {',
'                throw new Error("html2canvas returned an empty canvas.");',
'            }',
'',
'            const pdf = new window.jspdf.jsPDF({',
'                orientation: "portrait",',
'                unit: "pt",',
'                format: "a4",',
'                compress: true',
'            });',
'',
'            const pageWidth = pdf.internal.pageSize.getWidth();',
'            const pageHeight = pdf.internal.pageSize.getHeight();',
'',
'            const imgScale = pageWidth / canvas.width;',
'            const pdfPageHeightInCanvasPixels = Math.floor(pageHeight / imgScale);',
'',
'            let sourceY = 0;',
'            let firstPage = true;',
'',
'            while (sourceY < canvas.height) {',
'                const sliceHeight = Math.min(',
'                    pdfPageHeightInCanvasPixels,',
'                    canvas.height - sourceY',
'                );',
'',
'                const pageCanvas = document.createElement("canvas");',
'                pageCanvas.width = canvas.width;',
'                pageCanvas.height = sliceHeight;',
'',
'                const ctx = pageCanvas.getContext("2d");',
'',
'                if (!ctx) {',
'                    throw new Error("Could not create canvas rendering context.");',
'                }',
'',
'                ctx.fillStyle = "#ffffff";',
'                ctx.fillRect(0, 0, pageCanvas.width, pageCanvas.height);',
'',
'                ctx.drawImage(',
'                    canvas,',
'                    0,',
'                    sourceY,',
'                    canvas.width,',
'                    sliceHeight,',
'                    0,',
'                    0,',
'                    canvas.width,',
'                    sliceHeight',
'                );',
'',
'                const imgData = pageCanvas.toDataURL("image/jpeg", 0.95);',
'                const slicePdfHeight = sliceHeight * imgScale;',
'',
'                if (!firstPage) {',
'                    pdf.addPage();',
'                }',
'',
'                pdf.addImage(',
'                    imgData,',
'                    "JPEG",',
'                    0,',
'                    0,',
'                    pageWidth,',
'                    slicePdfHeight,',
'                    undefined,',
'                    "FAST"',
'                );',
'',
'                firstPage = false;',
'                sourceY += sliceHeight;',
'            }',
'',
'            pdf.save("ai-designed-report.pdf");',
'        } catch (error) {',
'            console.error("PDF generation failed:", error);',
'',
'            apex.message.alert(',
'                "PDF generation failed:\n\n" +',
'                (error && error.message ? error.message : String(error))',
'            );',
'        } finally {',
'            const tempWrappers = document.querySelectorAll("div[style*=''-100000px'']");',
'',
'            tempWrappers.forEach(function (el) {',
'                if (el && el.parentNode) {',
'                    el.parentNode.removeChild(el);',
'                }',
'            });',
'',
'            if (pdfButton) {',
'                pdfButton.disabled = false;',
'                pdfButton.innerText = originalText || "Download PDF";',
'            }',
'        }',
'    }',
'',
'    if (generateButton) {',
'        generateButton.addEventListener("click", function (event) {',
'            event.preventDefault();',
'            generateReport();',
'        });',
'    }',
'',
'    if (pdfButton) {',
'        pdfButton.addEventListener("click", function (event) {',
'            event.preventDefault();',
'            downloadPdf();',
'        });',
'    }',
'})();'))
,p_inline_css=>wwv_flow_string.join(wwv_flow_t_varchar2(
'#aiDocProgressBox.is-indeterminate #aiDocProgressBar {',
'    width: 35%;',
'    animation: aiDocIndeterminate 1.2s ease-in-out infinite;',
'}',
'',
'@keyframes aiDocIndeterminate {',
'    0% {',
'        margin-left: -35%;',
'    }',
'',
'    50% {',
'        margin-left: 45%;',
'    }',
'',
'    100% {',
'        margin-left: 100%;',
'    }',
'}'))
,p_page_template_options=>'#DEFAULT#'
,p_protection_level=>'C'
,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2(
'Google ',
'Model=gemini-3.1-pro-preview',
'API Key="YOUR_API_KEY"',
'',
'',
'OpenAI',
'Model=gpt-5.5',
'API Key="YOUR_API_KEY"',
'',
'',
'Groq',
'Model=openai/gpt-oss-120b',
'API Key="YOUR_API_KEY"',
'',
'',
'',
'',
'#Query',
'select',
'    d.deptno,',
'    d.dname,',
'    d.loc,',
'    e.empno,',
'    e.ename,',
'    e.job,',
'    e.mgr,',
'    e.hiredate,',
'    e.sal,',
'    e.comm',
'from dept d',
'left join emp e',
'    on e.deptno = d.deptno',
'order by',
'    d.deptno,',
'    e.job,',
'    e.sal desc nulls last,',
'    e.ename',
'',
'',
'',
'',
'',
'',
'#Prompt',
'',
'Create a premium board-level workforce and department PDF report from this data.',
'',
'This report must combine departments and employees into one executive document. Do not create a flat database table.',
'',
'Design the report as a polished HR and organization structure report grouped by department.',
'',
'Mandatory structure:',
'1. Premium executive cover/header.',
'2. Executive summary based only on the provided data.',
'3. KPI cards for:',
'   - Total departments',
'   - Total employees',
'   - Total salary',
'   - Average salary',
'   - Number of jobs',
'4. Department sections grouped by DNAME.',
'5. Each department section must show:',
'   - Department name',
'   - Department number',
'   - Location',
'   - Employee count',
'   - Total salary',
'   - Average salary',
'   - Jobs represented in that department',
'6. Under each department, show employee details:',
'   - Employee name',
'   - Job',
'   - Hire date',
'   - Manager number',
'   - Salary',
'   - Commission if available',
'7. Add CSS-only visual salary bars comparing departments.',
'8. Add CSS-only job distribution or job badges inside each department.',
'9. Use cards, badges, visual hierarchy, spacing, section dividers, and strong colors.',
'10. Make it A4 print-ready and suitable for PDF export.',
'',
'Important rules:',
'- Use only the provided data.',
'- Do not invent values.',
'- Do not output a simple flat table.',
'- Do not group by JOB first. The primary grouping must be by department.',
'- If a department has no employees, still show the department section and clearly indicate that no employees are assigned.',
'- Make the final result look like a professionally designed board-level HR report, not a SQL query export.'))
,p_page_component_map=>'13'
);
wwv_flow_imp_page.create_page_plug(
 p_id=>wwv_flow_imp.id(133399637396049325332)
,p_plug_name=>'AI Document Workspace'
,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
,p_plug_template=>4072358936313175081
,p_plug_display_sequence=>50
,p_location=>null
,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
'<div id="aiDocProgressBox" style="display:none; margin:16px 0; padding:16px; border:1px solid #dbeafe; border-radius:14px; background:#eff6ff; font-family:Inter,Arial,sans-serif;">',
'  <div style="display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:10px;">',
'    <strong id="aiDocProgressTitle" style="color:#0f172a;">Preparing report...</strong>',
'    <span id="aiDocProgressPercent" style="color:#1d4ed8; font-weight:700;">0%</span>',
'  </div>',
'',
'  <div style="height:12px; background:#dbeafe; border-radius:999px; overflow:hidden;">',
'    <div id="aiDocProgressBar" style="height:12px; width:0%; background:linear-gradient(90deg,#2563eb,#16a34a); border-radius:999px; transition:width .35s ease;"></div>',
'  </div>',
'',
'  <div id="aiDocProgressMessage" style="margin-top:10px; color:#334155; font-size:13px;">Waiting...</div>',
'</div>',
'',
'<div id="aiDocPreview"></div>'))
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'expand_shortcuts', 'N',
  'output_as', 'HTML')).to_clob
);
wwv_flow_imp_page.create_page_plug(
 p_id=>wwv_flow_imp.id(133399637811433325337)
,p_plug_name=>'AI Settings'
,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
,p_plug_template=>4072358936313175081
,p_plug_display_sequence=>10
,p_location=>null
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'expand_shortcuts', 'N',
  'output_as', 'HTML')).to_clob
);
wwv_flow_imp_page.create_page_button(
 p_id=>wwv_flow_imp.id(133399636706097325326)
,p_button_sequence=>10
,p_button_plug_id=>wwv_flow_imp.id(133399637396049325332)
,p_button_name=>'GENERATE_AI_DOCUMENT'
,p_button_static_id=>'GENERATE_AI_DOCUMENT'
,p_button_action=>'DEFINED_BY_DA'
,p_button_template_options=>'#DEFAULT#'
,p_button_template_id=>4072362960822175091
,p_button_image_alt=>'Generate Ai Document'
,p_button_position=>'EDIT'
,p_warn_on_unsaved_changes=>null
);
wwv_flow_imp_page.create_page_button(
 p_id=>wwv_flow_imp.id(133399637068706325329)
,p_button_sequence=>20
,p_button_plug_id=>wwv_flow_imp.id(133399637396049325332)
,p_button_name=>'DOWNLOAD_PDF'
,p_button_static_id=>'DOWNLOAD_PDF'
,p_button_action=>'DEFINED_BY_DA'
,p_button_template_options=>'#DEFAULT#'
,p_button_template_id=>4072362960822175091
,p_button_image_alt=>'Download Pdf'
,p_button_position=>'EDIT'
,p_warn_on_unsaved_changes=>null
,p_button_css_classes=>'no-print'
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399636342830325322)
,p_name=>'P40_SQL_QUERY'
,p_item_sequence=>20
,p_prompt=>'Sql Query'
,p_display_as=>'NATIVE_TEXTAREA'
,p_cSize=>30
,p_cHeight=>5
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'auto_height', 'N',
  'character_counter', 'N',
  'resizable', 'Y',
  'trim_spaces', 'BOTH')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399636456339325323)
,p_name=>'P40_QUESTION'
,p_item_sequence=>30
,p_prompt=>'Question'
,p_display_as=>'NATIVE_TEXTAREA'
,p_cSize=>30
,p_cHeight=>5
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'auto_height', 'N',
  'character_counter', 'N',
  'resizable', 'Y',
  'trim_spaces', 'BOTH')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399636557868325324)
,p_name=>'P40_MAX_ROWS'
,p_item_sequence=>40
,p_prompt=>'Max Rows'
,p_display_as=>'NATIVE_NUMBER_FIELD'
,p_cSize=>30
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'number_alignment', 'left',
  'virtual_keyboard', 'decimal')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399637947774325338)
,p_name=>'P40_AI_PROVIDER'
,p_item_sequence=>10
,p_item_plug_id=>wwv_flow_imp.id(133399637811433325337)
,p_item_default=>'GROQ'
,p_prompt=>'Provider'
,p_display_as=>'NATIVE_SELECT_LIST'
,p_lov=>'STATIC2:Groq;GROQ,OpenAI;OPENAI,Anthropic;ANTHROPIC,Google;GOOGLE'
,p_lov_display_null=>'YES'
,p_cHeight=>1
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_lov_display_extra=>'NO'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'page_action_on_selection', 'NONE')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399638143307325340)
,p_name=>'P40_AI_MODEL'
,p_item_sequence=>30
,p_item_plug_id=>wwv_flow_imp.id(133399637811433325337)
,p_item_default=>'openai/gpt-oss-120b'
,p_prompt=>'Model'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>30
,p_begin_on_new_line=>'N'
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'disabled', 'N',
  'submit_when_enter_pressed', 'N',
  'subtype', 'TEXT',
  'trim_spaces', 'BOTH')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(133399638268770325341)
,p_name=>'P40_AI_API_KEY'
,p_item_sequence=>40
,p_item_plug_id=>wwv_flow_imp.id(133399637811433325337)
,p_prompt=>'API Key'
,p_display_as=>'NATIVE_PASSWORD'
,p_cSize=>30
,p_begin_on_new_line=>'N'
,p_field_template=>1609121967514267634
,p_item_template_options=>'#DEFAULT#'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'submit_when_enter_pressed', 'N')).to_clob
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(133399637404788325333)
,p_process_sequence=>10
,p_process_point=>'ON_DEMAND'
,p_process_type=>'NATIVE_PLSQL'
,p_process_name=>'AI_DOC_PRECHECK'
,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2(
'declare',
'    l_metadata clob;',
'    l_sample   clob;',
'    l_json     clob;',
'',
'    procedure print_clob(',
'        p_clob in clob',
'    ) is',
'        l_pos   number := 1;',
'        l_len   number;',
'        l_chunk varchar2(32767);',
'    begin',
'        if p_clob is null then',
'            return;',
'        end if;',
'',
'        l_len := dbms_lob.getlength(p_clob);',
'',
'        while l_pos <= l_len loop',
'            l_chunk := dbms_lob.substr(p_clob, 32767, l_pos);',
'            htp.prn(l_chunk);',
'            l_pos := l_pos + 32767;',
'        end loop;',
'    end;',
'begin',
'    l_metadata := ai_doc_designer_pkg.describe_query_json(',
'        p_sql => :P40_SQL_QUERY',
'    );',
'',
'    l_sample := ai_doc_designer_pkg.query_data_json(',
'        p_sql      => :P40_SQL_QUERY,',
'        p_max_rows => 5',
'    );',
'',
'    apex_json.initialize_clob_output;',
'    apex_json.open_object;',
'    apex_json.write(''success'', true);',
'    apex_json.write(''message'', ''SQL validated and sample data prepared.'');',
'    apex_json.close_object;',
'',
'    l_json := apex_json.get_clob_output;',
'    apex_json.free_output;',
'',
'    print_clob(l_json);',
'exception',
'    when others then',
'        apex_json.initialize_clob_output;',
'        apex_json.open_object;',
'        apex_json.write(''success'', false);',
'        apex_json.write(''error'', sqlerrm);',
'        apex_json.close_object;',
'',
'        l_json := apex_json.get_clob_output;',
'        apex_json.free_output;',
'',
'        print_clob(l_json);',
'end;'))
,p_process_clob_language=>'PLSQL'
,p_internal_uid=>133399637404788325333
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(133399637550528325334)
,p_process_sequence=>20
,p_process_point=>'ON_DEMAND'
,p_process_type=>'NATIVE_PLSQL'
,p_process_name=>'AI_DOC_GENERATE_HTML'
,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2(
'declare',
'    l_html clob;',
'',
'    procedure print_clob(',
'        p_clob in clob',
'    ) is',
'        l_pos   number := 1;',
'        l_len   number;',
'        l_chunk varchar2(32767);',
'    begin',
'        if p_clob is null then',
'            return;',
'        end if;',
'',
'        l_len := dbms_lob.getlength(p_clob);',
'',
'        while l_pos <= l_len loop',
'            l_chunk := dbms_lob.substr(p_clob, 32767, l_pos);',
'            htp.prn(l_chunk);',
'            l_pos := l_pos + 32767;',
'        end loop;',
'    end;',
'begin',
'    l_html := ai_doc_designer_pkg.generate_report_html(',
'        p_sql       => :P40_SQL_QUERY,',
'        p_question  => :P40_QUESTION,',
'        p_max_rows  => nvl(to_number(:P40_MAX_ROWS), 50),',
'        p_provider  => apex_application.g_x01,',
'        p_model     => apex_application.g_x02,',
'        p_api_key   => apex_application.g_x03',
'    );',
'',
'    print_clob(l_html);',
'end;'))
,p_process_clob_language=>'PLSQL'
,p_internal_uid=>133399637550528325334
);
end;
/
prompt --application/pages/page_09999
begin
wwv_flow_imp_page.create_page(
 p_id=>9999
,p_name=>'Login Page'
,p_alias=>'LOGIN'
,p_step_title=>'APEX SMARTDOCS - Log In'
,p_warn_on_unsaved_changes=>'N'
,p_first_item=>'AUTO_FIRST_ITEM'
,p_autocomplete_on_off=>'OFF'
,p_step_template=>2101157952850466385
,p_page_template_options=>'#DEFAULT#'
,p_page_is_public_y_n=>'Y'
,p_protection_level=>'C'
,p_page_component_map=>'12'
);
wwv_flow_imp_page.create_page_plug(
 p_id=>wwv_flow_imp.id(163062265307862697564)
,p_plug_name=>'APEX SMARTDOCS'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>2674157997338192145
,p_plug_display_sequence=>10
,p_region_image=>'#APP_FILES#icons/app-icon-512.png'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'expand_shortcuts', 'N',
  'output_as', 'HTML',
  'show_line_breaks', 'Y')).to_clob
);
wwv_flow_imp_page.create_page_button(
 p_id=>wwv_flow_imp.id(163062267051999697568)
,p_button_sequence=>40
,p_button_plug_id=>wwv_flow_imp.id(163062265307862697564)
,p_button_name=>'LOGIN'
,p_button_action=>'SUBMIT'
,p_button_template_options=>'#DEFAULT#'
,p_button_template_id=>4072362960822175091
,p_button_is_hot=>'Y'
,p_button_image_alt=>'Sign In'
,p_button_position=>'NEXT'
,p_button_alignment=>'LEFT'
,p_grid_new_row=>'Y'
,p_grid_new_column=>'Y'
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(163062265811569697566)
,p_name=>'P9999_USERNAME'
,p_item_sequence=>10
,p_item_plug_id=>wwv_flow_imp.id(163062265307862697564)
,p_prompt=>'Username'
,p_placeholder=>'Username'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>40
,p_cMaxlength=>100
,p_tag_attributes=>'autocomplete="username"'
,p_label_alignment=>'RIGHT'
,p_field_template=>2040785906935475274
,p_item_icon_css_classes=>'fa-user'
,p_item_template_options=>'#DEFAULT#'
,p_is_persistent=>'N'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'disabled', 'N',
  'submit_when_enter_pressed', 'N',
  'subtype', 'TEXT',
  'trim_spaces', 'BOTH')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(163062266207439697567)
,p_name=>'P9999_PASSWORD'
,p_item_sequence=>20
,p_item_plug_id=>wwv_flow_imp.id(163062265307862697564)
,p_prompt=>'Password'
,p_placeholder=>'Password'
,p_display_as=>'NATIVE_PASSWORD'
,p_cSize=>40
,p_cMaxlength=>100
,p_tag_attributes=>'autocomplete="current-password"'
,p_label_alignment=>'RIGHT'
,p_field_template=>2040785906935475274
,p_item_icon_css_classes=>'fa-key'
,p_item_template_options=>'#DEFAULT#'
,p_is_persistent=>'N'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'submit_when_enter_pressed', 'Y')).to_clob
);
wwv_flow_imp_page.create_page_item(
 p_id=>wwv_flow_imp.id(163062266697051697567)
,p_name=>'P9999_REMEMBER'
,p_item_sequence=>30
,p_item_plug_id=>wwv_flow_imp.id(163062265307862697564)
,p_prompt=>'Remember username'
,p_display_as=>'NATIVE_SINGLE_CHECKBOX'
,p_label_alignment=>'RIGHT'
,p_display_when=>'apex_authentication.persistent_cookies_enabled'
,p_display_when2=>'PLSQL'
,p_display_when_type=>'EXPRESSION'
,p_field_template=>2040785906935475274
,p_item_template_options=>'#DEFAULT#'
,p_escape_on_http_output=>'N'
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
  'checked_value', '',
  'unchecked_value', '',
  'use_defaults', 'Y')).to_clob
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(163062269233415697570)
,p_process_sequence=>10
,p_process_point=>'AFTER_SUBMIT'
,p_process_type=>'NATIVE_INVOKE_API'
,p_process_name=>'Set Username Cookie'
,p_attribute_01=>'PLSQL_PACKAGE'
,p_attribute_03=>'APEX_AUTHENTICATION'
,p_attribute_04=>'SEND_LOGIN_USERNAME_COOKIE'
,p_error_display_location=>'INLINE_IN_NOTIFICATION'
,p_internal_uid=>163062269233415697570
);
wwv_flow_imp_shared.create_invokeapi_comp_param(
 p_id=>wwv_flow_imp.id(163062269799887697570)
,p_page_process_id=>wwv_flow_imp.id(163062269233415697570)
,p_page_id=>9999
,p_name=>'p_username'
,p_direction=>'IN'
,p_data_type=>'VARCHAR2'
,p_has_default=>false
,p_display_sequence=>1
,p_value_type=>'EXPRESSION'
,p_value_language=>'PLSQL'
,p_value=>'lower( :P9999_USERNAME )'
);
wwv_flow_imp_shared.create_invokeapi_comp_param(
 p_id=>wwv_flow_imp.id(163062270292999697571)
,p_page_process_id=>wwv_flow_imp.id(163062269233415697570)
,p_page_id=>9999
,p_name=>'p_consent'
,p_direction=>'IN'
,p_data_type=>'BOOLEAN'
,p_has_default=>false
,p_display_sequence=>2
,p_value_type=>'ITEM'
,p_value=>'P9999_REMEMBER'
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(163062267311353697568)
,p_process_sequence=>20
,p_process_point=>'AFTER_SUBMIT'
,p_process_type=>'NATIVE_INVOKE_API'
,p_process_name=>'Login'
,p_attribute_01=>'PLSQL_PACKAGE'
,p_attribute_03=>'APEX_AUTHENTICATION'
,p_attribute_04=>'LOGIN'
,p_error_display_location=>'INLINE_IN_NOTIFICATION'
,p_internal_uid=>163062267311353697568
);
wwv_flow_imp_shared.create_invokeapi_comp_param(
 p_id=>wwv_flow_imp.id(163062267838482697569)
,p_page_process_id=>wwv_flow_imp.id(163062267311353697568)
,p_page_id=>9999
,p_name=>'p_username'
,p_direction=>'IN'
,p_data_type=>'VARCHAR2'
,p_has_default=>false
,p_display_sequence=>1
,p_value_type=>'ITEM'
,p_value=>'P9999_USERNAME'
);
wwv_flow_imp_shared.create_invokeapi_comp_param(
 p_id=>wwv_flow_imp.id(163062268388753697569)
,p_page_process_id=>wwv_flow_imp.id(163062267311353697568)
,p_page_id=>9999
,p_name=>'p_password'
,p_direction=>'IN'
,p_data_type=>'VARCHAR2'
,p_has_default=>false
,p_display_sequence=>2
,p_value_type=>'ITEM'
,p_value=>'P9999_PASSWORD'
);
wwv_flow_imp_shared.create_invokeapi_comp_param(
 p_id=>wwv_flow_imp.id(163062268888831697570)
,p_page_process_id=>wwv_flow_imp.id(163062267311353697568)
,p_page_id=>9999
,p_name=>'p_set_persistent_auth'
,p_direction=>'IN'
,p_data_type=>'BOOLEAN'
,p_has_default=>true
,p_display_sequence=>3
,p_value_type=>'API_DEFAULT'
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(163062271135462697571)
,p_process_sequence=>30
,p_process_point=>'AFTER_SUBMIT'
,p_process_type=>'NATIVE_SESSION_STATE'
,p_process_name=>'Clear Page(s) Cache'
,p_attribute_01=>'CLEAR_CACHE_CURRENT_PAGE'
,p_error_display_location=>'INLINE_IN_NOTIFICATION'
,p_internal_uid=>163062271135462697571
);
wwv_flow_imp_page.create_page_process(
 p_id=>wwv_flow_imp.id(163062270719632697571)
,p_process_sequence=>10
,p_process_point=>'BEFORE_HEADER'
,p_process_type=>'NATIVE_PLSQL'
,p_process_name=>'Get Username Cookie'
,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2(
':P9999_USERNAME := apex_authentication.get_login_username_cookie;',
':P9999_REMEMBER := case when :P9999_USERNAME is not null then ''Y'' end;'))
,p_process_clob_language=>'PLSQL'
,p_internal_uid=>163062270719632697571
);
end;
/
prompt --application/deployment/definition
begin
wwv_flow_imp_shared.create_install(
 p_id=>wwv_flow_imp.id(163144635745674456460)
);
end;
/
prompt --application/deployment/install/install_db_pkg
begin
wwv_flow_imp_shared.create_install_script(
 p_id=>wwv_flow_imp.id(163144677360929824292)
,p_install_id=>wwv_flow_imp.id(163144635745674456460)
,p_name=>'DB_PKG'
,p_sequence=>10
,p_script_type=>'INSTALL'
,p_script_clob=>wwv_flow_string.join(wwv_flow_t_varchar2(
'create or replace package ai_doc_designer_pkg as ',
'    function describe_query_json( ',
'        p_sql in clob ',
'    ) return clob; ',
' ',
'    function query_data_json( ',
'        p_sql in clob, ',
'        p_max_rows in number default 200 ',
'    ) return clob; ',
' ',
'    function validate_report_html( ',
'        p_html in clob ',
'    ) return varchar2; ',
' ',
'    function generate_report_html( ',
'        p_sql in clob, ',
'        p_question in varchar2, ',
'        p_max_rows in number default 200, ',
'        p_provider in varchar2 default ''GROQ'', ',
'        p_model in varchar2 default null, ',
'        p_api_key in varchar2 default null ',
'    ) return clob; ',
'end ai_doc_designer_pkg;',
'/',
'create or replace package body ai_doc_designer_pkg as ',
' ',
'    procedure append_vc( ',
'        p_clob in out nocopy clob, ',
'        p_text in varchar2 ',
'    ) is ',
'    begin ',
'        if p_text is not null then ',
'            dbms_lob.writeappend(p_clob, length(p_text), p_text); ',
'        end if; ',
'    end append_vc; ',
' ',
'    function json_escape( ',
'        p_text in varchar2 ',
'    ) return varchar2 is ',
'        l_text varchar2(32767) := p_text; ',
'    begin ',
'        if l_text is null then ',
'            return null; ',
'        end if; ',
' ',
'        l_text := replace(l_text, ''\'', ''\\''); ',
'        l_text := replace(l_text, ''"'', ''\"''); ',
'        l_text := replace(l_text, chr(8), ''''); ',
'        l_text := replace(l_text, chr(9), ''\t''); ',
'        l_text := replace(l_text, chr(10), ''\n''); ',
'        l_text := replace(l_text, chr(12), ''''); ',
'        l_text := replace(l_text, chr(13), ''\r''); ',
' ',
'        return l_text; ',
'    end json_escape; ',
' ',
'    function normalize_sql( ',
'        p_sql in clob ',
'    ) return varchar2 is ',
'        l_sql varchar2(32767); ',
'    begin ',
'        if p_sql is null then ',
'            raise_application_error(-20001, ''SQL query is required.''); ',
'        end if; ',
' ',
'        if dbms_lob.getlength(p_sql) > 32000 then ',
'            raise_application_error(-20002, ''SQL query is too long.''); ',
'        end if; ',
' ',
'        l_sql := trim(dbms_lob.substr(p_sql, 32000, 1)); ',
'        l_sql := regexp_replace(l_sql, '';[[:space:]]*$'', ''''); ',
' ',
'        if not regexp_like(l_sql, ''^[[:space:]]*select[[:space:]]+'', ''i'') then ',
'            raise_application_error(-20003, ''Only SELECT statements are allowed.''); ',
'        end if; ',
' ',
'        if instr(l_sql, '';'') > 0 then ',
'            raise_application_error(-20004, ''Multiple SQL statements are not allowed.''); ',
'        end if; ',
' ',
'        if regexp_like(l_sql, ''(/\*|\*/|--)'', ''i'') then ',
'            raise_application_error(-20005, ''SQL comments are not allowed.''); ',
'        end if; ',
' ',
'        if regexp_like( ',
'            upper(l_sql), ',
'            ''(^|[^A-Z0-9_])(INSERT|UPDATE|DELETE|MERGE|DROP|ALTER|TRUNCATE|CREATE|GRANT|REVOKE|COMMIT|ROLLBACK|EXECUTE|BEGIN|DECLARE|CALL)([^A-Z0-9_]|$)'' ',
'        ) then ',
'            raise_application_error(-20006, ''Unsafe SQL keyword detected.''); ',
'        end if; ',
' ',
'        return l_sql; ',
'    end normalize_sql; ',
' ',
'    function data_type_name( ',
'        p_type_code in number ',
'    ) return varchar2 is ',
'    begin ',
'        return case p_type_code ',
'            when 1 then ''VARCHAR2'' ',
'            when 2 then ''NUMBER'' ',
'            when 8 then ''LONG'' ',
'            when 12 then ''DATE'' ',
'            when 23 then ''RAW'' ',
'            when 96 then ''CHAR'' ',
'            when 100 then ''BINARY_FLOAT'' ',
'            when 101 then ''BINARY_DOUBLE'' ',
'            when 112 then ''CLOB'' ',
'            when 113 then ''BLOB'' ',
'            when 180 then ''TIMESTAMP'' ',
'            when 181 then ''TIMESTAMP WITH TIME ZONE'' ',
'            when 231 then ''TIMESTAMP WITH LOCAL TIME ZONE'' ',
'            else ''TYPE_'' || p_type_code ',
'        end; ',
'    end data_type_name; ',
' ',
'    function strip_html_fence( ',
'        p_text in clob ',
'    ) return clob is ',
'        l_text clob := p_text; ',
'    begin ',
'        l_text := replace(l_text, ''```html'', ''''); ',
'        l_text := replace(l_text, ''```HTML'', ''''); ',
'        l_text := replace(l_text, ''```'', ''''); ',
'        return trim(l_text); ',
'    end strip_html_fence; ',
' ',
'    function normalize_provider( ',
'        p_provider in varchar2 ',
'    ) return varchar2 is ',
'        l_provider varchar2(30); ',
'    begin ',
'        l_provider := upper(trim(nvl(p_provider, ''GROQ''))); ',
' ',
'        if l_provider not in (''GROQ'', ''OPENAI'', ''ANTHROPIC'', ''GOOGLE'') then ',
'            raise_application_error( ',
'                -20070, ',
'                ''Unsupported provider. Allowed providers: GROQ, OPENAI, ANTHROPIC, GOOGLE.'' ',
'            ); ',
'        end if; ',
' ',
'        return l_provider; ',
'    end normalize_provider; ',
' ',
'    function normalize_model( ',
'        p_provider in varchar2, ',
'        p_model in varchar2 ',
'    ) return varchar2 is ',
'        l_model varchar2(4000); ',
'    begin ',
'        l_model := trim(p_model); ',
' ',
'        if l_model is null then ',
'            if p_provider = ''GROQ'' then ',
'                l_model := ''openai/gpt-oss-120b''; ',
'            elsif p_provider = ''OPENAI'' then ',
'                l_model := ''gpt-4.1''; ',
'            elsif p_provider = ''ANTHROPIC'' then ',
'                l_model := ''claude-sonnet-4-5''; ',
'            elsif p_provider = ''GOOGLE'' then ',
'                l_model := ''gemini-2.5-flash''; ',
'            end if; ',
'        end if; ',
' ',
'        if length(l_model) > 300 then ',
'            raise_application_error(-20071, ''Model name is too long.''); ',
'        end if; ',
' ',
'        if not regexp_like(l_model, ''^[A-Za-z0-9._:/-]+$'') then ',
'            raise_application_error(-20072, ''Model name contains unsupported characters.''); ',
'        end if; ',
' ',
'        return l_model; ',
'    end normalize_model; ',
' ',
'    function provider_endpoint( ',
'        p_provider in varchar2, ',
'        p_model in varchar2 ',
'    ) return varchar2 is ',
'        l_model varchar2(4000); ',
'    begin ',
'        if p_provider = ''GROQ'' then ',
'            return ''https://api.groq.com/openai/v1/chat/completions''; ',
'        elsif p_provider = ''OPENAI'' then ',
'            return ''https://api.openai.com/v1/chat/completions''; ',
'        elsif p_provider = ''ANTHROPIC'' then ',
'            return ''https://api.anthropic.com/v1/messages''; ',
'        elsif p_provider = ''GOOGLE'' then ',
'            l_model := p_model; ',
' ',
'            if lower(substr(l_model, 1, 7)) = ''models/'' then ',
'                l_model := substr(l_model, 8); ',
'            end if; ',
' ',
'            return ''https://generativelanguage.googleapis.com/v1beta/models/'' || l_model || '':generateContent''; ',
'        end if; ',
' ',
'        raise_application_error(-20073, ''Unsupported provider endpoint.''); ',
'    end provider_endpoint; ',
' ',
'    procedure describe_query( ',
'        p_sql in varchar2, ',
'        p_cols out integer, ',
'        p_desc out dbms_sql.desc_tab2 ',
'    ) is ',
'        l_cursor integer; ',
'    begin ',
'        l_cursor := dbms_sql.open_cursor; ',
' ',
'        dbms_sql.parse( ',
'            l_cursor, ',
'            ''select * from ('' || p_sql || '') where 1 = 0'', ',
'            dbms_sql.native ',
'        ); ',
' ',
'        dbms_sql.describe_columns2(l_cursor, p_cols, p_desc); ',
'        dbms_sql.close_cursor(l_cursor); ',
'    exception ',
'        when others then ',
'            if dbms_sql.is_open(l_cursor) then ',
'                dbms_sql.close_cursor(l_cursor); ',
'            end if; ',
' ',
'            raise; ',
'    end describe_query; ',
' ',
'    procedure assert_supported_columns( ',
'        p_sql in varchar2 ',
'    ) is ',
'        l_cols integer; ',
'        l_desc dbms_sql.desc_tab2; ',
'    begin ',
'        describe_query(p_sql, l_cols, l_desc); ',
' ',
'        for i in 1 .. l_cols loop ',
'            if l_desc(i).col_type in (8, 112, 113) then ',
'                raise_application_error( ',
'                    -20008, ',
'                    ''Unsupported column type for column '' || ',
'                    l_desc(i).col_name || ',
'                    '': '' || ',
'                    data_type_name(l_desc(i).col_type) ',
'                ); ',
'            end if; ',
'        end loop; ',
'    end assert_supported_columns; ',
' ',
'    function describe_query_json( ',
'        p_sql in clob ',
'    ) return clob is ',
'        l_sql varchar2(32767); ',
'        l_cols integer; ',
'        l_desc dbms_sql.desc_tab2; ',
'        l_json clob; ',
'    begin ',
'        l_sql := normalize_sql(p_sql); ',
'        assert_supported_columns(l_sql); ',
'        describe_query(l_sql, l_cols, l_desc); ',
' ',
'        apex_json.initialize_clob_output; ',
'        apex_json.open_object; ',
'        apex_json.open_array(''columns''); ',
' ',
'        for i in 1 .. l_cols loop ',
'            apex_json.open_object; ',
'            apex_json.write(''ordinal'', i); ',
'            apex_json.write(''name'', l_desc(i).col_name); ',
'            apex_json.write(''data_type_code'', l_desc(i).col_type); ',
'            apex_json.write(''data_type'', data_type_name(l_desc(i).col_type)); ',
'            apex_json.write(''precision'', l_desc(i).col_precision); ',
'            apex_json.write(''scale'', l_desc(i).col_scale); ',
'            apex_json.close_object; ',
'        end loop; ',
' ',
'        apex_json.close_array; ',
'        apex_json.close_object; ',
' ',
'        l_json := apex_json.get_clob_output; ',
'        apex_json.free_output; ',
' ',
'        return l_json; ',
'    end describe_query_json; ',
' ',
'    function query_data_json( ',
'        p_sql in clob, ',
'        p_max_rows in number ',
'    ) return clob is ',
'        l_sql varchar2(32767); ',
'        l_cols integer; ',
'        l_desc dbms_sql.desc_tab2; ',
'        l_cursor integer; ',
'        l_status integer; ',
'        l_value varchar2(4000); ',
'        l_json clob; ',
'        l_row_count number := 0; ',
'        l_limit number := least(greatest(nvl(p_max_rows, 200), 1), 500); ',
'        l_first_row boolean := true; ',
'    begin ',
'        l_sql := normalize_sql(p_sql); ',
'        assert_supported_columns(l_sql); ',
'        describe_query(l_sql, l_cols, l_desc); ',
' ',
'        dbms_lob.createtemporary(l_json, true); ',
' ',
'        append_vc(l_json, ''{''); ',
'        append_vc(l_json, ''"max_rows":'' || l_limit || '',''); ',
'        append_vc(l_json, ''"columns":[''); ',
' ',
'        for i in 1 .. l_cols loop ',
'            if i > 1 then ',
'                append_vc(l_json, '',''); ',
'            end if; ',
' ',
'            append_vc(l_json, ''{''); ',
'            append_vc(l_json, ''"ordinal":'' || i || '',''); ',
'            append_vc(l_json, ''"name":"'' || json_escape(l_desc(i).col_name) || ''",''); ',
'            append_vc(l_json, ''"data_type":"'' || json_escape(data_type_name(l_desc(i).col_type)) || ''"''); ',
'            append_vc(l_json, ''}''); ',
'        end loop; ',
' ',
'        append_vc(l_json, ''],''); ',
'        append_vc(l_json, ''"rows":[''); ',
' ',
'        l_cursor := dbms_sql.open_cursor; ',
' ',
'        dbms_sql.parse( ',
'            l_cursor, ',
'            ''select * from ('' || l_sql || '') where rownum <= :b_max_rows'', ',
'            dbms_sql.native ',
'        ); ',
' ',
'        dbms_sql.bind_variable(l_cursor, '':b_max_rows'', l_limit); ',
'        dbms_sql.describe_columns2(l_cursor, l_cols, l_desc); ',
' ',
'        for i in 1 .. l_cols loop ',
'            dbms_sql.define_column(l_cursor, i, l_value, 4000); ',
'        end loop; ',
' ',
'        l_status := dbms_sql.execute(l_cursor); ',
' ',
'        while dbms_sql.fetch_rows(l_cursor) > 0 loop ',
'            l_row_count := l_row_count + 1; ',
' ',
'            if l_first_row then ',
'                l_first_row := false; ',
'            else ',
'                append_vc(l_json, '',''); ',
'            end if; ',
' ',
'            append_vc(l_json, ''{''); ',
' ',
'            for i in 1 .. l_cols loop ',
'                if i > 1 then ',
'                    append_vc(l_json, '',''); ',
'                end if; ',
' ',
'                dbms_sql.column_value(l_cursor, i, l_value); ',
' ',
'                append_vc(l_json, ''"'' || json_escape(l_desc(i).col_name) || ''":''); ',
' ',
'                if l_value is null then ',
'                    append_vc(l_json, ''null''); ',
'                else ',
'                    append_vc(l_json, ''"'' || json_escape(substr(l_value, 1, 1000)) || ''"''); ',
'                end if; ',
'            end loop; ',
' ',
'            append_vc(l_json, ''}''); ',
'        end loop; ',
' ',
'        dbms_sql.close_cursor(l_cursor); ',
' ',
'        append_vc(l_json, ''],''); ',
'        append_vc(l_json, ''"row_count_returned":'' || l_row_count); ',
'        append_vc(l_json, ''}''); ',
' ',
'        return l_json; ',
'    exception ',
'        when others then ',
'            if dbms_sql.is_open(l_cursor) then ',
'                dbms_sql.close_cursor(l_cursor); ',
'            end if; ',
' ',
'            raise; ',
'    end query_data_json; ',
' ',
'    procedure build_design_prompt( ',
'        p_question in varchar2, ',
'        p_columns_json in clob, ',
'        p_data_json in clob, ',
'        p_system out varchar2, ',
'        p_user out clob ',
'    ) is ',
'    begin ',
'        p_system := ',
'            ''You are a senior visual report designer and front-end document designer working inside Oracle APEX. '' || ',
'            ''Your only task is to return one complete self-contained printable HTML report. '' || ',
'            ''Return raw HTML only. Do not return JSON. Do not return markdown. Do not return code fences. Do not explain anything. '' || ',
'            ''The output must start with <div id="ai-doc-report"> and end with </div>. '' || ',
'            ''The output must include exactly one <style> tag inside #ai-doc-report. '' || ',
'            ''This is a premium PDF report design task, not a database table export. '' || ',
'            ''A plain flat table is not acceptable unless the dataset truly has no categories, no groups, no dates, and no numeric values. '' || ',
'            ''Before designing, infer the best report structure from the user request, the column metadata, and the data rows. '' || ',
'            ''Use the actual data values only. Do not invent values, totals, names, labels, categories, or insights. '' || ',
'            ''Create a visually impressive A4 print-ready report using HTML and CSS only. '' || ',
'            ''Use strong visual hierarchy, a premium cover/header, typography scale, spacing, color palette, cards, badges, dividers, grouped sections, and clean data presentation. '' || ',
'            ''If the data contains categories or grouping fields, create grouped sections. '' || ',
'            ''If the user asks for grouping, grouping is mandatory. '' || ',
'            ''If the data contains employee/person/customer/product records, avoid a single flat table; use grouped sections, cards, or clean grouped detail tables. '' || ',
'            ''If numeric values exist, create KPI cards and CSS-only visual bars or ranking blocks. '' || ',
'            ''If date or time values exist, create a timeline or period-based visual section when useful. '' || ',
'            ''For charts, use CSS-only div-based visuals such as horizontal bars, progress bars, ranking bars, comparison blocks, and KPI cards. '' || ',
'            ''Do not use JavaScript, SVG, canvas, images, external fonts, external CSS, or external resources. '' || ',
'            ''Allowed HTML tags include div, section, header, main, article, h1, h2, h3, h4, p, span, strong, small, table, thead, tbody, tr, th, td, ul, ol, li, style, br. '' || ',
'            ''Do not use script, iframe, object, embed, form, input, button, link, meta, img, svg, canvas, video, or audio. '' || ',
'            ''The report must be designed for A4 PDF export. Use print-friendly CSS, page-break rules where appropriate, and avoid layouts that depend on viewport-only behavior. '' || ',
'            ''The final result must look like a professional document prepared by a high-end reporting team.''; ',
' ',
'        p_user := ',
'            ''User request:'' || chr(10) || ',
'            nvl(p_question, ''Create a premium PDF report from this data.'') || chr(10) || chr(10) || ',
'            ''Column metadata JSON:'' || chr(10) || ',
'            p_columns_json || chr(10) || chr(10) || ',
'            ''Data rows JSON:'' || chr(10) || ',
'            p_data_json || chr(10) || chr(10) || ',
'            ''Return the final raw HTML report only. No JSON. No markdown. No explanation.''; ',
'    end build_design_prompt; ',
' ',
'    function build_openai_compatible_payload( ',
'        p_model in varchar2, ',
'        p_system in varchar2, ',
'        p_user in clob ',
'    ) return clob is ',
'        l_payload clob; ',
'    begin ',
'        apex_json.initialize_clob_output; ',
'        apex_json.open_object; ',
' ',
'        apex_json.write(''model'', p_model); ',
'        apex_json.write(''max_completion_tokens'', 12000); ',
' ',
'        apex_json.open_array(''messages''); ',
' ',
'        apex_json.open_object; ',
'        apex_json.write(''role'', ''system''); ',
'        apex_json.write(''content'', p_system); ',
'        apex_json.close_object; ',
' ',
'        apex_json.open_object; ',
'        apex_json.write(''role'', ''user''); ',
'        apex_json.write(''content'', p_user); ',
'        apex_json.close_object; ',
' ',
'        apex_json.close_array; ',
'        apex_json.close_object; ',
' ',
'        l_payload := apex_json.get_clob_output; ',
'        apex_json.free_output; ',
' ',
'        return l_payload; ',
'    end build_openai_compatible_payload; ',
' ',
'    function build_anthropic_payload( ',
'        p_model in varchar2, ',
'        p_system in varchar2, ',
'        p_user in clob ',
'    ) return clob is ',
'        l_payload clob; ',
'    begin ',
'        apex_json.initialize_clob_output; ',
'        apex_json.open_object; ',
' ',
'        apex_json.write(''model'', p_model); ',
'        apex_json.write(''max_tokens'', 12000); ',
'        apex_json.write(''system'', p_system); ',
' ',
'        apex_json.open_array(''messages''); ',
' ',
'        apex_json.open_object; ',
'        apex_json.write(''role'', ''user''); ',
'        apex_json.write(''content'', p_user); ',
'        apex_json.close_object; ',
' ',
'        apex_json.close_array; ',
'        apex_json.close_object; ',
' ',
'        l_payload := apex_json.get_clob_output; ',
'        apex_json.free_output; ',
' ',
'        return l_payload; ',
'    end build_anthropic_payload; ',
' ',
'    function build_google_payload( ',
'        p_system in varchar2, ',
'        p_user in clob ',
'    ) return clob is ',
'        l_payload clob; ',
'    begin ',
'        apex_json.initialize_clob_output; ',
'        apex_json.open_object; ',
' ',
'        apex_json.open_object(''systemInstruction''); ',
'        apex_json.open_array(''parts''); ',
'        apex_json.open_object; ',
'        apex_json.write(''text'', p_system); ',
'        apex_json.close_object; ',
'        apex_json.close_array; ',
'        apex_json.close_object; ',
' ',
'        apex_json.open_array(''contents''); ',
'        apex_json.open_object; ',
'        apex_json.write(''role'', ''user''); ',
'        apex_json.open_array(''parts''); ',
'        apex_json.open_object; ',
'        apex_json.write(''text'', p_user); ',
'        apex_json.close_object; ',
'        apex_json.close_array; ',
'        apex_json.close_object; ',
'        apex_json.close_array; ',
' ',
'        apex_json.open_object(''generationConfig''); ',
'        apex_json.write(''maxOutputTokens'', 12000); ',
'        apex_json.close_object; ',
' ',
'        apex_json.close_object; ',
' ',
'        l_payload := apex_json.get_clob_output; ',
'        apex_json.free_output; ',
' ',
'        return l_payload; ',
'    end build_google_payload; ',
' ',
'    function build_provider_payload( ',
'        p_provider in varchar2, ',
'        p_model in varchar2, ',
'        p_system in varchar2, ',
'        p_user in clob ',
'    ) return clob is ',
'    begin ',
'        if p_provider in (''GROQ'', ''OPENAI'') then ',
'            return build_openai_compatible_payload( ',
'                p_model => p_model, ',
'                p_system => p_system, ',
'                p_user => p_user ',
'            ); ',
'        elsif p_provider = ''ANTHROPIC'' then ',
'            return build_anthropic_payload( ',
'                p_model => p_model, ',
'                p_system => p_system, ',
'                p_user => p_user ',
'            ); ',
'        elsif p_provider = ''GOOGLE'' then ',
'            return build_google_payload( ',
'                p_system => p_system, ',
'                p_user => p_user ',
'            ); ',
'        end if; ',
' ',
'        raise_application_error(-20074, ''Unsupported provider payload.''); ',
'    end build_provider_payload; ',
' ',
'    procedure set_provider_headers( ',
'        p_provider in varchar2, ',
'        p_api_key in varchar2 ',
'    ) is ',
'    begin ',
'        if trim(p_api_key) is null then ',
'            raise_application_error(-20064, ''API key is required.''); ',
'        end if; ',
' ',
'        apex_web_service.g_request_headers.delete; ',
' ',
'        apex_web_service.g_request_headers(1).name := ''Content-Type''; ',
'        apex_web_service.g_request_headers(1).value := ''application/json''; ',
' ',
'        if p_provider in (''GROQ'', ''OPENAI'') then ',
'            apex_web_service.g_request_headers(2).name := ''Authorization''; ',
'            apex_web_service.g_request_headers(2).value := ''Bearer '' || trim(p_api_key); ',
'        elsif p_provider = ''ANTHROPIC'' then ',
'            apex_web_service.g_request_headers(2).name := ''x-api-key''; ',
'            apex_web_service.g_request_headers(2).value := trim(p_api_key); ',
' ',
'            apex_web_service.g_request_headers(3).name := ''anthropic-version''; ',
'            apex_web_service.g_request_headers(3).value := ''2023-06-01''; ',
'        elsif p_provider = ''GOOGLE'' then ',
'            apex_web_service.g_request_headers(2).name := ''x-goog-api-key''; ',
'            apex_web_service.g_request_headers(2).value := trim(p_api_key); ',
'        else ',
'            raise_application_error(-20075, ''Unsupported provider headers.''); ',
'        end if; ',
'    end set_provider_headers; ',
' ',
'    function extract_provider_text( ',
'        p_provider in varchar2, ',
'        p_response in clob ',
'    ) return clob is ',
'        l_text clob; ',
'    begin ',
'        apex_json.parse(p_response); ',
' ',
'        if p_provider in (''GROQ'', ''OPENAI'') then ',
'            l_text := apex_json.get_clob( ',
'                p_path => ''choices[%d].message.content'', ',
'                p0 => 1 ',
'            ); ',
' ',
'            if l_text is null then ',
'                l_text := apex_json.get_clob( ',
'                    p_path => ''choices[%d].message.content'', ',
'                    p0 => 0 ',
'                ); ',
'            end if; ',
' ',
'        elsif p_provider = ''ANTHROPIC'' then ',
'            l_text := apex_json.get_clob( ',
'                p_path => ''content[%d].text'', ',
'                p0 => 1 ',
'            ); ',
' ',
'            if l_text is null then ',
'                l_text := apex_json.get_clob( ',
'                    p_path => ''content[%d].text'', ',
'                    p0 => 0 ',
'                ); ',
'            end if; ',
' ',
'        elsif p_provider = ''GOOGLE'' then ',
'            l_text := apex_json.get_clob( ',
'                p_path => ''candidates[%d].content.parts[%d].text'', ',
'                p0 => 1, ',
'                p1 => 1 ',
'            ); ',
' ',
'            if l_text is null then ',
'                l_text := apex_json.get_clob( ',
'                    p_path => ''candidates[%d].content.parts[%d].text'', ',
'                    p0 => 0, ',
'                    p1 => 0 ',
'                ); ',
'            end if; ',
'        end if; ',
' ',
'        return l_text; ',
'    exception ',
'        when others then ',
'            raise_application_error( ',
'                -20076, ',
'                ''Could not parse provider response. Raw response preview: '' || ',
'                dbms_lob.substr(p_response, 3000, 1) ',
'            ); ',
'    end extract_provider_text; ',
' ',
'    function validate_report_html( ',
'        p_html in clob ',
'    ) return varchar2 is ',
'        l_len number; ',
'        l_pos number := 1; ',
'        l_chunk varchar2(32767); ',
'        l_lower varchar2(32767); ',
'        l_first varchar2(32767); ',
'    begin ',
'        if p_html is null or dbms_lob.getlength(p_html) = 0 then ',
'            return ''HTML output is empty.''; ',
'        end if; ',
' ',
'        l_len := dbms_lob.getlength(p_html); ',
' ',
'        if l_len > 1000000 then ',
'            return ''HTML output is too large.''; ',
'        end if; ',
' ',
'        while l_pos <= l_len loop ',
'            l_chunk := dbms_lob.substr(p_html, 30000, l_pos); ',
'            l_lower := lower(l_chunk); ',
' ',
'            if instr(l_lower, ''<script'') > 0 or instr(l_lower, ''</script'') > 0 then ',
'                return ''Blocked unsafe HTML: script tag is not allowed.''; ',
'            elsif instr(l_lower, ''<iframe'') > 0 then ',
'                return ''Blocked unsafe HTML: iframe tag is not allowed.''; ',
'            elsif instr(l_lower, ''<object'') > 0 then ',
'                return ''Blocked unsafe HTML: object tag is not allowed.''; ',
'            elsif instr(l_lower, ''<embed'') > 0 then ',
'                return ''Blocked unsafe HTML: embed tag is not allowed.''; ',
'            elsif instr(l_lower, ''<form'') > 0 then ',
'                return ''Blocked unsafe HTML: form tag is not allowed.''; ',
'            elsif instr(l_lower, ''<input'') > 0 then ',
'                return ''Blocked unsafe HTML: input tag is not allowed.''; ',
'            elsif instr(l_lower, ''<button'') > 0 then ',
'                return ''Blocked unsafe HTML: button tag is not allowed.''; ',
'            elsif instr(l_lower, ''<link'') > 0 then ',
'                return ''Blocked unsafe HTML: link tag is not allowed.''; ',
'            elsif instr(l_lower, ''<meta'') > 0 then ',
'                return ''Blocked unsafe HTML: meta tag is not allowed.''; ',
'            elsif instr(l_lower, ''<svg'') > 0 then ',
'                return ''Blocked unsafe HTML: svg tag is not allowed.''; ',
'            elsif instr(l_lower, ''<canvas'') > 0 then ',
'                return ''Blocked unsafe HTML: canvas tag is not allowed.''; ',
'            elsif instr(l_lower, ''<img'') > 0 then ',
'                return ''Blocked unsafe HTML: img tag is not allowed.''; ',
'            elsif instr(l_lower, ''javascript:'') > 0 then ',
'                return ''Blocked unsafe HTML: javascript URL is not allowed.''; ',
'            elsif regexp_like(l_lower, ''[[:space:]]on[a-z0-9_:-]+[[:space:]]*='') then ',
'                return ''Blocked unsafe HTML: event handler attributes are not allowed.''; ',
'            elsif instr(l_lower, ''@import'') > 0 then ',
'                return ''Blocked unsafe CSS: import is not allowed.''; ',
'            elsif instr(l_lower, ''url('') > 0 then ',
'                return ''Blocked unsafe CSS: url() is not allowed.''; ',
'            elsif instr(l_lower, ''http://'') > 0 or instr(l_lower, ''https://'') > 0 then ',
'                return ''Blocked unsafe HTML: external resources are not allowed.''; ',
'            end if; ',
' ',
'            l_pos := l_pos + 30000; ',
'        end loop; ',
' ',
'        l_first := lower(dbms_lob.substr(p_html, 32767, 1)); ',
' ',
'        if instr(l_first, ''id="ai-doc-report"'') = 0 and instr(l_first, ''id=''''ai-doc-report'''''') = 0 then ',
'            return ''HTML output must include root element id="ai-doc-report".''; ',
'        end if; ',
' ',
'        if instr(l_first, ''<style'') = 0 then ',
'            return ''HTML output must include a style tag.''; ',
'        end if; ',
' ',
'        return null; ',
'    end validate_report_html; ',
' ',
'    function generate_report_html( ',
'        p_sql in clob, ',
'        p_question in varchar2, ',
'        p_max_rows in number, ',
'        p_provider in varchar2, ',
'        p_model in varchar2, ',
'        p_api_key in varchar2 ',
'    ) return clob is ',
'        l_sql varchar2(32767); ',
'        l_provider varchar2(30); ',
'        l_model varchar2(4000); ',
'        l_endpoint varchar2(4000); ',
'        l_columns_json clob; ',
'        l_data_json clob; ',
'        l_system varchar2(32767); ',
'        l_user clob; ',
'        l_payload clob; ',
'        l_response clob; ',
'        l_html clob; ',
'        l_validation_error varchar2(4000); ',
'        l_error varchar2(4000); ',
'    begin ',
'        l_sql := normalize_sql(p_sql); ',
'        assert_supported_columns(l_sql); ',
' ',
'        l_provider := normalize_provider(p_provider); ',
'        l_model := normalize_model(l_provider, p_model); ',
'        l_endpoint := provider_endpoint(l_provider, l_model); ',
' ',
'        l_columns_json := describe_query_json(l_sql); ',
'        l_data_json := query_data_json(l_sql, p_max_rows); ',
' ',
'        build_design_prompt( ',
'            p_question => p_question, ',
'            p_columns_json => l_columns_json, ',
'            p_data_json => l_data_json, ',
'            p_system => l_system, ',
'            p_user => l_user ',
'        ); ',
' ',
'        l_payload := build_provider_payload( ',
'            p_provider => l_provider, ',
'            p_model => l_model, ',
'            p_system => l_system, ',
'            p_user => l_user ',
'        ); ',
' ',
'        set_provider_headers( ',
'            p_provider => l_provider, ',
'            p_api_key => p_api_key ',
'        ); ',
' ',
'        l_response := apex_web_service.make_rest_request( ',
'            p_url => l_endpoint, ',
'            p_http_method => ''POST'', ',
'            p_body => l_payload ',
'        ); ',
' ',
'        l_html := extract_provider_text( ',
'            p_provider => l_provider, ',
'            p_response => l_response ',
'        ); ',
' ',
'        if l_html is null then ',
'            raise_application_error( ',
'                -20052, ',
'                ''AI response did not include expected text content. Raw response preview: '' || ',
'                dbms_lob.substr(l_response, 3000, 1) ',
'            ); ',
'        end if; ',
' ',
'        l_html := strip_html_fence(l_html); ',
' ',
'        l_validation_error := validate_report_html(l_html); ',
' ',
'        if l_validation_error is not null then ',
'            raise_application_error(-20050, l_validation_error); ',
'        end if; ',
' ',
'        return l_html; ',
'    exception ',
'        when others then ',
'            l_error := substr(sqlerrm, 1, 4000); ',
'            raise_application_error( ',
'                -20099, ',
'                ''AI report generation failed. No fallback report was generated. Details: '' || l_error ',
'            ); ',
'    end generate_report_html; ',
' ',
'end ai_doc_designer_pkg;',
'/ '))
);
wwv_flow_imp_shared.create_install_object(
 p_id=>wwv_flow_imp.id(163144677453091824299)
,p_script_id=>wwv_flow_imp.id(163144677360929824292)
,p_object_owner=>'#OWNER#'
,p_object_type=>'PACKAGE'
,p_object_name=>'AI_DOC_DESIGNER_PKG'
);
end;
/
prompt --application/deployment/checks
begin
null;
end;
/
prompt --application/deployment/buildoptions
begin
null;
end;
/
prompt --application/end_environment
begin
wwv_flow_imp.import_end(p_auto_install_sup_obj => nvl(wwv_flow_application_install.get_auto_install_sup_obj, false)
);
commit;
end;
/
set verify on feedback on define on
prompt  ...done
