The pictures and their license:

Pixabay:
------------------------------------------
https://pixabay.com/de/service/terms/#usage
https://creativecommons.org/publicdomain/zero/1.0/deed.de

100EUR.png
10EUR.png
20EUR.png
50EUR.png
5EUR.png


Based on http://fontawesome.io
License: OFL http://scripts.sil.org/OFL
---------------------------------------
dsl_action.png
dsl_aggregate.png
dsl_allinone-1.png
dsl_allinone-2.gif
dsl_allinone-3.gif
dsl_authorization.png
dsl_blip.png
dsl_chart.png
dsl_chart_1.png
dsl_chart_2.png
dsl_cube.png
dsl_datainterchange.png
dsl_datamart.png
dsl_dialog.gif
dsl_dto.png
dsl_entity.png
dsl_expression.png
dsl_filter.png
dsl_format.png
dsl_functionlibrary.png
dsl_hierarchy.gif
dsl_import2.png
dsl_menu.png
dsl_message.gif
dsl_organigram.png
dsl_path.png
dsl_perspective.png
dsl_report.gif
dsl_scsstheme.gif
dsl_strategy.gif
dsl_strategy.png
dsl_table.png
dsl_topology.png

-----------------------------------------

Silk icon set 1.3

_________________________________________
Mark James
http://www.famfamfam.com/lab/icons/flags/
_________________________________________

This work is licensed under a
Creative Commons Attribution 2.5 License.
[ http://creativecommons.org/licenses/by/2.5/ ]

This means you may use it for any purpose,
and make any changes you like.
All I ask is that you include a link back
to this page in your credits.

Are you using this icon set? Send me an email
(including a link or picture if available) to
mjames@gmail.com

Any other questions about this icon set please
contact mjames@gmail.com
--------------------------------------------
flag_canada.png
flag_finland.png
flag_germany.png
flag_mexico.png
flag_sweden.png
flag_swiss.png
flag_turkey.png
flag_united_kingdom.png
flag_usa.png

--------------------------------------------



(C) 2014 Loetz GmbH&Co.KG,  
License: EPL 1.0:
------------------------------------
about.png
badrising.png
bike.png
bomb.png
book.png
box.png
calendar.png
cancel.png
cargo.png
cashregister.png
coins.png
collapse_all.png
collapse_arrow_16.png
collapse_minus_16.png
company.png
companygroup.png
configure.gif
crm.png
css.png
csv_import.png
currency_euro.png
database.png
database_go.png
database_table.png
date.gif
delete.png
dir.txt
dropdown.png
dropdown_2.png
dropedit2.png
dscancel.png
dsdelete.png
dssave.png
edi.png
editor_area.png
employee.png
empty_small.png
excelcsv.png
expand_arrow_16.png
expand_plus_16.png
export.png
fastview_restore.gif
filter.png
filter_except.png
filter_multiple.png
filter_single.png
folder.png
gender_female.png
gender_male.png
goodsloping.png
help.png
html.png
img.png
import.png
information.png
item.png
java.png
java_perspective_16x16.png
javadoc.png
junit.png
length_measure-16x16.png
length_measure-24x24.png
link_to_editor.png
locksview.gif
logout.png
logout_big.png
marital_married.png
marital_single.png
modules.png
new.png
nopic_small.png
notok.png
nuclear.png
ok.png
package.gif
payment_amex.png
payment_cash.png
payment_customer.png
payment_ecmaestro.png
payment_maestro.png
payment_mastercard.png
payment_visa.png
persp_management.png
persp_tasks.png
popup_button_16x16.png
popup_button_17x20.png
popup_button_active_17x20.png
popup_button_hover_17x20.png
print.png
private_field.png
private_method.png
process.png
products.png
project.png
save.png
save_all.png
shipping.png
statistics.png
supplier.png
task_action_claim.png
task_action_complete.png
task_action_delegate.png
task_action_release.png
task_action_resume.png
task_action_skip.png
task_action_start.png
task_action_stop.png
task_action_suspend.png
task_priority_0.png
task_priority_1.png
task_priority_2.png
task_priority_3.png
task_priority_4.png
task_priority_5.png
task_status_completed.png
task_status_created.png
task_status_error.png
task_status_exited.png
task_status_failed.png
task_status_inprogress.png
task_status_obsolete.png
task_status_ready.png
task_status_reserved.png
task_status_suspended.png
tasks.png
text.png
toolbar_button_background_active_23x20.png
toolbar_button_background_hover_23x20.png
trend_rising.png
trend_sloping.png
trend_stagnating.png
truck.png
vaaclipse.png
warehouse.png
welcome.png
xmi.png
xml.png
